# DOIPTestsuite **Repository Path**: bdoa/doip-testsuite ## Basic Information - **Project Name**: DOIPTestsuite - **Description**: doip sdk的测试工具集 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 4 - **Created**: 2022-09-02 - **Last Updated**: 2024-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目简介 本项目为DOIP v2.1协议的测试用例集,包含了对DOIP v2.1协议在TCP,TLS,UDP,WS通讯协议上的测试以及DOIP v2.0协议的测试。 项目提供了基于不同通讯协议的DOIP Client,以及示例DOIP Server。 测试用例基于JUnit框架,下载项目在IDE中打开,即可直接执行测试用例测试目标DOIP Server # 项目结构 所有测试用例均在doip.testcase目录下,子目录以通讯协议命名,每个子目录下包含测试用例客户端 以及样例测试服务器。 - DoExample 用于测试的数字对象示例,包括大DO和小DO - TestRepoHandler 示例DOIP Server具体的处理逻辑 # 测试流程 下面以TCP协议为例,简介testcase的测试内容和执行方案。 ## 启动DOIP Server 修改端口号和DOIP服务ID,执行main方法。 ```java class TCPTestServer{ static int port = 21042; static final String serviceID = "aibd.govdata.tj/do.3f9c41e6-9f8e-48a0-9220-53f438d40e43"; public static void main(String[] arg) throws InterruptedException { if (arg != null && arg.length > 0) { port = Integer.parseInt(arg[0]); } run(port); } //…… } ``` ## 启动DOIP Client,访问目标Server 配置目标DOIP服务地址和服务ID 分别执行4个测试用例,测试访问/更新大/小DO的性能。 ```java public class TCPTestClient { static String serviceAddr = "tcp://127.0.0.1:1717"; static String serviceID = "aibd/do.e626924a-3b1c-492f-9a41-59179bfe0361"; @Test public void retrieveSmallReqSmallResp() throws InterruptedException { } @Test public void retrieveSmallReqLargeResp() throws InterruptedException { } @Test public void updateLargeReqSmallResp() throws InterruptedException { } @Test public void updateLargeReqLargeResp() throws InterruptedException { } } ``` 测试结果输出样例如下:重复1000次请求,输出请求成功数、持续时间以及处理性能. ``` ========GOServer====== [INFO ]22:47:57.138 tcp://39.104.208.148:21043 Final Result:100/100 dur:143820 rps:0.70 ========JavaServer====== [INFO ]22:39:13.940 tcp://39.104.208.148:21042 Final Result:100/100 dur:143744 rps:0.70 =========From Ali To Ali============ ========GOServer====== [INFO ]23:24:31.354 tcp://39.104.208.148:21043 Final Result:1000/1000 dur:6272 rps:159.44 [INFO ]23:24:47.992 tcp://39.104.208.148:21043 Final Result:1000/1000 dur:6224 rps:160.67 ========JavaServer====== [INFO ]23:20:44.496 tcp://39.104.208.148:21043 Final Result:1000/1000 dur:8119 rps:123.17 [INFO ]23:21:09.055 tcp://39.104.208.148:21043 Final Result:1000/1000 dur:7979 rps:125.33 ```