Playwright browser.newPage()忽略playwright.config自定义testIdAttribute
问题:自定义TestIdAttribute后,Fixture中新建页面不沿用全局配置
- 已在
playwright.config里全局将testIdAttribute设为data-test,常规测试运行正常 - 做复用认证的fixture时,按文档示例用
const page = await browser.newPage({ storageState: undefined });创建新页面,发现该页面没继承全局配置,还是默认查找data-testid属性 - 一开始以为fixture里不能直接用
selectors.setTestIdAttribute()
解决方法
selectors.setTestIdAttribute()其实可以在fixture中使用,只需按以下步骤操作:
- 从
@playwright/test导入selectors模块 - 在创建新页面实例后、使用该页面之前,调用
selectors.setTestIdAttribute()设置自定义属性
示例代码
import { selectors } from '@playwright/test'; // 创建不带存储状态的新页面 const page = await browser.newPage({ storageState: undefined }); // 为该页面设置自定义TestId属性 selectors.setTestIdAttribute("data-test"); await page.goto('www.stackoverflow.com');
内容的提问来源于stack exchange,提问作者Pievka
相关产品推荐
相关产品推荐

