我正在使用chromedriver和Java运行自动Web测试。为了能够在Chrome中使用扩展程序,我使用了现有的浏览器配置文件。从那时起,我一直在经历以下事情:
我正在关闭浏览器和驱动程序:
@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
有没有更好的方法关闭浏览器和驱动程序?
答案 0 :(得分:0)
这可能是Google Chrome 69中的错误。在70和71版本中,driver.close();driver.quit();
可以正常工作。