You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Playwright测试脚本如何暂停3秒后再继续执行?

create admin测试用例异步等待问题解决方案

你遇到的问题核心原因是:管理员表格刷新属于页面导航完成后的异步数据渲染行为,不属于页面跳转范畴,因此waitForNavigation()方法无法监听到该动作。硬编码3秒等待的方案兼容性差,不同环境下的加载速度波动很容易导致用例执行失败,推荐使用以下更稳定的处理方案:

  • 等待目标用户元素渲染完成
    直接使用测试框架自带的元素等待能力,指定等待你新创建的管理员账号对应的表格行出现,只要元素加载完成就会立即执行后续校验逻辑,无需固定等待3秒。参考代码示例:
    如果你使用的是Playwright:
    await page.getByRole('row', { name: '新创建的管理员用户名' }).waitFor()
    如果你使用的是Puppeteer:
    await page.waitForSelector('tr:has-text("新创建的管理员用户名")')
  • 监听用户列表接口响应
    如果表格数据是通过调用后端接口拉取的,可以提前监听用户列表接口的响应,等接口返回数据后再执行校验,示例代码(Playwright环境):
    // 提前注册用户列表接口监听
    const waitUserListRes = page.waitForResponse('**/api/admin/user/list')
    // 填写表单后点击提交按钮
    await page.getByRole('button', { name: '保存' }).click()
    // 等待页面导航完成
    await page.waitForNavigation()
    // 等待用户列表接口返回数据,表格此时会完成渲染
    await waitUserListRes
    
  • 临时固定等待方案(不推荐)
    如果临时调试需要用固定时长等待,可以使用框架自带的延迟方法,比如Playwright/Puppeteer都支持await page.waitForTimeout(3000),该写法不推荐用于正式测试用例集。

参考截图

  • 点击「保存」按钮后的导航效果
    导航效果截图
  • 表格3秒刷新完成后的效果
    表格刷新后截图
  • create函数的代码实现
    create函数代码截图

内容的提问来源于stack exchange,提问作者jialeee17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:36:00