After October Ruby browser tests will no longer be maintained. We will need to port all our extensions browser tests to be written in Node. The bulk of our browser tests are written in MinervaNeue so to give us practice and prep for these we will start with the smaller extensions which should be much more straightforward. I suggest this may be best addressed by some pair programming where 2 people work on 1 extension together (and we alternate pairings).
The parent task mentions MinervaNeue (tracked in T174018) as well.
I believe we will be more efficient if we address MobileFrontend, QuickSurveys, Page previews together rather than one at a time. I see this as an opportunity for everyone in the team to invest time and get up to speed with how this works. The number of browser tests in these extensions is low: QuickSurveys has 12, Popups 2, MobileFrontend has 13 (Minerva has 75 for comparison)
After discussion, we questioned the value of QuickSurveys and will delay the decision there as we might either remove those browser tests altogether or delay the rewrite.
Precursors:
- Related pages browser tests have been fully written in Node.js (see T164024)
Acceptance criteria
- Enable running of browser tests in Node via check experimental for MobileFrontend, QuickSurveys and Page Previews
- Rewrite browser tests for the 2 extensions in a new selenium folder
- When tests are passing, switch to new job
- Delete the tests/browser folder
- While working on this, do an audit as originally proposed in T148973 of what we are testing. Remove unnecessary tests and document missing tests. At the end, summarise the browser test for each extension.
Sign off notes
- The setup of the daily builds will come afterwards (see T171847). Create a task to do this for the 3 extensions (or if you are tech lead make that happen).