Skip to content

Commit fb07987

Browse files
committed
revert changes in scripts/pit/its/hello.js to fix skeleton-starter-flow-cdi
1 parent d0e93cf commit fb07987

File tree

1 file changed

+70
-47
lines changed

1 file changed

+70
-47
lines changed

scripts/pit/its/hello.js

Lines changed: 70 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,82 @@
1-
const { log, args, createPage, closePage, takeScreenshot, waitForServerReady, dismissDevmode } = require('./test-utils');
1+
const { chromium, webkit } = require('playwright');
2+
const screenshots = "screenshots.out"
23

3-
(async () => {
4-
const arg = args();
5-
6-
const page = await createPage(arg.headless);
7-
8-
await waitForServerReady(page, arg.url);
4+
let headless = false, host = 'localhost', port = '8080', mode = 'prod', name;
5+
process.argv.forEach(a => {
6+
if (/^--headless/.test(a)) {
7+
headless = true;
8+
} else if (/^--port=/.test(a)) {
9+
port = a.split('=')[1];
10+
} else if (/^--mode=/.test(a)) {
11+
mode = a.split('=')[1];
12+
} else if (/^--name=/.test(a)) {
13+
name = a.split('=')[1];
14+
}
15+
});
916

10-
// Dismiss dev mode notification if present
11-
await dismissDevmode(page);
17+
let sscount = 0;
18+
async function takeScreenshot(page, name) {
19+
const path = `${screenshots}/${++sscount}-${name}-${mode}.png`;
20+
await page.screenshot({ path });
21+
log(`Screenshot taken: ${path}\n`);
22+
}
23+
const log = s => process.stderr.write(`\x1b[1m=> TEST: \x1b[0;33m${s}\x1b[0m`);
1224

13-
const text = 'Greet';
14-
15-
// Wait for vaadin ready
16-
await page.waitForSelector('#outlet > * > *:not(style):not(script)');
25+
(async () => {
26+
const browser = await chromium.launch({
27+
headless: headless,
28+
chromiumSandbox: false
29+
});
30+
const context = await browser.newContext();
31+
const text = 'Greet';
1732

18-
await takeScreenshot(page, __filename, 'initial-view');
33+
// Open new page
34+
const page = await context.newPage();
35+
page.on('console', msg => console.log("> CONSOLE:", (msg.text() + ' - ' + msg.location().url).replace(/\s+/g, ' ')));
36+
page.on('pageerror', err => console.log("> PAGEERROR:", ('' + err).replace(/\s+/g, ' ')));
1937

20-
// Click input[type="text"]
21-
try {
22-
await page.locator('input[type="text"]').click({timeout:10000});
23-
} catch (error) {
24-
// skeleton-starter-flow-cdi wildfly:run sometimes does not load the page correctly
25-
log(`Error looking for input[type="text"], sleeping and reloading page`);
26-
await page.reload();
27-
await page.waitForLoadState('load')
28-
await page.waitForTimeout(10000);
29-
await takeScreenshot(page, __filename, 'initial-view-after-reload');
30-
await page.locator('input[type="text"]').click({timeout:60000});
31-
}
38+
// Go to http://localhost:8080/
39+
await page.goto(`http://${host}:${port}/`);
40+
// Wait for vaadin ready
41+
await page.waitForSelector('#outlet > * > *:not(style):not(script)');
3242

33-
// Fill input[type="text"]
34-
await page.locator('input[type="text"]').fill(text);
35-
await takeScreenshot(page, __filename, 'input-filled');
43+
await takeScreenshot(page, 'initial-view');
44+
// Click input[type="text"]
45+
try {
46+
await page.locator('input[type="text"]').click({timeout:10000});
47+
} catch (error) {
48+
// skeleton-starter-flow-cdi wildfly:run sometimes does not load the page correctly
49+
log(`Error looking for input[type="text"], sleeping and reloading page\n`);
50+
await page.reload();
51+
await page.waitForLoadState('load')
52+
await page.waitForTimeout(10000);
53+
await takeScreenshot(page, 'initial-view-after-reload');
54+
await page.locator('input[type="text"]').click({timeout:60000});
55+
}
3656

37-
// Click text=Say hello
38-
await page.locator('vaadin-button').click();
39-
await takeScreenshot(page, __filename, 'button-clicked');
57+
// Fill input[type="text"]
58+
await page.locator('input[type="text"]').fill(text);
4059

41-
// Look for the text, sometimes rendered in an alert, sometimes in the dom
42-
let m;
43-
try {
44-
m = await page.getByRole('alert').nth(1).innerText({timeout:500});
45-
log(`Found ${text} in an 'alert' role: ${m}`);
46-
} catch (e) {
47-
log(`Not Found ${text} in an 'alert' role, looking in DOM`);
48-
m = await page.locator(`text=/${text}/`).first().innerText({timeout:5000});
49-
}
60+
// Click text=Say hello
61+
await page.locator('vaadin-button').click();
62+
await takeScreenshot(page, 'button-clicked');
5063

51-
if (! new RegExp(text).test(m)) {
52-
throw new Error(`${text} text not found in ${m}`);
53-
}
5464

55-
log(`Found ${m} text in the dom`);
56-
await takeScreenshot(page, __filename, 'greeting-found');
65+
// Look for the text, sometimes rendered in an alert, sometimes in the dom
66+
let m;
67+
try {
68+
m = await page.getByRole('alert').nth(1).innerText({timeout:500});
69+
} catch (e) {
70+
console.log(`Not Found ${text} in an 'alert' role`);
71+
m = await page.locator(`text=/${text}/`).innerText({timeout:5000});
72+
}
73+
if (! new RegExp(text).test(m)) {
74+
throw new Error(`${text} text not found in ${m}`);
75+
}
76+
console.log(`Found ${m} text in the dom`);
5777

58-
await closePage(page);
78+
// Close everything
79+
// ---------------------
80+
await context.close();
81+
await browser.close();
5982
})();

0 commit comments

Comments
 (0)