zoukankan      html  css  js  c++  java
  • JMeter基础009----JMeter内置函数

    一、函数概述

    1、概述

         函数是程序中的封装单元(最小的),封装一些功能实现。Jmeter内置了一些函数,了解这些函数,使用函数助手可以帮助我们调用函数。

    2、函数分类

    (1)数字相关的:

    • __counter():计数器          注:前面两个下划线
    • __random():随机数函数,函数参数包含左右临界值
    • __time():获取时间的函数,时间格式:yyyy/MM/dd HH:mm:ss==年/月/日 时:分:秒

    (2)文件读取相关的:

              __CSVRead( ):和CSV Data Set Config类似可以读取CSV文件数据

    (3)属性相关的:

    • __setProperty( ):属性设置
    • __property() : 属性获取

    3、实现思想

    (1)打开Jmeter 内置的函数功能模块

    (2)选择要调用的函数,传参数,生成调用格式

    (3)哪里需要粘哪里

    二、数字相关函数使用

    1、__counter()函数

    (1)打开Jmeter 内置的函数功能模块,选择__counter()函数,填写函数参数,生成调用格式,如下图所示:

    (2)复制生成的调用格式,创建HTTP请求,粘贴复制的调用格式,如下图所示:

    (3)运行测试计划,查看结果树,如下图所示:

    2、__random()函数

    (1)打开Jmeter 内置的函数功能模块,选择__randon()函数,填写函数参数,生成调用格式,如下图所示:

     

    (2)复制生成的调用格式,创建HTTP请求,粘贴复制的调用格式,如下图所示:

     

    (3)运行测试计划,查看结果树,如下图所示:

    3、__time()函数

    (1)打开Jmeter 内置的函数功能模块,选择__time()函数,填写函数参数,生成调用格式,如下图所示:

     

    (2)复制生成的调用格式,创建HTTP请求,粘贴复制的调用格式,如下图所示:

     

    (3)运行测试计划,查看结果树,如下图所示:

    注:时间格式:yyyy/MM/dd HH:mm:ss==年/月/日 时:分:秒

     三、  __CSVRead( )函数

    1、__CSVRead()函数:

            __CSVRead() 和CSV Data Set Config类似可以读取CSV文件数据,但是CSV Data Set Config执行多次是使用的循环次数,而CSVRead执行多次使用的是线程数

    2、需求

        使用CSVRead函数实现学院信息的批量插入(此如: 3条)

    3、实现思想:

    • 搭建框架(线程组设置线程数)JSON格式数据只是模板,具体数据动态获取。注意:执行次数设置与信息头设置
    • 将数据存储在外部的文本文档(CSV 格式)
    • 使用CSVRead函数逐行获取并解析CSV文件,插入到提交的JISON数据中。注:CSVRead函数设置CSV文件路径时,必须得使用绝对路径,不可以使用相对路径

    4、实现过程

    (1)搭建框架,设置线程组的线程数,HTTP请求的请求JSON格式数据只复制接口定义的模板,具体数据动态获取,如下图所示:

    (2)编辑文本文档,将数据存储在外部的文本文档(CSV 格式),如下图所示:

    (3)打开Jmeter 内置的函数功能模块,选择   __CSVRead()函数,填写函数参数,生成调用格式,如下图所示:

    注:CSVRead函数设置CSV文件路径时,必须得使用绝对路径,不可以使用相对路径

     (4)复制生成的调用格式,在HTTP请求中粘贴复制的调用格式,如下图所示:

     (5)运行测试计划,查看结果树,如下图所示:

    四、属性设置函数

    1、函数

    • __setProperty():属性设置
    • __property():属性获取

    2、需求

    •  HTTP请求1:访问百度,将请求1响应的title值传递给请求2,但是两个请求不属于同一个线程组
    •  HTTP请求2:访问google /?wd=百度一下你就知道

    3、实现思想:

    将线程组内部的数据导出去,存储在共享空间中,其他线程组要使用数据,就从共享空间获取

    • 将数据从当前线程组导出,使用__setProperty()函数。
    • 另外-一个线程组将导出到共享空间的数据引入,使用__property()函数。

    4、实现流程

     (1)搭建框架,创建HTTP请求和Xpath提取器,如下图所示:

    (2)打开Jmeter 内置的函数功能模块,选择   __setProperty()函数,填写函数参数,生成调用格式,如下图所示:

    (3)线程组右键----添加----Sampler----Bean Shell,创建Bean Shell执行脚本,并粘贴复制的函数,如下图所示:

    (4)打开Jmeter 内置的函数功能模块,选择   __property()函数,填写函数参数,生成调用格式,如下图所示:

     

    (5)再次创建线程组和HTTP请求,调用复制的__property()函数调用格式,如下图所示:

     (6)运行测试计划,查看测试结果,如下图所示:

     注意:可通过工作台----添加----非测试元件----Property Display,查看共享空间的数据,如下图所示:

    注:一般不使用共享空间,因为这样变量的生命周期太长,容易出问题。

     五、总结

    1、概述:

         函数是程序中的功能单元(最小),具有易读性,易维护,可实现功能复用。

    2、函数

    数字相关:

    • counter计数器
    • ranodm随机数
    • time时间值

    文件读取:

    • csvread批量操作

    属性设置:

    • setProperty属性设置
    • property属性获取
    • 二者结合可以实现跨线程组传值
  • 相关阅读:
    shell十三问?
    OS + Linux nmon / nmon analyser / nmon_analyser_v52_1.zip
    nGrinder windows agent / linux agent
    java Base64
    SearchServer Elasticsearch Cluster / kibana
    db mysql / mysql cluster 5.7.19 / my.cnf / thread_pool_stall_limit
    Mininet与真实网络链接的方法
    Install ProcessMaker 3.1 or 3.2 in CentOS/RHEL 7
    软件版本GA,RC,alpha,beta,Build 含义
    paper-9-Research and Implementation of MultiPath TCP on Mobile Smart Deviceses
  • 原文地址:https://www.cnblogs.com/geqiandeqingmu/p/13087311.html
Copyright © 2011-2022 走看看