gpt4 book ai didi

java - 使用 Java 在 Selenium 中进行屏幕截图不起作用

转载 作者:行者123 更新时间:2023-12-02 08:54:18 28 4
gpt4 key购买 nike

我正在尝试创建一个函数来在测试结束时在 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);
}

}

我做错了什么?

最佳答案

上面示例的问题是您没有指定屏幕截图的保存位置。

您的 getScreenshotAs() 将返回 byte[],但您没有对其执行任何操作。

File scrfile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);    
FileUtils.copyFile(scrfile, new File("/screenshot/SomeUniqueName.png"));

关于java - 使用 Java 在 Selenium 中进行屏幕截图不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60583123/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com