【发布时间】:2018-07-24 04:09:37
【问题描述】:
使用 selenium webdriver 在本地运行良好的测试在 saucelabs.com 上远程运行时超时。同样的测试适用于 Chrome(本地和酱汁)。
从客户端代码的角度来看,以下代码中的 click 永远不会返回:
var someLink = await driver.findElement(By.className('some-class'));
await someLink.click()
我在测试框架中使用jest,超时时间为 60 秒,所以在客户端,我在一分钟后收到超时错误。
当我登录到 sauce 并查看它处理的命令列表时,我看到:
POST elements
带参数:
{"using":"css selector","value":".some-class"}
而返回的正文是:
[{"ELEMENT":"2"}]
这样就成功并找到了链接。然后我再也看不到那个元素上的click 事件。之前的点击事件,导航命令成功。
当我观看会话的视频播放时,我看到它单击了给定的链接并在 Firefox 中加载了新页面,但右上角的微调器(实际上是一个来回移动的小点)从未停止。
我自己无法使用 Firefox 进行复制,甚至无法通过在 Saucelabs 上进行手动测试,您可以通过 Web 控制浏览器和 VM。
我想知道是否有一些正在运行的同步代码无法解析。但我不知道如何找到它。开发者工具似乎无法显示当前的阻塞代码。
【问题讨论】:
标签: javascript selenium firefox selenium-webdriver saucelabs