QAF - 如何在 运行 BDDStepFactory2 时更新 junitreports.xml

QAF - How To update junitreports.xml when running BDDStepFactory2

我目前在工作中使用 QAF,最近使用 Azure Devops 设置了一些 CICD 测试。

Azure Devops 目前仅设计用于读取 Junit .XML 在他们的报告 dasbboard 中的结果。

当 运行 Maven 测试时,TestNG 会自动创建一个 JunitReports 文件夹,其中包含一个 .xml 报告。

问题是在我的 config.xml 文件中使用 QAF 和使用 BDDStepFactory2 时,我的 junit 报告显示所有测试都被忽略。

有什么方法可以让我继续使用 BDDStepFactory2 并让 Juniresults 显示通过或失败?

编辑:

JunitResult 正在生成,但是,这就是它的样子

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by org.testng.reporters.JUnitReportReporter -->
<testsuite skipped="2" hostname=
name="com.qmetry.qaf.automation.step.client.DataDrivenScenario" tests="4" failures="0" timestamp="2021-12-27T16:21:34 EST" time="12.916" errors="0">
  <testcase name="Validate the Home Page" time="7.287" classname="com.qmetry.qaf.automation.step.client.DataDrivenScenario"/>
  <system-out/>
  <testcase name="Validate the Home Page" time="5.629" classname="com.qmetry.qaf.automation.step.client.DataDrivenScenario"/>
  <system-out/>
  <testcase name="scenario" classname="com.qmetry.qaf.automation.step.client.DataDrivenScenario">
    <skipped/>
  </testcase> <!-- scenario -->
  <system-out/>
  <testcase name="scenario" classname="com.qmetry.qaf.automation.step.client.DataDrivenScenario">
    <skipped/>
  </testcase> <!-- scenario -->
  <system-out/>
</testsuite> <!-- com.qmetry.qaf.automation.step.client.DataDrivenScenario-> ```

At the top, the xml is showing skipped="2". Since this is what Azure devops is reading, it is seeming like two of my tests have been skipped.

很可能是 TestNG 版本的问题。尝试最新 (7.4.0) version of TestNG with latest (3.1.0-RC1) 版本的 QAF。

<dependency>
 <groupId>com.qmetry</groupId>
 <artifactId>qaf</artifactId>
 <version>3.1.0-RC1</version>
</dependency>
<!-- order is important -->
<dependency>
 <groupId>org.testng</groupId>
 <artifactId>testng</artifactId>
 <version>7.4.0</version>
</dependency> 

为了在 junit 报告中写入步骤信息(就像 testng 报告器输出一样)通过 setting property 启用 testng 输出。

report.log.testngoutput=true

检查您的测试结果目录,您可能会发现每次执行的junit 报告。例如<project-root>\test-results\<timestamp>\junitreports。如果您没有发现生成的 junit 报告,您可以启用 testng 默认侦听器。