3

上周 chrome auto 更新到 29.0.1547.57,他们完全搞砸了我们所有的回归测试。所以我下载并更新了我的 chromedriver 到 v2.2。现在测试至少会运行,但几乎所有测试都会因此错误而失败。

unexpected response, code=404, content-type="text/plain"
  unknown command: session/f82f867596e3c001854423097f341bfe/element/name (Selenium::WebDriver::Error::WebDriverError)

真正令人困惑的部分是,当我通过 ruby​​mine 开始测试时,它在我的本地运行,但是当测试在由 Jenkins 启动的服务器上运行时,它们都失败了。

当我们等待我们的 ajax 弹出窗口加载时,它们似乎在 wait_until_present 上失败,并且在 .exists? 上也失败了。例如:

if @browser.a(:id, 'hn_modal_close').exists?
  @browser.a(:class, 'blackText noTextDecoration').click
else
  @browser.link(:href, /shopping_cart.cfm/).click
end

它在 if 语句的第一行出错,但是如果我用 irb 运行它,这个确切的代码可以正常工作。

编辑

发现它通过我的本地和 irb 的原因是因为错误仅在通过 rake 开始测试时出现。Jenkins 通过执行 rake 文件开始测试。

所以这似乎是最新的 chromedriver 的一个问题,因为它在升级之前就可以工作。问题仍然存在,但要解决这个问题?

有人知道为什么会这样吗?

4

1 回答 1

1

我遇到了同样的问题,但“捆绑更新”为我解决了这个问题。有一个较新版本的 watir 和 selenium webdrivers,我认为这可以解决问题。如果您还没有这样做,请尝试一下。

于 2013-08-27T14:20:03.697 回答