Jmeter 脚本编写一般分五个步骤:
1. 添加线程组
2. 添加 http 请求
3. 在 http 请求中写入接入 url、路径、请求方式和参数
4. 添加查看结果树
5. 调用接口、查看返回值
HTTP 请求默认值
当Web 服务器中的 协议 和 服务器名称或 IP 这两个值都是一样的情况下,使用HTTP 请求默认值来管理这些公共的配置数据
添加步骤:线程组——添加——配置元件——HTTP 请求默认值 然后进行如下配置,并把该元件放置到请求前面
断言设置
设置步骤:选中一个请求,如 http-get ,然后右键选择:添加——断言—响应断言。
各个匹配模式含义如下:
• 包括:响应内容包括需要匹配的内容即代表响应成功,支持正则表达式
• 匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,大小写不敏感,支持正则表达式。
• Equals:响应内容要完全等于需要匹配的内容才代表成功,大小写敏感,需要匹配的内容是字符串正则表
达式
• Substring:返回结果包含指定结果的字串,但是 subString 不支持正则字符串
• 否:不进行匹配
参数设置
Jmeter 支持通过 Query String Parameters 或者 Request body 请求体来传递参数
get 方式:
post方式:
在 Post 请求中参数一般在 body 中传递,Jmeter 也支持在 body 中传递参数。如传递 Json 格式的参数,在 Body
Data 编辑框输入如下参数:
{"username":"wx"}
另外还需要指定参数的格式,因此需要添加 HTTP 信息头管理器
添加步骤:选定请求——添加——配置元件——HTTP 信息头管理器,然后在管理器里面添加参数类型
结果:
变量
在请求过程中,有时我们需要在请求中设置一些变量来测试不同的场景。
Jmeter 支持以下类型变量:
• 用户自定义变量
• 函数生成变量
• BeanShell 变量
• 数据文件变量
用户自定义变量
设置步骤: 选中请求——添加——前置处理器——用户参数 设置变量名称为 user ,值为123
函数生成变量
Jmeter 有许多内置的函数,可以生成随机数。创建步骤:点击菜单栏选项——函数助手对话框——下拉选择
__Random() 函数 函数配置如下:
BeanShell 变量
Jmeter 有哪些 Bean Shell?
• 定时器: BeanShell Timer
• 前置处理器:BeanShell PreProcessor
• 采样器: BeanShell Sampler
• 后置处理器:BeanShell PostProcessor
• 断言: BeanShell 断言
• 监听器: BeanShell Listener
方法如下:
它是测试用例与 BeanShell 交互的桥梁,常用方法:
// 定义 jmeter 变量
vars.put(String key,String value);
// 从 jmeter 中获取变量
vars.get(String key);
log :写入信息到 jmeber.log 文件,使用方法:
log.info(“hello 51zxw!”);
BeanShell 实践案例
1.创建请求名为 beanshell_test 的 Http 请求,请求地址为: http://httpbin.org/get 同时设置传递的参数为
beanshell_user
2.创建 BeanShell PreProcessor 变量设置如下所示:
CSV 数据文件变量
CSV 数据文件变量是指从外部 csv 文件读取数据出来作为变量。
设置步骤: 选择请求——添加——配置元件——CSV 数据文件设置
创建 csv 文件(最好不用用记事本创建,推荐用 Nodepad++)文件编码为 UTF-8 文件内容如下:
user_data.csv
51zxw,8888
CSV 数据文件设置如下:
在 Post 请求中引用变量数据如下:
CSV 参数化
CSV 数据文件设置如下:
修改线程组的线程数量,因为数据中有 4 组数据,所以设置为 4.
网友评论