Report 使用浏览器名称和方法名称创建自定义testng html报告

Report 使用浏览器名称和方法名称创建自定义testng html报告,report,testng,Report,Testng,我正在进行跨浏览器测试,并且在4种浏览器Chrome、Firefox、IE和Safari上运行多个类中的每个测试方法 生成的testng HTML报告和范围报告在一列中包含测试方法,但我还需要每个测试方法的浏览器名称 即使testnghtml报告会有浏览器名,但使用测试方法也很好 我发现了这一点,但我只需要方法列旁边的浏览器列来定制链接中的报告您可以这样做。但最好使用报告功能,例如,您可以通过任何测试名称和描述进行报告。您可以通过创建自定义的TestHTMLReporter来实现这一点。在Cus

我正在进行跨浏览器测试,并且在4种浏览器Chrome、Firefox、IE和Safari上运行多个类中的每个测试方法

生成的testng HTML报告和范围报告在一列中包含测试方法,但我还需要每个测试方法的浏览器名称

即使testnghtml报告会有浏览器名,但使用测试方法也很好


我发现了这一点,但我只需要方法列旁边的浏览器列来定制链接中的报告

您可以这样做。但最好使用报告功能,例如,您可以通过任何测试名称和描述进行报告。

您可以通过创建自定义的
TestHTMLReporter
来实现这一点。在
CustomReport.java
类中传递任何数据,并生成自己的报告,如下所示。我也解释过

使用
customReport
您必须实现
IReporter
,扩展
TestListenerAdapter
并重写
generateReport
方法,如果您想实现自定义报表。对于其他记者来说,你可能不得不做一些不同的事情,但概念将保持不变。您将实现自定义的“TestHTMLReporter”,如下所示

在项目中创建一个
CustomReport.java
文件,复制粘贴
TestHTMLReporter.java
的全部内容,在
getOutputFile
方法中更改文件名,如下所示

public class CustomReport  extends TestListenerAdapter implements IReporter {

     @Override
        public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
                                   String outputDirectory) {

        }
   ...
   //paste the content of TestHTMLReporter.java here
   ...
   ...
然后你会像下面这样

public class CustomReport  extends TestListenerAdapter implements IReporter {

     @Override
        public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
                                   String outputDirectory) {

        }
   ...
   //paste the content of TestHTMLReporter.java here
   ...
   ...

现在,您将得到两个报告,一个是默认报告,另一个是文件名报告。
现在唯一剩下的就是关闭默认的报告侦听器,这样您只会得到一个报告。为此,您可以遵循或搜索解决方案。希望这有帮助

我不认为有任何东西可以轻易解决您的问题。您将需要构建自定义报告程序来完成此操作。