---
source_url: "https://developer.salesforce.com/docs/platform/utam/guide/get-started-utam.html"
title: "Get Started | UI Test Automation Model | Salesforce Developers"
mirrored_at: 2026-08-15T01:06:53.539Z
host: developer.salesforce.com
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/developer.salesforce.com/docs/platform/utam/guide/get-started-utam.html"
---

> **Original source:** https://developer.salesforce.com/docs/platform/utam/guide/get-started-utam.html

## Get Started

UI Test Automation Model (UTAM) makes it easier to write end-to-end UI tests by abstracting page object code into JSON. Page objects encapsulate UI components into a scalable interface for your test code. The UTAM framework is a web standard, and can test non-Salesforce apps, too.

Other writing query selectors for end-to-end tests don’t scale because when the DOM structure changes, query selectors break. A large application can have a lot of query selectors, which means a lot of time fixing tests. But page objects encapsulate the capabilities of a UI component into an interface that test code can interact with. Each application component has a corresponding JSON page object that declares its test interface. UTAM provides a JSON grammar to write page objects and a compiler to generate runnable code in Java or JavaScript. The runnable test code UTAM creates expects certain things in the UI (like clearing or setting text). UTAM abstracts the DOM away from the test, insulating test expectations from implementation details like shadow DOM.

To get started with UTAM, choose the resources that match your learning style.

-   [UTAM Tutorials](https://utam.dev/tutorial/introduction) for a suite of interactive tutorials.
-   [JSON page object grammar](https://developer.salesforce.com/docs/platform/utam/references/utam-grammar/grammar.html)
-   Salesforce Developers’ Blog: [Run End-to-End Tests with UTAM](https://developer.salesforce.com/blogs/2022/05/run-end-to-end-tests-with-the-ui-test-automation-model-utam)

Run End-to-End Tests With the UI Test Automation Model (UTAM)

The `utam-js-recipes` and `utam-java-recipes` repos contain examples of how to test the Salesforce UI.

-   [utam-js-recipes](https://github.com/salesforce/utam-js-recipes)
-   [Guide for JavaScript Developers](https://developer.salesforce.com/docs/platform/utam/guide/js-guide.html)

-   [utam-java-recipes](https://github.com/salesforce/utam-java-recipes)
-   [Guide for Java Developers](https://developer.salesforce.com/docs/platform/utam/guide/java-guide.html)

-   [Browser extension](https://developer.salesforce.com/docs/platform/utam/guide/browser-extension.html) to help you find page objects provided by Salesforce
-   [UTAM Generator](https://developer.salesforce.com/docs/platform/utam/guide/generator-get-started.html) to generate UTAM JSON page objects from HTML files
-   [Design Page Objects](https://developer.salesforce.com/docs/platform/utam/guide/page-objects.html) if you prefer to manually build JSON page objects from scratch instead of using the UTAM generator
-   Compile your JSON page objects to [JavaScript](https://developer.salesforce.com/docs/platform/utam/guide/js-guide.html#compiler-setup) or [Java](https://developer.salesforce.com/docs/platform/utam/guide/java-guide.html#compiler-setup) page objects
-   Write tests for [JavaScript](https://developer.salesforce.com/docs/platform/utam/guide/js-guide.html#write-ui-tests) or [Java](https://developer.salesforce.com/docs/platform/utam/guide/java-guide.html#write-ui-tests)