AUT には、上部のナビゲーション バーに沿ってリンクがあります。通常の使用中、各リンクは関連するアプリケーションを別のブラウザで開きます。
新しいアプリケーションで単純なページ タイトル アサーションを実行してから、AUT に戻って次のリンクをクリックすることはできますか? リンクごとに?
テストでは、リンク ターゲットが新しいブラウザで開くか、新しいタブで開くか、同じタブで開くかは問題ではないと思います。AUT と「他の」アプリケーションの間を行き来できる限り。
AUT には、上部のナビゲーション バーに沿ってリンクがあります。通常の使用中、各リンクは関連するアプリケーションを別のブラウザで開きます。
新しいアプリケーションで単純なページ タイトル アサーションを実行してから、AUT に戻って次のリンクをクリックすることはできますか? リンクごとに?
テストでは、リンク ターゲットが新しいブラウザで開くか、新しいタブで開くか、同じタブで開くかは問題ではないと思います。AUT と「他の」アプリケーションの間を行き来できる限り。
サンプルの 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
「単純なページ タイトル アサーション」を行うという点では、ページ タイトルを事前に知る方法がわかりません。しかし、アサーション ライブラリについては、 MiniTestまたはrspecを調べることをお勧めします。
最後に、ユースケースでウィンドウ切り替えが必要な場合は、watir-webdriver window-switching documentationを確認してください。
私は答えを見つけました。部分的なコードは次のとおりです。
@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