{"id":28220109,"url":"https://github.com/alexisrodriguezcs/autotesterpy","last_synced_at":"2026-05-07T11:31:26.781Z","repository":{"id":221767375,"uuid":"750700734","full_name":"AlexisRodriguezCS/AutoTesterPy","owner":"AlexisRodriguezCS","description":"Python + Selenium + pytest = Smart Automated Web Testing. Docker ensures portability. Page Object Model streamlines test maintainability and scalability.","archived":false,"fork":false,"pushed_at":"2024-03-26T04:10:05.000Z","size":8317,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T13:48:11.181Z","etag":null,"topics":["automated-testing","docker","page-object-model","pytest","python","selenium","testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexisRodriguezCS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-31T06:24:28.000Z","updated_at":"2024-03-24T18:43:57.000Z","dependencies_parsed_at":"2024-03-26T05:23:43.701Z","dependency_job_id":null,"html_url":"https://github.com/AlexisRodriguezCS/AutoTesterPy","commit_stats":null,"previous_names":["alexisrodriguezcs/autotesterpy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlexisRodriguezCS/AutoTesterPy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexisRodriguezCS%2FAutoTesterPy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexisRodriguezCS%2FAutoTesterPy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexisRodriguezCS%2FAutoTesterPy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexisRodriguezCS%2FAutoTesterPy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexisRodriguezCS","download_url":"https://codeload.github.com/AlexisRodriguezCS/AutoTesterPy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexisRodriguezCS%2FAutoTesterPy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32735078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automated-testing","docker","page-object-model","pytest","python","selenium","testing"],"created_at":"2025-05-18T04:14:31.770Z","updated_at":"2026-05-07T11:31:26.757Z","avatar_url":"https://github.com/AlexisRodriguezCS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/AlexisRodriguezCS/AutoTesterPy/main/images/selenium.png\" alt=\"selenium.png\" style=\"display:block;margin:auto;\" height=\"500\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eAutoTesterPy\u003c/h1\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#about\"\u003eAbout The Project\u003c/a\u003e •\n  \u003ca href=\"#project-structure\"\u003eProject Structure\u003c/a\u003e •\n  \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e •\n  \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e •\n  \u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n\u003ca name=\"about\"\u003e\u003c/a\u003e\n\n## About The Project\n\nWelcome to my project, where I showcase my QA skills using Python, pytest, Selenium, and Docker. Through this project, I aim to demonstrate my proficiency in automating testing processes and ensuring software quality.\n\nUsing the website [Automation Exercise](https://automationexercise.com/), I've implemented a range of test cases to cover essential functionalities such as registering users, logging in with correct and incorrect credentials, logging out users, and handling scenarios like registering users with existing email addresses.\n\nBy leveraging the power of Python for scripting, pytest for test organization and execution, Selenium for web automation, and Docker for containerization, I've created a robust testing framework capable of efficiently validating the functionality and reliability of web applications.\n\nWhether it's ensuring smooth user experiences or identifying and fixing potential issues, this project serves as a testament to my dedication to quality assurance and my ability to deliver reliable software solutions.\n\n### Key Technologies Used\n\n- Python \u003cimg align=\"left\" alt=\"Python\" width=\"30px\"  src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/python/python-original-wordmark.svg\" /\u003e: A programming language used for backend development and automation tasks.\n\n- Pytest \u003cimg align=\"left\" alt=\"Pytest\" width=\"30px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/pytest/pytest-original-wordmark.svg\" /\u003e: A testing framework for Python, commonly used for unit testing and functional testing.\n\n- Selenium \u003cimg align=\"left\" alt=\"Selenium\" width=\"30px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/selenium/selenium-original.svg\" /\u003e: A tool primarily employed for automating web browsers, often used for web application testing.\n\n- Docker \u003cimg align=\"left\" alt=\"Docker\" width=\"30px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/docker/docker-original-wordmark.svg\" /\u003e: A containerization platform used for packaging applications and their dependencies into containers for easy deployment and scalability.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n\u003ca name=\"project-structure\"\u003e\u003c/a\u003e\n\n## Project Structure\n\nThe testing application is organized into the following directories:\n\n- `\\pages` : Pages files provide a set of instructions for navigating and interacting with specific parts of a website, like filling out forms or clicking buttons, making it easier to automate tasks without needing to know the technical details.\n- `\\tests` : Test files are like a checklist of actions to confirm that a website or application works correctly, ensuring that users can perform tasks like signing up or logging in without any problems.\n- `\\fixtures` : conftest.py sets up the browser, loads environment variables, navigates to a URL, verifies the home page, and closes the browser after each test.\n\n#### Pages\n\n| File                                   | Description                                        |\n| -------------------------------------- | -------------------------------------------------- |\n| BasePage.py:                           | Base class for interacting with web elements.      |\n| AuthPageLocators.py:                   | Locators and methods for authentication.           |\n| AccountCreationPageLocators.py:        | Locators and methods for account creation.         |\n| AccountCreationSuccessPageLocators.py: | Locators and methods for account creation success. |\n| AccountDeletionPageLocators.py:        | Locators and methods for account deletion.         |\n| HeaderLocators.py:                     | Locators and methods for the main page header.     |\n| TestCasesPage.py                       | Locators and methods for test case page.           |\n| HomePageLocators.py                    | Locators and methods for home page.                |\n| ContactUsPageLocators.py               | Locators and methods for contact us page.          |\n\n#### Tests\n\n| File                                                | Description                                                                |\n| --------------------------------------------------- | -------------------------------------------------------------------------- |\n| test_register_user.py:                              | Testing the registration process, and deleting the account.                |\n| test_login_user_correct_credentials.py              | Testing the login process with correct email and password.                 |\n| test_login_user_incorrect_credentials.py            | Testing the login process with incorrect email and password.               |\n| test_logout_user.py                                 | Testing the logout process.                                                |\n| test_register_existing_email.py                     | Testing the registration process with an existing email.                   |\n| test_contact_us_form.py                             | Testing the contact us form functionality.                                 |\n| test_verify_test_cases_page.py                      | Testing the functionality to verify the test cases page.                   |\n| test_verify_all_products_and_product_detail_page.py | Testing the functionality to verify all products and product detail pages. |\n| test_search_product.py                              | Testing the functionality to search for a product.                         |\n| test_verify_subscription_home_page.py               | Testing the subscription functionality on the home page.                   |\n| test_verify_subscription_cart_page.py               | Testing the subscription functionality on the cart page.                   |\n| test_add_products_in_cart.py                        | Testing the functionality to add products to the cart.                     |\n| test_verify_product_quantity_in_cart.py             | Testing the functionality to verify product quantity in the cart.          |\n\nOther files like .env and data files are utilized within the project.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n\u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\n## Getting Started\n\nTo set up a project locally, follow these simple steps.\n\n### Prerequisites\n\n_Software used to run the program._\n\n- [Visusal Studio Code](https://code.visualstudio.com/)\u003cimg align=\"left\" alt=\"Visual Studio Code\" width=\"30px\" style=\"padding-right:5px;\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/vscode/vscode-original.svg\" /\u003e\n\n- [Python](https://www.python.org/downloads/)\u003cimg align=\"left\" alt=\"Python\" width=\"30px\" style=\"padding-right:5px;\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/python/python-original.svg\" /\u003e\n\n- [ChromeDriver](https://chromedriver.chromium.org/)\u003cimg align=\"left\" alt=\"ChromeDriver\" width=\"30px\" style=\"padding-right:5px;\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/chrome/chrome-original.svg\" /\u003e\n\n- [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing)\u003cimg align=\"left\" alt=\"Chrome for Testing\" width=\"30px\" style=\"padding-right:5px;\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/chrome/chrome-plain.svg\" /\u003e\n\n- [Git](https://git-scm.com/)\u003cimg align=\"left\" alt=\"Git\" width=\"30px\" style=\"padding-right:5px;\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/git/git-original.svg\" /\u003e\n\n### Installation\n\n_Here's how to install and set up the program locally._\n\nFrom your command line:\n\n```bash\n# Clone this repository\n$ git clone https://github.com/AlexisRodriguezCS/AutoTesterPy.git\n\n# Go into the repository\n$ cd AutoTesterPy\n\n# Create a virtual environment\n$ python -m venv venv\n\n# Activate the virtual environment\n$ venv\\Scripts\\activate\n\n# Install the Python packages listed in a requirements.txt\n$ pip install -r requirements.txt\n\n# Run the tests using pytest\n$ pytest\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- DOCKER --\u003e\n\n\u003ca name=\"docker\"\u003e\u003c/a\u003e\n\n## Docker\n\nDocker makes it easy to build and run software by putting everything it needs into small packages, so it works the same way no matter where it's used.\n\n**Method 1**: Using Dockerfile to Build Image and Container.\n\n```bash\n# Build Docker Image\ndocker build -t autotesterpy-image .\n\n# Run Docker Container\ndocker run -d autotesterpy-image\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTACT --\u003e\n\n\u003ca name=\"contact\"\u003e\u003c/a\u003e\n\n## Contact\n\nAlexis Rodriguez\n\n- [LinkedIn](https://www.linkedin.com/in/alexisrodriguezcs/)\u003cimg align=\"left\" alt=\"LinkedIn\" width=\"25px\" style=\"padding-right:5px;\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/linkedin/linkedin-original.svg\" /\u003e\n\n- alexisrodriguezdev@gmail.com\u003cimg align=\"left\" alt=\"Email\" width=\"25px\" style=\"padding-right:5px;\" src=\"https://img.icons8.com/emoji/48/e-mail.png\" /\u003e\n\nProject Link: [https://github.com/AlexisRodriguezCS/AutoTesterPy.git](https://github.com/AlexisRodriguezCS/ValentineProposal.git)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexisrodriguezcs%2Fautotesterpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexisrodriguezcs%2Fautotesterpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexisrodriguezcs%2Fautotesterpy/lists"}