0

AUT には、上部のナビゲーション バーに沿ってリンクがあります。通常の使用中、各リンクは関連するアプリケーションを別のブラウザで開きます。

新しいアプリケーションで単純なページ タイトル アサーションを実行してから、AUT に戻って次のリンクをクリックすることはできますか? リンクごとに?

テストでは、リンク ターゲットが新しいブラウザで開くか、新しいタブで開くか、同じタブで開くかは問題ではないと思います。AUT と「他の」アプリケーションの間を行き来できる限り。

4

2 に答える 2

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

「単純なページ タイトル アサーション」を行うという点では、ページ タイトルを事前に知る方法がわかりません。しかし、アサーション ライブラリについては、 MiniTestまたはrspecを調べることをお勧めします。

最後に、ユースケースでウィンドウ切り替えが必要な場合は、watir-webdriver window-switching documentationを確認してください。

于 2013-10-15T00:18:02.280 に答える
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
于 2013-10-15T11:08:37.163 に答える