点击 selenium on sauce 后 Firefox 没有完成页面加载
Firefox not completing page load after click sent by selenium on sauce
一项在本地与 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"}]
这样就成功了,找到了link。然后我再也看不到该元素上的 click
事件。先前的点击事件和导航命令成功。
当我观看 session 的视频播放时,我看到它点击给定的 link 并在 Firefox 中加载新页面,但是旋转器(实际上是一个来回移动的小点) 在右上角永远不会停止。
我自己无法用 Firefox 重现,甚至无法通过 Saucelabs 上的手动测试,您可以通过 Web 控制浏览器和 VM。
我想知道是否有一些 运行ning 的同步代码没有解析。但我无法弄清楚如何找到它。开发人员工具似乎无法显示当前阻塞的代码。
加载页面时,Selenium 正在等待 document.readyState
变为 complete
。
有时某些资源的加载可能会卡住 - 当它试图获取大文件但连接很差时,当资源由于代理而无法访问时,当提供此资源的服务已关闭时,等等。
我在使用 Firefox 时遇到了同样的问题,并使用 eager
页面加载策略解决了这个问题。
使用此加载策略,Selenium 将等待 document.readyState
变为 interactive
- 某些资源可能未加载,但页面的主要元素已加载,您可以以常用方式与它们交互。
DesiredCapabilities caps = DesiredCapabilities.firefox();
caps.setCapability(CapabilityType.PAGE_LOAD_STRATEGY, "eager");
一项在本地与 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"}]
这样就成功了,找到了link。然后我再也看不到该元素上的 click
事件。先前的点击事件和导航命令成功。
当我观看 session 的视频播放时,我看到它点击给定的 link 并在 Firefox 中加载新页面,但是旋转器(实际上是一个来回移动的小点) 在右上角永远不会停止。
我自己无法用 Firefox 重现,甚至无法通过 Saucelabs 上的手动测试,您可以通过 Web 控制浏览器和 VM。
我想知道是否有一些 运行ning 的同步代码没有解析。但我无法弄清楚如何找到它。开发人员工具似乎无法显示当前阻塞的代码。
加载页面时,Selenium 正在等待 document.readyState
变为 complete
。
有时某些资源的加载可能会卡住 - 当它试图获取大文件但连接很差时,当资源由于代理而无法访问时,当提供此资源的服务已关闭时,等等。
我在使用 Firefox 时遇到了同样的问题,并使用 eager
页面加载策略解决了这个问题。
使用此加载策略,Selenium 将等待 document.readyState
变为 interactive
- 某些资源可能未加载,但页面的主要元素已加载,您可以以常用方式与它们交互。
DesiredCapabilities caps = DesiredCapabilities.firefox();
caps.setCapability(CapabilityType.PAGE_LOAD_STRATEGY, "eager");