Links

UI Automation

Capture user interactions and play them back with ease using Appetize's AppRecorder. Test and reuse app workflows (e.g. user login) on different devices effortlessly.

AppRecorder

Users can easily record and replay their interactions with our Appetize Devices using AppRecorder. These recordings capture the running application's user interface elements and are designed to handle minor app changes without any issues.
You can even record on one device, like an iPhone, and play it back on another device, such as an iPad.
We welcome customer feedback as we continue to refine our APIs, and the underlying technology powering our JavaScript SDK.

Recording Actions

With JavaScript SDK

When the user interacts with the device, the session will emit an action event:
const session = await client.startSession()
let actions = []
session.on('action', action => {
actions.push(action)
})
// later on, replay them
await session.playActions(Actions)
Recorded actions can be serialized as JSON and stored so that you can replay them later.
Example of a 'click' action
{
type: 'click',
xPos: 105,
yPos: 645,
element: {
text: 'Login',
class: 'UIView',
baseClass: 'UIResponder',
}
}

Playing Actions

With JavaScript SDK

You can play an action on the device using session.playAction
await session.playAction({
type: 'click',
element: {
text: "submit",
accessibilityIdentifier: "submit_button",
class: "UIView"
}
})
Multiple actions can be played back using session.playActions
await session.playActions([
{
type: 'type',
element: {
accessibilityIdentifier: "email_field",
}
},
{
type: 'click',
element: {
text: "submit"
}
}
])
See Touch Interactions for more information on how we match views and some best practices.

Programmatic Interactions

The device can also be interacted with programmatically through our JavaScript API.

UI Testing with Appetize

We offer a Playwright integration that uses our JavaScript SDK to test your apps.