Commit graph

17 commits

Author SHA1 Message Date
Vaughn Walters dd3fb66258 selenium: Refactor WebdriverIO tests from sync to async mode
WebdriverIO has dropped support of sync mode, hence changed to async.

Update npm packages: @wdio/*, wdio-mediawiki
because async mode needs at least @wdio v7.9.

Remove npm packages: @wdio/dot-reporter and @wdio/sync.

Bug: T293084
Change-Id: I5babbdadf21e9f951f69de93bfca5213a50965aa
(cherry picked from commit 677ce50b24)
2023-08-18 12:15:47 +01:00
Ed Sanders 86caa17713 build: Update linters and linter config
* Update stylelint-config-wikimedia to 0.13.0
* Ensure eslintrc.js and root files are linted
  with server config

Change-Id: I59c49fedd5b0c4c5620f960b78e4f781a6bc5abb
2022-05-18 14:33:23 +01:00
Umherirrender 791cb1081a selenium: Ensure .waitForDisplayed() before .click()
Avoid time outs
Error in "Opening and closing the reference drawer.Opening a nested
reference"
Error: waitUntil condition timed out after 5000ms
    at Browser.<anonymous>
(/workspace/src/skins/MinervaNeue/node_modules/@wdio/utils/build/shim.js:270:24)
    at iShouldSeeDrawerWithText
(/workspace/src/skins/MinervaNeue/tests/selenium/features/step_definitions/reference_steps.js:25:10)
    at Context.<anonymous>
(/workspace/src/skins/MinervaNeue/tests/selenium/specs/references.js:44:3)
FAILED in chrome - /tests/selenium/specs/references.js

Change-Id: Ia5d493fba4995c1122721b76ae98d6ba60399238
2022-02-03 21:18:02 +01:00
Ed Sanders 2ec4b950e2 build: Update eslint-config-wikimedia to 0.21.0
Change-Id: I0185de7ec62c54ee733de94622e0c41a65e86731
2021-11-09 14:48:40 +00:00
Edward Tadros c8ce9608c0 Selenium: Update WebdriverIO to version 5
Bug: T255447
Change-Id: I4cdde3070a6dc4e742ea37a78a17dfd556103dd6
2020-06-30 08:27:05 -07:00
Ed Sanders a32999e641 build: Update eslint-config-wikimedia to 0.16.0
Change-Id: Icabf6e065ed5685207731262db72faf848a0a04d
2020-06-04 08:39:32 -07:00
jdlrobson 428047087a QA: Move reference browser test to Node.js suite
Ruby is not supported. The test often flakes.

Change-Id: I883cf283ea5307cdc0daebf41f20928d1adb309a
2019-12-18 00:40:27 +00:00
Edward Tadros b9af3c8844 Temporarily fixed waitForPropogation.
Replaced waitForPropagation code with a browser.pause because the
time delta computation was not working propertly. This will be changed
with a more dynamic sync operation in the future.

Bug: T224947
Change-Id: I30bd7969e4c2c691622fd63c6f88aadadb8065e9
2019-10-11 16:12:53 -07:00
Jan Drewniak 018d436bfe Ensure each api call creates a new instance of MWBot
As a hold-over from a previous porting attempt, thw World.js file
(a cucumber.js convention) exported an instance of MWBot. This
instance was used in several tests, however, since MWBot had been
instantiated multiple times since then, the original edit token
was invalid, causing several tests to fail.

Bug: T224947
Change-Id: I56c06600c43d53bbc4e103d446a1de7a52c2cfad
2019-06-06 13:33:54 +02:00
jdlrobson 94c0926614 QA: Don't chain things that cannot be chained
Causing builds to fail on
https://integration.wikimedia.org/ci/view/Reading-Web/job/selenium-daily-beta-Minerva/58/console

Bug: T223676
Change-Id: Ia285f8bd2f61e6e59aa38cd1909b450328eb053c
2019-05-28 15:43:39 +02:00
jdlrobson d455b88080 Skip the flaking watchstar test
Additional changes to tests:
* pageExists uses brower.call to avoid token error in talk
* use a before rather than beforeEach for creating articles
to avoid an unnecessary API action

Bug: T222517
Change-Id: I44cda7d62e5e4e58ed38b15ae13fdb0c8dc2e900
2019-05-08 13:50:47 -07:00
jdlrobson 544b0e70c9 Port remaining @login tests to Node.js
Bug: T219920
Change-Id: I9f651d73cae8d6494ffa585ac3cbd791686b926a
2019-04-11 21:17:45 +00:00
jdlrobson c16c20a394 QA: Port Notifications browser test to Node.js
Uncover a bug and fix it in the process \o/ - it seems that the
close icon is misplaced between clicking the notifications icon
and loading the contents of the overlay - this confuses the webdriver
as the button is not clickable.

Bug: T219920
Change-Id: Ib4d076fd9b7ea1cd48b6b58940a50560eacd51a0
2019-04-11 13:26:39 -07:00
jdlrobson 7f2b69ac14 Migrate editor_wikitext_saving.feature from Ruby to Node
This migrates the first of the browser tests which had a @login
step from Ruby to Node.js

Bug: T219920
Change-Id: I84e217e2a781aab9eb10e7d873c527d578ec8fd4
2019-04-11 13:04:49 -07:00
Jdlrobson dac9039246 Revert "Beta mode cookie must be set on mobile domain"
This reverts commit 1903d1adae.
This didn't actually solve the problem.

Change-Id: Ic789e96dcc17268abe3690647e1d82a764491646
2019-04-10 20:28:17 +00:00
jdlrobson 1903d1adae Beta mode cookie must be set on mobile domain
On the Selenium daily job, there are 2 domains -
https://en.wikipedia.beta.wmflabs.org
and
https://en.m.wikipedia.beta.wmflabs.org

Currently the cookie gets set on the former, meaning it doesn't work
This should take care of this, while also accounting for running the
browser tests (as we do in the zuul runs) in a single domain

Bug: T219920
Change-Id: I54838fb8aba559c4d72c444968493dff2de9b4f9
2019-04-10 16:34:01 +00:00
Jan Drewniak 26e413e04d Adding initial webdriver.io test
Porting first selenium test from Ruby to Node.js using the
mocha framework. Starting with `category.feature` test.

Tests are placed in a new `tests/selenium` folder with their
own eslint config.

Bug: T190710
Change-Id: Iad954405a5ae0608fd5dc90dd5dfa434b3781037
2019-04-08 16:05:22 -07:00