- jmeter实现单点登录所有操作顺序,如下图:
一、具体实现步骤:
1 录制脚本
可以通过Badboy或者给jmeter添加代理服务器录制相关脚本,badboy录制脚本需设置IE的安全设置,这里建议使用jmeter添加代理录制脚本;
- 设置jmeter代理服务器
- 设置浏览器代理,以谷歌浏览器为例:设置-高级-系统-打开代理设置,之后如下图设置
2 编写测试脚本
2.1 为单点登录的逻辑控制中添加http的cookie控制器、请求头控制器
http cookie控制器:
http 请求头控制器,不添加任何数据:
2.2 第一次请求单点登录接口,获取It、url(第二次请求单点登录的链接)
- http请求的具体设置:
- GET_LT的正则表达式的提取器:
GET_LT表达式:name="lt" value="(.+)"
GET_LT要获取的body体中的部分:
- get_url的正则表达式的提取器:
get_url表达式:action="(.+?);jsessionid.*\?(.*)" method
get_url 匹配的body中的部分:
2.3 第二次单点登录提交表单:
- http请求的具体设置,注意必须设置“自动重定向”:
- 用户参数的设置:
- get_ticket的正则表达式的提取器:
get_ticket表达式:Location:.*ticket=(.+)
get_ticket在响应头中要获取的部分:
- post 请求中可以将url中的参数,加到变量中访问:
2.4 请求业务系统:
-
http请求具体设置:
-
get_jsessionid的正则表达式的提取器:
get_jsessionid表达式:jsessionid=(.*)
get_jsessionid在请求的url中要获取的部分:
2.5 为业务操作的逻辑控制中添加http的cookie控制器、请求头控制器
- 操作中踩的坑:为防止放在一个逻辑控制中添加多个cookie有冲突,而将登陆和业务操作设置在两个逻辑控制中
- http cookie控制器,添加登录业务系统时获取的 jsessionid :
- http 请求头控制器,参照录制脚本的请求头填写:
2.6 具体业务操作
- 具体业务操作的post请求:
- 变量 bz 的设置:
2.7 设置查看结果树,查看接口运行状态:
二、 jmeter 5.1 下载安装:
1 jmeter下载:
- jmeter下载路径:
http://jmeter.apache.org/download_jmeter.cgi
2 jmeter安装:
- jmeter 的安装需要基于jdk环境,安装好 jdk 环境后,即可在 jmeter 的安装路径下的bin目录中双击打开 jmeter.bat 文件运行;
- jdk安装:
https://blog.csdn.net/qq_33745804/article/details/85115093
三、 正则表达式提取器说明:
1 后置处理器:
在请求结束或者返回响应结果时发挥作用
2 正则表达式提取器:
允许用户从服务器的响应中通过使用perl的正则表达式提取值。该元素会作用在指定范围取样器,用正则表达式提取所需值,生成模板字符串,并将结果存储到给定的变量名中。
2.1 APPly to:作用范围(返回内容的断言范围)
Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
Main sample only:仅作用于父节点的取样器
Sub-samples only:仅作用于子节点的取样器
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
2.2 要检查的响应字段:需要检查的响应报文的范围
Body:主体,响应报文的主体
Body(unescaped):主体,响应的主体内容且替换了所有的html转义符,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能
Response Headers:响应信息头
Request Headers:请求信息头
URL:统一资源定位符,即Internet上用来描述信息资源的字符串
Response Code:响应状态码,比如200、404等
Response Message:响应信息
2.3 模板
Template ($1$ where i is capturing group number,starts at 1):
1、$1$,表示匹配第1个变量
2、也可以设置使用是的模板, $1$?$2$ (如下图)
四、 jmeter 5.1 设置中文:
1 在界面设置:
2 在配置文件中的设置:
具体配置方法:
1、在 jmeter 安装路径下的 bin 目录中找到 jmeter.properties 文件;
2、在 jmeter.properties 文件的 “#language=en” 后添加 “Language = zh_CN”;
- 路径:
- 配置文件设置: