chrome 浏览器的远程计算机上的 Selenium webdriver 脚本失败

Selenium webdriver scripts fail on Remote machine for chrome browser

每次我启动 selenium 测试用例时,在远程桌面上 运行ning 时很少 (5-6) 个测试用例失败。但是当我 运行 在本地时,它们绝对工作正常。我的本地和 RDP 都具有相同的 chrome 驱动程序版本、相同的 OS(win7) 和相同的浏览器版本。我在 strace 中看到以下两种错误。

1.unknown 错误:元素在 (611, 449) 点不可单击。其他元素将收到点击 2.stale 元素引用:元素未附加到页面文档

我正在使用远程wedriver 新 RemoteWebDriver(新 URL(driverUrl), browser.getCapabilities());

我不知道为什么其中一些仅在 RDP 上失败。任何帮助将不胜感激。

当驱动程序 运行 在遥控器上进行测试时,我看到它在我的 Web 应用程序中启动的地方与在我的桌面上一样,这是由于浏览器设置的原因第一次。对于浏览器,当它被驱动程序启动时,它看起来就像一个新用户。如果您可以在测试 运行ning 时观察您的远程机器,您可能会看到这一点。尤其是在使用 Firefox 时,这让我非常难受,我必须进入引擎盖下的配置文件才能杀死第一个 运行 行为。如果由于某种原因不方便在目标远程计算机上观察测试 运行ning,您也可以尝试截屏。

其他想法...

在检查元素的代码中,有时会出现时间问题,请尝试休眠并重试检查元素。如果目标实际位于网络速度较慢的其他地方,时间可能会成为问题。

脚本中通常存在问题。 你可以做些什么来修复 1)unknown error: Element is not clickable at point (611, 449). Other element would receive the click :

  • 始终运行 window.maximize() 测试前
  • 等待元素可见
  • 改进定位器,有时它可能不会点击你想的

要解决的问题 2.stale element reference: element is not attached to the page document: 不使用网页元素列表,每次使用时定位元素,这个问题通常会被修复。