0

私は WatiN テストを作成しており、すべてのテストで同じブラウザー インスタンスを使用したいと考えていますが、必要に応じて 1 つのテストを個別に実行できるようにしたいと考えています。したがって、基本的には、正しい URl を指しているブラウザー インスタンスが既に存在する場合はそれを使用し、そうでない場合は新しいものを作成するという条件付きステートメントを作成したいと考えています。問題は、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");
}

ただし、正しい構文がわかりません。

4

1 に答える 1

1

約1時間いじり回した後、ようやく解決策を見つけました。WatiN の作成者自身からの回答を含むいくつかの回答が、私を間違った方向に導くように思われました。これは、実装が変更され、回答が更新されなかったことが原因である可能性があると思います。とにかく、これは私がそれをした方法です:

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 の新しいインスタンスを初期化するたびに呼び出すメソッドを作成しました。このメソッドは、私が提示したタイトルでウィンドウが開いているかどうかを確認し、開いている場合は、新しいブラウザー インスタンスを開く代わりにそれを利用します。それ以外の場合は、インスタンスを開き、そこからテストを実行します。

于 2012-04-17T20:22:06.250 に答える