Jmeter与接口自动化测试-直销银行贷前标的上架

2023-12-31 04:10

本文主要是介绍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中包含了参数的传递,但是没太注意好像出错,还看了一会子

这篇关于Jmeter与接口自动化测试-直销银行贷前标的上架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/554915

相关文章

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1