我正在使用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();
}
问题是只打开了一个浏览器。
答案 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和第二个浏览器,因为它们尚未打开且没有关闭,你有什么想法呢?