The Framework is best suited for Smoke, Acceptance and Regression functional tests.It represents good structured logging and reporting which can be used as test documentation even for manual test team. It is possible to see high-level user functional actions (can be used as test-case documentation) and also low-level debug information. Error handling helps to see the reasons of test fails. It includes the error message, stack-trace and screen capture of browser window.
For complicated test-cases several browsers can be run in parallel. E.g. chat or whiteboard tests.
Advantages & Disadvantages
Pros: use and execution
-
Good integration with CI
-
Supports cross-browser testing
-
Supports multiconfiguration run
-
Supports parallel run
-
Good structure for smoke, acceptance, regression, end-to-end functional tests
-
Good results representation: reports, logs, screenshots, video capture
-
Used extended test results statuses: PASSED, FAILED, STOPPED, SKIPPED
Pros: test development
-
Uses groovy script language with JAVA
-
Uses Page Object approach with DSL
-
Framework logic and Tests logic are separated
-
Ability to run several browsers in parallel and check their interactions (e. g. online chat tests)
-
Ability to check none-html objects and UI changes via Image comparator
-
Easy to analyze test results, advanced error handling approach implemented, separation of test fails on assert (FAILED) and any other error(STOPPED)
-
Ability to record video of tests execution - easy to analyze bugs and problems
Cons: test development
-
Test cases and suites bodies have fixed structure, deviations not recommended
-
Limitation to use only XPATH locators for WebElements
How it helps to speedup delivery/improve quality?
If the project is long-term (a year or more) automation
-
It saves significant time for regression and cross-browser testing, which QA is forced to conduct each iteration
-
Makes it possible to automatically fill in content with an application for manual testing
-
Eliminates the human factor when performing automated tests
-
Allows QA to concentrate on new functionality and bottlenecks, leaving the already proven features - automation
After completion of the project, the customer receives the following features
-
Run test packages with one click of the mouse without the involvement of specialists
-
Check that the existing functionality works after changes in the application code / configuration
-
Measure application performance by analyzing test suite run times
-
Timely eliminate defects because Autotests can be run regularly and at any time. Including how to delay start at night
-
Test suites will be a source of knowledge because by them you can understand how the application works