jmeter 主要用于压力测试,它可以对http接口、数据库、websoket等多种类型的接口进行压测。同时,还可以利用它的参数化、前/后置处理器、逻辑控制器等功能。实现对于接口的自动化测试,提高回归效率
1 实战项目
华测B2C在线商城项目--多终端:web 应用、移动终端 (app 公众号 小程序)
测试尽快接入质量保障,没有界面,先测接口;开发接口平台
演示常见的几个接口
2 接口自动化测试4要素
. 接口文档分析->开发人员提供,如果没有抓包分析
. 创建独立接口测试脚本
测具体的交互数据。能够发起对服务器的请求
. 选定断言方式
每一个接口得得出对于一个接口是否正常,有一个判定标准。
. 分析接口上下文关联
接口可以是独立请求
测试是要结合业务场景 比如 订单接口调用,需要携带token。token来自于调用登录接口后得到
3 接口文档分析要素
. 接口服务器地址
统一接口地址
. 请求方式
. 接口参数
get--url后面 ?接参数
post -- 表单提交
post--json 格式提交
. 看接口返回内容
4 基于jmeter创建接口测试脚本
jmeter 开源,是纯java开发的,(需要先装java), 跨平台使用,
jmeter 取样器
定义测试数据的来源,
线程组:用于执行测试脚本
先创建测试片段再创建线程组:测试片段多用于大项目,当一个测试脚本由多个测试人员编写,
创建线程组-创建模块控制器-创建监听器的结果树
5 自动化进化一:断言
响应断言:基于http协议的一种判断
业务系统同茶馆是对返回的内容进行判断
7 自动化进阶3:多环境测试
I测试的IP 地址 端口号是静态的 ,可以定义成变量,引用,如果服务器地址发生变化了,直接修改变量内容即可
这个变量再配置元件里边配置-用户自定义变量
8 ddt 数据驱动的该概念以及应用方式
根据测试数据 决定执行多少次测试和测试具体内容
多组数据测试,包含正向/反向数据测试,如何设计?
jmeter 读取csv数据文件
jmeter
比如有多个用户,多个账号
正向用例 和反向数据测试的断言不能相同
${assert_code}
9 html测试报告自动生成: 命令行模式
jmeter -n -t