Page MenuHomePhabricator

Upgrade WebdriverIO to v7 in all repositories
Open, MediumPublic

Description

Status

versionrepositories
v52/32 (6%)
v62/32 (6%)
v728/32 (88%)

MediaWiki code search for webdriverio in package.json.

MediaWiki code search for @wdio/ in package.json.

Overview

MediaWiki is a free and open-source Wiki application. It powers a lot of websites including Wikipedia, Wiktionary, and Wikimedia commons.

Delivery of optimal quality software with unique and innovative features is always a priority. However, without evaluating software components under various expected and unexpected conditions, one cannot guarantee these aspects. Therefore, testing is performed to test every software component large and small. To increase the efficiency of the testing process and to maximize test coverage, automation is imperative. Automation not only improves the quality of testing but also makes it faster and reduces the cost involved.

We use WebdriverIO as a browser driver for our test automation framework. We are currently using version 6 (2 repositories still at v4). WebdriverIO v7 was released on February 9, 2021.
CodeSearch: v4, v6
Announcement: v5, v6, v7

The major goal for the Google Summer of Code 2021 internship is to migrate all repositories to v7. As a part of Google Summer of Code 2020 internship, WebdriverIO was migrated to v6 for almost all repositories. While migration was being carried out, we noticed a need to perform a cleanup and refactoring of the existing WebdriverIO code across all repositories. Some additional goals include:

  1. Introduce video recording in all selenium tests. See T253113: Record videos of all Selenium tests
  2. Sanitize Page Object imports across all repositories
  3. Work on extending the wdio.conf.js file so that the same file can be used/extended across all repositories
  4. T210726: Selenium framework cleanup

Resources

repositoryversiontask/commit
mediawiki/core7699033
mediawiki/extensions/AbuseFilter7697428
mediawiki/extensions/AdvancedSearch7698757
mediawiki/extensions/CentralNotice7702978
mediawiki/extensions/CirrusSearch5708516 T257525 T289168
mediawiki/extensions/Cite7677577
mediawiki/extensions/CodeMirror7698838
mediawiki/extensions/Echo6678287 T271281
mediawiki/extensions/ElectronPdfService7696016
mediawiki/extensions/EntitySchema7697055
mediawiki/extensions/FileImporter7671557
mediawiki/extensions/GlobalWatchlist7698854
mediawiki/extensions/GrowthExperiments7697082
mediawiki/extensions/Math7683974
mediawiki/extensions/MobileFrontend7724731
mediawiki/extensions/Newsletter7683976
mediawiki/extensions/Popups7700229 T286846
mediawiki/extensions/ProofreadPage7677648
mediawiki/extensions/RelatedArticles7697032
mediawiki/extensions/RevisionSlider7699569
mediawiki/extensions/TemplateWizard7697039
mediawiki/extensions/TwoColConflict7697044
mediawiki/extensions/Wikibase6/7703923 714772 715060 T265149 T291161 721474
mediawiki/extensions/WikibaseLexeme7700217 T289174
mediawiki/extensions/WikibaseMediaInfo7703925
mediawiki/extensions/WikiLambda7697056
mediawiki/skins/MinervaNeue7T280975
phabricator/deployment7697069
wikibase/termbox7703923
wikidata/query/gui7702941
wikimedia/portals/deploy5703927 T255463 T289181
wmde/wdio-wikibase7PR T288443

Skills:

Microtasks:

  1. Set up gerrit for Mediawiki
  2. Clone mediawiki/core
  3. Make a trivial change to tests/selenium/README.md in mediawiki/core and push the commit to Gerrit.
    • Add AlQaholic007 and Vidhi-Mody to Reviewers in Gerrit through the UI
    • Make topic of the patch to be T274579 so that Gerrit knows which Phabricator task the patch is for
  4. Amend your existing commit in Gerrit (See: P12961, For more information see Gerrit/Tutorial: Amending a change)
  5. Run selenium tests locally. If all tests pass, copy/paste terminal output to a paste. Then add the paste to a comment of this task. (Please include the steps followed to run the tests in the paste as well). For reference see P8206 and https://www.mediawiki.org/wiki/Selenium/Getting_Started (Sample Output: P15107)
  6. Upgrade WebdriverIO to v7 for any one simple repo (List of repos)
  7. T269566: Remove ChromeDriver dependency in all repositories with Selenium tests

Student:

Mentors:

Details

ProjectBranchLines +/-Subject
mediawiki/extensions/WikibaseLexememaster+3 K -6 K
mediawiki/extensions/MobileFrontendmaster+498 -211
mediawiki/extensions/MobileFrontendmaster+2 K -3 K
mediawiki/extensions/MobileFrontendmaster+2 K -2 K
mediawiki/extensions/Wikibasemaster+1 K -204
mediawiki/extensions/Echomaster+997 -1 K
wikimedia/portals/deploymaster+1 K -1 K
mediawiki/extensions/Wikibasemaster+24 -1 K
mediawiki/extensions/Popupsmaster+753 -233
phabricator/deploymentwmf/stable+1 K -1 K
wikidata/query/guimaster+757 -170
mediawiki/extensions/Wikibasemaster+2 K -4 K
mediawiki/extensions/WikibaseMediaInfomaster+2 K -2 K
mediawiki/extensions/CentralNoticemaster+635 -404
mediawiki/extensions/RevisionSlidermaster+1 K -892
mediawiki/extensions/Newslettermaster+1 K -1 K
phabricator/deploymentwmf/stable+1 -1
mediawiki/extensions/RelatedArticlesmaster+1 K -1 K
mediawiki/extensions/EntitySchemamaster+868 -1 K
mediawiki/extensions/Citemaster+1 K -1 K
mediawiki/extensions/GrowthExperimentsmaster+1 K -1 K
mediawiki/coremaster+1 K -1 K
mediawiki/extensions/AbuseFiltermaster+1 K -912
mediawiki/extensions/TemplateWizardmaster+2 K -1 K
mediawiki/extensions/CodeMirrormaster+1 K -790
mediawiki/extensions/AdvancedSearchmaster+1 K -941
mediawiki/extensions/TwoColConflictmaster+2 K -964
mediawiki/extensions/ProofreadPagemaster+1 K -1 K
mediawiki/extensions/Mathmaster+12 K -715
mediawiki/coremaster+3 -0
mediawiki/coremaster+4 -0
mediawiki/coremaster+5 -0
mediawiki/coremaster+3 -1
mediawiki/extensions/FileImportermaster+962 -1 K
Show related patches Customize query in gerrit

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
ResolvedKrinkle
DeclinedAnjali_Kumari_41
ResolvedSahilgrewalhere
DeclinedIamumangg
Resolvedzeljkofilipin
OpenNone
OpenNone
ResolvedJdlrobson
OpenNone
Resolvedzeljkofilipin
Resolvedzeljkofilipin
Resolvedzeljkofilipin
OpenNone
Resolvedhashar
OpenNone
OpenNone
ResolvedMichael
StalledNone
OpenNone

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 703927 had a related patch set uploaded (by Sahilgrewalhere; author: Sahilgrewalhere):

[wikimedia/portals/deploy@master] selenium: Upgrade WebdriverIO to v6

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

Change 700229 merged by jenkins-bot:

[mediawiki/extensions/Popups@master] selenium: Upgrade WebdriverIO to v7

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

zeljkofilipin updated the task description. (Show Details)
zeljkofilipin updated the task description. (Show Details)

Change 714772 had a related patch set uploaded (by Zfilipin; author: Zfilipin):

[mediawiki/extensions/Wikibase@master] WIP selenium: Delete webdriverio from view/lib/wikibase-tainted-ref/package.json

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

zeljkofilipin updated Other Assignee, removed: zeljkofilipin.

Change 715060 had a related patch set uploaded (by Zfilipin; author: Zfilipin):

[mediawiki/extensions/Wikibase@master] selenium: Upgrade @wdio packages to v7

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

Change 714772 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] selenium: Delete webdriverio from wikibase-tainted-ref

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

Change 721474 had a related patch set uploaded (by Zfilipin; author: Zfilipin):

[mediawiki/extensions/Wikibase@master] WIP selenium: \"@wdio/devtools-service\": \"7.3.0\"

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

zeljkofilipin renamed this task from Upgrade WebdriverIO to the latest version 7 for all repositories to Upgrade WebdriverIO to v7 in all repositories.Sep 16 2021, 9:17 AM

Change 721476 had a related patch set uploaded (by Zfilipin; author: Zfilipin):

[mediawiki/core@master] WIP selenium: webdriverio v7.12.5

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

Change 715060 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] selenium: Upgrade @wdio packages to v7

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

Change 702977 abandoned by Zfilipin:

[mediawiki/extensions/MobileFrontend@master] selenium: Upgrade WebdriverIO to v7

Reason:

I'm not sure what went wrong with this commit. I've created a new one and there are no problems. https://gerrit.wikimedia.org/r/c/mediawiki/extensions/MobileFrontend/+/724731

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

Change 724775 had a related patch set uploaded (by Zfilipin; author: Zfilipin):

[mediawiki/extensions/MobileFrontend@master] selenium: Upgrade @wdio/cucumber-framework to v7

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

Change 724775 abandoned by Zfilipin:

[mediawiki/extensions/MobileFrontend@master] selenium: Upgrade @wdio/cucumber-framework to v7

Reason:

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

Change 724991 had a related patch set uploaded (by Zfilipin; author: Zfilipin):

[mediawiki/extensions/MobileFrontend@master] selenium: Upgrade @wdio/cucumber-framework to v7

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

Change 724991 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] selenium: Upgrade @wdio/cucumber-framework to v7

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

Change 700217 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] Selenium: Upgrade WebdriverIO to v7

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

GSoC 2021 is long over. Is there anything remaining in this task before it can be resolved? Please consider moving the leftovers to a new task and close this one. Thank you!

Hi @srishakatux! 4 out of 32 repositories are still not on webdriverio v7 (but an earlier version). This is a tracking task for that project. I don't want to close it until it's finished. Would it work for you if I removed Google-Summer-of-Code project from it?