2011-09-16 4 views
0

私はクリックイベントを実行して開いたページのURLアドレスを取得する必要があります。Watinテストフレームワークでリンクuriを取得する方法

リンクはJavaScriptであったようにそれが正常に動作し、それがポップアップを開き、今私は、このポップアップ のURLを持ちたいURLアドレスをつかむためにどのような方法があります。..

答えて

0

あなたはIEを使用することができます.InternetExplorersコレクション。

:あなたはURLがどうあるべきかのアイデアを持っている場合は、正しいIEのインスタンスを見つけるために正規表現を使用して、開いているすべてのIEウィンドウ

foreach (IE currIE in IE.InternetExplorers()) 
{ 
    Console.WriteLine("URL: " + currIE.Url); 
} 

のURLを書き出すには、まっすぐ進むうまくいけばです。ポップアップのURLが何であるかわからない場合は、ポップアップを開く前にURLのリストを作成し、ポップアップを開いて新しいリストを古いリストと比較して、新しく開いたURLを調べることができます。

編集:また、URLを知ったら、AttachToメソッドを使用して、新しく見つかったウィンドウを操作します。続きを読む:http://watinandmore.blogspot.com/2010/01/browserattachto-and-iattachto.html

上記はNUnitとWatin 2.0です。それは、ポップアップを開き、URLを取得するには大丈夫であれば

+0

ポップアップを特定するための何かを知っていれば(例:URLまたはタイトルのregexなど)、AttachTo as Ashishショーで使用できます。ポップアップを特定する方法がわからない場合、コレクションは私が知っている方法であり、残念なことに少なくともWatin 2.0ではIEオブジェクトのためにしか利用できません。 – OCary

+0

ありがとう、私は年齢以来、このポストを探していた、それは魅力のように働いた.. –

0

は、このメカニズムはあなたのために働くかもしれない:

Link ReportsLink = browserinstance.Link(Find.ById("ctl00_NavigationTab_tabLink5")); 
ReportsLink.Click(); 
Browser newbrowser = Browser.AttachTo(browserinstance.GetType(), Find.ByTitle("BusinessObjects InfoView")); 
string url = newbrowser.Url; 
newbrowser.Close(); 
+0

私はポップアップページのIDがあれば動作しますが、私の場合は、私がテストとして知る方法はありません私はすべてのサイト(自動化されたテスト)で作業する必要がありますビルドする必要があります...どのようにあなたのお返事ありがとう、それは別のケースでは有用です..... –

0

をこのヘルプあなたかもしれませ。

string Current_Url= HttpContext.Current.Request.Url.Host; 
+0

私はどのように問題を解決した –