All Selenium core tests pass with just core installed. No skin is required for core tests to pass. Two recently added tests are failing if Vector skin is not installed. Tests were introduced in 2024 in 1070002.
- If tests don't need Vector skin, they should be fixed so they pass without it.
- If tests need Vector skin, they should be moved to Vector skin repository.
Relevant test output:
[chrome 140.0.7339.80 linux #0-8] ✖ temporary user should not see signup form fields relevant to named users [chrome 140.0.7339.80 linux #0-8] ✖ temporary user should be able to create account
For the parent task see T379654: Core selenium tests should pass when vector is not installed.
For test output see:
| 1 | ~/Documents/gitlab/test-platform/mediawiki-quickstart$ ./run_selenium_tests --specFileRetries 0 --mochaOpts.retries 0 |
|---|---|
| 2 | |
| 3 | Ensuring Selenium ready... (use VERBOSE=1 to see full output) |
| 4 | ▪▪ |
| 5 | ⏲ 00:00 |
| 6 | |
| 7 | Starting Selenium container (use VERBOSE=1 to see full output) |
| 8 | ▪▪▪▪▪▪▪▪▪▪▪▪ |
| 9 | ⏲ 00:00 |
| 10 | |
| 11 | Waiting for NoVNC page availability (use VERBOSE=1 to see full output) |
| 12 | ▪▪▪ |
| 13 | ⏲ 00:03 |
| 14 | Installing Selenium browser binary... |
| 15 | Error: Could not determine puppeteer-core version |
| 16 | Error: Browser installation failed |
| 17 | |
| 18 | Webdriver is greater than v7 - letting it handle automatic broswer installation |
| 19 | |
| 20 | > selenium-test |
| 21 | > if [ "$CI" = true ]; then node tests/selenium/docs/Stack/webdriverio.js; fi && wdio ./tests/selenium/wdio.conf.js |
| 22 | |
| 23 | Injecting wdio args: [ '--specFileRetries', '0', '--mochaOpts.retries', '0' ] |
| 24 | |
| 25 | Execution of 10 workers started at 2025-09-09T11:01:14.042Z |
| 26 | |
| 27 | Run test targeting http://localhost:8080/w |
| 28 | [0-0] RUNNING in chrome - file:///tests/selenium/docs/Create_a_simple_test/specs/specialpages.js |
| 29 | [0-0] PASSED in chrome - file:///tests/selenium/docs/Create_a_simple_test/specs/specialpages.js |
| 30 | [0-1] RUNNING in chrome - file:///tests/selenium/docs/Page_object_pattern/specs/login.js |
| 31 | [0-1] PASSED in chrome - file:///tests/selenium/docs/Page_object_pattern/specs/login.js |
| 32 | [0-2] RUNNING in chrome - file:///tests/selenium/docs/Stack/specs/expect.js |
| 33 | [0-2] Error in "Main page.should have "Log in" link when using expect" |
| 34 | Error: Expect $(`li#pt-login-2 a`) to exist |
| 35 | |
| 36 | Expected: "exist" |
| 37 | Received: "not exist" |
| 38 | at Context.<anonymous> (file:///var/www/html/w/tests/selenium/docs/Stack/specs/expect.js:13:42) |
| 39 | [0-2] FAILED in chrome - file:///tests/selenium/docs/Stack/specs/expect.js |
| 40 | [0-3] RUNNING in chrome - file:///tests/selenium/docs/Stack/specs/mocha.js |
| 41 | [0-3] Error in "Main page.should have "Log in" link when using mocha" |
| 42 | Error: Log in link not visible |
| 43 | at Context.<anonymous> (file:///var/www/html/w/tests/selenium/docs/Stack/specs/mocha.js:15:10) |
| 44 | [0-3] FAILED in chrome - file:///tests/selenium/docs/Stack/specs/mocha.js |
| 45 | [0-4] RUNNING in chrome - file:///tests/selenium/docs/Stack/specs/pageobject.js |
| 46 | [0-4] Error in "Main Page.should have "Log in" link when using page object" |
| 47 | Error: Expect $(`li#pt-login-2 a`) to exist |
| 48 | |
| 49 | Expected: "exist" |
| 50 | Received: "not exist" |
| 51 | at Context.<anonymous> (file:///var/www/html/w/tests/selenium/docs/Stack/specs/pageobject.js:9:34) |
| 52 | [0-4] FAILED in chrome - file:///tests/selenium/docs/Stack/specs/pageobject.js |
| 53 | [0-5] RUNNING in chrome - file:///tests/selenium/docs/Use_MediaWiki_API/specs/api.js |
| 54 | [0-5] PASSED in chrome - file:///tests/selenium/docs/Use_MediaWiki_API/specs/api.js |
| 55 | [0-6] RUNNING in chrome - file:///tests/selenium/specs/page.js |
| 56 | [0-6] PASSED in chrome - file:///tests/selenium/specs/page.js |
| 57 | [0-7] RUNNING in chrome - file:///tests/selenium/specs/recentchanges.js |
| 58 | [0-7] PASSED in chrome - file:///tests/selenium/specs/recentchanges.js |
| 59 | [0-8] RUNNING in chrome - file:///tests/selenium/specs/user.js |
| 60 | [0-8] Error in "User.temporary user should not see signup form fields relevant to named users" |
| 61 | Error: element (".mw-temp-user-banner-buttons > #pt-createaccount") still not displayed after 10000ms |
| 62 | at async EditPage.openCreateAccountPageAsTempUser (file:///var/www/html/w/tests/selenium/pageobjects/edit.page.js:67:3) |
| 63 | at async Context.<anonymous> (file:///var/www/html/w/tests/selenium/specs/user.js:65:3) |
| 64 | [0-8] Error in "User.temporary user should be able to create account" |
| 65 | Error: element (".mw-temp-user-banner-buttons > #pt-createaccount") still not displayed after 10000ms |
| 66 | at async EditPage.openCreateAccountPageAsTempUser (file:///var/www/html/w/tests/selenium/pageobjects/edit.page.js:67:3) |
| 67 | at async Context.<anonymous> (file:///var/www/html/w/tests/selenium/specs/user.js:82:3) |
| 68 | [0-8] FAILED in chrome - file:///tests/selenium/specs/user.js |
| 69 | [0-9] RUNNING in chrome - file:///tests/selenium/wdio-mediawiki/specs/BlankPage.js |
| 70 | [0-9] PASSED in chrome - file:///tests/selenium/wdio-mediawiki/specs/BlankPage.js |
| 71 | |
| 72 | "spec" Reporter: |
| 73 | ------------------------------------------------------------------ |
| 74 | [chrome 140.0.7339.80 linux #0-0] Running: chrome (v140.0.7339.80) on linux |
| 75 | [chrome 140.0.7339.80 linux #0-0] Session ID: 64adb3310fdb404a690d65141eb5f454 |
| 76 | [chrome 140.0.7339.80 linux #0-0] |
| 77 | [chrome 140.0.7339.80 linux #0-0] » tests/selenium/docs/Create_a_simple_test/specs/specialpages.js |
| 78 | [chrome 140.0.7339.80 linux #0-0] Special:SpecialPages |
| 79 | [chrome 140.0.7339.80 linux #0-0] ✓ should not have Edit link |
| 80 | [chrome 140.0.7339.80 linux #0-0] |
| 81 | [chrome 140.0.7339.80 linux #0-0] 1 passing (4.8s) |
| 82 | ------------------------------------------------------------------ |
| 83 | [chrome 140.0.7339.80 linux #0-1] Running: chrome (v140.0.7339.80) on linux |
| 84 | [chrome 140.0.7339.80 linux #0-1] Session ID: d9e81774ecb2d99c9ecadc15243b7a98 |
| 85 | [chrome 140.0.7339.80 linux #0-1] |
| 86 | [chrome 140.0.7339.80 linux #0-1] » tests/selenium/docs/Page_object_pattern/specs/login.js |
| 87 | [chrome 140.0.7339.80 linux #0-1] User |
| 88 | [chrome 140.0.7339.80 linux #0-1] ✓ should be able to log in without page object |
| 89 | [chrome 140.0.7339.80 linux #0-1] |
| 90 | [chrome 140.0.7339.80 linux #0-1] 1 passing (4.4s) |
| 91 | ------------------------------------------------------------------ |
| 92 | [chrome 140.0.7339.80 linux #0-2] Running: chrome (v140.0.7339.80) on linux |
| 93 | [chrome 140.0.7339.80 linux #0-2] Session ID: 2fc45bcfa7bb86b79e1eafaf93fedd76 |
| 94 | [chrome 140.0.7339.80 linux #0-2] |
| 95 | [chrome 140.0.7339.80 linux #0-2] » tests/selenium/docs/Stack/specs/expect.js |
| 96 | [chrome 140.0.7339.80 linux #0-2] Main page |
| 97 | [chrome 140.0.7339.80 linux #0-2] ✖ should have "Log in" link when using expect |
| 98 | [chrome 140.0.7339.80 linux #0-2] |
| 99 | [chrome 140.0.7339.80 linux #0-2] 1 failing (12s) |
| 100 | [chrome 140.0.7339.80 linux #0-2] |
| 101 | [chrome 140.0.7339.80 linux #0-2] 1) Main page should have "Log in" link when using expect |
| 102 | [chrome 140.0.7339.80 linux #0-2] Expect $(`li#pt-login-2 a`) to exist |
| 103 | |
| 104 | Expected: "exist" |
| 105 | Received: "not exist" |
| 106 | [chrome 140.0.7339.80 linux #0-2] Error: Expect $(`li#pt-login-2 a`) to exist |
| 107 | [chrome 140.0.7339.80 linux #0-2] |
| 108 | [chrome 140.0.7339.80 linux #0-2] Expected: "exist" |
| 109 | [chrome 140.0.7339.80 linux #0-2] Received: "not exist" |
| 110 | [chrome 140.0.7339.80 linux #0-2] at Context.<anonymous> (file:///var/www/html/w/tests/selenium/docs/Stack/specs/expect.js:13:42) |
| 111 | ------------------------------------------------------------------ |
| 112 | [chrome 140.0.7339.80 linux #0-3] Running: chrome (v140.0.7339.80) on linux |
| 113 | [chrome 140.0.7339.80 linux #0-3] Session ID: 5af0c57b71b8167387be4ed7dfc48b3f |
| 114 | [chrome 140.0.7339.80 linux #0-3] |
| 115 | [chrome 140.0.7339.80 linux #0-3] » tests/selenium/docs/Stack/specs/mocha.js |
| 116 | [chrome 140.0.7339.80 linux #0-3] Main page |
| 117 | [chrome 140.0.7339.80 linux #0-3] ✖ should have "Log in" link when using mocha |
| 118 | [chrome 140.0.7339.80 linux #0-3] |
| 119 | [chrome 140.0.7339.80 linux #0-3] 1 failing (1.9s) |
| 120 | [chrome 140.0.7339.80 linux #0-3] |
| 121 | [chrome 140.0.7339.80 linux #0-3] 1) Main page should have "Log in" link when using mocha |
| 122 | [chrome 140.0.7339.80 linux #0-3] Log in link not visible |
| 123 | [chrome 140.0.7339.80 linux #0-3] Error: Log in link not visible |
| 124 | [chrome 140.0.7339.80 linux #0-3] at Context.<anonymous> (file:///var/www/html/w/tests/selenium/docs/Stack/specs/mocha.js:15:10) |
| 125 | ------------------------------------------------------------------ |
| 126 | [chrome 140.0.7339.80 linux #0-4] Running: chrome (v140.0.7339.80) on linux |
| 127 | [chrome 140.0.7339.80 linux #0-4] Session ID: 82312aedbaab060e1b6741b1302cb0a1 |
| 128 | [chrome 140.0.7339.80 linux #0-4] |
| 129 | [chrome 140.0.7339.80 linux #0-4] » tests/selenium/docs/Stack/specs/pageobject.js |
| 130 | [chrome 140.0.7339.80 linux #0-4] Main Page |
| 131 | [chrome 140.0.7339.80 linux #0-4] ✖ should have "Log in" link when using page object |
| 132 | [chrome 140.0.7339.80 linux #0-4] |
| 133 | [chrome 140.0.7339.80 linux #0-4] 1 failing (11.9s) |
| 134 | [chrome 140.0.7339.80 linux #0-4] |
| 135 | [chrome 140.0.7339.80 linux #0-4] 1) Main Page should have "Log in" link when using page object |
| 136 | [chrome 140.0.7339.80 linux #0-4] Expect $(`li#pt-login-2 a`) to exist |
| 137 | |
| 138 | Expected: "exist" |
| 139 | Received: "not exist" |
| 140 | [chrome 140.0.7339.80 linux #0-4] Error: Expect $(`li#pt-login-2 a`) to exist |
| 141 | [chrome 140.0.7339.80 linux #0-4] |
| 142 | [chrome 140.0.7339.80 linux #0-4] Expected: "exist" |
| 143 | [chrome 140.0.7339.80 linux #0-4] Received: "not exist" |
| 144 | [chrome 140.0.7339.80 linux #0-4] at Context.<anonymous> (file:///var/www/html/w/tests/selenium/docs/Stack/specs/pageobject.js:9:34) |
| 145 | ------------------------------------------------------------------ |
| 146 | [chrome 140.0.7339.80 linux #0-5] Running: chrome (v140.0.7339.80) on linux |
| 147 | [chrome 140.0.7339.80 linux #0-5] Session ID: b41ed69f81199b48b25d6e89c9e457a4 |
| 148 | [chrome 140.0.7339.80 linux #0-5] |
| 149 | [chrome 140.0.7339.80 linux #0-5] » tests/selenium/docs/Use_MediaWiki_API/specs/api.js |
| 150 | [chrome 140.0.7339.80 linux #0-5] API |
| 151 | [chrome 140.0.7339.80 linux #0-5] ✓ Main Page should exist |
| 152 | [chrome 140.0.7339.80 linux #0-5] ✓ Missing Page should not exist |
| 153 | [chrome 140.0.7339.80 linux #0-5] |
| 154 | [chrome 140.0.7339.80 linux #0-5] 2 passing (358ms) |
| 155 | ------------------------------------------------------------------ |
| 156 | [chrome 140.0.7339.80 linux #0-6] Running: chrome (v140.0.7339.80) on linux |
| 157 | [chrome 140.0.7339.80 linux #0-6] Session ID: 998ef1f38ad5667fdc3b2edabde00303 |
| 158 | [chrome 140.0.7339.80 linux #0-6] |
| 159 | [chrome 140.0.7339.80 linux #0-6] » tests/selenium/specs/page.js |
| 160 | [chrome 140.0.7339.80 linux #0-6] Page |
| 161 | [chrome 140.0.7339.80 linux #0-6] ✓ should be previewable @daily |
| 162 | [chrome 140.0.7339.80 linux #0-6] ✓ should be creatable |
| 163 | [chrome 140.0.7339.80 linux #0-6] ✓ should be re-creatable |
| 164 | [chrome 140.0.7339.80 linux #0-6] ✓ should be editable @daily |
| 165 | [chrome 140.0.7339.80 linux #0-6] ✓ should have history @daily |
| 166 | [chrome 140.0.7339.80 linux #0-6] ✓ should be deletable |
| 167 | [chrome 140.0.7339.80 linux #0-6] ✓ should be restorable |
| 168 | [chrome 140.0.7339.80 linux #0-6] ✓ should be protectable |
| 169 | [chrome 140.0.7339.80 linux #0-6] ✓ should be undoable @daily |
| 170 | [chrome 140.0.7339.80 linux #0-6] |
| 171 | [chrome 140.0.7339.80 linux #0-6] 9 passing (19.2s) |
| 172 | ------------------------------------------------------------------ |
| 173 | [chrome 140.0.7339.80 linux #0-7] Running: chrome (v140.0.7339.80) on linux |
| 174 | [chrome 140.0.7339.80 linux #0-7] Session ID: 9da28ab49867650c8d12c0e2951c3a7f |
| 175 | [chrome 140.0.7339.80 linux #0-7] |
| 176 | [chrome 140.0.7339.80 linux #0-7] » tests/selenium/specs/recentchanges.js |
| 177 | [chrome 140.0.7339.80 linux #0-7] Special:RecentChanges |
| 178 | [chrome 140.0.7339.80 linux #0-7] ✓ shows page creation |
| 179 | [chrome 140.0.7339.80 linux #0-7] |
| 180 | [chrome 140.0.7339.80 linux #0-7] 1 passing (6s) |
| 181 | ------------------------------------------------------------------ |
| 182 | [chrome 140.0.7339.80 linux #0-8] Running: chrome (v140.0.7339.80) on linux |
| 183 | [chrome 140.0.7339.80 linux #0-8] Session ID: 4fbffe7c43b8344ed354abe17ec19466 |
| 184 | [chrome 140.0.7339.80 linux #0-8] |
| 185 | [chrome 140.0.7339.80 linux #0-8] » tests/selenium/specs/user.js |
| 186 | [chrome 140.0.7339.80 linux #0-8] User |
| 187 | [chrome 140.0.7339.80 linux #0-8] ✓ should be able to create account |
| 188 | [chrome 140.0.7339.80 linux #0-8] ✓ should be able to log in |
| 189 | [chrome 140.0.7339.80 linux #0-8] ✓ named user should see extra signup form fields when creating an account |
| 190 | [chrome 140.0.7339.80 linux #0-8] ✖ temporary user should not see signup form fields relevant to named users |
| 191 | [chrome 140.0.7339.80 linux #0-8] ✖ temporary user should be able to create account |
| 192 | [chrome 140.0.7339.80 linux #0-8] ✓ should be able to block a user |
| 193 | [chrome 140.0.7339.80 linux #0-8] |
| 194 | [chrome 140.0.7339.80 linux #0-8] 4 passing (33.2s) |
| 195 | [chrome 140.0.7339.80 linux #0-8] 2 failing |
| 196 | [chrome 140.0.7339.80 linux #0-8] |
| 197 | [chrome 140.0.7339.80 linux #0-8] 1) User temporary user should not see signup form fields relevant to named users |
| 198 | [chrome 140.0.7339.80 linux #0-8] element (".mw-temp-user-banner-buttons > #pt-createaccount") still not displayed after 10000ms |
| 199 | [chrome 140.0.7339.80 linux #0-8] Error: element (".mw-temp-user-banner-buttons > #pt-createaccount") still not displayed after 10000ms |
| 200 | [chrome 140.0.7339.80 linux #0-8] at async EditPage.openCreateAccountPageAsTempUser (file:///var/www/html/w/tests/selenium/pageobjects/edit.page.js:67:3) |
| 201 | [chrome 140.0.7339.80 linux #0-8] at async Context.<anonymous> (file:///var/www/html/w/tests/selenium/specs/user.js:65:3) |
| 202 | [chrome 140.0.7339.80 linux #0-8] |
| 203 | [chrome 140.0.7339.80 linux #0-8] 2) User temporary user should be able to create account |
| 204 | [chrome 140.0.7339.80 linux #0-8] element (".mw-temp-user-banner-buttons > #pt-createaccount") still not displayed after 10000ms |
| 205 | [chrome 140.0.7339.80 linux #0-8] Error: element (".mw-temp-user-banner-buttons > #pt-createaccount") still not displayed after 10000ms |
| 206 | [chrome 140.0.7339.80 linux #0-8] at async EditPage.openCreateAccountPageAsTempUser (file:///var/www/html/w/tests/selenium/pageobjects/edit.page.js:67:3) |
| 207 | [chrome 140.0.7339.80 linux #0-8] at async Context.<anonymous> (file:///var/www/html/w/tests/selenium/specs/user.js:82:3) |
| 208 | ------------------------------------------------------------------ |
| 209 | [chrome 140.0.7339.80 linux #0-9] Running: chrome (v140.0.7339.80) on linux |
| 210 | [chrome 140.0.7339.80 linux #0-9] Session ID: 51f08ed2b3b18357a96ef110249a34e8 |
| 211 | [chrome 140.0.7339.80 linux #0-9] |
| 212 | [chrome 140.0.7339.80 linux #0-9] » tests/selenium/wdio-mediawiki/specs/BlankPage.js |
| 213 | [chrome 140.0.7339.80 linux #0-9] BlankPage |
| 214 | [chrome 140.0.7339.80 linux #0-9] ✓ should have its title @daily |
| 215 | [chrome 140.0.7339.80 linux #0-9] |
| 216 | [chrome 140.0.7339.80 linux #0-9] 1 passing (1.8s) |
| 217 | |
| 218 | |
| 219 | Spec Files: 6 passed, 4 failed, 10 total (100% completed) in 00:02:51 |
AC
- all Selenium tests pass in CI when Vector skin is not installed

