我有一个测试方法,需要在测试期间多次打开和关闭 Internet Explorer。我一直在创建这样的过程:
进程进程 = Process.Start(...);
并像这样关闭它:
process.CloseMainWindow();
但是,我发现我只能调用一次该方法,否则会收到错误消息“进程已退出,因此请求的信息不可用”。
关闭进程后,我将重新启动 Internet Explorer。例如
进程 = Process.Start(...);
但这没有用。我还尝试在调用 Process.Start() 方法之前将 Process 变量清空,但这不起作用。
我也尝试使用 process.Kill(),但这也引起了问题。
这样做的正确方法是什么?
更新:代码
Process Browser;
[TestInitialize]
public void TestSetup()
{
Browser = TestBase.LaunchBrowser();
...
Browser.WaitForInputIdle();
Browser.CloseMainWindow();
Browser = null
Browser = Process.Start("IExplore.exe", ...);
}
[TestMethod]
public void MyTest()
{
// do things
Browser.Kill();
Browser = Process.Start("IExplore", "www.adifferentwebpage");
}
[TestCleanup]
public void TestCleanup
{
Browser.Kill();
}