Ruby黄瓜rspec Poltergeist测试无法在iframe中找到文本

时间:2017-11-08 15:26:55

标签: ruby cucumber poltergeist

我有一个Ruby黄瓜poltergeist测试,它在CI Jenkins服务器上运行时经常出现以下错误但在本地运行正常。

expected to find text "Medals table final positions" in "" 
(RSpec::Expectations::ExpectationNotMetError)

此文本位于iframe中,执行此验证的代码是

if page.has_css?("iframe") #Check inside iframe if present
        page.within_frame 0 do
           expect(page).to have_content(text) 
     end   

有谁知道这种行为的原因是什么?

1 个答案:

答案 0 :(得分:0)

in ""错误消息往往意味着三件事之一

  1. 您使用了错误的iframe - 如果该网页只有一个iframe

  2. iframe实际上没有内容 - 打印出iframe中的page.html

  3. 尚未加载iframe - 检查驱动程序网络流量以查看该网页是否实际加载,并确保iframe正在加载的网址实际可以访问

  4. 我猜另外一个选择可能是你在Jenkins上运行的不同版本的PhantomJS比在本地运行(并且在你的页面/框架中使用旧版本不支持的东西),但我认为你已经检查过了。