我已尝试在@AfterSuite方法中发送我的发送电子邮件报告,但是当测试执行时,它无法找到报告,因为只有在测试套件完成后才会生成报告。
有关如何在测试套件完成后发送报告的任何想法,可以使用TestNG和我的电子邮件方法吗?
答案 0 :(得分:1)
您可以尝试使用 SuiteListener 代替 @AfterSuite :
SuiteListener.java:
package org.example;
import org.testng.ISuite;
import org.testng.ISuiteListener;
public class SuiteListener implements ISuiteListener {
public void onStart(ISuite suite) {
}
public void onFinish(ISuite suite) {
// send report...
}
}
的testng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="TestNgMavenExampleSuite" parallel="false">
<listeners>
<listener class-name="org.example.SuiteListener" />
</listeners>
...
</suite>
答案 1 :(得分:0)
我建议您使用Jenkins执行测试并发送电子邮件通知。配置可能需要一些时间,如果你是第一次这样做,但它有很多选项。
但是,现在您可以在执行所有测试后使用maven java命令执行Java文件。在 maven test 命令后运行此命令。
mvn test-compile exec:java -Dexec.mainClass="com.gaurang.SendEmail" -Dexec.classpathScope="test"