加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在缓存中找不到StaleElementReference错误元素

发布时间:2020-12-17 03:23:17 所属栏目:百科 来源:网络整理
导读:我正在使用带有 Ruby 1.9.3的Capybara 2.1使用selenium驱动程序(使用Minitest和测试单元)来测试Web应用程序. 我正在努力解决StaleElementReferenceException问题.我已经看过很多关于这个主题的讨论,但我无法找到解决我所面临的问题的方法. 基本上,我试图使用
我正在使用带有 Ruby 1.9.3的Capybara 2.1使用selenium驱动程序(使用Minitest和测试单元)来测试Web应用程序.

我正在努力解决StaleElementReferenceException问题.我已经看过很多关于这个主题的讨论,但我无法找到解决我所面临的问题的方法.

基本上,我试图使用以下代码在我的页面上找到所有分页元素:

pagination_elements = page.all('.pagination a')

然后我在这些元素上做一些断言,比如:

pagination_elements.first.must_have_content('1')

在这些断言之后,我通过单击Next Page链接继续测试,以确保我未来的第一个分页元素将是Previous Page.
要做到这一点,我再次检索分页元素:

new_pagination_elements = page.all('.pagination a')

而且Stale Error正在这里发生,因为我已经达到了我已经达到过的元素. (Here is the error)

您可以看到链接状态here.

我真的不知道如何使这个常见的测试工作正常.
你有更好的方法来达到我的分页元素吗?

解决方法

我有时会遇到一些AJAX密集型页面的问题,在我的例子中,这个解决方法解决了这个问题:

begin
  ...
rescue Selenium::WebDriver::Error::StaleElementReferenceError
  sleep 1
  retry
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读