资源:C#、Selenium 3.5、NUnit、Windows、VS17
我想在开始测试执行之前杀死所有以前的浏览器(让我们现在使用 chrome.exe)窗口以及 chromedriver.exe。
我知道这个命令
Taskkill /IM chrome.exe /F
或者
Taskkill /IM chromedriver.exe /F
但我不确定如何在 Selenium - C# 中使用/实现。
如果我在 init 之前运行,下面的代码似乎不起作用:
//we can give any process name to handle this
Process[] chromeDriverProcesses = Process.GetProcessesByName("chromedriver");
foreach (var chromeDriverProcess in chromeDriverProcesses)
{
// that's how we can kill all chromedriver
chromeDriverProcess.Kill();
}
我想做这个清理的原因是因为我想用 Jenkins 和其他虚拟机运行它,我们看到了一些问题。如果我们在执行前杀死/清除浏览器/驱动程序,问题可以解决。
如果我们有更好的解决方案来做到这一点,请告诉我。
我正在使用它,直到我得到一个好的解决方案:
if (Settings.BrowserType.Equals(Constant.Chrome))
{
// check chrome driver browser and kill
Process[] chromeAndDriverProcesses = Process.GetProcessesByName("chromedriver");
foreach (var chromeDriverProcess in chromeAndDriverProcesses)
{
chromeDriverProcess.Kill();
}
// check chrome browser and kill
chromeAndDriverProcesses = Process.GetProcessesByName("chrome");
foreach (var chromeDriverProcess in chromeAndDriverProcesses)
{
//chromeDriverProcess.Kill();
}
}
就我尝试而言,这应该有效
System.Diagnostics.ProcessStartInfo p;
p = new System.Diagnostics.ProcessStartInfo("cmd.exe", "/C "+ "taskkill /f /im chromedriver.exe");
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = p;
proc.Start();
proc.WaitForExit();
proc.Close();
请参阅此处了解更多详情
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句