用途:验证真实浏览器工作流、诊断 UI 时序失败,或采集明确授权的页面数据。使用前先检查当前页面与所选浏览器工具的实际 API,再选择定位器与操作。
主要能力与用法:使用用户已选定或项目已安装的浏览器工具(Playwright、Puppeteer、Selenium 集成方式不同,应按实际需求选择,而非依据未经验证的成功率说法)。测试自己可控的应用时,与操作已有登录态浏览器的场景分开;不要为让自动化通过而换成全新未登录会话或提取凭据。
定位优先用面向用户的语义方式,如 getByRole、getByText、getByLabel、getByPlaceholder;仅当没有用户可见选项时才用 getByTestId。避免绑定结构的 CSS、XPath 和自动生成选择器。
示例(Playwright Test):每个测试在隔离上下文中运行,无跨测试 cookie 或存储。 await page.getByRole('button', { name: 'Add to Cart' }).click(); await expect(page.getByTestId('cart-count')).toHaveText('1'); await expect(page.getByText('Your cart is empty')).toBeVisible();
执行前先阅读详细指南,将其中的安全、前置条件和验证要求视为强制。聚焦任务可只加载相关章节,端到端任务需完整阅读。
限制:自动等待只检查可操作性,不验证业务正确性,也不代表后端写入成功。截图、HTML、trace 和登录态文件可能含隐私信息,只采集授权范围。重复读取通常安全,但重复结账、删除或发消息可能造成重复副作用,重复前先确认状态。资源拦截和模拟响应会改变环境,不能证明未修改的生产行为。示例依赖项目自身的导入、运行器和 fixture 路由;本技能不安装任何浏览器、服务或账号。