2 const Page
= require( './page' );
4 class CreateAccountPage
extends Page
{
6 get username() { return browser
.element( '#wpName2' ); }
7 get password() { return browser
.element( '#wpPassword2' ); }
8 get confirmPassword() { return browser
.element( '#wpRetype' ); }
9 get create() { return browser
.element( '#wpCreateaccount' ); }
10 get heading() { return browser
.element( '#firstHeading' ); }
13 super.open( 'Special:CreateAccount' );
16 createAccount( username
, password
) {
18 this.username
.setValue( username
);
19 this.password
.setValue( password
);
20 this.confirmPassword
.setValue( password
);
24 apiCreateAccount( username
, password
) {
26 const MWBot
= require( 'mwbot' ), // https://github.com/Fannon/mwbot
27 Promise
= require( 'bluebird' );
28 let bot
= new MWBot();
30 return Promise
.coroutine( function* () {
31 yield bot
.loginGetCreateaccountToken( {
32 apiUrl
: `${browser.options.baseUrl}/api.php`,
33 username
: browser
.options
.username
,
34 password
: browser
.options
.password
37 action
: 'createaccount',
38 createreturnurl
: browser
.options
.baseUrl
,
39 createtoken
: bot
.createaccountToken
,
49 module
.exports
= new CreateAccountPage();