zoukankan      html  css  js  c++  java
  • Jmeter系列之常用组件(一)

    VOL 127

    25

    2020-05

    今天距2021年220天

    这是ITester软件测试小栈第127次推文

    点击上方蓝字“ITester软件测试小栈“关注我,每周一五早上 07:30准时推送。

    微信公众号后台回复“资源测试工具包”领取测试资源,回复“21天打卡”一起学习成长,打怪升级。

    本文2679字,阅读约需7分钟

    在上一篇:Jmeter系列之简介与环境安装,主要介绍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请求默认值、用户定义的变量、固定定时器的应用场景及实战。

    以上


    That‘s all

    更多系列文章

    敬请期待

    ITester软件测试小栈

    往期内容宠幸

    1.Python接口自动化-接口基础(一)


    2.Python接口自动化-接口基础(二)


    3.Python接口自动化-requests模块之get请求


    4.Python接口自动化-requests模块之post请求


    5.Python接口自动化之cookie、session应用


    6.Python接口自动化之Token详解及应用


    7.Python接口自动化之requests请求封装


    8.Python接口自动化之pymysql数据库操作


    9.Python接口自动化之logging日志


    10.Python接口自动化之logging封装及实战

    想获取更多最新干货内容

    快来星标 置顶 关注

    每周一、三、五 07:30见

    <<  滑动查看下一张图片  >>

    今日问题

    你在使用Jmeter过程中,常用的元件或插件有哪些?

    (欢迎在下方留言区发表你的看法)

    留言福利:

    抽取截止至6月1日留言点赞最多的两位幸运er,可获得:百度网盘一月VIP会员

    (幸运er名单将在下周一推文的置顶留言处公布)


     后台 回复"资源"取干货

    回复"21天打卡"一起打怪升级

    测试交流Q群:727998947

    点亮一下在看,你更好看

  • 相关阅读:
    js push(),pop(),shift(),unshift()
    bootstrap fileinput 上传文件
    关于dataTable 生成JSON 树
    postgresql+ C#+ DHTMLX 学习汇总
    java_时间戳与Date_相互转化的实现代码
    SparkML之推荐算法ALS
    ALS部署Spark集群入坑记
    test
    迁移数据库mysql
    JVM运行机制
  • 原文地址:https://www.cnblogs.com/ITester520/p/13203290.html
Copyright © 2011-2022 走看看