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