mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-09-23 10:22:05 +00:00
selenium: Update wdio-mediawiki
wdio-mediawiki v1.1.1: - Includes wdio-defaults.conf.js file that vastly simplifies wdio.conf.js. - Replaces @wdio/spec-reporter with @wdio/dot-reporter. - Introduces video recording. Bug: T283597 Bug: T276503 Change-Id: Ic80f90dbbd5604dc3c9afe3303862edbf46b1cd2
This commit is contained in:
parent
12e3d5a2ef
commit
b6a9950642
198
package-lock.json
generated
198
package-lock.json
generated
|
@ -924,6 +924,28 @@
|
|||
"glob": "^7.1.2"
|
||||
}
|
||||
},
|
||||
"@wdio/dot-reporter": {
|
||||
"version": "6.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@wdio/dot-reporter/-/dot-reporter-6.11.0.tgz",
|
||||
"integrity": "sha512-0EmRTVazuNXrn4YVhhJ39brSUlsRg+WE22MSU1cNO1xif011C6MKE7ZS5HbS528uSY0dEFYxApyQJ/4TM4bhqQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@wdio/reporter": "6.11.0",
|
||||
"chalk": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@wdio/reporter": {
|
||||
"version": "6.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-6.11.0.tgz",
|
||||
"integrity": "sha512-SStNZZUI0bXI+omyIU6ql4Rh+Dews1dz1GlowHDrBxwKMPyAwytgYokXLn3zr+E3tkHDiRyJjQxfDetBWBGmtg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/cucumber": "^6.0.1",
|
||||
"fs-extra": "^9.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@wdio/junit-reporter": {
|
||||
"version": "6.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@wdio/junit-reporter/-/junit-reporter-6.11.0.tgz",
|
||||
|
@ -1000,15 +1022,6 @@
|
|||
"@wdio/utils": "6.1.8"
|
||||
}
|
||||
},
|
||||
"@wdio/reporter": {
|
||||
"version": "6.1.14",
|
||||
"resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-6.1.14.tgz",
|
||||
"integrity": "sha512-Pt6P0JU0COHTpggsOoJKUJyAyQsi7xlHebBNU/DWdHHpmzYd4e9vDutjyTqXu/1zn+t+Zq+uL1IC0E4Xjv6f7w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs-extra": "^9.0.0"
|
||||
}
|
||||
},
|
||||
"@wdio/runner": {
|
||||
"version": "6.1.16",
|
||||
"resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-6.1.16.tgz",
|
||||
|
@ -1024,18 +1037,6 @@
|
|||
"webdriverio": "6.1.16"
|
||||
}
|
||||
},
|
||||
"@wdio/spec-reporter": {
|
||||
"version": "6.1.14",
|
||||
"resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-6.1.14.tgz",
|
||||
"integrity": "sha512-QaSBgnzllzLp9LR7/5DTkmrI8BqcznUma8ZxwUNmhvskv/oKzrmNyeCsGoiExFmCk81A9FgZiZPXey7CuaTkdw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@wdio/reporter": "6.1.14",
|
||||
"chalk": "^4.0.0",
|
||||
"easy-table": "^1.1.1",
|
||||
"pretty-ms": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"@wdio/sync": {
|
||||
"version": "6.1.14",
|
||||
"resolved": "https://registry.npmjs.org/@wdio/sync/-/sync-6.1.14.tgz",
|
||||
|
@ -1323,9 +1324,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
|
||||
"integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
|
||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
|
||||
"dev": true
|
||||
},
|
||||
"bail": {
|
||||
|
@ -1692,13 +1693,6 @@
|
|||
"wrap-ansi": "^6.2.0"
|
||||
}
|
||||
},
|
||||
"clone": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
|
||||
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"clone-regexp": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
|
||||
|
@ -2178,16 +2172,6 @@
|
|||
"integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
|
||||
"dev": true
|
||||
},
|
||||
"defaults": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
|
||||
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"clone": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"defer-to-connect": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz",
|
||||
|
@ -2484,24 +2468,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"easy-table": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.1.tgz",
|
||||
"integrity": "sha512-C9Lvm0WFcn2RgxbMnTbXZenMIWcBtkzMr+dWqq/JsVoGFSVUVlPqeOa5LP5kM0I3zoOazFpckOEb2/0LDFfToQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^3.0.0",
|
||||
"wcwidth": ">=1.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
|
||||
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
||||
|
@ -4216,13 +4182,33 @@
|
|||
"dev": true
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
|
||||
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
|
||||
"version": "5.1.5",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
|
||||
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "^6.5.5",
|
||||
"ajv": "^6.12.3",
|
||||
"har-schema": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"hard-rejection": {
|
||||
|
@ -5723,18 +5709,18 @@
|
|||
"dev": true
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.44.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
|
||||
"integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
|
||||
"version": "1.47.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
|
||||
"integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
|
||||
"dev": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.27",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
|
||||
"integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
|
||||
"version": "2.1.30",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
|
||||
"integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "1.44.0"
|
||||
"mime-db": "1.47.0"
|
||||
}
|
||||
},
|
||||
"mimic-fn": {
|
||||
|
@ -6087,14 +6073,41 @@
|
|||
"dev": true
|
||||
},
|
||||
"mwbot": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/mwbot/-/mwbot-1.0.10.tgz",
|
||||
"integrity": "sha1-pEC9ZmOnYoq1t5lgnpjLL8ThM8k=",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mwbot/-/mwbot-2.0.0.tgz",
|
||||
"integrity": "sha512-9iTx8oFMntC60yyaPJjN4GEgiQlal7i03jATu7kq5b9BGW5aNz7YbrpjaciLNr0Z33PTdQe0hRTJ0JdUJi2WQg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"bluebird": "^3.4.6",
|
||||
"request": "^2.75.0",
|
||||
"semlog": "^0.6.10"
|
||||
"bluebird": "^3.7.2",
|
||||
"request": "^2.88.2",
|
||||
"semlog": "^0.6.10",
|
||||
"semver": "7.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
|
||||
"integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"natural-compare": {
|
||||
|
@ -6395,12 +6408,6 @@
|
|||
"error-ex": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"parse-ms": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
|
||||
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==",
|
||||
"dev": true
|
||||
},
|
||||
"parse-passwd": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
|
||||
|
@ -6676,15 +6683,6 @@
|
|||
"react-is": "^16.12.0"
|
||||
}
|
||||
},
|
||||
"pretty-ms": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.0.tgz",
|
||||
"integrity": "sha512-J3aPWiC5e9ZeZFuSeBraGxSkGMOvulSWsxDByOcbD1Pr75YL3LSNIKIb52WXbCLE1sS5s4inBBbryjF4Y05Ceg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"parse-ms": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"prettyjson": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz",
|
||||
|
@ -8291,23 +8289,13 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"wcwidth": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
|
||||
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"defaults": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"wdio-mediawiki": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wdio-mediawiki/-/wdio-mediawiki-1.0.0.tgz",
|
||||
"integrity": "sha512-eKrPx3MHTQvWaI+YUi6pLmebOdsdBegnx5MJx8m9ejh6US7TIKKzLmsh9p9gfj6PW7HzHNN/e8EkDwKo3M0kJg==",
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/wdio-mediawiki/-/wdio-mediawiki-1.1.1.tgz",
|
||||
"integrity": "sha512-bbOnxzxuCJXG5KaccoeUyc525f9rxfaTqjWm26AWRPoKx2i4+jp9qlXQ+WywqwL4CvMen9by396s2DA/is1pmA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mwbot": "1.0.10"
|
||||
"mwbot": "2.0.0"
|
||||
}
|
||||
},
|
||||
"webdriver": {
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@wdio/cli": "6.1.16",
|
||||
"@wdio/dot-reporter": "6.11.0",
|
||||
"@wdio/junit-reporter": "6.11.0",
|
||||
"@wdio/local-runner": "6.1.16",
|
||||
"@wdio/mocha-framework": "6.1.14",
|
||||
"@wdio/spec-reporter": "6.1.14",
|
||||
"@wdio/sync": "6.1.14",
|
||||
"eslint-config-wikimedia": "0.20.0",
|
||||
"grunt": "1.4.0",
|
||||
|
@ -24,7 +24,7 @@
|
|||
"grunt-stylelint": "0.16.0",
|
||||
"grunt-svgmin": "5.0.0",
|
||||
"stylelint-config-wikimedia": "0.10.3",
|
||||
"wdio-mediawiki": "1.0.0",
|
||||
"wdio-mediawiki": "1.1.1",
|
||||
"webdriverio": "6.1.16"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,102 +1,11 @@
|
|||
'use strict';
|
||||
|
||||
/**
|
||||
* See also: http://webdriver.io/guide/testrunner/configurationfile.html
|
||||
*/
|
||||
const fs = require( 'fs' ),
|
||||
path = require( 'path' ),
|
||||
logPath = process.env.LOG_DIR || path.join( __dirname, '/log' ),
|
||||
saveScreenshot = require( 'wdio-mediawiki' ).saveScreenshot;
|
||||
const { config } = require( 'wdio-mediawiki/wdio-defaults.conf.js' );
|
||||
|
||||
exports.config = {
|
||||
// ======
|
||||
// Custom WDIO config specific to MediaWiki
|
||||
// ======
|
||||
// Use in a test as `browser.options.<key>`.
|
||||
// Defaults are for convenience with MediaWiki-Vagrant
|
||||
|
||||
// Wiki admin
|
||||
mwUser: process.env.MEDIAWIKI_USER || 'Admin',
|
||||
mwPwd: process.env.MEDIAWIKI_PASSWORD || 'vagrant',
|
||||
|
||||
// Base for browser.url() and Page#openTitle()
|
||||
baseUrl: ( process.env.MW_SERVER || 'http://127.0.0.1:8080' ) + (
|
||||
process.env.MW_SCRIPT_PATH || '/w'
|
||||
),
|
||||
|
||||
// ==================
|
||||
// Test Files
|
||||
// ==================
|
||||
specs: [
|
||||
__dirname + '/specs/*.js'
|
||||
],
|
||||
|
||||
// ============
|
||||
// Capabilities
|
||||
// ============
|
||||
capabilities: [ {
|
||||
// https://sites.google.com/a/chromium.org/chromedriver/capabilities
|
||||
browserName: 'chrome',
|
||||
maxInstances: 1,
|
||||
'goog:chromeOptions': {
|
||||
// If DISPLAY is set, assume developer asked non-headless or CI with Xvfb.
|
||||
// Otherwise, use --headless (added in Chrome 59)
|
||||
// https://chromium.googlesource.com/chromium/src/+/59.0.3030.0/headless/README.md
|
||||
args: [
|
||||
...( process.env.DISPLAY ? [] : [ '--headless' ] ),
|
||||
// Chrome sandbox does not work in Docker
|
||||
...( fs.existsSync( '/.dockerenv' ) ? [ '--no-sandbox' ] : [] )
|
||||
]
|
||||
}
|
||||
} ],
|
||||
|
||||
// ===================
|
||||
// Test Configurations
|
||||
// ===================
|
||||
|
||||
// Level of verbosity: silent | verbose | command | data | result | error
|
||||
logLevel: 'error',
|
||||
|
||||
// Setting this enables automatic screenshots for when a browser command fails
|
||||
// It is also used by afterTest for capturig failed assertions.
|
||||
screenshotPath: logPath,
|
||||
|
||||
// Default timeout for each waitFor* command.
|
||||
waitforTimeout: 10 * 1000,
|
||||
|
||||
// See:
|
||||
// https://webdriver.io/docs/dot-reporter
|
||||
// https://webdriver.io/docs/junit-reporter
|
||||
reporters: [
|
||||
'spec',
|
||||
[ 'junit', {
|
||||
outputDir: logPath,
|
||||
outputFileFormat: function () {
|
||||
const makeFilenameDate = new Date().toISOString().replace( /[:.]/g, '-' );
|
||||
return `WDIO.xunit-${makeFilenameDate}.xml`;
|
||||
}
|
||||
} ]
|
||||
],
|
||||
|
||||
// See also: http://mochajs.org
|
||||
mochaOpts: {
|
||||
ui: 'bdd',
|
||||
timeout: 60 * 1000
|
||||
},
|
||||
|
||||
// =====
|
||||
// Hooks
|
||||
// =====
|
||||
|
||||
/**
|
||||
* Save a screenshot when test fails.
|
||||
*
|
||||
* @param {Object} test Mocha Test object
|
||||
*/
|
||||
afterTest: function ( test ) {
|
||||
if ( !test.passed ) {
|
||||
const filePath = saveScreenshot( test.title );
|
||||
console.log( '\n\tScreenshot: ' + filePath + '\n' );
|
||||
}
|
||||
}
|
||||
exports.config = { ...config
|
||||
// Override, or add to, the setting from wdio-mediawiki.
|
||||
// Learn more at https://webdriver.io/docs/configurationfile/
|
||||
//
|
||||
// Example:
|
||||
// logLevel: 'info',
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue