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();
}
相关推荐
JustHappy4 天前
古法编程秘籍(六):程序到底是怎么跑起来的?从 IO 到中断,一次讲明白
前端·后端·全栈
该用户已不存在4 天前
这9款开发工具夯爆了,用了都说好
后端·程序员·全栈
程序员黑豆4 天前
AI全栈开发之Java:怎么安装JDK
前端·ai编程·全栈
JieE2124 天前
Bun + TypeScript:下一代 JavaScript 全栈开发的正确打开方式
typescript·全栈·bun
Cosolar5 天前
LlamaIndex 索引类型进阶:构建高性能 RAG 系统的核心能力
人工智能·开源·全栈
程序员黑豆5 天前
全新系列开启:AI 全栈开发
前端·后端·全栈
To_OC5 天前
折腾两天 HTTP 接口调用,终于把 fetch 和前后端分离从书本概念落地到实操了
javascript·node.js·全栈
daanl8 天前
基于RESTful规范的Users全栈项目开发实战
全栈
小阿鑫8 天前
沪漂五周年了:我越来越迷茫了
ai·程序员·全栈·独立开发·程序员海军·沪漂·ai咨询
明月_清风9 天前
TanStack + Cloudflare 边缘实战:从 0 到 1 构建全栈应用
前端·全栈