如何在 playwright 测试运行程序中使用 browserContext?
How can I use browserContext in the playwright test runner?
我正在使用 playwright 来测试 PWA(渐进式 Web 应用程序),我想测试离线行为。
browserContext 有一个 setOffline 方法。
调用playwright作为库时,我可以这样设置browserContext
:
// example.js
const playwright = require('playwright');
(async () => {
const browser = await playwright.chromium.launch({
channel: 'msedge',
});
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('https://www.microsoft.com/edge');
await context.setOffline(true);
await page.screenshot({ path: 'example.png' });
await browser.close();
})();
但对于我的 PWA,我使用的是捆绑的 playwright 测试运行器。
我已将我的测试运行器配置为使用 5 种设备——桌面 Chrome、Firefox 和 Webkit,以及移动 Webkit 和移动设备 Chrome。我想在测试中进入和退出所有离线模式以确认我的 PWA 的行为。
如何在测试运行程序中设置 browserContext
?测试中好像没有。
从未实际尝试过,但据我所知,只需将上下文实例放入异步函数中就可以了:
test('context', async({ page, context }) => {
await page.goto('https://www.microsoft.com/edge');
await context.setOffline(true);
await page.screenshot({ path: 'example.png' });
});
我正在使用 playwright 来测试 PWA(渐进式 Web 应用程序),我想测试离线行为。
browserContext 有一个 setOffline 方法。
调用playwright作为库时,我可以这样设置browserContext
:
// example.js
const playwright = require('playwright');
(async () => {
const browser = await playwright.chromium.launch({
channel: 'msedge',
});
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('https://www.microsoft.com/edge');
await context.setOffline(true);
await page.screenshot({ path: 'example.png' });
await browser.close();
})();
但对于我的 PWA,我使用的是捆绑的 playwright 测试运行器。
我已将我的测试运行器配置为使用 5 种设备——桌面 Chrome、Firefox 和 Webkit,以及移动 Webkit 和移动设备 Chrome。我想在测试中进入和退出所有离线模式以确认我的 PWA 的行为。
如何在测试运行程序中设置 browserContext
?测试中好像没有。
从未实际尝试过,但据我所知,只需将上下文实例放入异步函数中就可以了:
test('context', async({ page, context }) => {
await page.goto('https://www.microsoft.com/edge');
await context.setOffline(true);
await page.screenshot({ path: 'example.png' });
});