Selenium:浏览器保持打开状态,即使它应该关闭

问题描述 投票:0回答:1
public class MS848Steps {
    WebDriver driver;

    @Given("Website is live and available")
    public void website_is_live_and_available() {
        System.out.println("Website is live and available!");
    }

    @When("Website works on Firefox")
    public void website_works_on_firefox() {
        driver = new FirefoxDriver();
        driver.get("https://demowebshop.tricentis.com/");
        System.out.println("Website works on Firefox!");
    }

    @And("Website works on Chrome")
    public void website_works_on_chrome() {

        ChromeOptions options = new ChromeOptions();
        options.addArguments("--remote-allow-origins=*");

        driver = new ChromeDriver(options);
        driver.get("https://demowebshop.tricentis.com/");
        System.out.println("Website works on Chrome!");
    }

    @And("Website works on Edge")
    public void website_works_on_edge() {
        driver = new EdgeDriver();
        driver.get("https://demowebshop.tricentis.com/");
        System.out.println("Website works on Edge!");
    }

    @Then("Website works on every browser")
    public void website_works_on_every_browser() {
        System.out.println("Website works on every Browsers!");
    }
    @After
    public void tearDown() {
        if (driver != null) {
            driver.quit();
        }
    }
}

如果我执行以下代码,Chrome 和 Firefox 浏览器保持打开状态。我也试着放一个 driver.close();和 driver.quit();每个浏览器打开后。但没有任何帮助。即使是 ChatGBT 也帮不了我。

java selenium-webdriver webdriver cucumber bdd
1个回答
0
投票

问题是您对所有三种方法使用相同的变量名。最后一次声明驱动程序变量将是退出的那个。您应该为每个浏览器分别命名驱动程序,例如“chomreDriver”,然后全部退出。

© www.soinside.com 2019 - 2024. All rights reserved.