From d1439a3e67467dee3c1993943aa7cca1d7904e9e Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=BDeljko=20Filipin?= Date: Tue, 3 Oct 2017 11:17:39 +0200 Subject: [PATCH] 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 --- tests/selenium/pageobjects/edit.page.js | 12 ++++++++++-- tests/selenium/wdio.conf.jenkins.js | 12 +++++++++--- tests/selenium/wdio.conf.js | 8 +++++--- 3 files changed, 24 insertions(+), 8 deletions(-) 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, // // ====== -- 2.20.1