你如何利用Browser.Exists?

时间:2012-04-17 15:05:45

标签: c# watin

我一直在编写WatiN测试,我想开始为我的所有测试使用相同的浏览器实例,但我仍然希望能够在需要时单独运行一个测试。因此,我想做一个条件声明,基本上说,如果有一个浏览器实例已经指向正确的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");
}

但是,我无法弄清楚正确的语法。

1 个答案:

答案 0 :(得分: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的新实例时,我都创建了一个调用方法。此方法查看是否打开了一个窗口,其中显示了我提供的标题,如果是,则使用该窗口而不是打开新的浏览器实例。否则,它会打开一个实例并从那里运行我的测试。