我想在隐身窗口或隐身窗口中测试我的测试用例。
如何在各种浏览器中执行相同操作:
如何实现?
Chrome:
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("incognito");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
FireFox:
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.privatebrowsing.autostart", true);
Internet Explorer:
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, true);
capabilities.setCapability(InternetExplorerDriver.IE_SWITCHES, "-private");
Opera:
DesiredCapabilities capabilities = DesiredCapabilities.operaBlink();
OperaOptions options = new OperaOptions();
options.addArguments("private");
capabilities.setCapability(OperaOptions.CAPABILITY, options);
在Chrome中,您可以尝试在选项中使用-incognito
命令行开关,不确定自动化扩展是否会出现问题,但是值得一试。
ChromeOptions options = new ChromeOptions();
options.addArguments("incognito");
对于FireFox,可以将配置文件中的特殊标志用于此目的>
FirefoxProfile firefoxProfile = new FirefoxProfile(); firefoxProfile.setPreference("browser.private.browsing.autostart",true);
对于IE
setCapability(InternetExplorerDriver.IE_SWITCHES, "-private");
找到页面上的body元素,然后为所需的浏览器触发Key Chord。在下面的示例中,我尝试将浏览器抽象为一个枚举,该枚举概述了[[newTab
public static void OpenBrowser() {
if (Browser.equals("Chrome")) {
System.setProperty("webdriver.chrome.driver", "E:\\Workspace\\proj\\chromedriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("incognito");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(capabilities);
} else if (Browser.equals("IE")) {
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, false);
// if you get this exception "org.openqa.selenium.remote.SessionNotFoundException: " . uncomment the below line and comment the above line
// capabilities.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, true);
System.setProperty("webdriver.ie.driver", "E:\\Workspace\\proj\\IEDriverServer32.exe");capabilities.setCapability(InternetExplorerDriver.IE_SWITCHES, "-private");
driver = new InternetExplorerDriver(capabilities);
} else {
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.privatebrowsing.autostart", true);
driver = new FirefoxDriver(firefoxProfile);
}
public class gettext {
static WebDriver driver= null;
public static void main(String args[]) throws InterruptedException {
//for private window
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions option = new ChromeOptions();
option.addArguments("incognito");
capabilities.setCapability(ChromeOptions.CAPABILITY,option);
System.setProperty("webdriver.chrome.driver", "D:\\Tools\\chromedriver.exe");
driver= new ChromeDriver(capabilities);
String url = "https://www.google.com/";
driver.manage().window().maximize();
driver.get(url);
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
gettextdata();
}
}
FirefoxOptions opts = new FirefoxOptions();
opts.addArguments("-private");
FirefoxDrive f = new FirefoxDriver(opts);