有没有办法如何使用IEDriverServer在InPrivate模式下在Internet Explorer 9中运行Selenium自动化测试?
我需要测试2个(两个)测试用例:
1.浏览器已关闭。打开IE InPrivate模式的一个窗口。运行测试。
2.浏览器在正常模式下打开。打开IE InPrivate模式的新窗口。运行测试。
JAVA代码应如何查找此测试? 谢谢
答案 0 :(得分:10)
public void openBrowserInPrivacyMode(boolean isBrowserActive) {
System.setProperty("webdriver.ie.driver", "path/to/IEDriverServer_x32.exe");
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, true);
сapabilities.setCapability(InternetExplorerDriver.IE_SWITCHES, "-private");
InternetExplorerDriver driver = new InternetExplorerDriver(capabilities);
答案 1 :(得分:1)
@罗马的解决方案is now deprecated。
执行此操作的新方法如下:
InternetExplorerOptions ieOptions = new InternetExplorerOptions();
ieOptions.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, true);
ieOptions.addCommandSwitches("-private");
InternetExplorerDriver driver = InternetExplorerDriver(ieOptions));
此外,在设置TabProcGrowth注册表值之前,我在执行此操作时遇到了问题。在执行此操作之前,我遇到以下异常:
org.openqa.selenium.SessionNotCreatedException: Unexpected error launching Internet Explorer.
Unable to use CreateProcess() API. To use CreateProcess() with Internet Explorer 8 or higher,
the value of registry setting in
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth must be '0'.
我在Windows 10和Selenium 3.14中遇到了这种情况。奇怪的是,还为我设置了TabProcGrowth值fixed this。