我有一个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
有谁知道这种行为的原因是什么?
答案 0 :(得分:0)
in ""
错误消息往往意味着三件事之一
您使用了错误的iframe - 如果该网页只有一个iframe
iframe实际上没有内容 - 打印出iframe中的page.html
尚未加载iframe - 检查驱动程序网络流量以查看该网页是否实际加载,并确保iframe正在加载的网址实际可以访问
我猜另外一个选择可能是你在Jenkins上运行的不同版本的PhantomJS比在本地运行(并且在你的页面/框架中使用旧版本不支持的东西),但我认为你已经检查过了。