Page MenuHomePhabricator

Port WikibaseLexeme Selenium tests from Ruby to Node.js
Closed, ResolvedPublic8 Estimated Story Points

Description

As a wikibaselexeme 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

The WMF have replaced the Ruby framework of creating selenium browser tests with node-based one.
The Ruby framework has been deprecated and is not going to be supported by Release Engineering team staff (see https://phabricator.wikimedia.org/phame/post/view/79/selenium_ruby_framework_deprecated/)

While current infrastructure for running browser tests created within Ruby framework currently works, it is not going to be maintained actively. E.g. when there are problems we might end up not being to fix them.

There is some amount of browser tests for WikibaseLexeme extension created in Ruby. They should be migrated to the new node-based framework.
From T179916#4487678:

  • forms.feature
  • lexeme_header.feature
  • non_existing_lexeme.feature
  • senses.feature

Experience with this task would serve as a good basis for converting browser tests of Wikibase (due to number of tests this is something to plan and tackle separately).

Impact & Priority

There is no specific point in time when the migration should happen (i.e. does not have happen immediately).
The WMF 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 Lexeme 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 (that already exist for Lexeme)

Acceptance Criteria

  • No ruby test features exist in the Lexeme 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 Lexeme code changes no longer runs on them
  • All other files & docs relating to the ruby tests have been removed from the Lexeme repo

Event Timeline

I am available for pairing and/or code review.

thiemowmde moved this task from incoming to ready to go on the Wikidata board.
thiemowmde subscribed.

We tried to estimate this ticket today. We concluded this will – hopefully – not (technically) block us from doing T168263: WikibaseLexeme functional baseline. The team will write new browser tests with nodejs to avoid growing the technical debt the existing browser tests already represent, but leave the existing tests untouched for now.

Still features to be migrated:

  • forms.feature
  • lexeme_header.feature
  • non_existing_lexeme.feature
  • senses.feature
Addshore updated the task description. (Show Details)
Addshore moved this task from Research to Goals on the [DEPRECATED] wdwb-tech board.
Addshore renamed this task from Migrate browser tests of WikibaseLexeme to nodejs framework to Port WikibaseLexeme Selenium tests from Ruby to Node.js.Aug 19 2018, 11:51 AM
alaa_wmde raised the priority of this task from Low to Medium.Apr 23 2019, 9:30 AM
alaa_wmde moved this task from Incoming to Ready to estimate on the Wikidata-Campsite board.

Should this task be resolved? There's nothing left in tests/browser.