A year ago we had just started automation testing using Selenium. Our QA team was troubled with testing our React.js web app. The challenge was that the automation framework of Selenium implicitly executes for static objects, but the appearance of objects in any Single Page Applications (SPAs) like React.js, Ember.js and AngularJS is unpredictable. As a result the tests would be flaky.
Simple hacks to account for waits and elements going stale may not work. And choosing the optimal locator can be tricky as the attributes can disappear during the test due to the dynamic nature of our web app.
To solve this we used techniques like nested CSS algorithm for identifying dynamic objects. Built custom solution like “WaitForAngular” in Protractorcan wait for async calls (Protractor works for AngularJS based pages). And used implicit and fluent waits for dynamic objects that need to be visible or interactable with predefined timeouts.
We saw some success in our testing outcomes after these. However, we still faced issues in scaling and test case maintenance.
For scaling, Selenium Grid wasn’t an option for us due to a number of issues like memory leaks, inconsistent executions and improper isolations between multiple runs take place. Moreover, the infrastructure requires someone to manage the servers, consistent bandwidth, and a recreatable environment. These cause a lot of overhead apart from being expensive.
Our company needed to accelerate things in QA. So, we shortlisted some cloud based testing tools and then narrowed down to a few for running a Proof Of Concept (POC).
Though all the cloud testing tools we considered were more or less easy in generating test cases, the test execution was failing in the most of them. Even when the tests passed, maintaining them was getting difficult due to the updates in requirements. We soon realized that the biggest challenge was test case maintenance. We finally selected accelQ as it addressed all our pain points.
The biggest reason why I would suggest using accelQ is the self-healing automation feature that drastically reduced the maintenance and accelerated our testing. Besides, its AI powered natural language automation allowed the entire team (including manual testers and developers) to automate and optimize tests without coding.
Apart from being a fantastic web testing tool, it automates API testing, readily integrates with our tech stack and generates detailed reports. These tasks itself would have taken us a few months to setup and running smoothly.
For those who haven’t found a solution for their test automation needs, you may try checking out accelQ and bringing it up with your team. Here’s a pretty infographic on how we are trying to solve challenges in traditional test automation:
Sure, it’s possible… I've fulfilled after reading this blog. Good job.
ReplyDeleteAppium Training in Chennai
Mobile Appium course in Chennai
Appium Training in T Nagar
JMeter Training in Chennai
learn JMeter
core java training in chennai
C C++ Training in Chennai
javascript training in chennai
Very informative blog! I am glad that I came across your article. I'm learning a lot from here. Keep us updated by sharing more such blogs.
ReplyDeleteAWS Training in Chennai
AWS Course
DevOps Training in Chennai
VMware course in Chennai
Microsoft Azure Training in Chennai
Cloud Computing Courses in Chennai
Amazon web services Training in Chennai
Best AWS Training in Chennai
AWS Training