我无法启动IE浏览器来运行用C#编写的selenium自动化测试。
我知道问题是我没有将安全设置设置为相同级别。
我也知道解决这个问题的方法通常是在IE安全选项卡中为所有区域选择相同的安全级别。但我的工作使我无法使用安全选项卡。有没有人知道另一个解决这个问题的工作?
//Start Opening browser
DesiredCapabilities caps = DesiredCapabilities.InternetExplorer();
caps.SetCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
driver = new InternetExplorerDriver(caps);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(this.baseURL);
提前谢谢!
答案 0 :(得分:0)
是的,您可以使用Selenium WebDriver的DesiredCapabilities类
来完成//将IE驱动程序的功能设置为忽略所有区域浏览器保护模式设置。
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
//使用新功能初始化InternetExplorerDriver实例。
WebDriver driver = new InternetExplorerDriver(caps);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
希望相同的代码适合您。
答案 1 :(得分:0)
找到解决方案。除了忽略保护模式设置,我还忽略缩放设置,点击不起作用,所以我也忽略了原生事件。
这是新代码:
var options = new InternetExplorerOptions()
{
InitialBrowserUrl = baseURL,
IntroduceInstabilityByIgnoringProtectedModeSettings = true,
IgnoreZoomLevel = true,
EnableNativeEvents = false
};
driver = new InternetExplorerDriver(options);
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(this.baseURL);