Jmeter工具接口自动化使用

来源:互联网 发布:生意参谋数据解读 编辑:程序博客网 时间:2024/05/16 02:07

1,设置线程组,我们做接口测试,不是做性能,所以,在线程数和循环次数的地方录入1即可

2,添加HTTP请求默认值,图中有标示的地方参照录入:

接口部署环境:icore-pnbs-http-stg3.svc.paic.com.cn

42046

协议:http

代理IP:10.36.232.126 端口:8080

用户名与密码:用自己的UM帐号

 

3,添加信息头内容:

添加字段:Content-Type

值:application/json;charset=utf-8

 

4,首先确认要调用的接口,在系统中的哪步操作会调用到。然后,在系统中操作,打开CRT中APP,找到调用这个接口的相关日志,如下:标红的为调用接口的调用,标蓝为调用接口的入参,标灰为接口返回的结果

2015-08-11 09:54:32.675 [INFO ][PNBSHttpMethodImpl] {F=R0KyQTqcB3B8kGbl,U=800151964273,T=R0KyQTrNs440Yitv}调用IBCS输入:/icore_pnbs

/do/app/external/getAutoGatherFactorDisplaySetting;{"businessSourceCode":"1","businessSourceDetailCode":"D","channelSourceCode":"6"

,"channelSourceDetailCode":"1","clientType":"1","dataSource":"PA18","departmentCode":"20516","effectiveDate":"20160807","planCode":"

C01","registerDate":"20060620","renewalType":"1"}

2015-08-11 09:54:32.726 [DEBUG][PNBSHttpMethodImpl] {F=R0KyQTqcB3B8kGbl,U=800151964273,T=R0KyQTrNs440Yitv}调用IBCS结果ret:{"agoYea

rClaimRecord":"N","agoYearForceClaimRecord":"N","choiceSpecialCarFlag":"Y","forceSpecialCarFlag":"N","lastYearClaimRecord":"N","last

YearForceClaimRecord":"N","lastYearForceDrinkRecord":"N","offerLastPolicy":"N","offerPoliceCertificate":"N","previousForcePolicyReco

rd":"N"}


5,添加HTTP请求,URL为要调用的接口,这个参照具体接口的详细文档,此处举例:

/icore_pnbs/do/app/external/getAutoGatherFactorDisplaySetting

调用方法:POST

POST BODY:为调用这个接口的入参,从日志中获取。如上一步中的日志标蓝的内容

 

6,添加查看调用接口的结果,图中标勾的有响应数据返回的,表示接口调用正确

7,添加响应断言,也就是对接口返回的结果进行判断,看是否与预期结果一致。图中有标示的地方,就是断言的内容

8,添加断言结果,如用接口返回结果与预期结果一致,在如下图中就会返回HTTP请求名称

9,多个接口之间数据有关联的设置。如:有两个接口,第一个接口的返回结果,是第二接口的入参,如下图:

9.1  平台车型查询接口返回结果中的两个字段信息可以作为入参给保费计算接口用,平台车型查询接口返回结果

9.2  保费计算接口的入参:

9.3  首先,在jmeter中选中需提供参数值的HTTP请求下添加“后置处理器”->“正则表达式提取器”,如下图:

引用名称:给提取的内容取个名字,给后面要引用的接口中使用。如:我们在平台车型查询接口返回结果提取座位数内容,引用名称为:sit

正则表达式:填写响应信息里的代码段,“()”内部是要提取的内容,填写正则表达式,“()”两端是定位信息;()要是英文状态的且()内部要加.*,如图中所示

模板:格式为“$n$”,n为数字,表示需提取第n个匹配的值

匹配数字:0表示随机,-1表示所有,1表示精确匹配值;

注意提取在正则表达式的提取方式,可以比较下提取的方式,:

平台返回的结果JSON:

{"errorMessage":"成功","responseCode":"0","vehiclePriceList":[{"rExhaustCapacity":"2350.0","rImportFlag":"合资","rLimitLoadPerson":"7","rMarketDate":"2006"

,"rVehicleBrand":"东南三菱","rVehicleFamily":"东南菱绅","rVehicleName":"三菱DN6481E","rVehicleTonnage":"0.0","rVehicleWeight":"1695"

,"refcode1":"SLAARD0001","refcode2":"LSD1032DNQ","transmissionType":"自动档","vehicleCode":"SLAARD0001","vehicleDescription":"新车价

,旅行车,自动档 卓越型 三菱标","vehiclePrice":"156100.0"}]}

 

9.4  在保费计算接口的入参中引用平台车型查询接口返回结果中提取的参数,引用方式${},如,我们定义的引用名称sit,引用方式为${sit}。注意下文中对比下引用前和引用后的效果。

保费计算接口原来部分入参:

":"","orgcodeCheckPassed":"","personnelAttribute":"0","personnelAttributeName":"0","personnelType":"1","personnelTypeName":"1","postcode":"310000","sexCode":"M","sexName":"男"},"ownerVehicleType":"K31","ownerVehicleTypeName":"小型客车","ownershipAttributeCode":"03","ownershipAttributeName":"私人","purchaseDate":"","purchasePriceDefault":156100,"remark":"自动档 卓越型 三菱标","runKilometre":20000,"runRegionCode":"02","runRegionName":"中国境内(不含港澳台地区)","specialCarFlag":"","targetTotalLoss":"","theftproofEquipmentCode":"","usageAttributeCode":"02","usageAttributeName":"非营业","vehicleBrand":"东南汽车","vehicleFrameNo":"LDNE9SMJ880012437","vehicleLicenceCode":"浙A-260L2","vehicleLossInsuredValue":156100,"vehicleModel":"LSD1032DNQ","vehicleSeats":7,"vehicleTaxInfo":{"departmentNonlocal":"","fuelType":"0","isChangeArea":"0","isTaxed":"0","lastYearPayTaxNo":"","taxInvoiceNo":"0","taxPayerId":"123427197702103731","taxType":"2"},"vehicleTonnages":0,"vehicleType":"A022","vehicleTypeName":"六座至十座以下客车"}]}]}

9.5 jmeter保费计算接口部分入参引用平台车型查询接口的返回结果:

9.6  引用后,再调用下保费计算接口,检查是否调用正常,响应数据是否正确

 

 

 

 

0 0
原创粉丝点击