scramjet/tests/util/setupPage.ts

29 lines
No EOL
930 B
TypeScript

/* eslint-disable no-async-promise-executor */
import { expect, FrameLocator, Page } from "@playwright/test";
import { registerInspect } from "./inspectConsole";
export function setupPage(page: Page, url: string): Promise<FrameLocator> {
return new Promise(async (resolve) => {
// Hack to disable HTTP cache.
await page.route("**", route => route.continue());
// Goto base url defined in config.
await page.goto("/");
await page.waitForSelector(".version > b");
const bar = page.locator(".bar");
const title = await page.locator(".version > b").textContent();
const frame = page.frameLocator("iframe");
expect(title).toBe("scramjet");
expect(bar).not.toBeNull();
await bar.fill(url);
await page.waitForTimeout(1000);
await bar.press("Enter");
registerInspect(page);
resolve(frame);
});
}