Skip to content

The goal of the project is to learn and practice new tools and create a test automation framework and infrastructure for writing automated tests.

Notifications You must be signed in to change notification settings

RapDog64/webshop-automation-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test automation framework for Demo Web Shop application

Technology Stack

Java Gradle JUnit 5 Selenide RestAssured IDEA
Java Gradle Junit 5 Selenide Rest Assured IDEA
Selenoid Allure Allure TestOps Jenkins Github Jira
Selenoid Allure Allure TO Jenkins Github Jira

Description

The test automation framework has been developed in Java using a modern technology stack. It contains both API and UI tests.

There are several tools are used:

UI Tests

✔️ UI Register a new user
✔️ UI login test
✔️ UI login test with incorrect credentials
✔️ Validate authorized users can add a product to cart
✔️ Validate unauthorized users can add a product to cart
✔️ Validate the system displays the login form if an unauthorized user want to check out the order
✔️ Subscribe to the newsletter
✔️ Add product to wishlist with UI
✔️ Search a product by product name
✔️ Search a nonexistent product

API Tests

✔️ Send e-mail from product page with API
✔️ Add product to wishlist with API
✔️ Add product to cart with API

Launch the tests

To run the tests locally (default):

gradle clean test 

To run the tests remotely:

clean test 
-Dbrowser={BROWSER_NAME} 
-DbrowserVersion={BROWSER_VERSION} 
-DremoteDriverUrl={REMOTE_DRIVER_URL} 
-DvideoStorage={VIDEO_STORAGE_URL}
-DuserEmail={userEmail}
-DuserPassword="{userPassword}
-DwebUrl={WEB_URL}
-DapiUrl={API_URL}
-Dthreads={THREADS}

Video sample with passing test case:

Selenoid

Jenkins job: Possible launch configurations

Jenkins

Allure report: Test status and trend graphs

Allure1 Allure2

Allure Test Ops: Test result of the launch

There is an example of the failed automated test with attachments.

TestOps1

Allure Test Ops: Test analytics dashboard

Dashboard1

Allure Test Ops: Analytics by success rate and duration rate

Dashboard2

Allure Test Ops: Analytics by each team member and their tests

Dashboard3

Integration with Jira: Test results and Test launch are attached to the Jira ticket

Jira_1

Telegram notification

Telegram_1

About

The goal of the project is to learn and practice new tools and create a test automation framework and infrastructure for writing automated tests.

Topics

Resources

Stars

Watchers

Forks