Playwright的wait funtion测试

Playwright的wait funtion测试

强制等待

javascript 复制代码
/**
 * Selects an option from a PrimeFaces/JSF dropdown menu.
 * @param {*} page 
 * @param {*} locator 
 * @param {*} option 
 * @param {*} timeout 
 */
const selectDropDown = async (page, locator, option, timeout = 500) => {
  await page.locator(locator).click();
  await page.waitForTimeout(timeout);
  await page.getByRole('option', { name: option }).click();
  await page.waitForTimeout(timeout);
}

等待元素加载

javascript 复制代码
/**
 * Selects an option from a PrimeFaces/JSF dropdown menu.
 * @param {*} page 
 * @param {*} locator 
 * @param {*} option 
 * @param {*} timeout 
 */
const selectDropDown = async (page, locator, option, timeout = 500) => {
  // 1. Click the dropdown trigger
  await page.locator(locator).click();

  // 2. Wait for the option text to be visible anywhere on the page
  // This is robust for PrimeFaces where options are often divs/li with text content
  const optionLocator = page.getByText(option, { exact: true }).first();
  
  // Wait up to 5 seconds for the option to appear
  await expect(optionLocator).toBeVisible({ timeout: 5000 });

  // 3. Click the option
  await optionLocator.click();
}
相关推荐
子兮曰13 小时前
独立开发者主流技术栈(2026最新)
前端·后端·全栈
霪霖笙箫15 小时前
「JS全栈AI学习」十一、Multi-Agent 系统设计:可观测性与生产实践
前端·面试·全栈
Cosolar15 小时前
文生图竞技场变局:GPT-Image-2 以 1512 分登顶,多模态格局重塑
人工智能·开源·全栈
~ rainbow~16 小时前
前端转型全栈(五)——NestJS 文件上传功能开发复盘
前端·全栈
Pkmer1 天前
古法编程: 装饰器模式
设计模式·全栈
小兵张健2 天前
3 个 Codex 提效小技巧
chatgpt·全栈
小兵张健3 天前
Codex 切换 Provider 后恢复历史对话
chatgpt·openai·全栈
霪霖笙箫6 天前
「JS全栈AI学习」九、Multi-Agent 系统设计:架构与编排
前端·面试·全栈
前端双越老师6 天前
OpenClaw 实战记录:前端 VS 全栈 招聘岗位分析
前端·agent·全栈