2 const Page = require( './page' );
4 class EditPage extends Page {
6 get content() { return browser.element( '#wpTextbox1' ); }
7 get displayedContent() { return browser.element( '#mw-content-text' ); }
8 get heading() { return browser.element( '#firstHeading' ); }
9 get save() { return browser.element( '#wpSave' ); }
11 openForEditing( name ) {
12 super.open( name + '&action=edit' );
15 edit( name, content ) {
16 this.openForEditing( name );
17 this.content.setValue( content );
21 apiEdit( name, content ) {
22 const url = require( 'url' ), // https://nodejs.org/docs/latest/api/url.html
23 baseUrl = url.parse( browser.options.baseUrl ), // http://webdriver.io/guide/testrunner/browserobject.html
24 Bot = require( 'nodemw' ), // https://github.com/macbre/nodemw
26 protocol: baseUrl.protocol,
27 server: baseUrl.hostname,
33 return new Promise( ( resolve, reject ) => {
34 client.edit( name, content, `Created page with "${content}"`, function ( err ) {
44 module.exports = new EditPage();