Get Started

UI Test Automation Model (UTAM) provides a JSON grammar to write page objects. The UTAM compiler generates runnable code from the JSON page objects.

UTAM is agnostic to the application under test. It isn't specific to the Salesforce platform and it can generate executable page objects for any consumer.

UTAM doesn't include a test runner. To use UTAM page objects from UI tests, integrate it with your test automation framework.

Tutorials

Talk is cheap! The best way to get started is to play with the suite of interactive tutorials that we've built. Tinker with the JSON page objects and see how the generated JavaScript code changes. Tweak a test and see if it still runs successfully. The best way to understand a test is to break it and then fix it again!

To start coding in a playground, check out the Tutorials.

Documentation

This documentation is relevant for both JavaScript and Java:

After you become familiar with the JSON page-object grammar and tests in the tutorials, you're ready to use UTAM on your own machine.

UTAM JavaScript

Start with the JavaScript guide and the utam-js-recipes repo.

The repo's README file explains how to set up tools (Node and Yarn) and has examples of page objects and tests.

UTAM Java

Start with the Java guide and the utam-java-recipes repo.

The repo's README file explains how to set up tools and has examples of page objects, compiler setup and tests.

UTAM for Mobile

Compared to desktop, it's more complicated to set up tools (Node, Appium, Xcode and Android Studio) in your development machine to execute a mobile test against your local iOS simulator or Android emulator. Fortunately, SFDX has a Mobile Extension Plug-In to help. Install it from SFDX CLI, and use it to check for the required Android and iOS configurations. If the mobile extension finds problems, the command output gives you hints for how to fix your environment. This is a convenient way to set up mobile tools, but you don't have to use it.

To understand how to use UTAM to generate page objects for mobile native pages or components and run a test on iOS and Android platforms, consult either the Java or the JavaScript mobile setup guide.

Examples for Java are in the utam-java-recipes repo. Examples for JavaScript are in the utam-js-recipes. Each repo's README file explains how to set up necessary tools and where to find examples of mobile tests.