使用WatiN同时在IE的多个窗口上工作

时间:2013-10-29 11:30:09

标签: c# multithreading watin

我正在使用WatiN来测试我的网站。

我想在同一时间打开几个网址,然后同时点击每个网址中的按钮。

我知道我需要使用多线程来实现它,但我的尝试失败了。

        using (var browser =new IE())
        {

            var th1 = new Thread(() => { browser.GoTo("http://www.google.com"); });
            th1.SetApartmentState(ApartmentState.STA);
            th1.Start();
            var th2 = new Thread(() => { browser.GoTo("http://www.google.com"); });
            th2.SetApartmentState(ApartmentState.STA);
            th2.Start();
        }

问题是只打开了一个浏览器。

2 个答案:

答案 0 :(得分:1)

你只打开一个浏览器,然后“去”两次。你所拥有的就像打开一个浏览器窗口,输入地址栏,然后再次输入相同的地址栏。

您需要打开两个浏览器。

EG:

var firstBrowser = new IE();
var secondBrowser = new IE();
firstBrowser.GoTo("www.google.com");
secondBrowser.GoTo("www.cnn.com");

以上内容是从内存中编写的,因此可能不是100%完全正确,但一般的想法是打开两个可以使用的浏览器。

答案 1 :(得分:0)

所以如果th1和th2开始但是程序崩溃并且两个浏览器仍然在后台打开

再次启动程序时,程序无法定义firstbrowser和第二个浏览器,因为它们尚未打开且没有关闭,你有什么想法呢?