如何在 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' });
});