About The Project • Project Structure • Getting Started • Usage • Contact
Welcome 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.
Using the website Automation Exercise, 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.
By 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.
Whether 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.
-
Python : A programming language used for backend development and automation tasks.
-
Pytest : A testing framework for Python, commonly used for unit testing and functional testing.
-
Selenium : A tool primarily employed for automating web browsers, often used for web application testing.
-
Docker : A containerization platform used for packaging applications and their dependencies into containers for easy deployment and scalability.
The testing application is organized into the following directories:
\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.\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.\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.
File | Description |
---|---|
BasePage.py: | Base class for interacting with web elements. |
AuthPageLocators.py: | Locators and methods for authentication. |
AccountCreationPageLocators.py: | Locators and methods for account creation. |
AccountCreationSuccessPageLocators.py: | Locators and methods for account creation success. |
AccountDeletionPageLocators.py: | Locators and methods for account deletion. |
HeaderLocators.py: | Locators and methods for the main page header. |
TestCasesPage.py | Locators and methods for test case page. |
HomePageLocators.py | Locators and methods for home page. |
ContactUsPageLocators.py | Locators and methods for contact us page. |
File | Description |
---|---|
test_register_user.py: | Testing the registration process, and deleting the account. |
test_login_user_correct_credentials.py | Testing the login process with correct email and password. |
test_login_user_incorrect_credentials.py | Testing the login process with incorrect email and password. |
test_logout_user.py | Testing the logout process. |
test_register_existing_email.py | Testing the registration process with an existing email. |
test_contact_us_form.py | Testing the contact us form functionality. |
test_verify_test_cases_page.py | Testing the functionality to verify the test cases page. |
test_verify_all_products_and_product_detail_page.py | Testing the functionality to verify all products and product detail pages. |
test_search_product.py | Testing the functionality to search for a product. |
test_verify_subscription_home_page.py | Testing the subscription functionality on the home page. |
test_verify_subscription_cart_page.py | Testing the subscription functionality on the cart page. |
test_add_products_in_cart.py | Testing the functionality to add products to the cart. |
test_verify_product_quantity_in_cart.py | Testing the functionality to verify product quantity in the cart. |
Other files like .env and data files are utilized within the project.
To set up a project locally, follow these simple steps.
Software used to run the program.
Here's how to install and set up the program locally.
From your command line:
# Clone this repository
$ git clone https://github.com/AlexisRodriguezCS/AutoTesterPy.git
# Go into the repository
$ cd AutoTesterPy
# Create a virtual environment
$ python -m venv venv
# Activate the virtual environment
$ venv\Scripts\activate
# Install the Python packages listed in a requirements.txt
$ pip install -r requirements.txt
# Run the tests using pytest
$ pytest
Docker 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.
Method 1: Using Dockerfile to Build Image and Container.
# Build Docker Image
docker build -t autotesterpy-image .
# Run Docker Container
docker run -d autotesterpy-image
Alexis Rodriguez
Project Link: https://github.com/AlexisRodriguezCS/AutoTesterPy.git