我得到的不是Watir和rspec一起找到我的文字。 以下代码会导致此错误。
browser.text.include?("Coverberechnung").should == true
expected: true got: false (using ==)
Using should from rspec-expectations' old :should syntax
without explicitly enabling the syntax is deprecated. Use the new
:expect syntax or explicitly enable :should instead. Called from
也许我可以帮忙
答案 0 :(得分:3)
您正在寻找一个最初大写的字符串(即 Coverberechnung ),但该字符串在测试网站上全部大写(即 COVERBERECHNUNG )。
尝试:
browser.text.include?("COVERBERECHNUNG").should == true
或(使用expect语法)
expect(browser.text.include?("COVERBERECHNUNG")).to be true
答案 1 :(得分:1)
我更喜欢使用
expect(browser.text).to include('coverberechnung')
答案 2 :(得分:0)
如果我想对案件漠不关心,我会做这样的事情:
browser.text.upcase.include?("COVERBERECHNUNG").should == true
或
browser.text.downcase.include?("coverberechnung").should == true
通过这种方式,您可以避免文本比较,这可能会有不同的情况。
也为你最后一个问题#3: 使用
expect(browser.text.downcase.include?("coverberechnung")).to be true
他们不久前弃用了那个版本。所以你可以尝试一下这个问题。
注意:只有一点需要注意,这会忽略大小写。如上所述。
答案 3 :(得分:0)
或者您可以执行以下操作:
fail unless @browser.text.include? 'COVERBERECHNUNG'
或者,如果您想要定位该确切字符串,则可以执行以下操作:
@browser.h1(text: 'COVERBERECHNUNG').wait_until_present
此代码将在30秒后引发异常(因此,在此过程中未通过测试),如果找不到带有文字的标题元素:' COVERBERECHNUNG'。您还可以通过执行以下操作来覆盖等待或轮询过程:
@browser.h1(text: 'COVERBERECHNUNG').wait_until_present(10)
该代码将在10秒内检查h1元素。