Testing or Automating
User Interfaces?
Save 93% of your time, building
tests or automations that run on any platform
Join our early adopters
Automate anything on
Desktop Applications
Automate on Windows, MacOS and Linux without using automation IDs
Web Applications
Run your automations on any browser available including Chrome, Firefox, Safari and more
Enterprise Applications
Automate enterprise applications including SAP, ServiceNow, Citrix and Salesforce
Native Mobile Applications
Automate on Android and iOS with support for real and virtual devices
Platform-independent Frameworks
Leverage AI to automate frameworks such as Flutter, Xamarin and QT
Cross-application Workflows
End-to-end automation for workflows across multiple applications
Selector-based automation is not suitable for modern software development.
That is why we have analyzed thousands of user interfaces to train the most profound deep learning model for UIs available. Our AI can find any UI element visible on your operating system. This enables the automation of workflows in a completely new way.
Automate Anything
askui James enables the automation of all possible UI commands by simulating real interactions. Drag & drop, swipe commands and even color verifications are no longer a problem.
No More Selectors
Using modern deep learning technologies, we identify UI elements based solely on visual features. We even take the screenshots for you. Get rid of your object repositories.
Simulate Human Actions
Our automation does not access underlying code selectors or the DOM. It performs real mouse movements and element clicks – just like a human would.
Runs On All Technologies
By automating solely on visual properties, we enable automation on all UI technologies – whether Desktop, Web, Native Mobile, … anything works.
This is how it works
Receive any elements from the UI
/* Takes a screenshot of your selected display and produces an HTML report file inside the default output path <project_root>/report.*/
await aui.annotate();
/* Starts the interactive annotation. A window appears shortly afterwards showing the result of the annotation. Press "Esc" to close this window again. */
await aui.annotateInteractively();
Define and verify any action
Receive elements and define actions on them with our easy readable fluent API. As we control real user inputs, we support all possible actions – even swipe commands and drag & drop. Find elements by using relational descriptions.
await aui.click().button().withText("Login").exec();
await aui.typeIn("Hello World!").textfield().below().text().withText("Get started").exec();
await aui.expect().text().withText("Hello World!").exists().exec();
Run your automations on any OS
Start any application in your development pipeline by using the integrated client. It operates on OS level and therefore automates on all applications –
whether Web, native Mobile or Desktop. Per default automations are run on your local machine.
beforeAll(async () => {
uiController = new UiController({
/**
* Select the display you want to run your tests on, * display 0 is your main display;
* ignore if you have only one display
*/
display: 0,
});
We are backed by first
class investors ...
... and awesome supporters.



