我正在等待定位器中的文本,该文本仅在几分钟后显示,但页面不会自行重新加载以显示它 - 我们有一个标准刷新按钮,需要偶尔单击。动态变化的文本有 3 个阶段。第 1 阶段 =“待处理”,第 2 阶段 =“正在运行”,第 3 阶段 =“已完成”。当然,如果文本变成“失败”,则整个测试应该失败。有什么想法吗?
使用 expect.toPass() 重试直到通过:
test('Expect completed', async ({ page }) => {
await expect(async () => {
await page.getByRole('button', { name: 'refresh' }).click()
await expect(page.getByText('Completed')).toBeVisible()
}).toPass({ intervals: [30_000, 60_000, 90_000, 120_000] })
// Retries every half minute for 2 minutes
})