2012-04-17 12 views
0

私はWatiNテストを書いています。すべてのテストで同じブラウザインスタンスを使用したいと思っていますが、必要な場合には、個別に1つのテストを実行できるようにしたいと考えています。したがって、基本的には、ブラウザインスタンスがすでに存在する場合は、右のUR1を指していて、新しいものを作成しない場合は、それを使用するという条件付きの文を作成します。問題は、Browser.Existsが正しく動作するように見えないことです。しかし、私は右の構文を理解することはできませんどのようにBrowser.Existsを利用していますか?

if(Browser.Exists(Find.ByURL("www.mysite.com")) == true) 
{ 
     var Window = IE.AttachTo<IE>(Find.ByUrl("www.mysite.com")); 
} 
else 
{ 
     IE Window = new IE("http://svrp00008cde/cas/default.aspx"); 
} 

:理想的には私はこのような何かをしたいと思います。

答えて

1

私は最終的に解決策を見いだして約1時間後につまずいた。 WatiN自身のメーカーからの回答を含むいくつかの回答が間違った方法で私を導いていたようです。実装が変更され、その答えが決して更新されなかった可能性があることを私は信じています。 Regaurdless、これは私がそれをした方法です:

public static IE CheckForBrowser() 
     { 
      IE Window; 

      if (Browser.Exists<IE>(Find.ByTitle("My Site!")) == true) 
      { 
       Window = IE.AttachTo<IE>(Find.ByUrl("http://www.mysite.com")); 
      } 
      else 
      { 
       Window = new IE("http://www.mysite.com"); 
      } 

      return Window; 
     } 

IEの新しいインスタンスを初期化するたびに呼び出すメソッドを作成しました。このメソッドは、私が提示したタイトルでウィンドウが開いているかどうかを調べ、それが新しいブラウザインスタンスを開くのではなく、それを利用しているかどうかを調べます。それ以外の場合は、インスタンスを開き、そこからテストを実行します。

関連する問題