使用docker中的Java Bonigarcia WebDriverManager进行录制:
WebDriverManager
.chromedriver()
.enableRecording()
.dockerRecordingOutput("recordings\chrome_25651151651.mp4")
.browserInDocker();
然后在测试失败时,尝试使用以下方法将此视频添加到诱惑:
public class AllureTestLifecycleListener implements TestLifecycleListener {
public void allureVid() {
try {
byte[] byteArr = IOUtils.toByteArray(new FileInputStream("recordings\chrome_25651151651.mp4"));
Allure.addAttachment("attachment name", "video/mp4", new ByteArrayInputStream(byteArr), "mp4");
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void beforeTestStop(TestResult result) {
if (Status.FAILED == result.getStatus() || Status.BROKEN == result.getStatus()) {
allureVid();
}
}
}
但当生成报告时,它看起来像:
enter image description here
我发现这是因为当诱惑附加视频文件来报告时,文件还没有准备好,而且如果附加文件的大小小于本地的真实视频文件。
我注意到的第二件事是,如果我尝试附加先前创建的现有文件,它可以正常工作,并且可以播放视频。
当文件准备就绪时,如何将视频文件添加到报告中?或者如何将链接添加到本地文件?