停止Watin测试程序

时间:2011-01-02 20:13:25

标签: watin

一旦我们启动了watin测试程序并且IE打开并且自动化正在进行中,是否有任何方法可以中断该过程?

或者 当我们在线程环境中实现watin时,有没有办法让线程运行的信息,我们可以终止该线程?

让我们说我们已经开始测试网站1,网站2和网站3的线程,所以如果我们想要停止对网站1的自动化测试,我应该打断它并让它停在任何地方。

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)
    {
    }
}