我想把用例执行的成功数和失败数,发送到钉钉群,怎么获取成功数和失败数呢
测试结果是从 testng 的 IReporter 接口中获取的 和使用哪种报告框架无关 IReporter 中需要实现 generateReport 方法,这个方法中的参数 List suites 里有所有测试的上下文信息
要获取测试结果,您可以使用 TestNG 和 Allure 结合进行测试报告生成和展示。首先,您需要配置 TestNG 测试套件,并在测试执行完成后生成 Allure 报告。
首先,确保您的项目中已经正确配置了 TestNG 和 Allure,并且测试用例已经编写完成。 然后,在您的测试类中,使用@Test注解标记测试方法,通过断言(assert)来判断测试的成功与否。 在测试执行完成后,使用 Allure 提供的监听器类和生成器类获取测试结果。 下面是一个示例代码:
import org.testng.Assert; import org.testng.annotations.AfterSuite; import org.testng.annotations.Listeners; import org.testng.annotations.Test; @Listeners({ allure.ReportListener.class }) public class MyTests { @Test public void test1() { Assert.assertTrue(true); } @Test public void test2() { Assert.assertTrue(false); } @AfterSuite public void generateReport() { // 这里使用Allure提供的生成器类生成测试报告 AllureCommandLine.main(new String[] {"generate", "path/to/allure-results", "-o", "path/to/allure-report"}); // 根据具体需求,获取成功数和失败数并发送到钉钉群 int successCount = Allure.getLifecycle().getTestCaseStorage().getByStatus(Status.PASSED).size(); int failureCount = Allure.getLifecycle().getTestCaseStorage().getByStatus(Status.FAILED).size(); // 发送到钉钉群的逻辑 sendToDingTalk(successCount, failureCount); } private void sendToDingTalk(int successCount, int failureCount) { // 发送到钉钉群的具体逻辑实现 // ... } }
上述代码中,我们在@Listeners注解中添加了 Allure 提供的监听器类,用于生成测试报告。在 generateReport 方法中,使用 Allure 生成器类生成测试报告,并通过 Allure 提供的 Allure.getLifecycle() 方法获取测试结果,进而获取成功数和失败数。最后,根据具体需求,您可以调用发送到钉钉群的方法来将结果发送到钉钉群。
希望以上信息能对您有所帮助!如果您有任何进一步的问题,请随时提问。
感谢,我已经拿到了测试结果,但是测试报告的地址怎么获取呢,我希望可以把测试报告的地址也发送到钉钉上,然后点击就可以跳转到测试报告