作者:手机用户2502869943 | 来源:互联网 | 2023-02-01 21:24
为什么SeleniumInternetExplorerDriverWebdriver在调试模式下非常慢(visualstudio2010和IE9)我正在使用SeleniumHq站点
为什么Selenium InternetExplorerDriver Webdriver在调试模式下非常慢(visual studio 2010和IE9)
我正在使用SeleniumHq站点中的示例代码 – 但在调试模式下,性能非常糟糕。
在发布模式下,整个测试大约需要6秒钟(包括启动和关闭IE)在调试模式下需要65秒?
示例代码只是:
[Test] public void testBrowser() { // Do something here IWebDriver driver = new InternetExplorerDriver(); //Notice navigation is slightly different than the Java version //This is because 'get' is a keyword in C# driver.Navigate().GoToUrl("http://www.google.com"); IWebElement query = driver.FindElement(By.Name("q")); query.SendKeys("Cheese"); System.Console.WriteLine("Page title is: " + driver.Title); // TODO add wait driver.Quit(); }
我在ie8中尝试过它,并且具有相同的性能。 Firefox很好 – 但我的客户使用IE,所以我坚持测试它。 另外 – 如果我使用Selenium RC,我也没有同样的问题。
注意 – 我正在使用.Net 4和webDriver.dll的最新版本(2.16)(在64位Windows 7机器上运行)
对我来说,修复是从https://code.google.com/p/selenium/downloads/list切换到32位版本的InternetExplorerDriver.exe
现在看似名为IEDriverServer
,但如果您只是将其重命名为InternetExplorerDriver.exe
,则可以正常工作。
检查’prefer 32 bit’未在构建属性中检查。 如果是,并且您正在使用64位IE驱动程序,它将像哮喘蜗牛一样运行。
使用C#,NUnit,C#webdriver客户端和IEDriverServer,我最初遇到输入速度慢的问题(例如,将密钥发送到输入框需要大约5秒钟的密钥,或点击按钮同样的延迟)。
然后,在阅读此线程后,我切换到32位IEDriverServer,这似乎解决了这个问题。
但是今天我正在尝试使用InternetExplorerOptions对象,以便根据此文档在IE上设置一些选项:
https://code.google.com/p/selenium/wiki/InternetExplorerDriver
根据文档,我创建了值为0的注册表值HKCU Software Microsoft Internet Explorer Main TabProcGrowth,以便使用ForceCreateProcessApi = true和BrowserCommandLineArguments =“ – private”。
在这之后,我注意到缓慢输入的问题又回来了。 我对我的代码进行了一些更改,但在将所有这些更改回来后,问题仍然存在。 但是,当我删除上述注册表项时,输入恢复到全速(无延迟)。
上述就是C#学习教程:为什么Selenium InternetExplorerDriver Webdriver在调试模式下非常慢(visual studio 2010和IE9)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记