我正在打开 Chrome 浏览器,并收到异常"InvocationTargetException"
。几天前代码运行正常。这是我的代码
System.setProperty("webdriver.chrome.driver","D:\\Automation\\chromedriver_win32\\chromedriver.exe");
driver=new ChromeDriver();
在行"driver=new ChromeDriver();"
我正在得到"InvocationTargetException"
例外
调用目标异常
调用目标异常是一个受检查的异常,它包装由调用的方法或构造函数引发的异常。通过反射调用方法,这是一个额外的抽象级别。反射层将任何异常包装在InvocationTargetException
。在构建时提供并通过访问的“目标异常”getTargetException()方法现在被称为原因,并且可以通过Throwable.getCause()方法,以及前面提到的“传统方法”。
Solution
最好的方法是unwrap内的原因InvocationTargetException
获取原始异常。
try {
System.setProperty("webdriver.chrome.driver","D:\\Automation\\chromedriver_win32\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
} catch (InvocationTargetException e) {
// the real cause
e.getCause().printStackTrace();
} catch (Exception e) {
// generic exception handling
e.printStackTrace();
}
最佳实践
根据最佳实践,请遵循以下准则:
- Upgrade Chrome驱动程序至当前ChromeDriver v74.0.3729.6 level.
- Keep Chrome版本位于铬 v74水平。 (根据 ChromeDriver v74.0.3729.6 发行说明)
- 执行你的
@Test
as non-root user.
- 始终调用
driver.quit()
within tearDown(){}
方法关闭并销毁网络驱动程序 and 网页客户端优雅地实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)