Skip to content

payment-request tests depend on removed basic-card support #61068

Description

@RByers

Tests in payment-request which depend on having a supported payment method tend to use basic-card and https://apple.com/apple-pay. basic-card is problematic because all browsers dropped support for it years ago. Safari supports only Apple Pay so needs to rely on that method, but this causes network fetches and flakiness in Chrome (proposed fix in #61067).

Since Chromium browsers have no pre-installed payment methods, I think the solution is to replace basic-card with a JIT-installed payment handler (which will be silently ignored by Safari). @stephenmcgruer @marcoscaceres sound OK?

Experimenting with this a bit it seem like it might have some issues in Chrome because many of the tests expect to be able to abort a payment, which once we've loaded a payment handler we can't necessarily do in chrome (for privacy reasons I believe). The right fix is probably WebDriver automation for PaymentRequest (#15349), but that's a bigger lift. It looks like we can probably make it work by having the tests supporting two payment methods and relying on browser payment method selector UI playing the same role as Safari's ApplePay sheet (browser UI which can be aborted by the tests). It's a bit hacky, but would get the tests passing again. @stephenmcgruer WDYT?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions