So that was a quick recap on scriptless and validations offered by Kobiton.
So how AI can come into play in those scenarios within the Intelligent Quality Suite. Moving forward, I'll just do a quick intro into how AI can now support your Appium script automation.
So sometimes we get confused, maybe AI is only for scriptless, only for the scenario. That's not the case. AI can also come in to support your Appium scripts in a number of ways.
To start, we can look at FlexCorrect. So first, to kind of bring some context to FlexCorrect. And kind of the importance and functionality that FlexCorrect brings to the table. It is widely known that Appium is very flaky compared to the other frameworks.
And there's a number of ways to interact with an element in a script right. So you can find elements by XPath.
They are far more brittle, but sometimes that's the only option you might have.
But XPath might change from device to device. You might be able to find elements of your id, say class ID, unique ID, but that's not as intuitive as XCUI test or Espresso. So element by ID is not found. The test will fail. And then with dynamic applications may have some ID for various elements on the page depending on that current dynamic state.
This is why we have the Appium inspector to help reduce that flakiness. But it's still unknown issue. Even further when you make use of class IDs or unique IDs. They're going to be different from the native framework. So they're going be different from XCUI test to Espresso and vice versa. So that is why most times we're actually left with the only option of using XPath.
But once again, XPath are very brittle. Appium in their documentation even mentions the use of XPath and how they do not recommend using XPath. But if that's the only option you have, then you have to make do with what you have, knowing it's going to be flaky and brittle. So that is where FlexCorrect comes in.
So flaky test scripts can be such a pain. Software developers can test and QEs will actually spend more time tweaking scripts and maintaining scripts. That actually testing and that can be very, very tedious, can be a huge waste of time. And like I mentioned, very counterproductive. So here we can see where AI can come into play and kind of help counteract that by having a capability of learning from your application.
So when you are running your Appium script and say it's about to fail due to not found on pag, FlexCorrect will actually come in, Scan your xml of your application. Find the next best fit technical identifier and essentially inject that into your script so that it keeps your script running.
So it is auto-correcting it, it's self-healing. And thereafter you actually will get a report of where FlexCorrect stepped in and also the report mentioning the technical identifier that FlexCorrect used. They can usually copy and paste into your script.
So now you have a more stable script and it's far easier to maintain as well. So you can spend more time on the important things and not have to worry about a brittle or flaky Appium script execution. FlexCorrect can do this with a more like a two pronged approach. So training data is fed into a machine learning algorithm that learns from your application via inspecting elements and analyzing elements.
So as you run a manual session over and over again, all that metadata is being fed into the AI. And so when you run your Appium script excuse me, it could be a manual session or an Appium script.
So when you run your next Appium script and you have FlexCorrect enabled, not only will FlexCorrect capture objects and be able to inspect objects and then once again scan the xml but FlexCorrect and also map elements across the page. And so say you have an element at one point on your page that might have slightly moved in doing so kind of knocked out that XPath. FlexCorrect can analyze your xml capture objects.
And also kind of make use of mapping elements to really ensure that the next best fit technical identifier has a more of a 90% confidence interval that will help keep your script running.
So once again comes in a kind of two-pronged approach where you have the ability to scan the XML as well as map elements to really ensure we can find the best next fit technical identifier for your script.