我的用例是测试聊天应用程序。验证用户 A 从普通窗口发送消息并验证用户 B 在隐身模式下是否成功收到消息。
如果在新选项卡或窗口中打开相同的内容,则相同的登录将在新选项卡或窗口中应用。所以我希望它以隐身模式打开。
这里的问题是不同的,他如何在同一运行中打开两个窗口(第一个正常窗口和第二个隐身窗口)。当他只有一个执行许可证时,这也适用于远程 browserStack 执行
如果您需要在隐身模式下打开新的 chrome 驱动程序,您可以在 java 中这样做:
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--incognito"));
WebDriver driver = new ChromeDriver(capabilities);
要打开新选项卡,您可以这样做:
((JavascriptExecutor) driver).executeScript("window.open()");
打开后记得切换到它:
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
现在您可以访问新选项卡了。
更新1:
有这个快捷方式:
CTRL + N
WebElement body = driver.findElement(By.tagName("body"));
body.sendKeys(Keys.CONTROL + "n");