Giter Site home page Giter Site logo

rapdog64 / webshop-automation-practice Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 2.0 1.46 MB

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

Java 92.30% FreeMarker 7.70%
java jenkins selenide junit5 restassured allure-report allure-testops jira selenoid

webshop-automation-practice's Introduction

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

webshop-automation-practice's People

Contributors

rapdog64 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

webshop-automation-practice's Issues

Rectify Java file errors: Is database setup required

While importing the gradle project into eclipse, there are some errors present around User class, modules affected includes:

Annotation.extensions
LoginExtension.java

configuration.database
CustomDatabase.java

tests.ui
LoginTests.java
RegisterTests.java
SubscribeTest.java

utility
UserGenerator.java

Since errors sourcing from user, is there other steps after importing Gradle project, if yes do you mind listing the further steps, to execute the tests successfully

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.