sf-ui-test-automation

Build Salesforce UI tests with UTAM, WebdriverIO, and Salesforce page objects.

2|Updated Sep 12, 2026
One-click install
npx skills add https://github.com/grzmol/vibe-force --skill sf-ui-test-automation-grzmol
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sf-ui-test-automation
Source: https://github.com/grzmol/vibe-force/tree/main/skills/sf-ui-test-automation
Command: npx skills add https://github.com/grzmol/vibe-force --skill sf-ui-test-automation-grzmol

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @utam/core, wdio-utam-service, salesforce-pageobjects, @salesforce/sfdx-lwc-jest, and includes references (resource) components.

What problem does it solve? Browser-level Salesforce regressions escape Apex unit tests and LWC Jest tests because they live in the rendered page, and teams that do write UI tests often end up with flaky suites, raw CSS selectors that break every release, and credentials committed to config files. ## Core Features & Use Cases - Test tier selection: Guides you to the cheapest tier that can catch the bug, from Apex unit tests and LWC Jest up to UTAM end-to-end tests and Agentforce agent tests. - UTAM project scaffolding: Provides verified utam.config.js and wdio.conf.js setups with pinned versions of @utam/core, wdio-utam-service, and salesforce-pageobjects. - Credential-free authentication: Authenticates test runs via sf org open --url-only single-use login URLs regenerated per run, never storing passwords. - Use Case: A flow that users click through keeps regressing despite green Apex and Jest suites. Use this Skill to scaffold a UTAM plus WebdriverIO spec that navigates the Lightning shell with Salesforce-authored page objects and asserts on persisted state. ## Quick Start Set up a UTAM end-to-end test for my Salesforce project that logs in with a CLI-generated URL and verifies the Hello component renders on the home page.

Frequently Asked Questions about sf-ui-test-automation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write end-to-end UI tests for Salesforce Lightning?

Use UTAM with WebdriverIO: declare page objects as .utam.json files, compile them with utam -c utam.config.js, and write specs that load page objects via utam.load. The salesforce-pageobjects package models the Lightning shell so your specs never use raw CSS selectors for internals.

How do I authenticate Salesforce UI tests without storing a password?

Run sf org open -p /lightning -r --json to get a single-use frontdoor login URL and write it to a gitignored .env file. Regenerate the URL per run since it expires after one navigation, and never log it or commit it to CI artefacts.

UTAM vs Jest for testing Salesforce Lightning components?

Use @salesforce/sfdx-lwc-jest for component rendering, wire adapters, and DOM events since it runs in seconds. Reserve UTAM end-to-end tests for navigation, cross-component flows, and permission behaviour that only appear in a real browser against an org.

Why are my Salesforce UI tests flaky in CI?

Flakiness usually comes from browser.pause() fixed waits, reused single-use login URLs, or unpinned Chrome versions. Replace pauses with waitFor conditions on URLs or loaded page objects, regenerate the login URL per run, and pin capabilities.browserVersion.

Should Salesforce UI tests run in the pre-merge gate?

No. Keep the blocking pre-merge gate offline with Apex and Jest checks, and run the UI suite nightly or on-demand. Otherwise an org outage becomes a merge outage for the whole team.