有什么方法可以控制testNG报告中附加的图像的大小吗?



我一直在尝试在测试输出文件夹中捕获的testNG报告中捕获通过/失败测试的屏幕截图。我已经成功地做到了这一点,但是我希望现在的情况得到更多的改进。

屏幕截图以全尺寸显示并覆盖整个屏幕,我想让它在报告中看起来更小,然后用户可以单击它以查看最大化的图像。

我在静态 TakeScreenshot 方法中借助 Reporter.log(屏幕截图路径)捕获屏幕截图,这是我测试用例中最终阻止的一部分。

public static void TakeScreenshotMethod() throws IOException {
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
File ScreenshotName = new File(UtilityClass.ScreenshotPathCustomerPortal + count +".jpg");
FileUtils.copyFile(scrFile, ScreenshotName);
String filePath = ScreenshotName.toString();
String path = "<img src="file://" + filePath + "" alt=""/>";
Reporter.log(path);
count++;
}

我想控制报表中显示的图像的大小。

您可以通过添加具有某些属性(宽度,高度)的普通htmlstyle来稍微修改<img>标签,如下所示:

String path = "<img src="file://" + filePath + "" alt="" style="width: 230px; height :500px;" />";

如果您在默认的 TestNG 报告中要求此行为,那么答案是否定的,这是不可能的。TestNG 报告与嵌入其中的内容无关。因此,TestNG不知道图像或视频是否嵌入其中。因此,在如何渲染它们方面也没有区别。

如果要控制这些行为,则应执行以下操作之一:

  1. 通过实现org.testng.IReporter接口,然后通过<listeners>标记、@Listeners接口或服务提供商接口机制连接此侦听器,构建您自己的具有此行为的自定义报告器。您可以从我的博客文章中了解侦听器的一般连接 此处.
  2. 您可以探索一些已经存在的报告解决方案,例如诱惑报告(或)范围报告等,看看其中一个是否符合您的要求并改用它们。

TestNG在这方面没有任何作用。

最新更新