AI for Appium and Selenium

June 16, 2026 · 9 min read · Tool Comparison

HeadSpin Platform
Automated & amp; manual testing made easy through information science insights.
Differentiating capacity:
  • Extensive end-to-end automation of QA process
  • Comparative analysis of app performance against peers
  • Uninterrupted monitoring of app performance using synthetic information for higher availableness of apps
  • Easy-to-use developer friendly platform
cloudtest go
Affordable Real Device Testing for Emerging Teams
cloudtest go
Low-priced Real Device Testing for Digital Enterprises
cloudtest go
The Ultimate Solution for a Powerful Blend of Functional & amp; Performance Testing!
cyol
TEM
New
Centralized mobile tryout execution in cloud
cyol
Enhance Your Accessibility Testing With HeadSpin
cyol
Automate camera-based testing

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

retail

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

AI for Appium and SeleniumAI for Appium and Selenium

AI for Appium and Selenium

Published on
January 8, 2020
Updated on
Published on
February 11, 2022
Updated on
 by 
 Jonathan LippsJonathan Lipps
Jonathan Lipps

Appium Pro is normally all about ... well, Appium! And other mobile testing related topic. However, in this spot we & # x27; re going to discuss an exciting development in AI in the world of Selenium, Appium & # x27; s web-based forebear. Read on -- I consider you & # x27; ll get something out of this even if you & # x27; re focused purely on mobile testing.

For some time Appium has been experimenting with AI/ML approaches to augment. In improver to its visual examination capabilities, there is besides a special plugin for detect elements using ML model (even when all you have is a screenshot). Part of what makes these feature possible with Appium is the fact that it is possible to write plugins for Appium that integrate with these diverse early project.

Check out:

I & # x27; ve often wondered how we can do the like thing with Selenium. Unfortunately, Selenium & # x27; s architecture is not quite set up for third parties to write plugins that take advantage of behavior in the Selenium server itself. That doesn & # x27; t stop us from writing client-side & quot; plugins & quot; that have access to the driver object, though!

AI-based factor find for Selenium

How do we create a client-side plugin for Selenium? Basically, by couch together a library which takes an be Selenium session (a driver object) and employ it for its own use. In our case, this special library will have access to the Test.ai classification framework that already exists as component of the Test.ai + Appium classifier plugin. This plugin was originally develop to afford Appium users access to the compartmentalisation model via the -custom locator scheme. The advantage of this attack was precisely that it was the Appiumserverbeing augment -- all the work could be done in one language (Node.js) and create available to every node library with minimal modifications.

Also check:

In the causa of Selenium, the equivalent employment would have needed to be done as an propagation toeachclient library. That was way too much work! So alternatively, we cover the capabilities of the existing Appium classifier plugin, so that it could too act as a classificationserver. This coming (very lots akin to the client/server architecture of Selenium and Appium themselves) continue the heavy lifting in one property and allows real thin clients to be pen in every language. The only downside is that you have to make sure to get the classifier server up and running.

For autonomous testing across multiple user personas, check out SUSATest — it explores your app like 10 different real users.

The Classifier waiter

If you already have the test-ai-classifier software installed via NPM, no redundant install steps are necessary. Otherwise, npm install -g test-ai-classifier. Then, running the server is quite simple:

test-ai-classifier

With no arguments, the server will start up on localhost, port 50051 (the nonremittal for gRPC-based services). Of course, you can always surpass in -h and -p flags with custom host and port information (apply 0.0.0.0 for host if it & # x27; s important to listen on all interface).

Recommended Post:

The Classifier client

Once you & # x27; ve got the server running, you need to decide which client to use. There are four available:

  • Java client
  • Python client
  • Node client
  • Ruby client

We & # x27; ll use the Java client for our purposes. To get it include in you Gradle-based Java project, the easiest thing to do is useJitpack, and then to include a directive like the pursuit, to get the client download from GitHub:

testImplementation group: 'com.github.testdotai ', gens: 'classifier-client-java ', edition: ' 1.0.0 '

There are a few different manner to use the node, including the power to surpass image data to it directly, outside of the context of Appium, Selenium, or anything else. Either way, the first thing we need to do is instantiate the client:

classifier = new ClassifierClient (`` 127.0.0.1 '', 50051);

The only parameters are the expected host and port values. Of most interest for us in terms of what we can call on classifier here is the method findElementsMatchingLabel, which takes two parameter: a driver object and a string represent the label for which we want to observe matching elements. Have a look at this example:


Listels = classifier.findElementsMatchingLabel (driver, `` twitter '');

In this case, we & # x27; re looking for any elements that look like a Twitter logo. Notice that the return value of this method is precisely what you & # x27; d expect -- a lean of standard WebElement objects. You can click them, get their attributes, and anything else you & # x27; d be able to do with a veritable element.

Also check:

How does all this wizard work? Well, the Classifier client runs a special XPath question that attempts to find any leaf node element, and then directs the browser to take a screenshot of each element, all on its own. From these screenshots, the guest has all the image information it needs to send over to the Classifier server, which sends back information about the forcefulness of any matches. The client can then map these answer to the elements it constitute via XPath, filter out any whichdon & # x27; tmatch the requested label, and return the rest to you!

What this does mean is that any browser driver you use will need to support the & quot; take element screenshot & quot; command. In my experiment, only Chrome was reliable enough to not fail in weird ways when asked to take screenshots of so many component. This API is comparatively new, so I ask we & # x27; ll see best reliability from Safari and Firefox (the solely two other browser I tried) soon enough. At any rate, take a look at the entire codification sample below, which demonstrates how we can load up a webpage, find an icon using only its semantic label, and so interact with it:

import java.net.MalformedURLException; import java.net.URL; import java.util.List; import org.hamcrest.collection.IsCollectionWithSize; import org.junit.After; import org.junit.Assert; import org.junit.Before; signification org.junit.Test; signification org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.RemoteWebDriver; import ai.test.classifier_client.ClassifierClient; public class Edition101_AI_For_Selenium {private RemoteWebDriver driver; private ClassifierClient classifier; @ Before public void apparatus () throws MalformedURLException {driver = new RemoteWebDriver (new URL (`` http: //localhost:4444/wd/hub ''), new ChromeOptions ()); classifier = new ClassifierClient (`` 127.0.0.1 '', 50051);} @ After public void tearDown () throws InterruptedException {if (driver! = null) {driver.quit ();} if (classifier! = null) {classifier.shutdown ();}} @ Test world void testClassifierClient () throws Exception {// navigate to a webpage driver.get (`` https: //test.ai ''); // find the twitter icon Listels = classifier.findElementsMatchingLabel (driver, `` chirrup ''); // make sure we get only one element which is a twitter icon, and clink on it Assert.assertThat (els, IsCollectionWithSize.hasSize (1)); els.get (0) .click (); // maintain that we got to the appropriate twitter homepage Assert.assertEquals (driver.getCurrentUrl (), `` https: //twitter.com/testdotai '');}}
Author & # x27; s Profile

Jonathan Lipps

LinkedIn
Author & # x27; s Profile

Piali Mazumdar

Lead, Content Marketing, HeadSpin Inc.

Piali is a dynamic and results-driven Content Marketing Specialist with 8+ years of experience in crafting engaging narratives and marketing collateral across diverse industries. She excels in collaborating with cross-functional teams to evolve groundbreaking message scheme and deliver compelling, authentic, and impactful content that resonate with target audiences and enhances make authenticity.

LinkedIn

AI for Appium and Selenium

4 Parts

regression intelligence blog
-

Regression Intelligence practical guide for advanced users (Part 3)

Coming Soon
Regression Intelligence practical guide for advanced users
-

Regression Intelligence practical guide for advanced users (Part 4)

Coming Soon

Discover how HeadSpin can indue your job with superior essay capabilities

Our Platform enables you to:
accelerate time-to-market
Accelerate time-to-market, gaining a private-enterprise edge
faster development cycles
Boost developer/QA productivity with faster maturation cycle
automated buil-over-build regression testing
Automate build-over-build regression prove for consistent results
gain better visibility into functional & performance issues
Gain better visibility into functional and execution issues
reduce mean time
Reduce base clip to identify/resolve during test, QA, and production
evaluate audio, video & qoe
Evaluate sound, video, and content calibre of experience (QoE) effortlessly
The trusted pick for spherical enterprises
Adobe
Hargreaves Lansdown
Truecaller
Crazylabs
Nedbank
Numeracle
Veryon
Close

Discover how HeadSpin can empower your business with superior screen capabilities

Our Platform enable you to:
accelerate time-to-market
Accelerate time-to-market, gaining a competitive edge
faster development cycles
Boost developer/QA productivity with faster development cycles
automated buil-over-build regression testing
Automate build-over-build fixation testing for ordered results
gain better visibility into functional & performance issues
Gain better profile into functional and performance issues
reduce mean time
Reduce mean time to identify/resolve during trial, QA, and production
evaluate audio, video & qoe
Evaluate sound, picture, and contented quality of experience (QoE) effortlessly
The trusted alternative for global enterprises
Close

Discover how HeadSpin can empower your business with superior testing capabilities

Our Platform enable you to:
accelerate time-to-market
Accelerate time-to-market, benefit a private-enterprise edge
faster development cycles
Boost developer/QA productivity with faster development cycles
automated buil-over-build regression testing
Automate build-over-build regression quiz for consistent resultant
gain better visibility into functional & performance issues
Gain better visibility into functional and performance issues
reduce mean time
Reduce mean time to identify/resolve during test, QA, and product
evaluate audio, video & qoe
Evaluate audio, video, and content character of experience (QoE) effortlessly
The sure pick for global enterprises
Close

Connet Now

Wipro LogoVMLYR Logo
Close
Book a Meeting
Products
footer down arrow
Solutions
footer down arrow
Industries
footer down arrow
Features
footer down arrow
Support
footer down arrow
Resource Center
footer down arrow
Why Choose HeadSpin?
footer down arrow
Copyright © 2026 HeadSpin, Inc. All Rights Reserved.

Automate This With SUSA

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.

Try SUSA Free

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free