使用watir,我已编写脚本来检查多个链接是否定向到右页,如下所示。
Links= ["Link", "Link1"]
Links.each do |LinkValue|
@browser.link(:text => LinkValue).wait_until_present.click
fail unless @browser.text.include?(LinkValue)
@browser.back
end
我正在尝试的是:
maintaining Linktext in an array
iterating with each linktext
verify
navigate to the previous page to start verifying with next linktext.
但脚本无效。它没有在第一个值之后执行,也没有导航回来。
答案 0 :(得分:0)
以下代码为我工作
require 'watir'
browser = Watir::Browser.new(:firefox) # :chrome also work
browser.goto 'https://www.google.com/'
browser.link(text: 'Gmail').wait_until_present.click
sleep(10)
browser.back
sleep(10)
答案 1 :(得分:0)
您正在调用Kernel::Fail
,如果条件不满足,将引发异常。
在这种情况下,看起来您希望目标页面包含在原始页面上单击的相同链接文本。如果不是这样,那么脚本将引发异常并终止。
这是一个人为的“工作”示例(只有“有效”,因为链接文本存在于原始页面和目标页面上):
require 'watir'
b = Watir::Browser.new :chrome
b.goto "http://www.iana.org/domains/reserved"
links = ["Overview", "Root Zone Management"]
links.each do |link|
b.link(:text => link).click
fail unless b.text.include? link
b.back
end
b.close
一些观察结果:
fail
。您应该调查像Minitest
或rspec
这样的测试框架,它们具有验证应用程序行为的断言方法。snake_case
。