满足条件时播放权限循环,此外每 10 秒继续单击刷新按钮,直到找到定位器

问题描述 投票:0回答:1

我正在等待定位器中的文本,该文本仅在几分钟后显示,但页面不会自行重新加载以显示它 - 我们有一个标准刷新按钮,需要偶尔单击。动态变化的文本有 3 个阶段。第 1 阶段 =“待处理”,第 2 阶段 =“正在运行”,第 3 阶段 =“已完成”。当然,如果文本变成“失败”,则整个测试应该失败。有什么想法吗?

while-loop playwright expect assertion
1个回答
0
投票

使用 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
})
© www.soinside.com 2019 - 2024. All rights reserved.