Как избавиться от нового пустого окна Chrome, которое открывается при работе в режиме без головы - PullRequest
0 голосов
/ 26 июня 2019

У меня есть проект автоматизации селен / калибр и использую Java для кода. Однако на моем заводе водителей он настроен на работу без головы; когда я запускаю его, по какой-то причине запускается пустое окно Chrome. Как мне заставить его перестать запускать это окно?

публичный статический WebDriver getDriver () {

    String browser = System.getenv("BROWSER");
    if (browser == null) {
        WebDriverManager.chromedriver().setup();
        DesiredCapabilities capabilities = DesiredCapabilities.chrome();
        capabilities.setJavascriptEnabled(true);
        ChromeOptions options = new ChromeOptions();
        options.addArguments("chrome.switches","disable-extensions", "ignore-certificate-errors", "no-sandbox");
        options.addArguments("--disable-popup-blocking"); //Global driver.switchTo().alert().accept();
        options.addArguments("start-maximized");
        options.addArguments("headless");
        capabilities.setCapability(ChromeOptions.CAPABILITY, options);
        return new ChromeDriver(capabilities);
    }

публичный класс AppLauncher {

public static String APP_URL = System.getenv("APP_URL");

@Step("Launch Qualitrac")
public void launchQualitrac() {
    webDriver.get(AppLauncherObjects.getMapPageNames().get("Qualitrac"));
    assertEquals("Qualitrac", webDriver.getTitle());
}

}

Водитель открытого класса {

// Holds the WebDriver instance
public static WebDriver webDriver;
public static HashMap globalStash;

// Initialize a webDriver instance of required browser
// Since this does not have a significance in the application's business domain, the BeforeSuite hook is used to instantiate the webDriver
@BeforeSuite
public void initializeDriver() {
    webDriver = DriverFactory.getDriver();
    webDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    globalStash = new HashMap<String,String>();
}

// Close the webDriver instance
@AfterSuite
public void closeDriver(){
    webDriver.quit();
}

}

1 Ответ

0 голосов
/ 26 июня 2019

Вы могли бы заменить:

options.addArguments("headless");

С:

options.addArguments("--headless");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...