Crucial metrics while automating test cases for a web app are robustness and performance. When
your customer base is spanning across the globe, you must consider test cases for a low bandwidth network, wherein scripts are prone to failure and automation execution is slow. Selenium, QTP and other browser dependent automation technologies are not robust. Automation execution times are tedious.
AFourTech’s solution – Headless Browse Automation – leverages the supporting frameworks for ReactJS for end-to-end UI test automation without launching a browser. It eliminates the need of traditional browser dependent technologies like Selenium and QTP.
Following technologies are leveraged to build the solution.
1. React.js
2. Enzyme
3. Mocha
4. Chai
5. JSDOM
6. mongo DB
7. Istanbul
Solution
jsdom : Test automation leverages jsdom that mimics a browser. Most of the UI tests that are automated can be carried out on jsdom without the need for launching a browser.
Mocha : Java Script test framework -Developed test scripts using Mocha. Test script execution is monitored by listeners that intercept callbacks from server.
Sinon : Standalone test spies, stubs and mocks for JavaScript.
Enzyme : Used to host react components in jsdom that would be referenced in test scripts.
Chai : An assertion library which can specify conditions and evalute test pass or fail.
Istanbul : Used as a code coverage tool.
Test Features
1. Input data in UI elements.
2. Perform operation on UI elements like button click, enable checkbox.
3. Validation of page being rendered correctly.
4. Data validation in UI elements. E.g. email must adhere to a specific format.
5. Launching pop ups and performing UI operations on popup.
6. Error codes and messages returned for failed conditions.
7. Clicking hyperlinks and ensuring the new page is launched.
8. Performing operations on calendar controls like setting up meetings.
9. Code coverage reports