软件测试(实验五)——Jmeter的使用

目录

实验目的

一、使用JMeter演示取样器、监听器、配置元件、断言的使用;

1、取样器

2、监听器

3、配置元件的使用

[① 用户定义的变量](#① 用户定义的变量)

②HTTP信息头管理器

③HTTP请求默认值

④CSV数据文件设置

4、断言

①响应断言

②JSON断言

③断言持续时间

二、使用JMeter演示前置处理器、后置处理器、逻辑控制器、定时器的使用。

1、前置处理器

2、后置处理

①正则表达式提取器

②Xpath提取器

③JSON提取器

3、逻辑控制器

①if逻辑控制器

[②for each控制器](#②for each控制器)

4、定时器

①同步定时器

②常数吞吐量定时器

③固定定时器

实验目的

上机练习主要针对本章中需要重点掌握的知识点,以及在性能测试中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对JMeter工具的使用的熟练程度。

上机:( 考察知识点为取样器、监听器、配置元件、断言、前置处理器、后置处理器、逻辑控制器、定时器

形式:单独完成

题目:

通过不同的小案例演示取样器、监听器、配置元件、断言、前置处理器、后置处理器、逻辑控制器、定时器的使用,要求如下:

一、 使用J M eter演示 取样器、监听器、配置元件、断言的使用

1、取样器

①使用路径传递GET请求参数

②使用参数列表传递GET请求参数

③使用消息体数据传递POST请求参数

2、监听器

①测试计划结果树

②线程组结果树

③聚合报告-案例itcat.com

HTTP请求配置

线程组配置

聚合报告结果

3、配置元件的使用

① 用户定义的变量

②HTTP信息头管理器

③HTTP请求默认值

④CSV数据文件设置


结果如下

⑤计数器

查看结果

4、断言

①响应断言

案例:要求使用JMeter发送一个GET请求,请求地址为http://www.baidu.com,检查响应数据中是否包含"百度一下,你就知道"字符串

百度一下,你就知道,改为英文逗号,出错


②JSON断言

要求使用JMeter发送一个GET请求,

请求地址为http://www.weather.com.cn/data/sk/101010100.html,检查响应的JSON数据中,city对应的内容是否为"北京"


③断言持续时间

案例:

要求使用JMeter发送一个GET请求,请求地址为https://www.jd.com,检查响应时间是否超过100毫秒


二、 使用J M eter演示 前置处理器、后置处理器、逻辑控制器、定时器的使用。

1、前置处理器

要求使用JMeter发送一个GET请求,请求地址为https://www.baidu.com/S,第一个用户携带参数为:name=张三\&age=28; 第二个用户携带参数为:name=李四&age=30


2、后置处理

①正则表达式提取器

本案例要求使用JMeter发送两个请求,具体要求如下

请求一:请求地址为https://www.itcast.cn,获取网页的<title>标签的值。

请求二:请求地址为https://www.baidu.com/S,把请求一的\<title>标签的值作为请求参数。

百度请求itcast的title并匹配第一个字符串

②Xpath提取器

以前面正则表达式提取器中的案例为例,同样发送两个请求,要求使用XPath提取器提取请求一中的title值。将正则表达式提取器替换为XPath提取器。

另两个过程与上图一致

③JSON提取器

下面通过一个案例演示JSON提取器的使用。本案例要求使用JMeter发送两个请求,具体如下。

请求一:请求地址为http://www.weather.com.cn/data/sk/101010100.html,获取返回结果中的城市名称"北京"。

请求二:请求地址为https://www.baidu.com/S?wd=北京,把请求一返回的城市名称"北京"作为请求参数

3、逻辑控制器

①if逻辑控制器

本案例要求使用用户定义的变量定义一个变量name,name有两个可选值:baidu和itcast。如果name的值为baidu,则请求https://www.baidu.com;如果name的值为itcast,则请求https://www.itcast.cn

分析上述要求,根据 name 的值判断发送哪个请求,需要使用如果(If) 控制器实现。确定了核心元件之后,构建测试计划目录树,如下图所示。

用户变量

百度

Itcast

结果如下:

②for each控制器

本案例要求使用用户定义的变量定义一组关键字:hello、pyhton、测试。依次取出这一组关键字,将其作为请求参数请求百度网站(https://www.baidu.com/S?wd=hello)。

分析上述要求,要想逐个读取用户定义的变量并定义一组关键字作为请求参数,可以使用 ForEach 控制器。

结果如下

1

2

3

4、定时器

①同步定时器

例题:

使用JMeter模拟100个用户同时访问百度首页(https://www.baidu.com),统计各种高并发情况下的运行情况。

②常数吞吐量定时器

例题:

本案例要求使用JMeter发送请求访问百度首页(https://www.baidu.com),QPS为20,持续运行一段时间,观察、统计运行时的性能指标变化。

QPS=20代表每秒处理20个请求

③固定定时器

例题:

要求使用JMeter模拟登录iHRM人力资源管理系统

请求地址:http://ihrm2-test.itheima.net/api/sys/login。

请求方式:POST。

请求头:Content-Type:application/json;charset=UTF-8。

请求体:{"mobile":"13800000002","password":"888itcast.CN764% ... "}。

当模拟用户登录时,登录出现3次输入错误后,锁定 300ms ,等待 300ms 后重新输入正确的用户名和密码,登录成功。

建议:进入网站直接复制密码

密码123456有时正确,有时错误

步骤如下:

1、请求头信息

2、用户名正确,密码错误

3、用户名错误,密码错误

4、用名错误、密码正确

5、用名正确、密码正确

6、固定定时器300ms

结果如下

前3个错误,最后一个正确

相关推荐
CesareCheung1 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流1 天前
jmeter使用技巧
jmeter
春时似衿里1 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书1 天前
JMeter的安装部署
jmeter
程序员杰哥1 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎1 天前
Jmeter测试
jmeter
卓码软件测评1 天前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao2 天前
Jmeter执行数据库操作
数据库·jmeter
二宝哥2 天前
性能测试工具Jmeter之java.net.BindException: Address already in use
jmeter