-
Notifications
You must be signed in to change notification settings - Fork 49
SystemComponents
The AET System consists of 7 core units:
- The Client (AET Maven Plugin)
- The Runner cluster
- The Worker cluster
- The JMS Server
- The Database
- The REST API
- Reports web application
The Client component has the following functions
- sending request to the AET System.
- checking the suite processing status.
- downloading the Report after the Test Suite run is finished.
The Test Executor is an entry point of the test suite processing. It exposes endpoints which client applications can use to run the test suite and check the processing status by sending the simple HTTP requests.
The Runner is the heart of the system. It is responsible for consuming Client's request and dispatching it to Workers. It works similar to the Map-Reduce algorithm. During the execution of the suite, the Runner checks if the next phase can begin and when all the phases are finished the Runner informs the client about it.
The Worker is a single processing unit that can perform a specific task e.g. collect a screenshot using the Firefox browser in the Windows 7 environment, collect a page source, compare two screenshots, check if the source of a page is W3C-complaint and many others.
The JMS Server is a communication hub for the whole system. Workers, runners and the client communicate with one another using JMS messages.
The Database serves as the system storage. It stores all the results, reports and patterns.
The REST API for the stored data; the user can download the Report, collected sources, view screenshots and comparison results via the REST API.
AET uses the following third party software as parts of the system:
Software | Used version | Function |
---|---|---|
Apache Karaf | 4.2.0 | OSGi container for AET bundles and REST API. |
Apache ActiveMQ | 5.15.2 | JMS Sever used for communication between system components. |
MongoDB | 3.2.3 | System database. |
Browsermob | 2.1.4 | Proxy server. |
Selenium Grid | 3.13.0+ | Selenium Grid hub |
ChromeDriver | 2.41+ | Chrome web driver |
-
How To Use
-
Releases