如何用Java在selenium webdriver中同时打开私有窗口和普通窗口?

问题描述 投票:0回答:3

我的用例是测试聊天应用程序。验证用户 A 从普通窗口发送消息并验证用户 B 在隐身模式下是否成功收到消息。

如果在新选项卡或窗口中打开相同的内容,则相同的登录将在新选项卡或窗口中应用。所以我希望它以隐身模式打开。

java selenium selenium-webdriver webdriver selenium-chromedriver
3个回答
0
投票

这里的问题是不同的,他如何在同一运行中打开两个窗口(第一个正常窗口和第二个隐身窗口)。当他只有一个执行许可证时,这也适用于远程 browserStack 执行


-1
投票

如果您需要在隐身模式下打开新的 chrome 驱动程序,您可以在 java 中这样做:

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--incognito"));
WebDriver driver = new ChromeDriver(capabilities);

-1
投票

要打开新选项卡,您可以这样做:

((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");
© www.soinside.com 2019 - 2024. All rights reserved.