1 const Page
= require( 'wdio-mediawiki/Page' ),
2 Api
= require( 'wdio-mediawiki/Api' );
4 class HistoryPage
extends Page
{
5 get heading() { return browser
.element( '#firstHeading' ); }
6 get headingText() { return browser
.getText( '#firstHeading' ); }
7 get comment() { return browser
.element( '#pagehistory .comment' ); }
8 get rollback() { return browser
.element( '.mw-rollback-link' ); }
9 get rollbackLink() { return browser
.element( '.mw-rollback-link a' ); }
10 get rollbackConfirmable() { return browser
.element( '.mw-rollback-link .jquery-confirmable-text' ); }
11 get rollbackConfirmableYes() { return browser
.element( '.mw-rollback-link .jquery-confirmable-button-yes' ); }
12 get rollbackConfirmableNo() { return browser
.element( '.mw-rollback-link .jquery-confirmable-button-no' ); }
13 get rollbackNonJsConfirmable() { return browser
.element( '.mw-htmlform .oo-ui-fieldsetLayout-header .oo-ui-labelElement-label' ); }
14 get rollbackNonJsConfirmableYes() { return browser
.element( '.mw-htmlform .mw-htmlform-submit-buttons button' ); }
17 super.openTitle( title
, { action
: 'history' } );
20 vandalizePage( name
, content
) {
21 let vandalUsername
= 'Evil_' + browser
.options
.username
;
23 browser
.call( function () {
24 return Api
.edit( name
, content
);
27 browser
.call( function () {
28 return Api
.createAccount(
29 vandalUsername
, browser
.options
.password
33 browser
.call( function () {
36 'Vandalized: ' + content
,
43 module
.exports
= new HistoryPage();