一旦我们启动了watin测试程序并且IE打开并且自动化正在进行中,是否有任何方法可以中断该过程?
或者 当我们在线程环境中实现watin时,有没有办法让线程运行的信息,我们可以终止该线程?
让我们说我们已经开始测试网站1,网站2和网站3的线程,所以如果我们想要停止对网站1的自动化测试,我应该打断它并让它停在任何地方。
答案 0 :(得分:2)
您可以使用Browser.Close然后捕获异常System.Runtime.InteropServices.COMException
我的意思是你可以做到
public class Test
{
public void Main()
{
// Create the three browser.
Browser browser1 = new Browser();
Browser browser2 = new Browser();
Browser browser3 = new Browser();
// Start the test.
new Thread(() => doTest(test1, browser1)).Start();
new Thread(() => doTest(test2, browser2)).Start();
new Thread(() => doTest(test3, browser3)).Start();
// interrupt test 1
browser1.Close();
}
private doTest(Action<Browser> test, Browser browser)
{
try
{
// do the test
test(browser);
}
catch (System.Runtime.InteropServices.COMException)
{
// test was interrupted
}
}
private void test1(Browser browser)
{
}
private void test2(Browser browser)
{
}
private void test3(Browser browser)
{
}
}