Jmeter系列之常用组件(一)
在上一篇:Jmeter系列之简介与环境安装_测试-八戒-CSDN博客,主要介绍Jmeter简介、环境安装及接口实战。一般在实际接口自动化过程中,会同时包含多个组件共同完成工作。
工欲善其事,必先利其器,以下介绍Jmeter一些常用的组件。
一、线程组
1、使用场景
无论用Jmeter做哪种测试,线程组
在Jmeter中占据主导地位,所有的逻辑控制器、采样器、处理器、报告等都必须放在线程组之下。
2、线程组界面说明
①测试计划右键,依次点击添加-->线程(用户)-->线程组。
②创建的线程组页面如下:
在取样器错误后要执行的动作:
-
继续
:遇错误继续执行,不影响场景运行。默认为继续,常用。 -
启动下一进程循环
:执行下次循环,当前循环剩余sampler不再执行。 -
停止线程
:停止当前线程,其他线程继续执行。 -
停止测试
:执行完剩余线程后停止测试。 -
立即停止测试
:立即停止所有线程。
线程属性:
-
线程数
:即并发数,如100并发,每个线程将会完全独立的运行测试计划,互不干扰。多个线程用于模仿对服务器的并发访问。 -
Ramp-Up时间(秒)
:并发用户加载时间,如为1s,执行时1s内要加载100并发数 -
循环次数/永远
:填写具体数字,即为并发执行循环次数,一次场景下来,请求的数量=线程数*循环次数;选择永远,则一直执行下去,除非手工停止。 -
调度器
:勾选后,调度器配置项设置生效,可设置场景持续执行时间、延迟启动时间。 -
持续时间
:场景持续执行的时间。 -
启动延迟
:延迟多久执行。
3、实战小例子
①在线程组,设置线程数为10。
②线程组右键,依次点击添加-->取样器-->HTTP请求,请求配置信息如下:
③线程组右键,依次点击添加-->监听器-->察看结果树,点击运行按钮,执行结果如下,同一个接口执行了10次。
二、HTTP 请求默认值
1、使用场景
一般情况下,我们在一个项目中调用的接口中域名
、端口
等都是相同的。当我们创建多个HTTP 请求时,由于这些数据是必填项,所以,我们就需要不停地填写相同的数据。如果项目进行过程中出现了更改域名、更改端口号等情况,我们又需要把每一个请求中的数据都做更改,这样看上去似乎有些麻烦了。
Jmeter的HTTP 请求默认值可以解决这个问题,HTTP 请求默认值相当于全局配置域名(IP)和端口,之后的请求取样器,不需要填写域名(IP)和端口,项目中如有域名或端口改动,修改起来也方便。
2、HTTP请求默认值界面说明
①线程组右键,依次点击添加-->配置元件-->HTTP请求默认值。
②HTTP请求默认值界面如下:
界面名词解释:
服务器名称或 IP | 填写服务器名称或 IP |
端口号 | 填写端口 |
协议 | 协议类型。如 http,https |
路径 | 填写接口路径 |
内容编码 | 设置请求的编码格式 |
定义全局的默认值,比如这里维护了“服务器名称或 IP”,那么工程下的其他请求就不用再单独维护“服务器名称或IP”,默认取的就是 HTTP 请求默认值里的值。
3、实战小例子
①在线程组下,新建HTTP请求默认值,配置如下:
②在HTTP请求里,将域名去掉,使用HTTP请求默认值里的域名,http请求配置如下:
③添加察看结果树,运行效果如下:
三、用户定义的变量
1、使用场景
在调试脚本的时候,可以使用用户定义的变量
进行数据的提供,比如固定不变的一些配置项, 可以放到用户定义的变量里。缺点是,一个变量只能添加一个值,一个变量往往有多个值,如测试登录,需要添加多个账号。
2、用户定义的变量界面说明
①线程组,右键添加-->配置原件-->用户定义的变量。
②用户定义的变量界面如下:
名词解释:
名称 | 设置自定义变量的名称。使用 ${名称}调用变量。注意:该组件定义的变量是全局变量,作用于所有域和组件 |
值 | 变量对应的值。 |
Description | 简单描述。 |
3、实战小例子
之前的请求地址为https://cn.bing.com/search?q=ITester软件测试小栈,其中"ITester软件测试小栈"是搜索关键词,我们将关键词作为变量,之后在请求中引用变量即可
①创建用户定义的变量,点击底部添加按钮,添加变量。
②将q作为变量名,"ITester软件测试小栈"作为变量值,配置如下:
③在http请求中,引用变量,使用${q}。
④点击运行按钮,运行结果如下:
四、固定定时器
1、使用场景
获取服务端某些数据之前加固定定时器
,确保之前的请求已经在服务端生成了数据;
可以控制请求的时间间隔,延迟请求到达服务器的时间,模拟真实用户的行为。
定时器的作用域:定时器是在每个sampler(采样器)之前执行的。
主要的作用:是设置等待时间和延迟。
2、固定定时器界面说明
①线程组右键,依次点击添加-->定时器-->固定定时器。
②固定定时器界面如下:
线程延时默认为300毫秒,根据实际需要自行设置。
3、实战小例子
①创建固定定时器,设置线程延时为3000毫秒。
②点击运行按钮,发现3000毫秒后才会发送请求。
总结:本文主要介绍线程组、HTTP请求默认值、用户定义的变量、固定定时器的应用场景及实战。
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
① 2000多本软件测试电子书(主流和经典的书籍应该都有了)
② 软件测试/自动化测试标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号Jmeter系列之简介与环境安装_测试-八戒-CSDN博客群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
相关文章
- C++STL初识,概念、六大组件、容器算法迭代器
- Vue3组件进阶--emit
- 【React】学习笔记(二)——组件的生命周期、React脚手架使用
- 【愚公系列】2022年10月 微信小程序-优购电商项目-自定义组件
- react子父组件互相通信传值
- react子父组件相互通信传值系列之——父组件传值与函数给子组
- SpringCloudAlibaba入门系列(3) - 服务治理组件Nacos
- 真的看不下去了!!!字节的table组件写成啥了!
- 微信终端跨平台组件 mars 系列(二) - 信令传输超时设计
- (十)向父组件传递数据
- 【Android 屏幕适配】屏幕适配通用解决方案 ⑥ ( 约束布局 ConstraintLayout 百分比布局方案 | 将设计稿尺寸自动转为约束布局百分比标签属性 | 将输出结果设置到组件标签中 )
- 【创作赢红包】【Java AWT 图形界面编程】菜单组件 ② ( 菜单组件示例要点说明 | 菜单组件示例代码 )
- Vue组件通讯详解编程语言
- 缓存组件Redis安全高效可靠(缓存组件redis特点)
- javascripttips提示框组件实现代码
- JavaSwing中的工具栏(JToolBar)和分割面版(JSplitPane)组件使用案例