延时等待(全局性)
api 测试⽤例执⾏速度⾮常快,某些时候因为业务的特性想让它延迟⼏秒执⾏,那么这个时候就使⽤延时等待。
参数化
可以理解为:⼀个测试点需要多次操作,并且每次操作数据都是不⼀样但测试步骤⼀致,测试数据每次不⼀样
⽤户⾃定义变量,把公共的单独分离出来,定义成变量,在后⾯直接调⽤。
CSV 数据文件设置(支持TXT,CSV格式;注意文件编码格式)
取样器错误后要执⾏的动作:当客户端向服务端发送请求后,以及发送请求的过程中出错后的异常处理⽅式。
继续:如果有⼀个请求错误,其他的请求会继续,不会因为有⼀个请求错误的导致其他请求终⽌。
启动下⼀个进程循环:如果请求出现问题,同⼀脚本中的其他请求就都不再执⾏,直接执⾏下⼀个进程的信息。
停⽌线程:停⽌线程指的是如果请求失败,就停⽌当前线程执⾏,⼀般不建议构选改选项。
停⽌测试:如果请求失败,那么停⽌所有线程执⾏。
⽴即停⽌测试:如果请求失败,⽴即停⽌整个测试场景的执⾏。
线程数:每一个线程数代表一个用户
Ramp-Up时间(秒):所有线程从启动到开始运⾏的时间间隔,单位是秒;每秒执⾏线程数=线程数/Ramp-Up
循环次数:请求的重复次数。选择“永远”,请求将⼀直进⾏。
延迟创建线程直到需要:延迟创建线程,直到该线程开始采样,即之后的任何线程组延迟和加速时间为线程本身。这样可以支持更多的线程,但不会有太多是同时处于活动状态。
调度器:为设置何时开始运⾏。
聚合报告:表格形式来显示取样器的结果信息,如果不同的取样器拥有相同的名字,会显示在一行⾥⾯,那么⼀般来说,聚合报告都是根据取样器来显示每个取样器的执⾏结果信息。
后端监听器 后端监听器可以把JMeter与influxdb,grafana整合起来,把性能测试过程中的数据存储到influxdb,然后最后显示 在grafana的可视化界⾯中。
创建 HTTP 请求,修改请求方式,路径,内容编码,消息体数据
创建 JSON 提取器定义环境动态 ID
添加断言
创建HTTP请求,验证添加地址是否成功
使用 GET 请求方法 key=value形式传递值
验证返回数据中有无产品名
创建 HTTP 请求,修改请求方式,路径,内容编码,消息体数据
怎么区分前端还是后端问题?
1、产品ID和地址ID都是动态参数,动态参数需要定义变量来获取,变量名称不能重复
2、地址修改缺少参数
3、options 跨域请求
4、变量定义
Ant 环境搭建
Apache Ant 是⼀个Java库和命令⾏⼯具,其任务是驱动构建⽂件中描述为相互依赖的⽬标和扩展点的进程。
Jmeter 整合 Ant 可以⽣成 HTML 的测试报告
Apache Ant - Binary Distributions
下载所需版本并解压,将 bin 目录配置到环境变量中
在命令提示符中输入 ant 验证环境是否成功
activation.jar
commons-email-1.2.jar
mail.jar
在 ant lib 文件夹中添加自动发送邮件插件
完善目录结构
tests:存放测试中所有资料
report:存放测试报告
script:存放测试脚本
修改配置
打开 jmeter bin ⽬录下 jmeter.properties ⽂件
修改:jmeter.save.saveservice.output_format=csv 》 jmeter.save.saveservice.output_format=xml
build.xml 为交叉编译文件
定义发送邮箱地址用户名
在 apache-jmeter extras 文件夹下找到 ant-jmeter-1.1.1.jar,复制到 ant lib 下