【发布时间】:2019-07-22 18:30:46
【问题描述】:
我正在尝试编写一个在测试失败时截取屏幕截图的 selenium 代码。
这是在 Listeners 类中编写的。
@Override
public void onTestFailure(ITestResult result) {
// TODO Auto-generated method stub
System.out.println("***** Error " + result.getName() + " test has failed *****");
ITestContext context = result.getTestContext();
WebDriver driver = (WebDriver) context.getAttribute("driver");
TakesScreenshot ts = (TakesScreenshot)driver;
File src = ts.getScreenshotAs(OutputType.FILE);
System.out.println(src.getAbsolutePath());
try {
FileHandler.copy(src, new File("./Screenshots/OnboardingTestFailed.png"));
System.out.println("Screenshot taken");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我面临的问题是线路 文件 src = ts.getScreenshotAs(OutputType.FILE);
这个语句正在抛出 NullPointerException。
谁能帮我解决这个问题?
【问题讨论】:
-
您确定 WedDriver 已正确初始化吗?似乎它为空,因此异常。
-
正确,WebDriver 未正确初始化。你能指导如何将我的测试中的驱动程序对象从另一个类中传递给这个 Listeners 类
-
@AAINAARORA,嗨。在下面提供响应,其中包含代码 sn-p。希望对您有所帮助。
标签: java selenium screenshot