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

目录

实验目的

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

1、取样器

2、监听器

3、配置元件的使用

① 用户定义的变量

②HTTP信息头管理器

③HTTP请求默认值

④CSV数据文件设置

4、断言

①响应断言

②JSON断言

③断言持续时间

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

1、前置处理器

2、后置处理

①正则表达式提取器

②Xpath提取器

③JSON提取器

3、逻辑控制器

①if逻辑控制器

②for each控制器

4、定时器

①同步定时器

②常数吞吐量定时器

③固定定时器

实验目的

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

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

形式:单独完成

 题目:

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

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

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毫秒



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

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个错误,最后一个正确

  • 19
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试面试中,JMeter是一个经常被问到的话题。JMeter是一款纯Java编写的负载功能测试和性能测试开源工具软件,相比于Loadrunner,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具之一。对于JMeter的面试问题,以下是一些常见的问题和答案: 1. JMeter是什么? JMeter是一款纯Java编写的负载功能测试和性能测试开源工具软件。 2. JMeter有哪些主要的组件? JMeter的主要组件包括线程组、采样器、定时器、配置元件、断言和监听器等。其中,线程组是JMeter的开始部分,可以设置多个用户和时间来加载线程组中的所有用户;采样器用于发送特定类型的请求到服务器,常用的采样器包括HTTP请求、FTP请求、JDBC请求等;定时器用于设置请求之间的时间间隔;配置元件用于配置测试计划的参数;断言用于验证测试结果的正确性;监听器用于收集和显示测试结果。 3. JMeter的尖峰测试是什么? 尖峰测试,也被称为冲击测试,是一种场景,用户数和压力在某一瞬间或多个频次下突然增加的测试。通过使用同步计时器,可以实现JMeter的尖峰测试。同步计时器将阻塞线程,直到阻塞了特定数量的线程,然后将它们全部释放,从而产生巨大的瞬时负载。 这些问题和答案可以帮助你在软件测试面试中对JMeter有更好的了解。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [软测面试丨关于JMeter的面试问题,看这篇就够了!](https://blog.csdn.net/weixin_50829653/article/details/108981920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值