Селеновый хромедривер не закрывается должным образом - PullRequest
0 голосов
/ 09 октября 2018

Я использую chromedriver и Java для запуска автоматических веб-тестов.Чтобы иметь возможность использовать расширения в Chrome, я использую свой существующий профиль браузера.С тех пор я испытываю следующее:

  1. запустить тест на селен с зеленым результатом
  2. открыть Chrome вручную (или запустить какой-либо тест)
  3. получить сообщение об ошибке "Chromeприложение не закрылось должным образом "error in CZ

Я закрываю браузер и драйвер следующим образом:

@AfterClass public static void tearDownClass() {driver.quit();}

Я пробовал:

@AfterClass public static void tearDownClass() {driver.close();}

, но закрывается только браузер, а не драйвер.

После некоторых попыток исправить я имитирую нажатие клавиш CTRL + SHIFT + Q:

package SSO_CWP_APPROVAL;

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;

import org.openqa.selenium.WebDriver;


public class Keyboard_events {

    public static WebDriver driver;
    public Keyboard_events(WebDriver driver) {Keyboard_events.driver = driver;}

    public void ctrl_shift_q() throws AWTException, InterruptedException {
        Robot rob = new Robot();
        rob.keyPress(KeyEvent.VK_CONTROL);
        rob.keyPress(KeyEvent.VK_SHIFT);
        rob.keyPress(KeyEvent.VK_Q);
        rob.keyRelease(KeyEvent.VK_CONTROL);
        rob.keyRelease(KeyEvent.VK_SHIFT);
        rob.keyRelease(KeyEvent.VK_Q);
        Thread.sleep(1000);
    }
}

Спящий режимв этом случае необходимо.Спите меньше времени и получите ошибку снова.

@AfterClass public static void tearDownClass() throws AWTException, InterruptedException {K_events.ctrl_shift_q();driver.quit();}

двоичные файлы:

Версия: Oxygen.3a Release (4.7.3a) Идентификатор сборки: 20180405-1200

chromedriver.exe 2.42

JDK 8u151

Chrome 69.0.3497.100

Есть ли лучший способ закрыть браузер и драйвер?

1 Ответ

0 голосов
/ 05 декабря 2018

Это была ошибочная ошибка в Google Chrome 69. В версии 70 и 71 работает driver.close();driver.quit(); просто отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...