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 默认侦听器。
我目前在工作中使用 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 默认侦听器。