aboutsummaryrefslogtreecommitdiffstats
path: root/tests/selenium/docs/Stack/webdriverio.js
blob: 346e7c9c60ab5f8b701092380f495b96c6d57202 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Example code for Selenium/Explanation/Stack
// https://www.mediawiki.org/wiki/Selenium/Explanation/Stack

'use strict';

// baseUrl is required for our continuous integration.
// If you don't have MW_SERVER and MW_SCRIPT_PATH environment variables set
// you can probably hardcode it to something like this:
// const baseUrl = 'http://localhost:8080/wiki/';
const baseUrl = `${ process.env.MW_SERVER }${ process.env.MW_SCRIPT_PATH }/index.php?title=`;

const { remote } = require( 'webdriverio' );

( async () => {
	const browser = await remote( {
		capabilities: {
			browserName: 'chrome',
			'goog:chromeOptions': {
				args: [ 'headless' ]
			}
		}
	} );

	await browser.url( `${ baseUrl }Main_Page` );

	const displayed = await browser.$( 'li#pt-login-2 a' ).isDisplayed();
	if ( displayed === false ) {
		throw new Error( 'Log in link not visible' );
	} else {
		console.log( 'Log in link visible' );
	}
	await browser.deleteSession();
} )();