Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

misc: replace marionette-client with geckodriver as b2g marionette client is no longer supported #30250

Draft
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

AtofStryker
Copy link
Contributor

@AtofStryker AtofStryker commented Sep 17, 2024

Additional details

As a precursor to supporting WebDriver BiDi, Cypress needs to replace the older marionette-client with geckodriver. This is the current recommendation from the Mozilla team as marionette-client is no longer supported (see Cypress migration bugzilla ticket).

Currently, the responsibilities of the current geckodriver implementation and the older marionette-client:

This is outlined in the added README in this PR as well as some other useful information. This information will be updated as we implement BiDi.

It is worth noting that we patch the geckodriver package to coincide with our debug logs in order to not print extraneous messages to the console that could disrupt end user experience as well as impact our system tests. We also need to patch top-level awaits to correctly build the app.

To consume GeckoDriver, this code installs the geckodriver package, a lightweight wrapper around the geckodriver binary, to connect to the Firefox browser. geckodriver will be downloaded automatically to the user's tmp directory if not already downloaded, and will be started and managed by the Cypress server.

Steps to test

Unit tests have been updated to reflect the replaced client, as well as tests added for our geckodriver wrapper.

The system-tests and integration tests serve as a regression suite to help guarantee this change works.

Manual testing should also be completed on linux, mac, and windows in open/run mode permutations to verify the code and client changes work universally. The app team will be participating in a small bughunt to identify issues we may have not already found.

How has the user experience changed?

Ideally, this change should NOT impact the end user. This is an internal swap of a client used to automate the browser and should not affect the end user in any way.

PR Tasks

  • Have tests been added/updated?
  • Has a PR for user-facing changes been opened in cypress-documentation?
  • Have API changes been updated in the type definitions?
  • is the bughunt completed?
  • are the v8 snapshots up to date?

@AtofStryker AtofStryker force-pushed the misc/remove_marionette_for_geckodriver branch 2 times, most recently from 161ebbf to 7a1dc85 Compare September 17, 2024 23:05
@AtofStryker AtofStryker self-assigned this Sep 17, 2024
Copy link

cypress bot commented Sep 17, 2024

cypress    Run #57185

Run Properties:  status check passed Passed #57185  •  git commit 1855d0d170: fix other failing tests [run ci]
Project cypress
Branch Review misc/remove_marionette_for_geckodriver
Run status status check passed Passed #57185
Run duration 17m 26s
Commit git commit 1855d0d170: fix other failing tests [run ci]
Committer AtofStryker
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 4
Tests that did not run due to a developer annotating a test with .skip  Pending 1159
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 15787
View all changes introduced in this branch ↗︎

Warning

No Report: Something went wrong and we could not generate a report for the Application Quality products.

@AtofStryker AtofStryker force-pushed the misc/remove_marionette_for_geckodriver branch 2 times, most recently from 0a378dd to 30b20e3 Compare September 18, 2024 13:37
@AtofStryker AtofStryker force-pushed the misc/remove_marionette_for_geckodriver branch 7 times, most recently from 516e9da to 32b19a0 Compare September 19, 2024 16:54
@AtofStryker AtofStryker force-pushed the misc/remove_marionette_for_geckodriver branch from 32b19a0 to 21b06a4 Compare September 19, 2024 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

misc: Remove Firefox marionette-client in favor of Geckodriver
1 participant