playwright如何断言出现新页面
时间: 2023-08-02 19:42:54 浏览: 170
在使用 Playwright 进行自动化测试时,可以使用 `context.waitForEvent(event, [options])` 方法来等待特定事件的发生。在这种情况下,我们可以等待 "page" 事件,以便断言新页面的出现。以下是一个示例代码:
```javascript
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
// 等待新页面的出现
const newPagePromise = new Promise((resolve) => context.once('page', resolve));
// 在页面上触发打开新页面的事件(例如点击链接)
await page.click('a[target="_blank"]');
// 等待新页面打开
const newPage = await newPagePromise;
// 现在可以在新页面上执行任何测试操作
await newPage.waitForSelector('.new-page-element');
// 关闭浏览器
await browser.close();
})();
```
在上面的示例中,我们创建了一个 Promise 对象 `newPagePromise`,并在 `context` 对象上注册了一个 "page" 事件的监听器。当该事件触发时,Promise 将被解决并返回新页面的句柄对象。接下来,我们在页面上模拟打开新页面(例如通过点击链接),并等待新页面出现。在页面加载完成后,我们可以在新页面上执行任何测试操作。最后,我们关闭浏览器以结束测试。
阅读全文