Page MenuHomePhabricator

User core tests do not use automatic wait and retries for getting the logged in user (potential flaky)
Closed, ResolvedPublicBUG REPORT

Description

There are two problems:

  • In docs/Page_object_pattern/specs/login.js uses JavaScript to get the actual name, direct after we submit the login:
const actualUsername = await browser.execute( () => mw.config.get( 'wgUserName' ) );

We do not use the wdio built in wait and retry, so this can be a problem.

The other problem is in temporaryuseraccount.js:

await expect( await LoginPage.getActualUsername() ).toBe( username );
...
async getActualUsername() {
   return browser.execute( () => mw.config.get( 'wgUserName' ) );
}

The next test test against what is displayed on screen (using retry/wait) so we can probably just remove that expect.

Event Timeline

Change #1251271 had a related patch set uploaded (by Phedenskog; author: Phedenskog):

[mediawiki/core@master] selenium: Remove potential flaky login check

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

Change #1251290 had a related patch set uploaded (by Phedenskog; author: Phedenskog):

[mediawiki/core@master] selenium: Verify login against the DOM instead of JS

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

Change #1251271 merged by jenkins-bot:

[mediawiki/core@master] selenium: Remove potential flaky login check

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

Change #1259925 had a related patch set uploaded (by Phedenskog; author: Phedenskog):

[mediawiki/core@master] selenium: Use login name from page instead of JavaScript

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

Change #1251290 merged by jenkins-bot:

[mediawiki/core@master] selenium: Verify login against the DOM instead of JS

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

Peter moved this task from In Review to Done on the Test Platform (Črnomerec 24) board.

Change #1259925 merged by jenkins-bot:

[mediawiki/core@master] selenium: Use login name from page instead of JavaScript

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