jmeter实现单点登录的详细过程(逻辑控制+参数化+正则表达式)+下载安装jmeter+部分控件讲解

  • 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”;
  • 路径:
    在这里插入图片描述
  • 配置文件设置:
    在这里插入图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值