所以这让我很困惑。
我们有一个使用 Selenium、Specflow 和 C# 的测试框架。目前正在运行 Selenium 3.13.1(昨天刚刚升级,看看旧版本(3.11.2)是否是问题所在)
问题(仅当在 Chrome 中模拟移动设备时):
在本地运行测试时一切正常,单击按钮并通过测试。在 Jenkins 从属服务器上远程运行测试时,它有时会工作。即有时我会点击,有时我不会。当作业按计划运行时,一些测试始终失败(这些测试在本地运行时运行良好)。
我尝试添加 5 秒的睡眠,但这没有帮助。
确实有效的一件事是将 Click() 更改为 SendKeys(Keys.Enter)。
执行 javascript 来单击按钮也很有效,但是出于 2 个原因,我不希望从单击中更改。1. 这是模拟用户输入的最接近的操作,并且 2. 这在本地运行良好。
Jenkins slave 上的 Chrome 版本与我的本地版本(67.0.3396.99)一致,Chrome 驱动程序也是内联的(2.40.565498)。
Chrome 驱动程序昨天已更新,因为我尝试使用 2.38 和 2.39 版本但无济于事。
有没有人遇到过这个问题并找到了解决方案?
PS 当不在移动仿真中运行测试时,我在本地或 Jenkins 上的点击都没有问题。