From: Ċ½eljko Filipin Date: Tue, 3 Oct 2017 09:17:39 +0000 (+0200) Subject: Selenium tests should log in before creating pages X-Git-Tag: 1.31.0-rc.0~1900 X-Git-Url: https://git.cyclocoop.org/?a=commitdiff_plain;h=d1439a3e67467dee3c1993943aa7cca1d7904e9e;p=lhc%2Fweb%2Fwiklou.git Selenium tests should log in before creating pages MediaWiki Vagrant by default allows creating pages to anonymous users, but other environments, like Beta Cluster, require user to log in before creating pages. Bug: T176315 Change-Id: I34eeaf3cc22a64be6580aa483b28885137ba60b6 --- diff --git a/tests/selenium/pageobjects/edit.page.js b/tests/selenium/pageobjects/edit.page.js index 25da8cb8bc..34f4263795 100644 --- a/tests/selenium/pageobjects/edit.page.js +++ b/tests/selenium/pageobjects/edit.page.js @@ -27,15 +27,23 @@ class EditPage extends Page { server: baseUrl.hostname, port: baseUrl.port, path: baseUrl.path, + username: browser.options.username, + password: browser.options.password, debug: false } ); return new Promise( ( resolve, reject ) => { - client.edit( name, content, `Created page with "${content}"`, function ( err ) { + client.logIn( function ( err ) { if ( err ) { + console.log( err ); return reject( err ); } - resolve(); + client.edit( name, content, `Created page with "${content}"`, function ( err ) { + if ( err ) { + return reject( err ); + } + resolve(); + } ); } ); } ); } diff --git a/tests/selenium/wdio.conf.jenkins.js b/tests/selenium/wdio.conf.jenkins.js index 6049eb2505..59e1878a55 100644 --- a/tests/selenium/wdio.conf.jenkins.js +++ b/tests/selenium/wdio.conf.jenkins.js @@ -1,13 +1,19 @@ /* eslint no-undef: "error" */ /* eslint-env node */ 'use strict'; -var merge = require( 'deepmerge' ), +const merge = require( 'deepmerge' ), + password = 'testpass', + username = 'WikiAdmin', wdioConf = require( './wdio.conf.js' ); // Overwrite default settings exports.config = merge( wdioConf.config, { - username: 'WikiAdmin', - password: 'testpass', + username: process.env.MEDIAWIKI_USER === undefined ? + username : + process.env.MEDIAWIKI_USER, + password: process.env.MEDIAWIKI_PASSWORD === undefined ? + password : + process.env.MEDIAWIKI_PASSWORD, screenshotPath: '../log/', baseUrl: process.env.MW_SERVER + process.env.MW_SCRIPT_PATH, diff --git a/tests/selenium/wdio.conf.js b/tests/selenium/wdio.conf.js index 32a771242b..cf9da0c1ce 100644 --- a/tests/selenium/wdio.conf.js +++ b/tests/selenium/wdio.conf.js @@ -3,7 +3,9 @@ /* eslint-disable no-console, comma-dangle */ 'use strict'; -const path = require( 'path' ); +const password = 'vagrant', + path = require( 'path' ), + username = 'Admin'; function relPath( foo ) { return path.resolve( __dirname, '../..', foo ); @@ -23,10 +25,10 @@ exports.config = { // Use if from tests with: // browser.options.username username: process.env.MEDIAWIKI_USER === undefined ? - 'Admin' : + username : process.env.MEDIAWIKI_USER, password: process.env.MEDIAWIKI_PASSWORD === undefined ? - 'vagrant' : + password : process.env.MEDIAWIKI_PASSWORD, // // ======