在我的'TestNG'测试完全执行后发送电子邮件? (电子邮件发送代码有效)

时间:2017-01-20 09:55:39

标签: maven selenium selenium-webdriver testng

  1. 所以我需要在每个新的测试套件执行后发送电子邮件。
  2. MVN CLEAN:删除'target:surefire目录'
  3. 如果我执行我的测试用例,将会创建一个新的“可通过电子邮件发送的报告”。
  4. 我已尝试在@AfterSuite方法中发送我的发送电子邮件报告,但是当测试执行时,它无法找到报告,因为只有在测试套件完成后才会生成报告。

  5. 有关如何在测试套件完成后发送报告的任何想法,可以使用TestNG和我的电子邮件方法吗?

2 个答案:

答案 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"