Jmeter工具接口自动化使用
2016-02-29 18:17
253 查看
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 引用后,再调用下保费计算接口,检查是否调用正常,响应数据是否正确
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 引用后,再调用下保费计算接口,检查是否调用正常,响应数据是否正确
相关文章推荐
- 浅谈web网站架构演变过程
- 正确重写hashcode hashcode与equals方法 集合元素如何判断是否相等 集合如何查看是否包含某个元素
- 成为产品助理的第一周总结_2016.2.29
- 浅谈spring
- 大型分布式网站架构技术总结
- oracle针对oracle和grid用户---环境变量设置---单实例和RAC
- 欢迎使用CSDN-markdown编辑器
- 程序员跳槽的10个建议
- Node.js + Express 调研
- Linux grep和find的区别
- iOS 空间旋转
- myeclipse 生成jar包后,spring无法扫描到bean定义
- 基于AFN框架的多图上传
- ZOJ1372 POJ 1287 Networking 网络设计 Kruskal算法
- SVN认证配置无效 原装SVN权限配置 目录配置 用户权限设置
- 292. Nim Game
- linux ifconfig命令参数及用法详解--linux查看配置网卡命令
- cocos2d-x(quick-lua)读取csv文件
- 软件工程个人作业01
- StringBuffer 和StringBuilder 的区别