news 2026/4/18 8:25:01

【金融项目实战】6_接口测试 _Jmeter自动化脚本实现(重点)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【金融项目实战】6_接口测试 _Jmeter自动化脚本实现(重点)

文章目录

  • 一、自动化测试理论
  • 二、自动化脚本
    • 2.1 添加断言
      • 2.1.1 获取图片验证码接口
      • 2.1.2 获取短信验证码接口
      • 2.1.3 注册接口
      • 2.1.4 登录接口
      • 2.1.5 认证开户接口
      • 2.1.6 投资业务链接口
    • 2.2 可重复执行
      • 2.2.1 清除测试数据
    • 2.3 Jmeter配置jdbc请求
      • 2.3.1 连接数据库
      • 2.3.2 jmeter中清除数据
  • 三、持续集成(CI)
    • 3.1 持续集成理论
    • 3.2 脚本管理
    • 3.3 执行脚本
  • 四、Jenkins配置
    • 4.1 邮件报告模板
    • 4.2 解决读取报告无数据问题
    • 4.3 别人能访问报告

一、自动化测试理论

  • 什么是自动化测试?
让程序或工具代替人为执行测试用例
  • 什么样的项目适合做自动化?
1、项目周期长--多长算长?(自己公司运营项目) 比如:阿里自己的淘宝app 2、需求稳定(更多指具体功能/模块) 3、需要回归测试(电商、金融、部队、对外运营的项目)
  • 自动化测试与功能测试说明
自动化测试就是功能测试。(原因:自动化测试使用的用例都是功能的用例)
  • 自动化测试用例覆盖率?
上限:全部的功能用例执行自动化。--基本不可能。 1、有些用例,能去做而不去做(配置功能,不常用的) 2、有些用例,都不能做自动化(如:图片上的文字) 公司: 1、如果自动化用例只覆盖业务线,覆盖率10~20% 2、好点的公司,自动化覆盖40%~60%
  • 手工功能测试与自动化功能测试的区别
1、自动化脚本可重复执行(批量执行) -①确定脚本执行顺序 -②构造数据和清除数据进行操作 2、功能脚本是靠人眼睛进行断言,自动化是靠工具或程序进行断言。
  • 自动化测试实现方式?
1、工具 2、代码
  • 自动化测试分类
ui (User Interface 界面) 自动化:(web、app、win32) 接口自动化

二、自动化脚本

  • 如何设置自动化脚本?
1、使用程序或工具断言 2、可重复运行

2.1 添加断言

2.1.1 获取图片验证码接口

2.1.2 获取短信验证码接口

2.1.3 注册接口

2.1.4 登录接口

2.1.5 认证开户接口

2.1.6 投资业务链接口

充值接口和投资接口参照上面断言即可。 投资业务链接口只把关键数据断言即可。

2.2 可重复执行

  • 如何可以做到可重复执行?
1、清除测试数据(先造数据,再清除数据) 2、脚本按指定顺序执行 --脚本从上到下执行,在测试计划:勾选√ 独立运行每个线程组(例如在一个组运行结束后启动下一个)

2.2.1 清除测试数据

1、明确清除那些数据?

1、删除已注册的手机号 2、造数据(借款标) 提示:在工作中找开发确认。

2、这些数据在那个库、那个表?

库:czbk_member 表: mb_member(会员主表) mb_member_info(信息表) mb_member_login_log(登录日志) mb_member_register_log(注册日志) 提示:以上表找开发获取。

3、确定SQL语句

1、删除4张表有关手机号数据,删除mb_member_info(信息表)和mb_member_login_log(登录日志),必须使用连表进行删除,通过id进行关联 2、 mb_member(会员主表)和mb_member_register_log(注册日志)可以单独删除 3、不能先删除mb_member(会员主表),因为把 mb_member(会员主表)手机号删除,后面无法关联

# 一、确定查询语句--1、 mb_member_info(信息表)表中查询指定手机号数据select*frommb_memberasmbinnerjoinmb_member_infoasinfooninfo.member_id=mb.idwheremb.phonein("13600001111","13600001112","13600001113","13600001114");--2、mb_member_login_log(登录日志)表查询指定手机号数据select*frommb_memberasmbinnerjoinmb_member_login_logasloginonlogin.member_id=mb.idwheremb.phonein("13600001111","13600001112","13600001113","13600001114");--3、mb_member(会员主表)表查询指定手机号数据select*frommb_memberwherephonein("13600001111","13600001112","13600001113","13600001114");--4、mb_member_register_log(注册日志)表查询指定手机号数据select*frommb_member_register_logwherephonein("13600001111","13600001112","13600001113","13600001114");# 二、确定删除语句--1、 mb_member_info(信息表)表中查询指定手机号数据deleteinfo.*frommb_memberasmbinnerjoinmb_member_infoasinfooninfo.member_id=mb.idwheremb.phonein("13600001111","13600001112","13600001113","13600001114");--2、mb_member_login_log(登录日志)表查询指定手机号数据deletelogin.*frommb_memberasmbinnerjoinmb_member_login_logasloginonlogin.member_id=mb.idwheremb.phonein("13600001111","13600001112","13600001113","13600001114");--3、mb_member(会员主表)表查询指定手机号数据deletefrommb_memberwherephonein("13600001111","13600001112","13600001113","13600001114");--4、mb_member_register_log(注册日志)表查询指定手机号数据deletefrommb_member_register_logwherephonein("13600001111","13600001112","13600001113","13600001114");

2.3 Jmeter配置jdbc请求

2.3.1 连接数据库

jmeter连接数据库:测试计划—>添加:配置元件—>JDBC Connection Configuration

2.3.2 jmeter中清除数据

测试计划:√ 独立运行每个线程组(例如在一个组运行结束后启动下一个)

三、持续集成(CI)

3.1 持续集成理论

  • 什么是持续集成?
通过一款工具(jenkins)持续自动集成代码。
  • CI工具最常用啥?
Jenkins
  • 通过jenkins工具运行脚本的本质啥?
本质:通过执行命令来运行脚本: 1、将脚本(postman\jmeter\python)下载到jenkins所在电脑 2、调用命令去执行下载的脚本 jmeter -n -t脚本.jmx -l结果.txt -e -o 目录
  • 持续集成所依赖的环境是啥?
1、jenkins环境:jdk + jenkins.war 2、运行脚本本环境: newman、jmeter、jdK、python、pytest
  • 持续集成运行脚本的方式有哪些?–脚本在哪里放?
1、项目托管平台(github、gitee、gitlab) 2、jenkins服务器(将脚本从托管平台下载到jenkins服务器本地,调用命令去执行)

3.2 脚本管理

p2p.jmx 不能有中文

1、gitee新建仓库,把仓库地址进行复制。

2、在含有脚本的文件夹中,执行相关git命令。

3.3 执行脚本

1、启动 jenkins.war包。

java -jar jenkins.war

2、在jekins中,新建一个任务,选择“构建一个自由风格的软件项目”。

配置:1、源码管理(将脚本下载到jenkins服务器)2、构建(在jenkins本地服务器执行脚本的命令)3、执行删除报告目录和结果目录命令 ①mac/linux:-rm-rf r* - /xx/apache-jmeter-5.1.1/bin/jmeter -n -t脚本.jmx -l结果.txt -e -o 目录 ②windows: - del result.txt# 删除文件-rmdir/Q/S report# 删除目录- /xx/apache-jmeter-5.1.1/bin/jmeter.bat -n -t脚本.jmx -l结果.txt -e -o 目录

5、立即构建。

先从gitee上克隆仓库代码,然后运行

四、Jenkins配置

4.1 邮件报告模板

<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title></head><bodyleftmargin="8"marginwidth="0"topmargin="8"marginheight="4"offset="0"><div><h2>项目信息</h2><ul><li>项目名称:${PROJECT_NAME}</li><li>详细测试报告:<ahref="${PROJECT_URL}HTML_20Report/">${PROJECT_URL}HTML_20Report/</a></li><li>触发原因:${CAUSE}</li><li>项目Url:<ahref="${PROJECT_URL}">${PROJECT_URL}</a></li></ul><hr/><h2>构建日志</h2><div>${JELLY_SCRIPT,template="html"}</div><hr/></div></body></html>

4.2 解决读取报告无数据问题

jenkins管理—>执行命令:

4.3 别人能访问报告

别人能访问报告,换成 jenkins服务器地址

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 1:59:47

6 种方式读取 Springboot 的配置,老鸟都这么玩(原理+实战)

从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一&#xff0c;但就是这么常用的功能&#xff0c;仍然有很多开发者在这个方面踩坑。 我整理了几种获取配置属性的方式&#xff0c;目的不仅是要让大家学会如何使用&#xff0c;更重要的是弄清配置加载、读取的底层…

作者头像 李华
网站建设 2026/4/18 1:57:16

Unity3D 智慧城市管理平台

基于 Unity3D 引擎开发智慧城市数据可视化大屏&#xff0c;涵盖人口、环境、能源、交通、医疗和财政六大模块&#xff0c;通过 SQL Server 实现数据读写与实时更新&#xff0c;支持日期、时间、天气等信息展示&#xff0c;并提供第一人称漫游和 3D POI 交互功能。 Unity3D 智慧…

作者头像 李华
网站建设 2026/4/18 2:05:07

平衡二叉搜索树:AVL树和红黑树

AVL 树 简介 avl树是一种平衡二叉树&#xff0c;通过“平衡因子”来实现左右两侧高度差的平衡&#xff0c;只允许平衡因子取值为0、1、-1&#xff0c;相对于红黑树&#xff0c;avl树更接近“绝对平衡”&#xff0c;但是对于旋转子树的处理要相对繁琐一些 插入方法 如果正好…

作者头像 李华
网站建设 2026/4/18 2:02:45

2026年基因数据开发者防讼攻略:软件测试从业者专业指南

一、内容热度解析&#xff1a;软件测试从业者的关注焦点 2026年软件测试公众号的热点内容高度专业化&#xff0c;聚焦AI工具评测、实战案例与合规优化&#xff0c;这些主题阅读量平均提升35%以上&#xff0c;且分享率超行业均值40%。热度最高类型包括&#xff1a; AI与自动化测…

作者头像 李华
网站建设 2026/4/18 3:33:49

AI应用架构师经验谈:半导体研究智能体系统容错设计

AI应用架构师经验谈&#xff1a;半导体研究智能体系统容错设计 引言&#xff1a;半导体研究的“容错刚需” 在晶圆制造车间&#xff0c;一片8英寸晶圆的成本约为3-5万美元&#xff0c;而一道蚀刻工艺的失败&#xff0c;可能让整批晶圆报废。传统半导体研究依赖工程师经验调整…

作者头像 李华
网站建设 2026/4/18 3:36:55

你能谈一下JVM的主要组成部分吗?

JDK的JRE的区别作为一个Java开发&#xff0c;我相信每个人都知道。但是很多人却不知道JRE是Java虚拟机的实现。它可以分析字节码、解释代码然后执行它。我们作为开发人员&#xff0c;了解JVM的体系结构非常重要。它可以指导我们去写出性能良好的代码。能够很好的去分析性能问题…

作者头像 李华