Jmeter与接口自动化测试

阅读: 评论:0

Jmeter与接口自动化测试

Jmeter与接口自动化测试

有没有在工作中造数据离不开jmeter,发现这个工具小而好用,切实能解决工作中的一些问题。

测试需求分析

最近在做的是直销银行的项目,其中贷前的标的上架操作步骤比较多,如果手动操作费时且出错的概率还比较大,近两天完成了贷前的接口自动化。

主要分为,产品上架、借款申请、标的上架。

产品上架:

包括按天计息的利随本清、先息后本;按月计息的等额本息、先息后本;按天或者按月单选互斥;不同的计息方式互斥;

起息方式包括:固定起息日;放款日+0;放款日+1等,也是互斥的;

费用设置:包括放款时收费;还款收费(即最后一期还款时收费);每期还款时收费;

另外还有其他的设置,比如年化、特权设置、白名单设置等

借款申请

需要录入内部账户、对公账户、对私账户数据,这套数据不经常变,但是录入比较麻烦;

标的上架

标的上架就是一个审批流程,可以正确传递参数即可

 

自动化接口设计

设计通用产品及标的上架

在接口自动化设计过程中,首先需要设计出不同的产品固定起息日的按天计息的产品(利息本清、先息后本)和按月计息的产品(等额本息、先息后本)、T+0起息的按天计息的产品和按月计息的产品、T+1起息的按天计息的产品和按月计息的产品;这三种是常用的

对于费用添加为还款时收费或者放款时收费,由于近期需求没有特别的要求,因此每种产品设置为了还款时收费

产品列表如下:

-- 融资产品条件查询,现在可用的
SELECT t.DISPLAY_NAME,t.PRODUCT_NAME,t.BUSI_CODE,t.id,PAY_WAY FROM TD_B_PRODUCT t where PRODUCT_NAME  like 'J%' AND t.BUSI_CODE LIKE '%202078%'

 其中设置 费用会保存为busiProductFeeList,并在申请借款时会用到,类似:

[{"id":"a9e64f7e6fad57a0e053b129fd0a917b","createUser":null,"createTime":null,"updateUser":null,"updateTime":null,"version":null,"delTag":null,"payPart":"plat_back","recPart":"plat_fee","rateWay":"rate_fixedRate","payTime":"20","status":"1","yearDays":360,"feeId":"5D63C804E61240sss0530346A8C0CFG","productId":"a9e64f7e6f9357a0e053b129fd0a917b","productFeeRateWays":[{"id":"a9e64f7e6fae57a0e053b129fd0a917b","createUser":null,"createTime":null,"updateUser":null,"updateTime":null,"version":null,"delTag":null,"rateWay":null,"column1":null,"column2":null,"column3":null,"minMoney":null,"maxMoney":null,"defaultMoney":null,"minDay":null,"defaultDay":null,"maxDay":null,"minRate":"0.1","maxRate":"0.3","defaultRate":"0.1","productFeeId":"a9e64f7e6fad57a0e053b129fd0a917b"}],"column1":null,"column2":null,"column3":null,"feeName":"==借款服务费,还款时点","formulaName":"实际募集金额*固定费率*借款天数/360","formula":"${rate_factor_realCapitalNoPlan}*${rate_fixedRate}*${rate_fixedTerm}/100/360","index":null,"defalutMoney":null,"feeType":"1","recPartName":"==费用账户"},{"id":"a9e64f7e6faf57a0e053b129fd0a917b","createUser":null,"createTime":null,"updateUser":null,"updateTime":null,"version":null,"delTag":null,"payPart":"plat_back","recPart":"plat_fee_sjw","rateWay":"rate_fixedRate","payTime":"20","status":"1","yearDays":360,"feeId":"5D63C804E61239sss0530346A8C0CFH","productId":"a9e64f7e6f9357a0e053b129fd0a917b","productFeeRateWays":[{"id":"a9e64f7e6fb057a0e053b129fd0a917b","createUser":null,"createTime":null,"updateUser":null,"updateTime":null,"version":null,"delTag":null,"rateWay":null,"column1":null,"column2":null,"column3":null,"minMoney":null,"maxMoney":null,"defaultMoney":null,"minDay":null,"defaultDay":null,"maxDay":null,"minRate":"0.1","maxRate":"0.3","defaultRate":"0.2","productFeeId":"a9e64f7e6faf57a0e053b129fd0a917b"}],"column1":null,"column2":null,"column3":null,"feeName":"===借款服务费,还款时点","formulaName":"实际募集金额*固定费率*借款天数/360","formula":"${rate_factor_realCapitalNoPlan}*${rate_fixedRate}*${rate_fixedTerm}/100/360","index":null,"defalutMoney":null,"feeType":"1","recPartName":"===用账户"}]

列表中关联了产品及费用及其他表的参数,表关系如下:

每个费用由对应的id,关联产品及其他表,开始想着,梳理出关联关系,然后添加产品后改这个列表的参数即可,但是太麻烦了,远不如手动抓包、复制粘贴来的快和准备。

每个产品定义在一个自定义参数中,包括了关联的产品及费用信息,并且作为通用产品基本不会经常改变:

然后还款方式中定义具体的起息日等和该还款方式先关的参数,这个里面定义的参数变化的几率还是比较大的,比如时间就是经常需要修改的。

另外账户数据基本是一个环境一套,也不经常改变,可以抽离出来放在环境的自定义变量中:

这样首先选择环境,然后产品的计息方式,再选择还款方式(一个产品下有两个还款方式,比如按月固定起息的产品下有等额本息、先息后本),即可进行产品的上架

准备设计特色产品及标的上架

比如要及时响应上架名单的标的或者放款时收费的产品

因为整个流程中填写一些文本、输入账号数据比较麻烦,因此可以新建产品录入部分信息后保存,新增借款录入融资账号信息后保存,根据需要再手动微调即可

以上即完成了贷前的接口自动化,对于贷后,操作并不复杂,基本就是查看状态点击,没有必要接口自动化,手动操作也很方便,因为结合进程比如满标放款等需要查验证数据库。

有时自动化过程中,自动化到什么程度,也是需要考虑及适可而止的,比如开始做了融资产品上下的自动化,后来基本没用到,因为一次性手动做好产品后,基本可以一直用;范围只是填写部分信息后保存,后面有特殊需求进行微调反而更准确。

总结

整个过程基本都是业务熟悉+基本技能使用的过程

比较难的不是技术,而是从哪个维度去抽离公共参数;另外在这个过程导致出错的是下面这步的referer中包含了参数的传递,但是没太注意好像出错,还看了一会子

本文发布于:2024-01-31 18:44:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170669788030582.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:接口   测试   Jmeter
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23