js_tgbrowser
Version:
Playwright helpers for connecting to TestGrid remote browsers via Selenium + CDP.
36 lines (31 loc) • 851 B
JavaScript
const base = require('@playwright/test');
const { createRemoteBrowser } = require('./testgrid-remote');
const test = base.test.extend({
browser: async ({}, use) => {
const remote = await createRemoteBrowser();
await use(remote.browser);
await remote.dispose();
},
context: async ({ browser }, use) => {
const contexts = browser.contexts();
const defaultContext = contexts.length ? contexts[0] : await browser.newContext();
await use(defaultContext);
},
page: async ({ context }, use) => {
const pages = context.pages();
const page = pages.length ? pages[0] : await context.newPage();
let created = pages.length === 0;
try {
await use(page);
} finally {
if (created) {
await page.close();
}
}
}
});
module.exports = {
...base,
test,
expect: base.expect
};