快速掌握jmeter(一)——实现自动登录与动态变量

这篇具有很好参考价值的文章主要介绍了快速掌握jmeter(一)——实现自动登录与动态变量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

jmeter作为性能测试中最常见的一种工具,如果接口数量不在很多的情况下,通过在jmeter中直接进行录入即可。

当遇到需要对许多接口处理的场景,想要做到简单高效,往往就需要借助jmeter中提供的组件来进行配合使用。

这里根据我这几天遇到的一些场景,对jmeter中比较常用的几个使用组件进行一个记录。

自动登录

有时可能需要在jmeter中模拟多个用户进行访问,所访问的接口中也需要带上登录后的token信息。

举个例子:
输入用户名和密码后,返回一个token,之后每个接口调用时需要将此token放到请求的header中。

知识点

  • HTTP_Header_Manager
  • Functions and Variables
  • JSON_Extractor

实现方式

这里以一个登录接口和一个获取用户信息接口为例

登录接口:

http://localhost:8080/user/login

其参数为username和password,当用户名和密码匹配成功后,会返回一个token。访问其他接口时需要带着这个token传入到请求的header中

jmeter 动态变量,工具,压力测试,jmeter,自动化测试

获取用户信息接口:

http://localhost:8080/user/info

jmeter 动态变量,工具,压力测试,jmeter,自动化测试

在jmeter中想要做到登录后自动获取出token信息,可利用jmeter中的变量和json_extractor来进行搭配,做到自动提取出token信息。

具体操作如下图:
jmeter 动态变量,工具,压力测试,jmeter,自动化测试

JSON Extractor后置处理

在登录接口中添加一个后置处理器(post processor)中的JSON Extractor,在JSON Path expressions中填写对应的提取语句

以下面这个返回json结构为例

{
    "code": "200",
    "data": {
        "token": "thisistoken"
    }
}

其对应的json路径(详细语法说明可以参考JsonPath)表达式则为:$.data.token

同时在Name of created variables中输入一个变量名称,名称可以随便取,如这里将它命名为token

这样处理好了之后,当执行完了登录接口后,后置处理器就会将服务端返回的token定义为变量token了,之后便可以在其他地方使用这个变量

变量使用

在需要用到变量的地方,使用系统中的变量,如在获取用户信息接口中需要传入token信息,则在对应的请求头管理器中传入使用即可。如上图中的${token}

变量详细使用方式可参考:Functions and Variables

当完成操作后,点击运行,便可看到最终的运行结果情况了。从上图的步骤3中可以看出,自动登录到接口访问一气呵成了。

对于复杂流程,登录部分也可以使用控制器中的Only Once Controller包装一下再进行使用。

变量信息由用户启动时传入

如果是在GUI界面中打开jmeter,我们仔细观察的话,是可以看到有这么一段话的:

================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
   Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================

主要注意这句话:Don’t use GUI mode for load testing !, only for Test creation and Test debugging.

主要是说:
不要在GUI模式下进行压力测试,GUI模式下仅仅用于测试用例的创建和调试

当在命令行模式下运行jemter时,由于没有界面,想要让某些信息在每次运行jmeter命令时进行传入,如果传入的参数不多,则可以用-J参数来进行处理。

知识点

  • __P
  • -J
  • How to reference variables and functions

实现方式

这里以动态设置线程数为例,想要做到线程数量由运行时输入,我们可以这样操作:

jmeter 动态变量,工具,压力测试,jmeter,自动化测试

先在jmeter中添加一个Config Element中的User Defined Variables,在其中对变量信息进行管理。如上图中定义了一个名为threadNum的变量,其值为:

${__P(threadNum,1)}

它的意思是指threadNum的值通过用户传入,默认值为1。

随后在使用到需要使用到它的地方直接使用用户变量即可。

这里仍然以前面用户登录和获取用户信息的实例,来测试一下。

jmeter 动态变量,工具,压力测试,jmeter,自动化测试

输入jmeter的运行命令:

.\jmeter -n -t C:\Users\ping\Desktop\temp\jmeterTest.jmx -l C:\Users\ping\Desktop\temp\report\result.txt -e -o C:\Users\ping\Desktop\temp\report -JthreadNum=3

其中-t后面为jmeter的测试用例jmx文件的路径,-l为本次测试的日志文件输出路径,-o后为测试报告生成的路径。

具体参数信息可以查看官方的说明文档:options

-JthreadNum=3为变量threadNum的值,这里指定为3。对应上面的实例,对应的每个接口所运行的线程数也为3个。

执行结果

运行完后,打开jmeter生成的测试报告看一下运行结果:

jmeter 动态变量,工具,压力测试,jmeter,自动化测试

从报告中也可以看出每个测试接口也都执行了3次,说明变量信息生效了。文章来源地址https://www.toymoban.com/news/detail-544749.html

到了这里,关于快速掌握jmeter(一)——实现自动登录与动态变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动化测试实战篇(8),jmeter并发测试登录接口,模拟从100到1000个用户同时登录测试服务器压力

    进程是资源分配最小单位,线程是程序执行的最小单位; 每个进程内部会有N个线程,但至少要有1个线 程。 比如公司就是一个进程,公司的员工就是线程。 线程占用的资源要⽐进程少很多。 线程之间通信比进程更方便 并发是指在一个时间段内有多个进程在执行 并行指的是

    2024年02月16日
    浏览(45)
  • 自动化测试工具之 Jmeter性能测试

    1.性能测试概念: 通过自动化测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试 2.性能测试条件 系统基础功能测试验证完成 系统趋于稳定 3.性能测试基本流程 需求分析 (1)系统信息调研 (2)业务信息调研 (3)性能需求评估   判断是否进行

    2023年04月09日
    浏览(66)
  • JMeter自动化测试工具超详细基础讲解(一)

    JMeter是Apache下的一个使用Java语言开发的自动化测试工具。主要用于服务器、网络以及对象模拟巨大负载,并且还可以使用自带有断言的脚本验证程序是否能够返回期望的结果,下面链接为JMeter的官网文档地址 优点 (1)JMeter是一个开源并且免费的自动化测试工具 (2)JMeter支

    2024年02月05日
    浏览(37)
  • 一步搞定IP地址查询:这个在线工具帮你快速掌握设备的位置信息!

    前言   今天分享一个免费的在线工具来查询IP地址所在的地理位置。可以通过IP地址所属的网络运营商和其他相关信息来确定设备的位置,包括国家、地区、城市和经纬度等信息。 Ip-API 官网地址: https://ip-api.com/ 使用示例    该工具除了提供界面查询,还贴心的提供了AP

    2023年04月24日
    浏览(48)
  • 在企业使用jmeter开展实际的接口自动化测试工具

    在企业使用jmeter开展实际的接口自动化测试工具,建议按如下操作流程, 可以使整个接口测试过程更规范,更有效。 接口自动化的流程: 1、获取到接口文档:swagger、word、excel ... 2、熟悉接口文档然后设计测试用例(一般都是先在excel中编写) 3、进行用例评审 4、将excel中的

    2024年02月16日
    浏览(61)
  • 快速掌握Postman实现接口测试

    快速掌握Postman实现接口测试 Postman简介 Postman是谷歌开发的一款网页调试和接口测试工具,能够发送任何类型的http请求,支持GET/PUT/POST/DELETE等方法。Postman非常简单易用,可以直接填写URL,header,body等就可以发送一个请求,用来测试api接口非常方便。 Postman的优点 使用简单,

    2024年02月02日
    浏览(41)
  • 软件测试高频面试题(2023全新版)你必须掌握的面试技巧,包含HR面试、基础面试、JMeter面试、Postman面试、Python面试、自动化化面试、安全性能面试题

    1.1 面试技巧 💡 告诫给位小伙伴,技巧不是投机取巧,起到辅助作用,技术面主要看实力,这里是基于实力之上的技巧 1.2 面试形式 😄 面试形式分为技术面和 HR 面,技术面就是考察你的专业技术水平的,HR 面主要看你这个人的综合素质以及家庭情况符不符合公司要求(一般

    2024年02月11日
    浏览(48)
  • 基于Docker构建CI/CD工具链(七)使用Jmeter进行自动化压测

    上一篇文章中,我们详细介绍了构建 Apifox Cli 的 Docker 镜像的步骤,并通过简单的示例演示了如何利用 GitLab 的 CI/CD 功能,将构建好的镜像利用在自动化测试作业中。在今天的文章中,我们将重点讨论如何构建 JMeter 的 Docker 镜像,并演示如何在 GitLab 的 CI/CD 作业中利用该镜像

    2024年04月16日
    浏览(55)
  • 掌握银行联行号查询Api接口:实现快速准确的联行号查询!

      在经济社会发展的过程中,银行的角色愈发重要。随着金融体系不断完善,各大银行之间的交流、合作也变得尤为关键。而银行之间互相识别和通信的一种方式,就是通过联行号。 联行号是指银行间互相识别的一种编码方式。每个银行都拥有一个唯一的联行号,用于区分不

    2024年02月04日
    浏览(36)
  • 快速掌握微信小程序 tab 切换的实现技巧(可滑动切换)

    微信小程序中的 tab 切换功能可以说是用户所需的一个基础功能。本文将介绍如何通过微信小程序实现 tab 切换功能,为用户带来更为便捷和高效的小程序体验。 其实这个小功能的实现非常简单,只需要通过一个标识控制选项的样式及显示的内容,当我们触发点击或者滑动事

    2024年02月11日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包