我正在使用selenium但是在使用c#运行测试时我无法使用IE浏览器
我写的代码
IWebDriver driver;
[TestFixtureSetUp]
public void setup()
{
driver = new InternetExplorerDriver(@"path of ie driver");
}
我做错了
2 个答案:
答案 0 :(得分:0)
删除功能INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS并手动将IE保护模式设置设置为对所有区域都相同。
来源:
http://jimevansmusic.blogspot.com/2012/08/youre-doing-it-wrong-protected-mode-and.html
在Selenium WebDriver中实现InternetExplorerDriver期间发生NoSuchElementException
答案 1 :(得分:0)
您需要配置IE安全设置,有关链接https://code.google.com/p/selenium/wiki/InternetExplorerDriver
的更多详细信息
此外,另一个提示是仅使用32位IED驱动程序(即使在64位计算机上),因为64位驱动程序非常慢。
以下是摘录:
- 必须下载IEDriverServer exectuable并将其放入PATH。
- 在Windows Vista或Windows 7上的IE 7或更高版本中,必须将每个区域的保护模式设置设置为相同的值。只要每个区域的值相同,该值就可以打开或关闭。要设置保护模式设置,请从“工具”菜单中选择“Internet选项...”,然后单击“安全”选项卡。对于每个区域,标签底部将显示一个标记为“启用保护模式”的复选框。
- 此外,必须为IE 10及更高版本禁用“增强保护模式”。此选项位于“Internet选项”对话框的“高级”选项卡中。
- 浏览器缩放级别必须设置为100%,以便可以将本机鼠标事件设置为正确的坐标。
- 仅对于IE 11,您需要在目标计算机上设置一个注册表项,以便驱动程序可以维护与其创建的Internet Explorer实例的连接。对于32位Windows安装,您必须在注册表编辑器中检查的密钥是HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE。对于64位Windows安装,密钥为HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE。请注意,FEATURE_BFCACHE子项可能存在也可能不存在,如果不存在,则应创建该子项。要点:在此项中,创建名为iexplore.exe的值为0的DWORD值。