ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

接口测试工具对比(SoapUI、Jmeter、Postman、LoadRunner)

2021-12-07 13:04:42  阅读:404  来源: 互联网

标签:Postman LoadRunner 创建 报文 lr 测试工具 操作步骤 string 请求


前言 对比接口测试工具SoapUI、Jmeter、Postman、LoadRunner,更深入了解工具使用的区别,以及接口测试的原理。 本次使用的接口测试数据如下所示: 接口协议:Soap协议 请求地址:http://192.168.23.203:8080/dmc/services/commonCall?wsdl 请求报文: <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://192.168.23.203:8080/dmc/services/commonCall">    <soapenv:Header/>    <soapenv:Body>       <com:query soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">          <opt xsi:type="xsd:string" xs:type="type:string" xmlns:xs="http://www.w3.org/2000/XMLSchema-instance">{"ServiceID":"model","first":"黑龙江省","second":"大庆市"}</opt>       </com:query>    </soapenv:Body> </soapenv:Envelope> 返回报文: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">     <soapenv:Body>         <ns1:queryResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://192.168.23.203:8080/dmc/services/commonCall">             <queryReturn soapenc:arrayType="soapenc:string[][1]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">                 <queryReturn soapenc:arrayType="soapenc:string[4]" xsi:type="soapenc:Array">                     <queryReturn xsi:type="soapenc:string">SUCCESS</queryReturn>                     <queryReturn xsi:type="soapenc:string">a6dae0f8502b431eba2c8688973faf44</queryReturn>                     <queryReturn xsi:type="soapenc:string" xsi:nil="true"/>                     <queryReturn xsi:type="soapenc:string" xsi:nil="true"/></queryReturn>             </queryReturn>         </ns1:queryResponse>     </soapenv:Body> </soapenv:Envelope>   一、SoapUI 若只是测试单个接口,新建工程时直接输入WSDL地址,建完会有一个默认SOAP请求,直接发送报文执行即可。

 

 

      整体规范操作流程:新建工程》新建测试用例集》新建测试用例》新建测试步骤创建请求 1、新建工程 操作步骤:打开软件SoapUI 5.2.1,File>New SOAP Project,输入工程名称,点击【OK】

 

 

 

 

2、新建测试用例集 操作步骤:右击工程名称,选择New TestSuite,输入测试用例集名称

 

 

 

 

3、新建测试用例 操作步骤:右击测试用例集,选择New TestCase,输入测试用例名称

 

 

 

 

4、新建测试步骤创建请求 操作步骤:右击测试用例,Add Step>SOAP Request,输入步骤名称

 

 

 

 

 

 

 

 

创建完成后的界面如下,输入请求报文,点击执行按钮即可完成接口请求:

 

 

  二、Jmeter 整体流程:创建测试计划》创建线程组》创建HTTP请求》创建查看结果树》执行接口请求》结果树查看执行结果 1、创建测试计划 操作步骤:打开Jmeter软件(4.0版本),点击菜单栏File>New即可出现TestPlan 2、创建线程组 操作步骤:右击测试计划,Add>Threads(Users)>Thread Group

 

 

3、创建HTTP请求 操作步骤:右击线程组名称,选择Add>Sampler>HTTP Request,配置请求内容

 

 

 

 

4、创建查看结果树 操作步骤:右击线程组名称,选择Add>Listener>View Results Tree

 

 

5、执行接口请求 操作步骤:点击菜单栏的执行按钮

 

 

6、结果树查看执行结果 请求结果是失败的,但是soapui执行是成功的,这时可以通过抓包工具fiddler,分析两个请求内容的差异,最终定位是由于soapui会自动加入请求头内容,而jmeter需要手动加入,右击线程组名称,选择Add>Config Element>HTTP Header Manager 请求失败结果如下:

 

 

Fiddler抓包信息,如下图所示: 注意事项:fiddler抓包时相应工具需要做代理,如SOAPUI点击菜单栏的Proxy进行代理设置。

 

 

加入请求头,如下图所示:

 

 

 

 

重新发送请求,请求结果是成功的,如下图所示:

 

 

三、POSTMAN 整体流程:创建请求,发送请求 1、创建请求,发送请求 操作步骤:点击+,配置请求信息:请求行(包括:请求方式,请求URL),请求报文(包括:请求头,请求正文)

 

 

 

 

 

四、LoadRunner 1、创建协议脚本,进行脚本开发 操作步骤:选择HTTP协议创建即可,然后进行脚本开发

 

 

脚本内容,如下所示: Action() {        web_add_header("SOAPAction","\"\"");        lr_convert_string_encoding("黑龙江省",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"users1");        lr_convert_string_encoding("大庆市",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"users2");        lr_save_string(lr_eval_string("{users}"),"user1");        lr_save_string(lr_eval_string("{users}"),"user2");         lr_start_transaction("dmc");         web_reg_save_param("body",                            "LB=",                            "RB=",                            LAST);         web_reg_find("Fail=NotFound",        "Search=Body",        "SaveCount=code",        "Text=SUCCESS",        LAST);         web_custom_request("xxcx",          "URL=http://192.168.23.203:8080/dmc/services/commonCall?wsdl",          "Method=POST",          "TargetFrame=",          "Resource=0",          "RecContentType=",          "Referer=",          "Mode=HTTP",          "EncType=text/xml;charset=UTF-8",          "Body=<soapenv:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:com=\"http://192.168.23.203:8080/dmc/services/commonCall\">"                            "<soapenv:Header/>"                            "<soapenv:Body>"                            "<com:query soapenv:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"                            "<opt xsi:type=\"xsd:string\" xs:type=\"type:string\" xmlns:xs=\"http://www.w3.org/2000/XMLSchema-instance\">{\"ServiceID\":\"model\",\"first\":\"{user1}\",\"second\":\"{user2}\"}</opt>"                            "</com:query>"                            "<opt xs:type=\"type:string\" xmlns:xs=\"http://www.w3.org/2000/XMLSchema-instance\"/></soapenv:Body>"                            "</soapenv:Envelope>",          LAST);         if(atoi(lr_eval_string("{code}")) > 0)         {          lr_end_transaction("dmc", LR_PASS);         }else{          lr_end_transaction("dmc", LR_FAIL);   }   lr_output_message(lr_eval_string("{body}"));  return 0; }   五、总结

接口的本质就是发送请求报文给服务器,然后服务器返回响应报文。我们对响应报文进行分析,判断是否和我们发给服务器的请求对应的返回报文相同,从而验证业务是否正确实现,这即是接口测试。

请求报文由请求行、请求头、请求正文三部分组成,响应报文由状态行、响应报头、响应正文三部分组成。

通过这几种工具对比,可以发现工具之间的差异是在操作方面的不同,原理方面都是一样的,都是发送请求报文,验证返回报文正确性。

综上,工具的选择可以根据自己掌握的熟练程度和使用目的来选择最优的工具。

                     

标签:Postman,LoadRunner,创建,报文,lr,测试工具,操作步骤,string,请求
来源: https://www.cnblogs.com/seamy/p/15650347.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有