Email testNG:在@AfterSuite部分内通过邮件发送报告
我想将testNG(java+eclipse+testNG)生成的报告发送到@AfterSuite部分。 发送它不是问题,但关键是报告是在@AfterSuite部分之后生成的,因此,基本上,我发送的是前一个而不是最后一个!Email testNG:在@AfterSuite部分内通过邮件发送报告,email,selenium,report,testng,Email,Selenium,Report,Testng,我想将testNG(java+eclipse+testNG)生成的报告发送到@AfterSuite部分。 发送它不是问题,但关键是报告是在@AfterSuite部分之后生成的,因此,基本上,我发送的是前一个而不是最后一个! 你知道我该怎么解决吗 如您所见,@AfterSuite在生成报告之前运行 你有没有想过要实施一个新的计划 公共类MyReporter实现IReporter{ @凌驾 公共void生成器报告(列表xmlSuites、列表iSuites、字符串s){ //创建定制结果 //电子邮
你知道我该怎么解决吗 如您所见,@AfterSuite在生成报告之前运行 你有没有想过要实施一个新的计划
公共类MyReporter实现IReporter{
@凌驾
公共void生成器报告(列表xmlSuites、列表iSuites、字符串s){
//创建定制结果
//电子邮件结果
}
}
显然,您可以看到一个缺陷,即您必须从原始结果数据生成自己的结果(如果您只想通过电子邮件发送数据的子集,这可能是有利的)
理想的解决方案是能够扩展默认的报表生成器,但我不确定这是否可以做到。但是,有一个由提供的现有侦听器,它实际上提供了更好的报告输出
如果您扩展这个类,并调用它们的代码,然后添加电子邮件生成器代码,它可能会工作
public class MyReporter extends HTMLReporter {
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> iSuites, String s) {
super.generateReport(xmlSuites, iSuites, s);
//Email results
}
}
公共类MyReporter扩展了HTMLReporter{
@凌驾
公共void生成器报告(列表xmlSuites、列表iSuites、字符串s){
超级生成报告(xmlSuites、iSuites、s);
//电子邮件结果
}
}
您可以通过多种方式将侦听器附加到测试套件,如TEstNG网站()
所有这些的替代方法是使用Maven之类的构建工具运行测试,然后使用测试后事件通过电子邮件发送结果。我从中复制了答案。这对我很有用。
顺便说一下,在我的测试环境中,我需要扩展org.testng.reporters.EmailableReporter2而不是EmailableReporter,以确保正确的计数。
请参阅以下内容以供参考:
克里希南·马哈德凡克里希南·马哈德凡2012年7月31日上午8:58我猜你指的是生成的TestNG “emailable report.html”,您希望通过电子邮件发送 有了这个假设,你就应该能够做到这一点
public class MyReporter extends HTMLReporter {
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> iSuites, String s) {
super.generateReport(xmlSuites, iSuites, s);
//Email results
}
}