我正在尝试创建一个函数,以便在测试结束时获得selenium中的屏幕快照。我正在传递3个参数“测试结果”、“消息”、“真/假”,供用户决定是否打印。
但是,在执行函数调用时,它不会将打印从屏幕上取出,它使用执行的步骤生成HTML,但是没有打印。
函数
public void escreveRelatorio(boolean status, String msg, boolean printScreen) {
scenario.write(msg);
if(printScreen) {
scenario.embed(((TakesScreenshot)driver).getScreenshotAs(OutputType.BYTES), "image/png");
}
if(status == false) {
Assert.fail(msg);
}
}函数在测试过程中调用.
generic.escreveRelatorio(false, "O número de confirmação foi gerado: " + num, true);或
public void validaNumeroConfirmacao() {
String num = generic.obterTexto(lblConfirmationNumber).substring(23);
if(!num.equals("1")){
generic.escreveRelatorio(false, "O número de confirmação foi gerado: " + num, true);
} else {
generic.escreveRelatorio(true, "O número de confirmação foi gerado: " + num, true);
}
}我做错什么了?
发布于 2020-03-09 12:06:48
上面的例子的问题是,您没有指定屏幕截图应该保存的位置。
getScreenshotAs()将返回byte[],但您不会对它做任何事情。
File scrfile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrfile, new File("/screenshot/SomeUniqueName.png"));https://stackoverflow.com/questions/60583123
复制相似问题