gpt4 book ai didi

java - driver.close() 终止测试

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:37 24 4
gpt4 key购买 nike

我使用selenium WebDriver。我正在尝试运行以下场景。

我启动了一个网址,我想添加一个条件,如果有任何网址打开而不是我想要的,我想关闭它。

以下是我的代码,我将在下面解释它发生了什么。

if (config.getProperty("browser").equals("Chrome"))
{
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("disable-infobars");
options.addArguments("--start-maximized");
driver = new ChromeDriver(options);
selectServer();
String currentURL = driver.getCurrentUrl();
if (currentURL != config.getProperty("production") || currentURL != config.getProperty("staging") || currentURL != config.getProperty("development"))
{
Thread.Sleep(10000); //for Debugging purpose
driver.close();
}
}

我有一个 config.properties 文件,我在其中设置浏览器/服务器选择。

现在发生的是,当我启动测试时,chrome 会启动并且:

  1. Chrome 设置窗口打开,要求我恢复默认设置。 (显示窗口)

  2. 我想要的网址打开。 (隐藏)

当我运行测试时,测试通过了,但 Chrome 设置窗口没有关闭。我尝试打印当前 URL ,它返回生产服务器 URL,这是我想要的 URL,但显示的浏览器窗口不是我的生产 URL。

最佳答案

根据您在评论中的回复,我认为您需要切换到“设置”选项卡,关闭该选项卡,然后切换回原始选项卡。下面的代码应该可以做到这一点:

public static void closeBrowserTab() {
String originalHandle = driver.getWindowHandle();
for (String handle : driver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
driver.switchTo().window(handle);
driver.close();
break;
}
}
driver.switchTo().window(originalHandle);
}

关于java - driver.close() 终止测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48909560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com