All Projects → romsper → qa-automation-base

romsper / qa-automation-base

Licence: other
There are basic projects for automation frameworks based on Kotlin/Java and TypeScript for the backend, frontend, and mobile.

Projects that are alternatives of or similar to qa-automation-base

rest.api.test
Simple REST API Test Framework
Stars: ✭ 47 (+4.44%)
Mutual labels:  mocha, chai, testng, rest-assured
Earl
☕ Ergonomic, modern and type-safe assertion library for TypeScript
Stars: ✭ 153 (+240%)
Mutual labels:  mocha, jest, chai
eslint-config-adjunct
A reasonable collection of plugins to use alongside your main esLint configuration
Stars: ✭ 39 (-13.33%)
Mutual labels:  mocha, jest, chai
patent-free-react-ecosystem-migration-plan
Patent Free React Ecosystem Migration Plan
Stars: ✭ 15 (-66.67%)
Mutual labels:  mocha, jest, chai
Enzyme
JavaScript Testing utilities for React
Stars: ✭ 19,781 (+43857.78%)
Mutual labels:  mocha, jest, chai
Jest Codemods
Codemods for migrating to Jest https://github.com/facebook/jest 👾
Stars: ✭ 731 (+1524.44%)
Mutual labels:  mocha, jest, chai
Javascript Testing Best Practices
📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2021)
Stars: ✭ 13,976 (+30957.78%)
Mutual labels:  mocha, jest, chai
Redux Actions Assertions
Simplify testing of redux action and async action creators
Stars: ✭ 177 (+293.33%)
Mutual labels:  mocha, jest, chai
minimal-hapi-react-webpack
Minimal Hapi + React + Webpack + HMR (hot module reloading) Sandbox
Stars: ✭ 55 (+22.22%)
Mutual labels:  mocha, chai
testing-spring-boot-applications-masterclass
🍃 Everything You Need to Know About Testing Spring Boot Applications
Stars: ✭ 185 (+311.11%)
Mutual labels:  selenide, junit5
template-server-nodejs
No description or website provided.
Stars: ✭ 20 (-55.56%)
Mutual labels:  mocha, chai
playwright-test
Run unit tests with several runners or benchmark inside real browsers with playwright.
Stars: ✭ 81 (+80%)
Mutual labels:  mocha, playwright
js-stack-from-scratch
🌺 Russian translation of "JavaScript Stack from Scratch" from the React-Theming developers https://github.com/sm-react/react-theming
Stars: ✭ 394 (+775.56%)
Mutual labels:  mocha, chai
react-testing-mocha-chai-enzyme
A solid test setup for React components with Mocha, Chai, Sinon, Enzyme in a Webpack/Babel application.
Stars: ✭ 48 (+6.67%)
Mutual labels:  mocha, chai
carina
Carina automation framework: Web, Mobile, API, DB etc testing...
Stars: ✭ 652 (+1348.89%)
Mutual labels:  appium, testng
aria-vue
Testing tools for Vue components
Stars: ✭ 21 (-53.33%)
Mutual labels:  mocha, chai
advanced-spring-scaffold
This project provides an advanced baseline to help you kick start a Spring project.
Stars: ✭ 21 (-53.33%)
Mutual labels:  assertj, junit5
mocha-allure2-example
Allure 2 Mocha examples
Stars: ✭ 18 (-60%)
Mutual labels:  mocha, allure
api-skel
Webpack + Typescript + Express + Jest + Chai + Gulp
Stars: ✭ 18 (-60%)
Mutual labels:  mocha, chai
BotBlock.org
BotBlock - The List of Discord Bot Lists and Services
Stars: ✭ 29 (-35.56%)
Mutual labels:  mocha, chai

Automation project

Description

There are basic projects for automation frameworks based on Kotlin/Java and TypeScript for the backend, frontend, and mobile.

GitHub Actions

This branch kotlin-junit5-retrofit is integrated with GHA -> I pass test results to this branch allure-pages and host them using GitHub Pages

Branches

Frameworks

Kotlin - programming language based on JVM and fully compatible with Java! It's much easier than Java don't worry ;)

JUnit5 - highly recommend reading about DataProviders aka Sources

Selenide - framework for test automation powered by Selenium WebDriver.

Selenoid - powerful Golang implementation of the original Selenium Grid farm. One configuration for the localhost and remote runs and easy to update and manage through Docker and VNC (free). Also, they provide paid Kubernetes (free for 4 pods) solution Moon

Retrofit - this is the framework for work with API. It's much faster and easier than Rest-Assured. Also, it provides a better code style.

Kotest - highly recommend using this framework as a main assertion framework for your projects. If you prefer java - AssertJ

Report

Allure - the best test report framework ever! This framework supports the most popular languages and test runners, easy to integrate to the almost any CI. Also, we can integrate our reports with Grafana and show some graphics like Duration | Passed | Failed and etc.

The most popular annotation:

@Step - combine all steps (annotated methods) and generate a readable test report where you will see all the steps as text. Also, it adds variables with values to the step into the report.

@DisplayName - just JUnit 5 annotation witch means a test name

@Issue - add a link to Jira (or any other system) into your report for the test

@TmsLink - add a link to TestRail (or any other system) into your report for the test

@Severity - add a marker as BLOCKER or CRITICAL and etc into your report for the test

@Flaky - add a marker the test as flaky in the report system

@Epic -> @Feature -> @Story - combine your tests to a tree and split them by epic | feature | story

Allure EE - this is like Allure + TestRail + CI. Documentation with features and etc.

The main fetures:

Live documentation - Allure EE keeps your test documentation updated based on test runs.

TMS - Allure EE supports both Manual and Automated testing. Unified test documentation allows you to manage and review all your product tests from a single view. Also, it has a lot of filters and you can create custom fields and filters.

Integrations - Allure EE based on Allure and has the same integrations and many more with Jira and other systems.

Metrics - Allure EE supports many more metrics than Allure and you can integrate the system with Grafana and add custom metrics and etc.

Migration - Allure EE supports test-cases transfer from any TMS like TestRail and etc.

How to run

Before start

You need to install Selenoid and Selenoid-UI and Allure

Notes

  1. Those tests was splitted by TAG (annotation above test classes) and you need to check this before if you want to run only one group.
  2. If you want to run a few test classes please be sure you have free nodes for UI because all tests work in PARALLEL mode by class

Start

Run only one test group/tag:

$ mvn clean test -D TAG=<tag name>

or

$ ./gradlew clean test -D TAG=<tag name>

Run all tests (UI and BACK):

$ mvn clean test

or

$ ./gradlew clean test

or

$ mvn clean test -D TAG=regress

[ONLY FOR UI] If you want to run the tests on the remote computer you need to transfer HUB_URL varaible to the env:

$ mvn clean test -D TAG=<tag name> -D HUB_URL=<ip or host>

After tests

If you want to see the test report locally:

$ allure serve target/allure-results

or

$ allure serve target/allure-results --host localhost --port 9999

If you want just generate the test report without web service run:

$ allure generate target/allure-results

Go to src/allure-report folder and click index.html

CI

If you use Jenkins or TeamCity and etc. the report will be generated automatically after a run and connected with this job. You will need just click on the Allure logo!

Allure + Grafana

Allure generates a report specially for Grafana and Prometheus

How to use it for Grafana:

  • Generate allure-report by $ allure generate allure-results
  • Install InfluxDB (use Docker)
  • Get a file for InfluxDB in /allure-report/export/influxDbData.txt
  • Install Grafana (use Docker)
  • Integrate InfluxDB to Grafana
  • Send the report to InfluxDB by
  • $ curl -XPOST 'http://<host>/write?db=<db name>' --data-binary @allure-report/export/influxDbData.txt
  • Check Grafana
  • PROFIT
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].