Imagine being put in charge of automating several website user interfaces in a fast-paced agile development environment, while also spending vast amounts of time on managing other test assets. How does one solve this problem effectively and efficiently while allowing for rapid scaling?
The problem is further compounded when different kinds of tests are required to assure thorough test coverage. Do you want regression testing? Sure, as long as development didn’t make too many UI modifications or workflow changes, all could be fine. Do you want data driven testing? Sure, as long as the code in the backend that handles the input and output doesn’t change.
This, of course, is never the case. A change to a requirement demands the arduous task of identifying and making code changes in the test scripts. What’s more, if a test script fails, then time is needed fixing the test script so the test passes, which depending on how the test harness was developed, could be a significant amount of time.
The sequential nature of most end to end GUI test scripts are too brittle to be considered as a viable solution. What is needed, is an automation strategy that requires less attention to identify and refactor the affected test scripts and more scalability to detect defects. One must be able to scale test coverage and find a way to provide immediate feedback quicker and more often to our stakeholders—development and release management.
Even following the best UI automation practices, we had limited success, find out how we were able to improve our scalability and reliability while reducing our efforts and resources. Learn how to write a page object (codelessly).