Page MenuHomePhabricator

Wikibase data-client bridge selenium failure on buster but not stretch
Closed, ResolvedPublic

Description

We are trying to update the CI jobs for Quibble from Stretch to Buster (which bring in a new version of Chromium) and the new image fails test on Wikibase.

It can be seen by commenting in Gerrit check experimental on a mediawiki/extensions/Wikibase change. It will trigger the job quibble-vendor-mysql-php72_buster-docker which is based on Buster. A Selenium test for the data bridge ends up with:

Spec: /workspace/src/extensions/Wikibase/client/data-bridge/tests/selenium/specs/errorHandling.js
Running: chrome (v88.0.4324.182) on linux
Session ID: e16f0cf3d3db0bfd386d9695a7bf7331

App
   ✓ shows ErrorUnknown when launching bridge for a non-existent entity
   ✓ can be relaunched from ErrorUnknown
   ✓ can retry saving bridge from ErrorSaving
   ✖ can go back from a save error both on desktop and mobile

    when assertuser fails
       ✓ can retry saving without assertuser
       ✓ can login and retry saving
       ✓ still asserts user after logging in
       ✓ shows custom Bridge warning on login page

    when there is an edit conflict
       ✓ reloads on reload button click
       ✓ reloads on close button click

9 passing (1m 1.4s)
1 failing

1) App can go back from a save error both on desktop and mobile
element (".oo-ui-dialog #data-bridge-app .wb-db-error-saving__back") still displayed after 10000ms
Error: element (".oo-ui-dialog #data-bridge-app .wb-db-error-saving__back") still displayed after 10000ms
    at Context.it (/workspace/src/extensions/Wikibase/client/data-bridge/tests/selenium/specs/errorHandling.js:200:40)

An example build failure is: https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-php72_buster-docker/50/

I have tried to reproduce with Quibble using:

ZUUL_PROJECT=mediawiki/extensions/Wikibase \
  quibble --git-cache="$HOME/projects" --packages-source=composer \
  -c bash \
  mediawiki/extensions/UniversalLanguageSelector

Which prepare the repos and dependencies and drop into a shell. Then:

export MW_SERVER=http://127.0.0.1:9412
export MW_SCRIPT_PATH=/
export MEDIAWIKI_USER=WikiAdmin
export MEDIAWIKI_PASSWORD=testwikijenkinspass
cd extensions/Wikibase/client/data-bridge
npm ci
./node_modules/.bin/wdio tests/selenium/wdio.conf.js --spec tests/selenium/specs/errorHandling.js:129

Though that got me 4 specs failing with:

element (".oo-ui-dialog #data-bridge-app .wb-db-thankyou") still not displayed after 10000ms

So I guess I am missing a dependency :]

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Will try to figure out the reproduction command with the image used by the CI job docker-registry.wikimedia.org/releng/quibble-buster-php72:0.0.46-s1

hashar renamed this task from Wikibase data-client bridge selenium to Wikibase data-client bridge selenium failure.Apr 1 2021, 3:18 PM
Jdforrester-WMF renamed this task from Wikibase data-client bridge selenium failure to Wikibase data-client bridge selenium failure on buster but not stretch.Apr 1 2021, 3:53 PM

Change 678204 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):

[mediawiki/extensions/Wikibase@master] bridge: Scroll down in mobile in browser test of error handling

https://gerrit.wikimedia.org/r/678204

Change 680296 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):

[mediawiki/extensions/Wikibase@master] bridge: Split mobile and desktop error handling browser test

https://gerrit.wikimedia.org/r/680296

Change 680296 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] bridge: Split mobile and desktop error handling browser test, disable mobile

https://gerrit.wikimedia.org/r/680296

Ladsgroup claimed this task.

Change 678204 abandoned by Ladsgroup:

[mediawiki/extensions/Wikibase@master] bridge: Fix arguments order in waitForDisplayed

Reason:

Done in I3ffbef80f06b6e3cb5f4daf88f486c2eaf777f63

https://gerrit.wikimedia.org/r/678204

Change 680853 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):

[mediawiki/extensions/Wikibase@wmf/1.37.0-wmf.1] bridge: Split mobile and desktop error handling browser test, disable mobile

https://gerrit.wikimedia.org/r/680853

I'm backporting this to deploy branch of wmf.1 but possibly need to be backported to 1_35 and the rest as tests fail and can't be backported (Case in point: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualEditor/+/679462)

Change 680853 merged by Ladsgroup:

[mediawiki/extensions/Wikibase@wmf/1.37.0-wmf.1] bridge: Split mobile and desktop error handling browser test, disable mobile

https://gerrit.wikimedia.org/r/680853

Change 680862 had a related patch set uploaded (by Jforrester; author: Ladsgroup):

[mediawiki/extensions/Wikibase@REL1_36] bridge: Split mobile and desktop error handling browser test, disable mobile

https://gerrit.wikimedia.org/r/680862

Change 680863 had a related patch set uploaded (by Jforrester; author: Ladsgroup):

[mediawiki/extensions/Wikibase@REL1_35] bridge: Split mobile and desktop error handling browser test, disable mobile

https://gerrit.wikimedia.org/r/680863

Change 680862 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@REL1_36] bridge: Split mobile and desktop error handling browser test, disable mobile

https://gerrit.wikimedia.org/r/680862

@Ladsgroup thank you so much for fixing this test!

Change 680863 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@REL1_35] bridge: Split mobile and desktop error handling browser test, disable mobile

https://gerrit.wikimedia.org/r/680863