Page MenuHomePhabricator

Port Wikibase Selenium tests from Ruby to Node.js
Open, LowPublic

Description

As a wikibase developer I want to use the nodejs test framework so that I only have 1 selenium test framework to think about.
As the WMF I want to use the nodejs test framework in wikibaselexeme so that all wmf deployed extensions are consistent.
As release engineering I want to remove all ruby selenium jobs so that more CI time is available for other jobs.

Details

  1. Jenkins jobs to setup
    • mediawiki/core: master: Selenium: run Wikibase repo tests 441051
    • integration/config: master: Run qunit-selenium Jenkins job for Wikibase 441195
    • mediawiki/extensions/Wikibase: master: Start a very basic nodejs browser test 438000
  2. Features to migrate
    • aliases.feature
    • authority_control_gadget.feature
    • delete_item.feature
    • description.feature
    • edit_tab.feature
    • empty_label_and_description.feature
    • header.feature
    • item_smoke.feature
    • label.feature
    • non_existing_item.feature
    • property_smoke.feature
    • reference.feature
    • sitelinks.feature
    • sitelinks_badge.feature
    • special_set_label.feature
    • statement.feature
    • statements_geo.feature
    • statements_item.feature
    • statements_monolingual.feature
    • statements_quantity.feature
    • statements_rank.feature
    • statements_snaktype.feature
    • statements_string.feature
    • statements_time.feature
    • statements_url.feature

Impact & Priority

There is no specific point in time when the migration should happen (i.e. does not have happen immediately).
The WMDE is no longer supporting the ruby framework so if it does break we will be on our own and then forced to make fixes / migrate before Wikibase development can continue.
The ruby tests do not run as part of the mediawiki core gate-submit jobs, although the node ones will. Having our tests run with the core gets submit tests will eliminate breakages caused by core changes.

Task

Convert all ruby features to be run as part of the node JS selenium tests.
A test framework example can probably be taken from WikibaseLexeme which already includes node browser tests.

Acceptance Criteria

  • No ruby test features exist in the Wikibase git repo code base
  • All features that did exist have been converted to the node js system
  • The "mwext-mw-selenium-composer-jessie" jenkins job that runs on Wikibase git code changes in gate-submit no longer runs on them
  • All other files & docs relating to the ruby tests have been removed from the Wikibase git repo

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 10 2017, 1:25 PM

Change 438000 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/Wikibase@master] Start a very basic nodejs browser test

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

@Ladsgroup let me know if you need help, or if you would like to pair on this.

Change 441051 had a related patch set uploaded (by Zfilipin; owner: Zfilipin):
[mediawiki/core@master] Selenium: run Wikibase repo tests

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

Change 441051 merged by jenkins-bot:
[mediawiki/core@master] Selenium: run Wikibase repo tests

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

Change 441195 had a related patch set uploaded (by Zfilipin; owner: Zfilipin):
[integration/config@master] Run qunit-selenium Jenkins job for Wikibase

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

Change 441195 merged by jenkins-bot:
[integration/config@master] Run qunit-selenium Jenkins job for Wikibase

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

Change 438000 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Start a very basic nodejs browser test

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

Addshore triaged this task as Low priority.Aug 19 2018, 11:49 AM
Addshore updated the task description. (Show Details)
Addshore moved this task from incoming to ready to go on the Wikidata board.
Addshore moved this task from Backlog to Ready on the wikidata-tech-focus board.
Addshore renamed this task from Port Wikibase Selenium tests from Ruby to Node.js to Migrate browser tests of Wikibase to nodejs framework.
Addshore renamed this task from Migrate browser tests of Wikibase to nodejs framework to Port Wikibase Selenium tests from Ruby to Node.js.Aug 19 2018, 11:51 AM