硒在模拟器中间歇性点击
Selenium intermittent click in emulator
所以这让我很困惑。
我们有一个使用 Selenium、Specflow 和 C# 的测试框架。目前 运行ning Selenium 3.13.1(昨天刚刚升级,看看旧版本 (3.11.2) 是否是问题所在)
问题(仅当在 Chrome 中模拟移动设备时):
当 运行ning 在本地测试一切正常时,单击按钮并通过测试。
当 运行ning 在 Jenkins slaves 上进行远程测试时,它有时会工作。有时我得到点击,有时我没有。
当工作 运行 按照计划进行时,一些测试始终失败(这些测试在本地 运行 时 运行 非常好)。
我试过添加 5 秒的睡眠,但这没有帮助。
一个有效的方法是将 Click() 更改为 SendKeys(Keys.Enter)。
执行 javascript 以单击按钮也很有效,但我不想更改单击按钮,原因有两个。 1. 这是模拟用户输入的最接近的动作 2. 这在本地运行良好。
Chrome Jenkins slave 上的版本与我的本地版本 (67.0.3396.99) 一致并且 Chrome 驱动程序也是内联的 (2.40.565498)。
Chrome 昨天更新了驱动程序,因为我尝试了 2.38 和 2.39 版本但无济于事。
有没有人遇到过这个问题并找到了解决方案?
P.S。当 运行ning 测试不在移动仿真中时,我在本地或 Jenkins 上的点击都没有问题。
我遇到了同样的问题。
在我的浏览器中允许 PopUps 之后,click 和 clickAndWait 事件工作正常。
也许你也可以换个浏览器。
此致
对于遇到此问题的任何人,这是此时的当前相关答案。
这不是我们使用的框架的问题,而是铬和 chrome 驱动程序的问题。
可以找到 issue/bug link here(这是下面引用的已知问题)。
此外,如果您检查 documentation for chrome driver mobile emulation,它在第一行中提到如下
Note that Mobile Emulation is subject to this known issue.
这个答案本身并不能帮助解决问题,但给出了问题发生的原因。我发现的 "best" 解决方法是使用 JS 来点击等等。在我们的案例中,我们暂时停止使用移动仿真,因为使用 JS 单击并不能真正模拟真正的单击。随着 Chrome 和 Chrome 驱动程序的新版本发布,我将继续更新,直到有修复它。
希望你花在寻找答案上的时间比我少:)
所以这让我很困惑。
我们有一个使用 Selenium、Specflow 和 C# 的测试框架。目前 运行ning Selenium 3.13.1(昨天刚刚升级,看看旧版本 (3.11.2) 是否是问题所在)
问题(仅当在 Chrome 中模拟移动设备时):
当 运行ning 在本地测试一切正常时,单击按钮并通过测试。 当 运行ning 在 Jenkins slaves 上进行远程测试时,它有时会工作。有时我得到点击,有时我没有。 当工作 运行 按照计划进行时,一些测试始终失败(这些测试在本地 运行 时 运行 非常好)。
我试过添加 5 秒的睡眠,但这没有帮助。
一个有效的方法是将 Click() 更改为 SendKeys(Keys.Enter)。
执行 javascript 以单击按钮也很有效,但我不想更改单击按钮,原因有两个。 1. 这是模拟用户输入的最接近的动作 2. 这在本地运行良好。
Chrome Jenkins slave 上的版本与我的本地版本 (67.0.3396.99) 一致并且 Chrome 驱动程序也是内联的 (2.40.565498)。
Chrome 昨天更新了驱动程序,因为我尝试了 2.38 和 2.39 版本但无济于事。
有没有人遇到过这个问题并找到了解决方案?
P.S。当 运行ning 测试不在移动仿真中时,我在本地或 Jenkins 上的点击都没有问题。
我遇到了同样的问题。 在我的浏览器中允许 PopUps 之后,click 和 clickAndWait 事件工作正常。 也许你也可以换个浏览器。
此致
对于遇到此问题的任何人,这是此时的当前相关答案。
这不是我们使用的框架的问题,而是铬和 chrome 驱动程序的问题。
可以找到 issue/bug link here(这是下面引用的已知问题)。
此外,如果您检查 documentation for chrome driver mobile emulation,它在第一行中提到如下
Note that Mobile Emulation is subject to this known issue.
这个答案本身并不能帮助解决问题,但给出了问题发生的原因。我发现的 "best" 解决方法是使用 JS 来点击等等。在我们的案例中,我们暂时停止使用移动仿真,因为使用 JS 单击并不能真正模拟真正的单击。随着 Chrome 和 Chrome 驱动程序的新版本发布,我将继续更新,直到有修复它。
希望你花在寻找答案上的时间比我少:)