_喵酱_ 2023-10-10 14:35 采纳率: 0%
浏览 9

Java项目,testng的接口自动化,我想收集case运行数据,接口自动化项目执行了多少case,

Java项目,testng的接口自动化,我想收集case运行数据,接口自动化项目执行了多少case,这个我要怎么收集呢? 我想在项目结尾将收集到的数据通过接口再传给测试平台。

  • 写回答

2条回答 默认 最新

  • Leodong. 2023-10-10 15:01
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
    要收集TestNG接口自动化项目中已执行的case数量,你可以使用TestNG的Listener功能。首先,创建一个实现ITestListener接口的类,然后在该类中实现onStartonFinishonTestSuccess方法。在onStart方法中初始化一个计数器,在onFinish方法中将计数器的值发送到测试平台。最后,在TestNG配置文件中添加这个监听器。

    以下是一个简单的示例:

    1、 创建一个实现ITestListener接口的类:

    import org.testng.ITestResult;
    import org.testng.ITestContext;
    import org.testng.annotations.AfterMethod;
    import org.testng.annotations.BeforeMethod;
    import org.testng.annotations.Test;
    
    public class CaseCounterListener implements ITestListener {
        private int caseCount = 0;
    
        @Override
        public void onStart(ITestResult result) {
            System.out.println("开始执行测试用例");
        }
    
        @Override
        public void onFinish(ITestResult result) {
            System.out.println("测试用例执行结束,总共执行了 " + caseCount + " 个case");
            // 在这里将caseCount的值发送到测试平台
        }
    
        @Override
        public void onTestSuccess(ITestResult result) {
            caseCount++;
        }
    
        @Override
        public void onTestFailure(ITestResult result) {
            // 在这里处理失败的测试用例
        }
    }
    

    2、 在TestNG配置文件中添加这个监听器:

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="My suite" parallel="none">
        <listeners>
            <listener class-name="com.example.CaseCounterListener"/>
        </listeners>
        <test name="My test">
            <classes>
                <class name="com.example.YourTestClass"/>
            </classes>
        </test>
    </suite>
    

    这样,在每个测试用例执行结束后,CaseCounterListener会将已执行的case数量发送到测试平台。你可以根据需要修改这个示例,以适应你的项目需求。


    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 10月10日