你如何使用浏览器

本文关键字:浏览器 何使用 | 更新日期: 2023-09-27 18:31:20

我一直在编写 WatiN 测试,我想开始对所有测试使用相同的浏览器实例,但我仍然希望能够在需要时单独运行一个测试。因此,我想做一个有条件的声明,基本上是说,如果已经有一个浏览器实例指向正确的 URl,那么使用它,如果不创建一个新的。问题是我似乎无法让浏览器存在正常工作。理想情况下,我想要这样的东西:

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");
}

但是,我无法找出正确的语法。

你如何使用浏览器

经过大约一个小时的混乱,我终于找到了解决方案。那里的一些答案,包括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的新实例时都要调用。此方法查看是否打开了一个窗口,其中包含我提供的标题,如果是,则利用该窗口而不是打开新的浏览器实例。否则,它会打开一个实例并从那里运行我的测试。