Watir Check Text存在

时间:2014-06-12 15:59:40

标签: ruby rspec watir watir-webdriver assertion

我得到的不是Watir和rspec一起找到我的文字。 以下代码会导致此错误。

  1. 码:browser.text.include?("Coverberechnung").should == true
  2. 错误1:expected: true got: false (using ==)
  3. 错误2: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
  4. 也许我可以帮忙

    网站的网址:enter link description here

4 个答案:

答案 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元素。