Apr 22, 2025

7 Ways the Salesforce Summer '25 Release Might Break Your Automation Tests

I just powered through all 700+ pages of Salesforce’s Summer ’25 release notes so that you don’t have to, and I came away with a clear view of the risks lurking in your UI automation scripts. Let’s dig in.

The Big Picture: Why This Matters

I’ve been there and done that: every time Salesforce tweaks its UI, your Selenium or Playwright tests are at risk of false failures. I’ve seen broken locators cause blocked releases, all-hands calls at midnight, and frenzied “why did my tests fail” Slack storms. That’s why I’ve distilled the Summer ’25 changes into the seven areas that will cause the most pain, with clear fixes to keep your scripts running smoothly.

1. List View Dropdowns: A Complete Rewrite

What changed: Salesforce replaced the old Aura‑based List View menus with fresh Lightning Web Components (LWC). The internal DOM structure, CSS classes, and keyboard focus logic are all new.

Why it breaks: Scripts that find dropdown menus by .uiMenu, rely on fixed option indices, or use brittle XPaths will instantly fail. Your test might click the wrong element or nothing at all.

Impact deep dive: List Views are among the most‑used pages in any Salesforce org, automated lists of leads, cases, custom objects, you name it. If your tests can’t open or select a view, it cascades into failures in nearly every flow: record creation, bulk edits, mass‑delete checks.

How to fix:

  • Swap class‑based locators for semantic ones: look for role="listbox" or use aria-label attributes on your dropdown trigger.

  • If available, include a data-testid in your page layouts.

  • Always assert that the focused element gains the active styling (e.g., aria-selected).

2. Unified Dynamic Related Lists on Desktop & Mobile

What changed: Salesforce collapsed two separate components into one universal LWC. The mobile‑only Aura component (forceRelatedListSingle) no longer exists.

Why it breaks: Your mobile scripts won’t find the old mobile‑specific identifier, and desktop scripts might encounter unexpected markup if you’re testing responsive layouts.

Impact deep dive: Related Lists power key automations, from verifying child‑records to asserting roll‑up summary fields. If your suite can’t detect the Related List container or iterate its rows, you lose confidence in critical business logic tests.

How to fix:

  • Write locators against the LWC root, such as lightning‑related‑list or look for the data‑item attribute on rows.

  • Abstract related‑list detection into a helper that queries by component tag name rather than class.

3. Accessibility Zoom Adjustments (>200%)

What changed: To comply with WCAG 2.2, headers now scroll out of view at high zoom levels, and modal windows reflow entirely within the viewport.

Why it breaks: Any test that clicks based on pixel coordinates or expects a header/footer at fixed positions will misfire. Modal buttons could be off‑screen or under a sticky header.

Impact deep dive: Accessibility improvements are fantastic for end users but wreak havoc on UI tests that assume exact CSS positioning. This affects global confirmation modals (delete record, save changes), and any test that verifies modal titles or footer actions.

How to fix:

  • Never use moveByOffset or fixed coordinates, rely on click(element).

  • Target modals by role="dialog" and button by accessible label: //button[@aria-label='Close'].

  • Use viewport‑agnostic assertions (e.g. isDisplayed(), not getLocation().getY()).

4. Lazy‑Loading Lightning Console Tabs

What changed: The Lightning Console now defers loading inactive tabs. Only the active pane renders its DOM by default.

Why it breaks: If your script opens a tab via a navigation rule and immediately tries to interact with its contents, you’ll hit stale‑element exceptions or null pointers.

Impact deep dive: Console apps power high‑velocity service and sales teams. Your smoke tests often include navigation to custom console apps, listening on a case feed or monitoring an account hierarchy. Without waits, any test stepping through these tabs will randomly fail, slowing down build pipelines.

How to fix:

  • Insert a wait for the presence of a unique element in the new tab (e.g., header or custom button) before proceeding.

  • Optionally, disable the new default in sandboxes while you refactor tests.

5. Fully Customizable Agentforce Panels

What changed: Admins can now replace the default Agent Action panels with org‑specific Lightning components.

Why it breaks: Tests that inspect or interact with the “standard” agent panel structure will break silently when a custom component appears instead.

Impact deep dive: Any automation around AI‑driven flows, creating tickets, running test actions, error reporting, relies on predictable panel layouts. Custom Lightning types mean your test could be staring at a blank canvas or unfamiliar inputs.

How to fix:

  • Introduce a generic helper that finds fields by their labels rather than specific container selectors.

  • If your org uses custom Lightning Types, encapsulate agent interactions in a plugin that can be swapped per org.

6. SLDS CSS Class Overhaul

What changed: Deprecated SLDS classes like .slds-button__icon_large have been removed or renamed; modal close button styling updated.

Why it breaks: Tests picking up buttons or icons by class won’t find them, or will grab the wrong element if more than one shares the new style.

Impact deep dive: Across every dialog, toast, and action button, mismatched class names lead to clicks on unintended elements, sometimes even invisible placeholders!

How to fix:

  • Target by accessible name, e.g. button[title='Delete'], or by wrapper elements with consistent data-component attributes.

  • Leverage Selenium/Playwright’s built‑in accessibility locator (e.g., page.getByRole('button', { name: 'Delete' })).

7. Mobile File Priming Changes

What changed: Attachments now auto‑cache in mobile, so the loading spinner might never appear, or only flash briefly.

Why it breaks: If your mobile script waits for the spinner to disappear, it may hang or timeout.

Impact deep dive: File uploads and downloads are common mobile scenarios, tests that verify report exports, signature captures, or image attachments. Without a consistent spinner, your test can’t know when the file is ready.

How to fix:

  • Wait for a visible file link or thumbnail element instead of the spinner.

  • Fall back to checking network logs or the existence of the downloaded file in the device sandbox.

Still on Traditional Tools? Here’s Your Playbook

  1. Audit and refactor your locators to lean on accessibility attributes and data-testid.

  2. Encapsulate wait logic into reusable helpers, never sprinkle sleep calls.

  3. Run regression nightly in a Summer ’25 preview sandbox to catch surprises early.

  4. Consider an AI‑powered approach: at TestZeus, our agentic tests adapt on the fly. No broken locators, no maintenance nightmares, just test coverage you can trust.

Wrapping Up

No more midnight firefights over broken locators. Armed with these insights, you can proactively adapt your scripts to Salesforce’s Summer ’25 UI shifts, and sleep a little easier. If you’d rather bypass the maintenance entirely, join the circle of trust with TestZeus today. We’ll keep your automation humming so you can focus on the innovations that drive your business forward.

balance cost, quality and deadlines with TestZeus' Agents.

Come, join us as we revolutionize software testing with the help of reliable AI.

© 2025. All Rights Reserved. Privacy Policy

balance cost, quality and deadlines with TestZeus' Agents.

Come, join us as we revolutionize software testing with the help of reliable AI.

© 2025. All Rights Reserved. Privacy Policy

balance cost, quality and deadlines with TestZeus' Agents.

Come, join us as we revolutionize software testing with the help of reliable AI.

© 2025. All Rights Reserved. Privacy Policy