Skip to content

Commit fb8b4f2

Browse files
committed
Lighthouse: Updated script
1 parent ca7a642 commit fb8b4f2

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

performance/lighthouse-script.js

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,37 @@ const fs = require('fs');
33

44
const PORT = 8041;
55
const PR_NUMBER = process.env.GITHUB_PR_NUMBER;
6-
const environments = [
6+
const OUTPUT_DIR = './lighthouse-reports';
7+
const ENVIRONMENTS = [
78
{
89
title: 'pr',
9-
url: `https://frontdoor-test-docs.nginx.com/previews/docs/${PR_NUMBER}/`,
10-
},
11-
{
12-
title: 'main',
13-
url: 'https://docs.nginx.com/',
10+
url: `https://frontdoor-test-docs.nginx.com/previews/nginx-hugo-theme/${PR_NUMBER}/`,
1411
},
1512
];
16-
const OUTPUT_DIR = './lighthouse-reports';
1713

1814
const signIntoFrontDoor = async (browser, env) => {
1915
const page = await browser.newPage();
20-
await page.authenticate({
21-
username: process.env.FRONT_DOOR_USERNAME,
22-
password: process.env.FRONT_DOOR_PASSWORD,
23-
});
24-
25-
await page.goto(env['url']);
26-
await page.waitForSelector('.grid-container');
27-
console.log('Logged in...');
28-
await page.close();
16+
try {
17+
await page.authenticate({
18+
username: process.env.FRONT_DOOR_USERNAME,
19+
password: process.env.FRONT_DOOR_PASSWORD,
20+
});
21+
await page.goto(env['url']);
22+
await page.waitForSelector('.navbar');
23+
console.log('Logged in...');
24+
await page.close();
25+
} catch {
26+
console.log('Unable to log in...');
27+
}
2928
};
3029

31-
const runLighthouse = async (env) => {
30+
const generateLighthouseReport = async (env) => {
3231
const OUTPUT_FILE = `${env['title']}-report.json`;
33-
3432
const lighthouse = (await import('lighthouse')).default;
3533
console.log(`Running Lighthouse for ${env['title']}...`);
3634
const result = await lighthouse(env['url'], { port: PORT });
3735
fs.writeFileSync(`${OUTPUT_DIR}/${OUTPUT_FILE}`, result.report);
36+
console.log(`Generated report for ${env['title']}...`);
3837
};
3938

4039
(async () => {
@@ -46,12 +45,12 @@ const runLighthouse = async (env) => {
4645
fs.mkdirSync(OUTPUT_DIR);
4746
}
4847

49-
for (const env of environments) {
48+
for (const env of ENVIRONMENTS) {
5049
if (env['title'] === 'pr') {
5150
await signIntoFrontDoor(browser, env);
5251
}
53-
await runLighthouse(env);
52+
await generateLighthouseReport(env);
5453
}
5554

56-
await browser.close();
55+
browser.close();
5756
})();

0 commit comments

Comments
 (0)