5

Webkit 対応のブラウザー (Google Chrome、Safari) でのみレンダリングされる Web サイトがあります。Windows 7 を使用しているため、Google Chrome を使用しています。

同じことを自動化するために Watir-WebDriver を使用しています。

問題: ブラウザ ウィンドウのボタンをクリックすると、別のウィンドウが起動し、クリック後のコンテンツが新しいブラウザ ウィンドウにレンダリングされます。テストを続行するには、この新しいブラウザ ウィンドウを識別できる方法が必要です。さまざまなフォーラムを読んでいますが、特定の回答/解決策が得られません。

Q: Watir-Webdriver では attach がサポートされていないため、watir-webdriver の watir::ie.attach に代わるものはありますか?

サンプルコード:

require "rubygems"

require "watir-webdriver"


require "selenium-webdriver"

b = Watir::Browser.new(:chrome)

website = "http://xyz.com"

#a new browser is launched and the website is opened

b.goto(website)

#this opens a new browser window

b.link(:xpath,"/html/body/div/ul/li/a").click

#there is a button called "MAP" on the new browser window

b.link(:id,"btn_MAP")

#this gives an error, unknown link
4

3 に答える 3

7

「window」メソッドは、ie.attach の代替手段です。Webdriver は、window メソッドを使用して、自身で開いたウィンドウを処理できます。

b.link(:href,/server\/getPage/).click
b.window(:url,/server\/getPage/i).use do
  b.link(:id,"btn_MAP").click
end

ウィンドウメソッドブロックでポップアップウィンドウを処理できます。ポップアップされたウィンドウを引き続き処理したい場合は、window(:url,/foobar/).use のようにブロックなしで使用します。

参照: http://groups.google.com/group/watir-general/browse_thread/thread/232df221602d4cfb

于 2011-04-27T04:19:29.790 に答える
2

@ユタカ:次のようなものを使用するように導いてくれたすべての助けに感謝し、うまくいきました!

b.link(:xpath,"/html/body/div/ul/li/a").click

c = b.window(:url,"http:\/\/server\/getPage\/67\/1354")

c.使用

b.link(:id,"btn_MAP").click

于 2011-05-03T12:31:30.223 に答える
0

ウェブサイトをブラウザのデフォルトのホームページにしようとしましたか?

これにより、アタッチを行う必要がなくなる可能性があります。

于 2011-04-26T21:43:24.783 に答える