WebQA² is the
best and simplest automated end-to-end
testing option for solutions with web user interface
Why WebQA² ?
Any platform
any browser, any device resolution
Java Script
Implemenation - use existing knowledge
No installation
really none :) ²
Free use
no limit ¹
- Optionally use local tests and screenshots for full privacy
- Optionally confirm screenshots of states is unchanged, warn and optionally accept the latest screenshot as correct
- Optionally use the integrated interactive editor to simplify setting element values, verifying element values, or simulating events like clicks
¹ Unlimited number of tests; limited number of screenshots in cloud storage, unlimited in local storage
² If using WebQA² cloud, minimal setup if local screenshots are used
Where can WebQA² be used?
Operations
confirming solutions work as expected in Production and get alerts whenever it fails
Product Managers
confirming solutions work properly before approving a new Release
Testers
automating some of their test plans
Development Teams
adding gating to build workflows like CI/CD to ensure code changes do not break the solution
Developers
confirming latest code changes do not break the solution before submitting it
UX
confirming latest code changes do not break
To show how such test script work, we created a small sample web app at
#domain#/todo
To manage the test scripts we should access the app and include the secret key
#domain#/todo?wqKey=#secretkey#
Press
Alt/Option+Control+Shift+T to open the test management panel.
How to use WebQA²
1.
Register and get a secret key
2.
Include WebQA²
<script src="https://webqa2.com/infra">
just before your final
</body>
In case you're using some templates or other resuable include files, WebQA² will worked if included in other places in the markup but just before the end of body is optimal.
3.
Edit your tests by navigating to your system with the secret key and use the provided user interface
https://yourdomain.com/webpage?wqKey=<your-secret-key>
Use Alt/Option+Control+Shift+T to open the test management panel.
4.
Run specific tests on one or multiple platforms and browsers for a range of needs: Production monitoring, QA, automated build pipelines, improving the quality of changed code, or confirming code changes correctness before pushing it
https://yourdomain.com/webpage?wqKey=<your-secret-key>&wqTest=<test-name>
5.
If using screenshots, inspect when screenshots differ from past executions and accept the new one if it is correct
6.
Review the list of failed test steps, fix and re-run
Write your test
async function Test_1() {
await new Promise(resolve => setTimeout(resolve, 1000));
input = await wq2("#inputSelector");
input.value = "The new value";
elem = await wq2("#labelSelector");
if (elem.innerText != "The text we expect") {
wq2.failTest("<test step name>");
}
wq2.continueAfterPageNavigation('Test_1.step2');
goNextPageButton = await wq2("text:textOnButton");
goNextPageButton.click();
}
async function step2() {
mytable = await wq2("#tableSelector");
if (mytable.rows.length == 0) {
wq2.failTest("step2 - no rows in table");
}
await wq2.confirmScreenshot("results-table");
failedSteps = wqCompleteTests();
if (failedSteps.length > 0) {
alert("Test failed:\n" + failedSteps.join("\n"));
} else {
alert("Test passed");
}
}