当前位置: 首页 > 知识库问答 >
问题:

extentreports testng适配器:如果测试失败,如何生成带有屏幕截图的HTML报告(cucumber,testng)

白念
2023-03-14

我使用的框架是使用cucumber、selenium、testng和maven构建的。

Maven仅适用于依赖项。

Testng使用AbstractTestNG CucumberTests执行cucumber功能文件。

我还使用extentreports testng适配器实现了扩展报告。看看我提到的这个链接——http://extentreports.com/docs/versions/4/java/testng.html

我增加了这两个范围。属性文件和html配置文件以及我的报告正在正确生成。

现在,唯一的问题是,如果我的cucumber场景在上面的设置中失败,我不知道如何将屏幕截图与报告附加在一起。

注意:我没有在任何地方为范围报告添加任何代码,因为上面的库(extentreports-testng-适配器)涵盖了它。此外,我使用了上面的设置,因为我必须并行运行我的测试,因此不能使用静态内置方法。

代码:

@CucumberOptions(features = { "src/test/resources/common_features/test.feature" }, glue = {
        "com.step.definitions" }, tags = {}, plugin = {}, monochrome = true, dryRun = false

)

@Listeners({ExtentITestListenerAdapter.class})
public class TestCase extends AbstractTestNGCucumberTests {

}

谢谢你的帮助。

共有1个答案

辛可人
2023-03-14

@钩子应该工作后,

`@After
 public void tearDown(Scenario scenario) {
 if (scenario.isFailed()) {
   // Take a screenshot...
     final byte[] screenshot = ((TakesScreenshot) 
  webDriver).getScreenshotAs(OutputType.BYTES);
      scenario.embed(screenshot, "image/png"); // ... and embed it in the report.
    }
 }`

这个类路径也应该作为胶水添加到cucumberoptions中。

 类似资料:
  • 问题内容: 目前,我正在以这种方式拍摄测试失败的屏幕截图: 我可以将自己的屏幕截图包含在TestNG报告链接或图片中吗?如果是,怎么办? 我在网上发现的只是FEST框架。但是由于我已经在截屏了,所以我不想使用其他框架。 问题答案: 是的,您可以在testng报告中包含指向屏幕截图的链接。 您需要调用方法以通过@Listeners({yourListener.class})注释您的测试类或所有测试类

  • 我无法看到截图被捕获在cucumber的程度报告。 我已经调试并观察到代码已经执行,但屏幕截图并没有保存在extent report或html report文件中。 截图代码 if(scenario.isFailed()){byte[]screenshot=seleniumitls.captureShot();scenario.public void screenshot(scenario sce

  • 问题内容: 你们中有谁知道针对测试失败和异常进行屏幕截图的可能解决方案? 我在其中添加了以下代码,但结果是它也会对通过的测试进行截图,因此它不是最佳解决方案: 我已经找到了这个主意:http: //yizeng.me/2014/02/08/take-a-screenshot-on-exception-with- selenium-csharp-eventfiringwebdriver/ ,可以使用

  • 我看到有人为此发了一篇帖子,在用JAVA和Cucumber进行测试的每一步之后,如何捕捉屏幕截图? 但是,我想做的是能够在每一个动作之后,甚至在一个Cucumber步骤内,拍摄一个屏幕截图,并将其嵌入Cucumber报告中。换句话说,在一个步骤中有多个动作可以满足这个步骤,我想为所有动作嵌入屏幕截图。这可能吗?如果是,怎么做?

  • 我正在使用MSpec使用硒网络驱动程序驱动一些自动化的用户界面测试。很像我在网上找到的例子。当测试失败时,我很难让它截图。 我在另一个问题上看到了一个评论,因为他们在示例Web规范中有一个。然而,在最新版本的Mspec(0.9.1)中似乎不存在。 在最新版本的mspec中,有没有其他方法可以做到这一点?最终,我将作为TeamCity工件生成HTML报告,并包含任何失败规范的屏幕截图。

  • 问题内容: 如何在Selenium + Python中捕获失败的测试用例的屏幕截图?我可以获取页面的屏幕截图,但是在捕获失败的测试用例的屏幕截图时会遇到困难。 码: 问题答案: 您可以像这样: 希望对您有帮助!