playwright - 当我使用 playwright 配置并且我想在 beforeAll 中声明 `page` 时如何设置 Playwright 以便我可以在同一规范中的多个测试中使用它
问题描述
这是我的剧作家配置文件的方式:
import { PlaywrightTestConfig } from '@playwright/test';
const config: PlaywrightTestConfig = {
reporter: [
['list'],
],
timeout: 30000,
projects: [
{
testDir: `${process.cwd()}/qe/specs/e2e/`,
testMatch: '*_spec.ts',
name: 'Chrome Local',
use: {
viewport: { width: 900, height: 700 },
launchOptions: {
channel: 'chrome',
},
headless: false,
},
},
]}
这是我的规格文件:
import { test } from '@playwright/test';
const BASE_URL = process.env.URL || 'http://www.google.com';
let page: any;
test.describe('Main Block Test', () => {
test.beforeAll(async ({ browser }) => {
page = await browser.newPage();
});
test('Testing block 1', async ({ page }) => {
await page.goto(BASE_URL);
await page.waitForTimeout(2000);
});
test('Testing block 2', async ({ page }) => {
await page.goto('www.google.com);
await page.waitForTimeout(2000);
});
});
这有点工作,但不尊重配置文件中设置的视口。我知道如果在每个test
块中声明页面,那么它将是,但必须有更好的方法来做到这一点并且能够page
在 beforeAll 中声明并使用它?任何帮助都会很棒。谢谢!
解决方案
推荐阅读
- jmeter - 无法保存简单的 jmeter 文件
- php - 如何在php curl中上传文件
- scala - 错误:(63, 3) 类型不匹配;找到:所需单位:双
- android - RxJava 登录并获取用户信息
- powershell - Get-Printer:找不到与参数名称“Like”匹配的参数
- javascript - 如何删除模态框内的 tbody 数据
- vb.net - 在 VB.NET 中禁用 CheckListBox 中的项目?
- docker - 无法始终将数据从主机发送到 docker 容器
- c - 创建树时出现分段错误 (C)
- react-native - 如何处理 codepush 和 Google playstore / Apple appstore 之间的潜在竞争条件