Selenium/Getting Started/Create a simple test
This tutorial will assume that you are running tests from your machine, targeting MediaWiki-Docker.
A similar example is available as 5 and 17 minute videos. For more examples see Selenium/How-to/Create the first test in a repository page and Selenium/Reference/Example Code.
Let's write a new simple test for MediaWiki Core. For example, Special:SpecialPages
is one of the rare pages that does not have an Edit
link. Let's write a test to check that.
Code[edit]
The following code is available at gerrit:345378.
A new test file should be created:
tests/selenium/specs/specialpages.js
'use strict';
const assert = require( 'assert' ),
SpecialPages = require( '../pageobjects/specialpages.page' );
describe( 'Special:SpecialPages', function () {
it( 'should not have Edit link', function () {
SpecialPages.open();
assert( !SpecialPages.edit.isExisting() );
} );
} );
A new page object file should be created:
tests/selenium/pageobjects/specialpages.page.js
'use strict';
const Page = require( 'wdio-mediawiki/Page' );
class SpecialPages extends Page {
get edit() { return $( '#ca-edit a[accesskey="e"]' ); }
open() {
super.openTitle( 'Special:SpecialPages' );
}
}
module.exports = new SpecialPages();
Run Selenium tests[edit]
To run all tests, run this from MediaWiki Core folder:
npm run selenium-test
To run just the new test file:
npm run selenium-test -- --spec tests/selenium/specs/specialpages.js