Skip to content
This repository has been archived by the owner on Feb 5, 2023. It is now read-only.

Commit

Permalink
minor refactoring of utils screenshot and fillFields
Browse files Browse the repository at this point in the history
  • Loading branch information
carpii committed May 7, 2021
1 parent 88369af commit d7d7556
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ async function raiseWarning(page, action, selector) {
throw `Barclays Error: "${warningText.trim()}" (while ${action} ${selector})`;
}

exports.screenshot = async(page, filename) => {
await page.screenshot({path: filename, fullPage: true});
}

// Click a link and wait for the navigation state to go to idle.
exports.click = async (page, selector) => {
try {
Expand All @@ -21,17 +25,20 @@ exports.click = async (page, selector) => {
} catch (err) {
raiseWarning(page, 'clicking', selector);

const screenshotFile = './click-error.png';
await page.screenshot({path: screenshotFile, fullPage: true});
await exports.screenshot(page, 'error.png');
throw `Error when clicking ${selector} on URL ${page.url()}: ${err}`;
}
};

exports.fillField = async (page, key, value) => {
await page.click(key);
await page.type(key, value);
}

exports.fillFields = async (page, form) => {
// Disappointingly, you can't type into multiple fields simultaneously.
for (let key of Object.keys(form)) {
await page.click(key);
await page.type(key, form[key]);
await exports.fillField(page, key, form[key]);
}
};

Expand All @@ -46,8 +53,8 @@ exports.wait = async (page, selector) => {
} catch (err) {
raiseWarning(page, 'fetching', selector);

const screenshotFile = './error.png';
await page.screenshot({path: screenshotFile, fullPage: true});
let screenshotFile = './error.png';
await exports.screenshot(page, screenshotFile);
throw `Couldn't find selector "${selector}" on page ${page.url()}. Screenshot saved to ${screenshotFile}.`;
}
};
Expand Down

0 comments on commit d7d7556

Please sign in to comment.