/
login-user.js
36 lines (33 loc) · 1.08 KB
/
login-user.js
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
34
35
36
/**
* Internal dependencies
*/
import { WP_USERNAME, WP_PASSWORD } from './shared/config';
import { createURL } from './create-url';
import { isCurrentURL } from './is-current-url';
import { pressKeyWithModifier } from './press-key-with-modifier';
/**
* Performs log in with specified username and password.
*
* @param {?string} username String to be used as user credential.
* @param {?string} password String to be used as user credential.
*/
export async function loginUser(
username = WP_USERNAME,
password = WP_PASSWORD
) {
if ( ! isCurrentURL( 'wp-login.php' ) ) {
const waitForLoginPageNavigation = page.waitForNavigation();
await page.goto( createURL( 'wp-login.php' ) );
await waitForLoginPageNavigation;
}
await page.focus( '#user_login' );
await pressKeyWithModifier( 'primary', 'a' );
await page.type( '#user_login', username );
await page.focus( '#user_pass' );
await pressKeyWithModifier( 'primary', 'a' );
await page.type( '#user_pass', password );
await Promise.all( [
page.click( '#wp-submit' ),
page.waitForNavigation( { waitUntil: 'networkidle0' } ),
] );
}