我正在进行Selenium测试并需要为浏览器收集CPU和内存信息:
Process.GetProcessesByName(TheBrowserName)
然而,这将从我的普通铬和Selenium chromedriver获得CPU和内存信息,因为他们的名字都被称为" CHROME
"。
因此,这个问题,我可以区分Selenium chromedriver和我的普通铬。谢谢。
答案 0 :(得分:2)
如果您在测试期间不打算手动打开任何镀铬窗口,那么您可以在创建驱动程序时创建DateTime driverInitTime = DateTime.Now;
。
运行Process.GetProcessesByName("chrome");
后,Selenium创建的所有实例都会有StartTime
DateTime大于(>)
driverInitTime。
DateTime driverInitTime = DateTime.Now;
Website website = new Website(new ChromeDriver("driver path if needed"));
Process[] chromeBrowsers = Process.GetProcessesByName("chrome");
Process[] seleniumBrowsers = new Process[chromeBrowsers.Length];
int index = 0;
foreach(Process browser in chromeBrowsers) {
if(browser.StartTime > driverInitTime)
{
seleniumBrowsers[index] = browser;
index++;
}
}