August 29th, 2019 by inflectra
We're very excited about the next version of our Rapise test automation system. The new version leverages research done by the Inflectra artificial intelligence and machine learning unit to introduce self-healing web testing and self-healing web locators to take the flakiness and manual effort associated with automating web testing.
During our observations of testers writing automated tests for modern web applications and native mobile apps, we noticed how much easier in many ways the creation and maintenance of mobile tests was. In fact mobile apps and traditional desktop applications (such as Microsoft Dynamics AX and NAV) were generally much easier to write tests for, and significantly more reliable to execute those same tests months later for regression. So we wondered, what were the unique factors that made web testing so "tricksy" as a hobbit might have said. We decided that the best thing to do was perform some "big data" analysis of popular websites to see what could be the cause. This was our Moz 500 research study.
In this study, we analyzed the 500 most popular websites as ranked by the Search Engine Optimization (SEO) tool MOZ. This Moz 500 list of websites let us analyze not only the websites statically, but also by taking repeated snapshots over time, how frequently they changed and how the changes would impact the ease of test automation.
What we found was that:
Rapise makes it easier to write tests because it includes multiple strategies and tools for creating the XPATH used to locate the objects on the web page (full, text, indexed, IDs, ARIA, etc.). However it still often results in flaky tests that fail when the application changes, and the need to frequently re-learn objects or manually "tweak" the XPATH or CSS to make the tests more reliable. We realized during this study that this is the Achilles heel of web testing and there had to be a better way...
With the new version of Rapise (6.2) that we shall be releasing shortly, we have added a completely new approach to locating objects on a web page that based on our research and development will yield significantly better results in creating tests that work without alteration, even when the application being tested changes, or when the application uses dynamic IDs and attributes.
With this new version, Rapise generates a full-path locator for each recorded element. The full-path locator includes information about all the attributes of an element and attributes of its ancestors in the DOM tree.
When you run a previously recorded test and the element is found with a traditional XPath locator then this new full-path locator is not used (there is nothing to repair).
But if the standard XPath generated for an element during recording or manually created by a tester is not valid then the new full-path locator is used instead to find the most suitable element on the page (using the fruits of our big data analysis and machine learning algorithms).
When the full-path locator is used you get the following healing notification in the report:
The healing notification indicates that an element was found with some confidence, it is a number from zero to 100%. In the notification details you can find the difference between recorded and matched elements. You can also see the images of the recorded and found elements. This information is a clue to either accept the found element or manually fix the test.
When you come across such a situation, you can then do one of three things:
Take no Action - This is the simplest yet powerful approach. If a test passes and all elements are found with pretty good confidence then there may be no reason to "fix" the test.
Build a WebAppProfile - When you analyze differences between the expected and found elements you use that to create or update your WebAppProfile.
Use the Object Manager - During playback, Rapise takes snapshots of elements found by the full-path locator. So after playback you can use the Object Manager to replace the old locators with new ones. If there are healing notifications after test playback Rapise automatically shows the prompt to open the Object Manager.
So to summarize, the main benefits of the new self-healing tests are:
rapise artificial intelligence machine learning automated testing test automation
Ask an Inflectra expert:
SpiraTest combines test management, requirements traceability & bug-tracking
SpiraTeam brings your teams together, managing the entire application lifecycle
SpiraPlan lets you manage your programs and portfolio of projects like never before
Orchestrates your automated regression testing, functional, load and performance
The ultimate test automation platform for web, mobile, and desktop applications
The help desk system, designed specifically for software support teams
Cloud hosted, secure source code management - Git and Subversion
Exploratory testing capture tool that automatically records your testing activity
Let us deal with the IT pain so you don't have to. Or use on-premise if you prefer.
Our customers work in every industry imaginable. From financial services to healthcare and biotech to government and defense and more, we work with our customers to address their specific needs.
Our products do not enforce a methodology on you, instead they let you work your way. Whether you work in agile development, Scrum and XP, Kanban and Lean, Waterfall, hybrid, or Scaled Agile Inflectra can help.
If you want to learn more about application delivery, testing, and more take a look at our whitepapers, videos, background papers, blog, and presentations.
Customers use our tools to help automate repetitive tasks and streamline their business processes using our Robotic Process Automation (RPA) solutions.
We collaborate with a wide range of teams to bring our customers a range of services (including load testing, training, and consultation), complimentary technologies, and specialized tools for specific industries.
Learn how different organizations have benefited from using Inflectra products to manage their software testing and application develooment.
Outstanding support is the foundation of our company. We make support a priority over all other work. Take a look at our support policy.
Discover great tips, discussions, and technical solutions from fellow customers and Inflectra's technical experts.
If you can't find the answer you're looking for, please get in touch with us: over email, phone, or online.
We are constantly creating new videos to help customers learn about our products, including through in depth webinars, all freely available along with a wide selection of presentations.
We provide a number of resources to help customers learn how to get the most out of our products, with free online resources, virtual classrooms, and face to face.
Read about Inflectra, our manifesto, and values. Meet our incredible customers who are building awesome things. We are focused on their success using our tools.
The Inflectra Blog contains articles on all aspects of the software lifecycle.
In addition we have whitepapers,
background articles, videos and
presentations to help get you started.
Events are a big part of our awesome customer service. They are a chance to learn more about us, our products, and how to level up your skills with our tools.
We partner with educational institutions and individuals all over the world. We are also a great place to work and encourage you to explore joining our team.
Please contact us with your questions, feedback, comments, or suggestions. We'll get back to you as soon as possible.
When you need additional assistance (be it training, consulting, or integration services) our global certified solution provider partner network is ready to help.
At Inflectra, we are fully committed to provide our customers with the very best products and customer service.
We want to help developers extend and customize our tools to fit in with their needs. We provide robust APIs, sample code, and open source projects.