如何断言新browseris中另一个应用程序的链接是否正确?

时间:2013-10-14 15:59:46

标签: watir watir-webdriver

AUT在顶部导航栏中有链接。在正常使用期间,每个链接都会在不同的浏览器中打开相关的应用程序。

是否可以在新应用程序上执行简单的页面标题断言,然后返回AUT并单击下一个链接?等等每个链接?

对于测试,我认为链接目标是在新浏览器,新选项卡还是相同选项卡中打开并不重要。只要我可以在AUT和“其他”应用程序之间前后跳转。

2 个答案:

答案 0 :(得分:0)

如果没有样本HTML,这在黑暗中有点像。但是 - 假设有一个独特的属性可以挂钩 - 你可以从导航div收集链接并迭代每个链接。这是一个简单,人为的例子(链接不会产生新的浏览器/标签):

b = Watir::Browser.new
b.goto("http://www.iana.org/domains")

nav_link_hrefs = b.div(:class, "navigation").links.collect { |link| link.href}

nav_link_hrefs.each do |href|
  next if href == "http://www.iana.org/domains" # skip self-referential link
  b.link(:href => href).click
  b.back
end

在进行“简单页面标题断言”方面,我不确定你如何提前知道页面标题。但我建议调查MiniTestrspec以获取断言库。

最后 - 如果您的用例需要窗口切换 - 请查看watir-webdriver window-switching documentation

答案 1 :(得分:0)

我找到了答案。这是部分代码:

@browser.goto URL
current_url = @browser.url
new_window_url = @browser.link(:text, "Other site").href
@browser.goto(new_window_url)
# test the other site
assert(@browser.text.include?("This is the other site"))
@browser.goto(current_url) # back to the first site
# repeat for all the other navigation links