【问题标题】:How to open private and normal window together in selenium webdriver with Java?如何使用 Java 在 selenium webdriver 中同时打开私有和普通窗口?
【发布时间】:2021-09-12 13:32:58
【问题描述】:

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

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

【问题讨论】:

    标签: java selenium selenium-webdriver webdriver selenium-chromedriver


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢@gazzo。但是如何将这两个浏览器一起使用。像我可以根据脚本使用相同的驱动程序切换浏览器吗?
    • 我从未尝试过,但我想你可以在同一个测试用例中实例化两个不同的驱动程序(一个带有隐身选项),并使用它们来实现你想要的
    【解决方案2】:

    要打开新标签,您可以这样做:

    ((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");
    

    【讨论】:

    • 嗨@cruisepandey,我想打开新窗口而不是标签,如问题中所述
    猜你喜欢
    • 2019-03-06
    • 1970-01-01
    • 2012-12-24
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    相关资源
    最近更新 更多