Skip to content

Repository files navigation

Full Stack Test Automation Final Project

This project was created to demonstrate my knowledge and skills in Automation Testing.

About

The project demonstates a smart automation infrastructure. It is built in hierarchy order of modules. The modules contain number of classes with methods. There are main/common/helpers/actions/page_object modules. In this way, the tests can be created in very simple way with a minimum lines of code. Also the infrastructure allows to work with differend kinds of applications. Big advantage of the infrastructure is that it can be easy maintained!

Project Overview

The project is an example of infrastructure for automation testing on different kinds of platforms:

  • Web
  • Mobile
  • Rest API
  • Electron
  • Desktop

Infrastructure project includes using of:

  • Page Object Design Pattern
  • Project Layers (Utilities/Extensions/Work Flows/Test Cases...)
  • Support of Different Clients/Browsers
  • Failure Mechanism
  • Common Functionality
  • External Files Support
  • Reporting System (including screenshots)
  • Visual Testing
  • DB support
  • CI support

List of applications tested in this project:

  • SwagLabs webpage (Web)
  • ApiDemos (Mobile)
  • Students List (API)
  • ElectronApiDemos (Electron)
  • Windows calculator (Desktop)

Tools & Frameworks used in the project:

  • TestNG - Testing Framework
  • Listeners - interface used to generate logs and customize the TestNG reports
  • MySQL Free Online DB - used for login to SwagLabs web page
  • Jenkins- for tests execution
  • REST Assured - for API testing
  • Allure Reports - as the main reporting system

Tests Execution:

Each of the applications has a few tests for demonstration purpose. These tests can be developed in a very simple way, due to a lot of work with the infrastructure. Sanity Tests

Known Issues:

Sometimes can be conflicts with some dependencies the applications are using. For example, experitest libraries code and desktop application cannot run together. io.appium dependencies are used for desktop Windows tests, whereas io.appium and com.experitest dependencies cannot run together for mobile tests. (io.appium dependencies should be marked with comments if you want to run Appium mobile tests). Hence, the project is for DEMO purpose only. In production it should be divided into several projects.

About

Automation Infrastructure DEMO Project

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages