我正在运行集成测试,每次完成测试时我都希望关闭所有PowerPoint实例。目前我的代码似乎只找到当前的PowerPoint进程并关闭它但是在某些情况下我可能会打开2或3个PowerPoints并希望关闭它们。
我的代码如下
为什么它只考虑有一个PowerPoint实例打开的任何想法?
private static WindowsDriver<WindowsElement> PowerPointSession;
var capabilities = new DesiredCapabilities();
capabilities.SetCapability("app", "Root");
PowerPointSession = new WindowsDriver<WindowsElement>(new Uri(AppDriverUrl), capabilities);
PowerPointSession.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
关闭PowerPoint
public static void TearDown()
{
var pro = Process.GetProcessesByName("POWERPNT");
foreach (var item in pro)
{
if (PowerPointSession == null) return;
// Restore original mode before closing down
PowerPointSession.FindElementByName("Close").Click();
PowerPointSession.FindElementByName("Don't Save").Click();
PowerPointSession.Dispose();
}
答案 0 :(得分:2)
如果您没有保存已经完成的任何操作,可以将其终止,如:
var p = Process.Start("taskkill", "/im POWERPNT.exe /f");
p.WaitForExit();