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

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

模拟实现vector中的常见接口

insert void insert(iterator pos, const T& x){if (_finish == _endofstorage){int n = pos - _start;size_t newcapacity = capacity() == 0 ? 2 : capacity() * 2;reserve(newcapacity);pos = _start + n;//防止迭代

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采