提问人:hden 提问时间:11/18/2023 最后编辑:ggorlenhden 更新时间:11/18/2023 访问量:38
有时悬停在 Playwright JS 中无法按预期工作
Sometimes hover not working as expected in Playwright JS
问:
我正在使用 Playwright 的 JS 库,并且遇到了悬停功能的一些问题。我得到了一个带有所有调用的定位器列表。然后,我将遍历此列表,并将鼠标悬停在列表中的每个定位器上。悬停时,每个元素都应更改颜色并打开弹出框。我在两个不同的测试中执行此操作,这些测试打开了不同的站点,但最终呈现了相同的 html。这两项测试都使用 chromium 运行。在一次测试中,将鼠标悬停在每个元素上按预期工作(颜色会改变,弹出框变得可见)。在另一个测试中,列表中的第一个元素在悬停时会改变颜色,但不会打开弹出框。如果我手动将鼠标悬停在列表中的第二个元素上(按预期工作),然后遍历所有元素,则悬停在所有元素上按预期工作。
以前有没有人遇到过剧作家?我特别感到困惑的是,悬停在一个测试中按预期工作,但在另一个测试中却没有。这两个测试都在 iframe 中执行此悬停操作,以防万一。
我获取所有定位器的函数:
#getAll = async () =>
await this.iframe.locator('.qa-hot-buttons-list.p0.m0').getByRole('button').all();
我在工作测试中的函数:
for (const button of buttons) {
await button.hover();
const buttonPopover = await myController.getActiveButtonPopover();
await expect(buttonPopover).toBeVisible();
}
我在破碎测试中的函数:
await buttons[1].hover();
for (const button of buttons) {
await button.hover();
const buttonPopover = await myController.getActiveButtonPopover();
await expect(buttonPopover).toBeVisible();
}
答: 暂无答案
评论