Selenium chromedriver无法正确关闭

时间:2018-10-09 08:05:29

标签: java selenium-chromedriver

我正在使用chromedriver和Java运行自动Web测试。为了能够在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释放(4.7.3a) 版本号:20180405-1200

chromedriver.exe 2.42

JDK 8u151

Chrome 69.0.3497.100

有没有更好的方法关闭浏览器和驱动程序?

1 个答案:

答案 0 :(得分:0)

这可能是Google Chrome 69中的错误。在70和71版本中,driver.close();driver.quit();可以正常工作。