我正在使用ITestListener,范围管理器来生成范围报告。一切正常。 我从另一个方法中调用5个@Test方法。报告(TestNG和范围报告)通常仅显示已执行测试的1个输出。 当从其他方法调用@Test输出时,请提出其他建议。 我想通过excel来控制方法的执行,而不是创建冗长的XML文件。
请检查我的示例代码:建议采用其他任何方式来获得报告
我的TestNG XML文件:
let item of items
我的驱动程序脚本:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="logixexpress" parallel="false">
<listeners>
<listener class-name="common.CommonITestNGListener"></listener>
</listeners>
<parameter name = "Browser" value = "Chrome"></parameter>
<parameter name = "DataFile" value = "\\TestData\\Express.xlsx"></parameter>
<parameter name = "AppRepoFile" value = "\\OR\\AppRepo.properties"></parameter>
<test name="Express Test Execution">
<classes>
<class name="logixexpress.Driver">
</class>
</classes>
</test>
</suite>
答案 0 :(得分:0)
如果我正确理解了这个问题,那么问题是TestNG报告没有提供有关从其他方法调用的测试方法的任何信息。该问题包括范围报告,但现在,我仅针对TesNG部分进行回答,
否。
在您的@Test
方法内部,如果您调用另一个@Test
方法,并且您仅在XML文件中包括了调用函数,则TestNG将执行这两种方法,但仅将1作为已执行的测试。例如,如果您编写如下内容:
@Test
public void test1()
{
test2()
test3()
}
@Test
public void test2()
{
}
@Test
public void test3()
{
}
您在xml文件中仅包含了test1
方法,TestNG将只考虑执行一种测试方法,并相应地准备报告。
此外,以这种方式设计测试是不好的做法。在所有理想情况下,单个测试都应完全相互独立。如果是单个流程,则可能应该同时进行两个测试。如果不是,并且您必须将一项测试的输出用于另一项测试,则可以看到this。