代码之家  ›  专栏  ›  技术社区  ›  pburgr

硒铬驱动器不能正确关闭

  •  0
  • pburgr  · 技术社区  · 7 年前

    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();}
    

    二进制文件:

    建设编号:20180405-1200

    chromedriver.exe 2.42版

    JDK 8u151型

    铬69.0.3497.100

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

    1 回复  |  直到 7 年前
        1
  •  0
  •   pburgr    7 年前

    这是谷歌Chrome 69中的一个明显缺陷。在版本70和71中工作 driver.close();driver.quit(); 很好。