0

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

我想同时打开几个 URL,然后同时单击每个 URL 中的一个按钮。

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

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

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

4

2 回答 2

1

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

您需要打开两个浏览器。

例如:

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

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

于 2013-10-29T13:25:13.607 回答
0

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

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

于 2013-11-12T14:27:52.493 回答