-
Notifications
You must be signed in to change notification settings - Fork 0
/
loginAndNavigation.js
32 lines (27 loc) · 1.06 KB
/
loginAndNavigation.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
module.exports = async(page, scenario, config) => {
if (scenario.loginWrapperSelector) {
const user = scenario.loginUser ?? config.backstopjsAddons.loginUser;
const pass = scenario.loginPass ?? config.backstopjsAddons.loginPass;
if (user && pass) {
await page.waitForSelector(scenario.loginWrapperSelector);
await page.type(scenario.loginWrapperSelector + ' input[name="name"]', user);
await page.type(scenario.loginWrapperSelector + ' input[name="pass"]', pass);
await page.keyboard.press('Enter'); // Enter Key
await page.waitForNetworkIdle();
if (scenario.loginRedirectTo) {
await page.goto(scenario.loginRedirectTo, {
waitUntil: 'networkidle0'
});
}
// Apply the removeSelectors to the loaded page.
if (scenario.removeSelectors) {
await page.evaluate((selectors) => {
var elements = document.querySelectorAll(selectors);
elements.forEach((element) => {
element.remove();
});
}, scenario.removeSelectors);
}
}
}
};