Skip to content

fix(e2e): dismiss only an enabled element on iOS - #574

Closed
kieran-osgood-shopify wants to merge 2 commits into
graphite-base/574from
kieran-osgood/e2e-dismiss-enabled-element
Closed

fix(e2e): dismiss only an enabled element on iOS#574
kieran-osgood-shopify wants to merge 2 commits into
graphite-base/574from
kieran-osgood/e2e-dismiss-enabled-element

Conversation

@kieran-osgood-shopify

Copy link
Copy Markdown
Contributor

What changes are you making?

The iOS checkout page renders a disabled 24 by 22 pixel node whose accessibility text is exactly selected. The bare selector in dismiss-active-field.yaml matched that node, so Maestro tapped the fixed point behind it after every text entry, and the field that followed never opened. Anchoring cannot fix this, because the text matches exactly. Require enabled: true on both the visible condition and the tapOn.

Add a guard in maestro_test_tags_test.rb that rejects a bare selected selector.

Widen the scripts path filter in ci.yml to watch e2e/flows/**. That filter is the only thing that selects the scripts-test job, and that job is the only thing that runs the Ruby guards. Several guards read flows/, so a commit that only edits a flow ran none of them.

How to test

./scripts/test_ruby

191 runs, 596 assertions, 0 failures.


🤖 Generated with Claude Code

@kieran-osgood-shopify
kieran-osgood-shopify requested a review from a team as a code owner August 5, 2026 09:11
@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

React Native — Coverage Report

Lines Statements Branches Functions
Coverage: 92%
91.85% (327/356) 87.98% (183/208) 100% (86/86)

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Web — Coverage Report

Lines Statements Branches Functions
Coverage: 96%
94.62% (299/316) 81.72% (152/186) 98.71% (77/78)

@kieran-osgood-shopify
kieran-osgood-shopify marked this pull request as draft August 5, 2026 09:35
@bitrise

bitrise Bot commented Aug 5, 2026

Copy link
Copy Markdown

Install this build

Open Tophat, select your target device, then click Install. Links open on the Mac running Tophat.

SDK Install
React Native Install with Tophat
Swift Install with Tophat
Kotlin Install with Tophat

Checkout Kit E2E results

Status Tags Target Platform OS version tag Device
launch, cart, checkout, account react-native ios latest iPhone 15
iOS 27 Beta
launch, cart, checkout, account react-native android latest Google Pixel 9
Android 17.0
launch, cart, checkout, account kotlin android latest Google Pixel 9
Android 17.0
launch, cart, checkout, account swift ios latest iPhone 15
iOS 27 Beta

Failures

Caution

These E2E checks are not yet required, so they do not block merging — but a failure may still indicate a real issue to resolve before merging.
If you believe an assertion is flaky, please raise a ticket in the #checkout-kit-devs channel so it can be addressed.

BrowserStack artifacts require BrowserStack access. Sign in to BrowserStack App Automate before opening artifact links.

iOS — react-native

Test Status Artifacts
./tests/shared/checkout-hardcoded-buyer-identity BrowserStack · Video · Screenshot · Maestro commands · Maestro log
./tests/shared/checkout-guest BrowserStack · Video · Screenshot · Maestro commands · Maestro log

Android — react-native

Test Status Artifacts
./tests/shared/checkout-guest BrowserStack · Video · Screenshot · Maestro commands · Maestro log

iOS — swift

Test Status Artifacts
./tests/shared/checkout-hardcoded-buyer-identity BrowserStack · Video · Screenshot · Maestro commands · Maestro log
./tests/shared/checkout-guest BrowserStack · Video · Screenshot · Maestro commands · Maestro log

@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/android-guest-cart-market branch from 4ac9954 to 6643cfb Compare August 5, 2026 09:53
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-dismiss-enabled-element branch from 15097ed to b63d86b Compare August 5, 2026 10:38
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/android-guest-cart-market branch from 6643cfb to 6bff379 Compare August 6, 2026 15:48
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-dismiss-enabled-element branch from b63d86b to 33d5f72 Compare August 6, 2026 15:48

kieran-osgood-shopify commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

kieran-osgood-shopify and others added 2 commits August 6, 2026 18:26
The Android sample gave a guest cart a Canadian buyer identity. A country on
the buyer identity picks the market, and the market decides the currency, the
address form and its labels, so the Kotlin checkout rendered a Canadian form
and totalled in CAD.

The Swift and React Native samples send no buyer identity for a guest, so this
one now sends none either. This is flake B4: the shared E2E fixture is a United
States address, and checkout-guest failed on Kotlin Android while React Native
Android passed the same test.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Assisted-By: devx/5b4b8d5b-690a-4389-841e-039723ade1da
The checkout page renders a disabled 24 by 22 pixel node whose accessibility
text is "selected". The branch matched that node and tapped a fixed point
after every text entry, so the next field never opened. Three tests failed
across two targets.

Guard the selector with a test. Add `e2e/flows/**` to the CI path filter,
because no filter watched that directory and none of the flow guards ran.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/android-guest-cart-market branch from 6bff379 to 9ceb6c5 Compare August 6, 2026 17:30
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-dismiss-enabled-element branch from 33d5f72 to 6f6a7d3 Compare August 6, 2026 17:30
@kieran-osgood-shopify
kieran-osgood-shopify changed the base branch from kieran-osgood/android-guest-cart-market to graphite-base/574 August 7, 2026 11:05

Copy link
Copy Markdown
Contributor Author

Closing this and rolling it into #577 (flows in ci.yml) and #560

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50662 Rebase Checkout Kit on UCP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant