首页 > 其他分享 >性能工具之Jmeter小白入门系列之五

性能工具之Jmeter小白入门系列之五

时间:2023-04-06 13:09:13浏览次数:32  
标签:__ 函数 之五 生成 参数 time Jmeter 入门

性能工具之Jmeter小白入门系列之五_Test


专 气 致 柔 , 能 如 婴 儿 乎 ---《道德经》第十章


一、Jmeter命令行启动

      Jmeter有两种运行:一种是采用的界面模式(GUI)启动,会占用不少系统资源;另一种是命令行模式(non-GUI)执行,这样节约资源,在性能测试,基本都是按这种方式运行。

启动命令:

jmx file

results file :结果保存文件类型

Path to web report folder:Hmtl报告保存路径

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

命令参数

说明

-n

非 GUI 模式 -> 在非 GUI 模式下运行 JMeter    

-t

测试文件 -> 要运行的 JMeter 测试脚本文件

-l

日志文件 -> 记录结果的文件

-e

负载测试后生成报告仪表板

-o

负载测试后在其中生成报告仪表板的输出文件夹。文件夹不能存在或为空

-H 

[代理服务器主机名或IP地址]

-P

[代理服务器端口]

-R

[远程服务器列表]在指定的远程服务器中运行测试

Linux配置环境变量运行验证结果如下:

性能工具之Jmeter小白入门系列之五_命令行_02

启动简单脚本示例如下

启动程序并且添加线程组

性能工具之Jmeter小白入门系列之五_命令行_03

添加两个请求

性能工具之Jmeter小白入门系列之五_命令行_04

执行命令

找到执行脚本

性能工具之Jmeter小白入门系列之五_Test_05

jmeter -n -t Runtime_demo.jmx -l 7dg.jtl -e -o 7dhtml

命令行显示:

注意:没有设置环境变量的话,务必在jmeter的bin目录下启动cmd。

性能工具之Jmeter小白入门系列之五_随机数_06

Html报告为

性能工具之Jmeter小白入门系列之五_Test_07

打开html报告结果显示为:

性能工具之Jmeter小白入门系列之五_随机数_08

性能工具之Jmeter小白入门系列之五_Test_09

性能工具之Jmeter小白入门系列之五_Test_10


Transactions Per Second

性能工具之Jmeter小白入门系列之五_随机数_11

其他信息可以参考html报告

性能工具之Jmeter小白入门系列之五_Test_12

聚合报告打开

性能工具之Jmeter小白入门系列之五_随机数_13


打开Aggregate Report如图

性能工具之Jmeter小白入门系列之五_随机数_14

结果显示:

性能工具之Jmeter小白入门系列之五_命令行_15

win正常启动

性能工具之Jmeter小白入门系列之五_随机数_16

后台启动后显示:

性能工具之Jmeter小白入门系列之五_随机数_17

启动成功如

性能工具之Jmeter小白入门系列之五_Test_18

性能工具之Jmeter小白入门系列之五_Test_19


二、Jmeter脚本录制

代理录制

1) Non-Test Elements-->HTTP(s) Test Script Recorder

性能工具之Jmeter小白入门系列之五_Test_20


打开HTTP(S) Test Script Recorder

性能工具之Jmeter小白入门系列之五_命令行_21

选择录制数据保存到新建的程组中

性能工具之Jmeter小白入门系列之五_命令行_22

选择代理端口

性能工具之Jmeter小白入门系列之五_随机数_23

开启浏览器代理

性能工具之Jmeter小白入门系列之五_Test_24

点击Jmeter中的代理启动弹出

      点击 start 按钮时,会提示创建一个根 CA 证书。这个证书生成在 bin 目录中,文件名是:ApacheJMeterTemporaryRootCA.crt,七天有效期。这个证书将被用来客户端转发 HTTPS 的请求。与此同时,还有另一个证书在同目录中生成,名字是 proxyserver.jks,这是 JMeter 自己生成的根证书。


性能工具之Jmeter小白入门系列之五_Test_25

输入录入地址

Prefix:请求名的前缀。

Create new transaction after request(ms):一个请求完成之后,如果下一个请求超出了这里设置的时间间隔,就创建一个新的事务。

性能工具之Jmeter小白入门系列之五_随机数_26

录制成功显示

性能工具之Jmeter小白入门系列之五_随机数_27

说明:

    以上是简单介绍怎么录制,如果了解其中原理请参考:【性能测试实战30讲】( https://time.geekbang.org/column/article/183349 )  



三、常见函数介绍

1、"_Random"函数

性能工具之Jmeter小白入门系列之五_命令行_28

功能:这个函数是从某个数字段随机读取数据替换参数,可以利用在测试需要添加多条数据记录而且某些字段需要唯一性的测试脚本中,随机生成的参数是数字

  作用:可以用来实现参数化http请求发送的参数,使得在Jmeter运行时参数化了的参数在每个线程去不同的随机数。如果某个参数每次发送请求的时候不能重复才可以存储到数据库中,则用这个功能十分方便。

  使用:

  1.点击Jmeter的“选项”,选择“函数助手对话框”(或者使用快捷键“Ctrl+F”),在“选择一个功能”的下拉框中选择“_Random”。

  2.配置“_Random”函数,

第一个参数是“一个范围内的最小值”,即所要取的随机数的最小值,我们设置成1;

第二个参数是“一个范围内的 最大值”,即所要取的随机数的最大值,我们设置成100;

第三个参数是“函数名称”,即用于存储在测试计划中其他的方式使用的值,我们设置成 Random。设置好上面的三个参数后,点击“生成”按钮,这样就会在对话框的最下面生成一个字符串 “${__Random(1,100,Random)}”,在我们编写的脚本中,找到要替换的参数,把它的值换成前面生成的字符串就可以了,然后每次运行 的时候,这个参数会变成一个1到100之间的随机数。

性能工具之Jmeter小白入门系列之五_命令行_29

新建请求:

性能工具之Jmeter小白入门系列之五_命令行_30

结果查看树:

性能工具之Jmeter小白入门系列之五_命令行_31


2、"_time”函数

性能工具之Jmeter小白入门系列之五_Test_32

功能:Jmeter运行时取当前时间到变量,利用该功能,可以将某个参数增加time函数,然后用该参数作为查询条件查询,然后以该参数作为断 言,这样可以使得断言更精确,因为时间实时变化的,使用该方法,需要注意的是,要先添加一个全局的用户参数,具体在断言操作中有描述。

  格式:${__time(MMddmmss,TEST)}

  使用:添加jmeter的time函数,选择选项——函数助手,然后选择__time函数

  在“ormat string for SimpleDateFormat (optional)”中输入值“MMddhhmmss”,表示取月日时分秒。

  然后,点击生成,则生成了time参数。

  ${__time(,)}  :  默认该公式精确到毫秒级别, 13位数

       ${__time(/1000,)}  :该公式精确到秒级别, 10位数

       ${__time(yyyy-MM-dd,)}

       ${__time(YMDHMS,)}

性能工具之Jmeter小白入门系列之五_随机数_33

格式显示如下

性能工具之Jmeter小白入门系列之五_命令行_34


    在这一章中只是简单介绍怎么使用,其实在工作中还有很多,很好用的函数,与技巧,只有不断重复联系,才能掌握。希望大家在平时工作中多多积累。



性能工具之Jmeter小白入门系列之五_Test_35


标签:__,函数,之五,生成,参数,time,Jmeter,入门
From: https://blog.51cto.com/u_15181572/6172652

相关文章

  • 性能工具之Jmeter小白入门系列之四
        青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴,不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。  一、Jmeter中参数取值1、TestPlan中添加变量TestPlan中设置好变量名,变量名可以在任意的位置引用,比......
  • 性能工具之Jmeter小白入门系列之二
         在上一讲中简单的介绍了Jmeter的安装与HttpRequet请求,在实际工作,咱们对工具的使用还需咱们进一步学习与操作才能掌握;  话说【间单的事情重复做,就会成为行家;简单的事情用心做,就会成为赢家。简单的法坚持修,就会成为大法,每天持之以恒做简单的事情,这个人就会不简单】......
  • jmeter模拟多IP地址访问
    1.前言:今天一同事在压测时提到怎么用jmeter里虚拟多个ip来发送请求,我想了一下以前用LR时用过虚拟ip地址,jmeter还没有使用过。想着原理应该是相通的,既然LR都能支持的话,那Jmeter应该也是支持,于是就有了jmeter虚拟化IP地址的研究。在网上也查找了相应的资料,摸索参考着实践了一把,坑吃......
  • 深度学习基础入门篇[三]:优化策略梯度下降算法:SGD、MBGD、Momentum、Adam、AdamW
    1.梯度下降算法(优化器)1.1原理解释如果我们定义了一个机器学习模型,比如一个三层的神经网络,那么就需要使得这个模型能够尽可能拟合所提供的训练数据。但是我们如何评价模型对于数据的拟合是否足够呢?那就需要使用相应的指标来评价它的拟合程度,所使用到的函数就称为损失函数(LossFu......
  • jmeter模拟多IP地址访问
    1.前言:今天一同事在压测时提到怎么用jmeter里虚拟多个ip来发送请求,我想了一下以前用LR时用过虚拟ip地址,jmeter还没有使用过。想着原理应该是相通的,既然LR都能支持的话,那Jmeter应该也是支持,于是就有了jmeter虚拟化IP地址的研究。在网上也查找了相应的资料,摸索参考着实践了一把,坑吃......
  • python入门到实战系列一
         学习 pyhton 语言首先需要掌握它的基本规则,还有它支持什么数据类型,下面画一张图来了解它支持的数据类型有哪些?  上面这几个数据类型在工作中经常使用,下面不分先后介绍每一种数据类型基本使用。一、字符串  第一,字符串基础对于它的定义就不在这里说明,下面介绍......
  • 深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、
    A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解1.基础指标简介机器学习的评价指标有精度、精确率、召回率、P-R曲线、F1值、TPR、FPR、ROC、AUC等指标,还有在生物领域常用的敏感性、特异性等指标。在分类任务中,各指标的计算......
  • VsCode开发工具的入门及基本使用
    (VsCode开发工具的入门及基本使用)一、VsCode介绍1.VsCode简介VisualStudioCode(简称“VSCode”)是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于MacOSX、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可用于Windows,macOS和Lin......
  • 题目 1016: [编程入门]水仙花数判断
    打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 #include<stdio.h>intmain(){inta,b,c,i;for(i=100;i<1000;i++){a=i/100;b=i/10%10;c=i......
  • 题目 1014: [编程入门]阶乘求和
    求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。 1.因为这是阶乘求和,一般的int类型可能就不够,因此我们利用longlongint类型(不用unsignedlong因为当n为20时,Sn=2561327494111820313)了,unsignedlong的范围不够。2.求Sn的和,我·用的是两个for循环嵌套for(in......