一 .JMeter的安装
##一.[官网下载JMeter] [https://jmeter.apache.org/download_jmeter.cgi]
##二.解压到本地,找到jmeter.bat打开软件
打开后的页面如下图:
注意事项:所有符号都为英文格式,填写所有参数前后不得有空格
二.JMeter基础知识
一.JMeter脚本基本四个元件
1.线程组
2.HTTP请求
3.响应断言
4.查看结果树
如下图:
二.JMeter———变量类型
一.变量和变量池的说明
1.变量:一个可以储存多个字段的工具(储存变量值的地方)
2.变量池:存放变量的位置
二.变量的生成
1.用户自定义变量
. 创建:线程组 - 添加 - 配置元件 - 用户定义的变量
. 名称(nanme)值(所要赋予给它的数)(可以是具体的值,也可以是函数)
2. . 函数助手对话框
. 创建: 一级菜单栏 - 选项 - 函数助手对话框
. 选择一个功能(如:—Random)下面有三个参数:最大值,最小值 获取一个随机生成的值例如(1,100)内的随机函数注意:循环次数必须大于1,随机函数才会生效
. __P:设置属性的默认值。有两个参数:变量名,默认值(默认值为1)。
. __CSVRead:从CSV文件中读取字符串。有两个参数:文件名,第几列(0表示第一列)
. ${__UUID}:随机取值,且结果唯一;区别于__Random(随机取值,结果有可能相同)
3.CSV Data Set Config
.创建 :线程组 添加 - 配置原件 - CSV Data Set Config
. 作用:可以从.csv、.dat等文件中获取数据,并将这些数据参数化。当数据发生变化时,只需要改原始文件,不需要改脚本
. 参数含义:
"1. Filename:文件路径(如果和脚本同路径,只需要输入文件名;否则要输入全路径)
2. File encoding:编码和文件格式保持一致,如果有中文,最好用UTF-8
3. Variable names:参数名称,参数之间用,隔开
4. Delimiter:输入文件(csv/dat等)中的分割符号;用\t代替tab键
5. Allow quoted data:当获取的数据中包含时,要设置为True
6. Recycle on EOF: 设置为True后,允许循环取值
7. Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效
8. Sharing Mode:共享模式: All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行;Current thread group:当前线程组,各个线程组分别循环取值;Current thread:该测试计划内的所有线程都取第一行"
. 调用CSV Data Set Config中的变量
4.函数助手
. 选择函数助手来赋予一个变量
.选择一个功能 —RandomString
.Random string length 这个变量的长度
.Chars to use for random string generation 这个变量取值的范围,自定义
.拷贝并粘贴函数字符串 生成 (生成后的是一个新的变量值)
5 .正则表达式提取器
. 创建 : HTTP请求 - 添加 - 后置处理器 - 正则表达式提取器
. 作用 :提取上一个接口响应的数据,给其它元件使用
. 说明:
1. 引用名称:下一个请求要引用的参数名称,如:(填写Atask,则可用${Atask}引用它)
2. 正则表达式:
. ():括起来的部分就是要提取的。
. .:匹配任何字符串。
. +:一次或多次。
. ?:在找到第一个匹配项后停止。
3. 模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:($1$表示解析到的第1个值)
4.匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
5.缺省值:如果参数没有取得到值,那默认给一个值让它取,如:(Error)
三. JMeter变量的使用
1.直接使用:用${变量值} 取变量
2.使用vars.get("变量名") 取变量
3.使用vars.put("变量名","变量值") 改变值
四.如果(if)控制器
.创建: 线程组 - 添加 - 逻辑控制器 - 如果(if)控制器
.作用:如果上一层满足如果(if)控制器里的条件就执行其内部元件,如果不满足(if)控制器里的条件就不执行其内部元件 如:("${studenName}"=="xxx" 判断条件格式
.注意 下面选择 E-aluate for all children?
##格式