都忘了Jmeter4.0已发布((*^▽^*))具体优化项还没体验,记录一下,传送门:http://jmeter.apache.org/download_jmeter.cgi

  Jmeter的系统函数已经发布了许多函数,并且实现了N多功能,(可以自行开发自定义函数哦~)记几个常用的函数:

  ${__time(,)}-->时间戳:

          参数一:日期格式---${__time(yyyy-MM-dd-HH-mm-ss,)}

              这里边有个误区,大写M是月份,小写m是分钟。

          参数二:存放获得当前时间值的参数名称

  ${__Random(,,)}-->随机函数

          填入数值区间即可

  ${__StringFromFile(,,,)}-->读取本地文件(csv文件)

                类似CSV Data Set Config,但是比它更为强大一点,__StringFromFile函数的强大之处在于它可以支持从多个文件中读取数据。

              例如给定函数表达式${__StringFromFile(F:\jmeter-project\test-project\config-data\test#‘.’csv,,1,99)},那么__StringFromFile函数将会读取该目录下的test1.csv,test2.csv。。。test99.csv作为需要读取的数据文件。

              例如给定函数表达式${__StringFromFile(F:\jmeter-project\test-project\config-data\test0000#‘.’csv,,1,99)},那么__StringFromFile函数将会读取该目录下的test0001.csv。。。test00099.csv作为需要读取的数据文件

          参数一:文件名(绝对路径)

          参数二:存放取的数据的参数列表

  ${__intSum(,,)}和${__longSum(,,)}-->分别用来进行整型和长整型数据的加法运算。这两个函数均可为可变参数列表的函数,可用来进行任意个整型或长整型数据的加法运算。

  ${__setProperty(,,)}-->用于在运行时设置Jmeter中的任何属性的值(参见“线程组之间变量传递”)

  ${__eval()}和${__evalVar()}-->用于计算一个参数表达式的值。

          例如:给定参数值:table = mytable

                   column = username

                      username = dennis

          SQL = select ${column} from ${table} where userid = '${username}'

          使用${__eval(${SQL})}便得到的值为 select  username from mytable where username = 'dennis'.

  ${__evalVar()}与前者基本一致,唯一不同的是,${__evalVar()}函数可以将计算后的值存放到一个参数中。

  ${__threadNum}与${__machineName()}-->这两个函数用于获得执行当前函数的线程号(1开始)和执行当前Test plan的机器名。在调试或记录日志时,可以用这两个函数输出与线程号和机器相关的信息

  ${__unescapeHtml()}和${__escapeHtml()}-->这两个函数用于对字符串进行编码/解码处理。名称即可看出${__escapeHtml()}  对于任意字符串按照HTML格式进行编码;而${__unescapeHtml()}函数则是对HTML编码后的字符串进行解码。

  ${__javaScript(,)}->该函数用于执行一段给定的JavaScript脚本,返回值为该JavaScript执行的结果。

  ${__BeanShell(,)}-->该函数允许用户运行一段自定义的Beanshell脚本,脚本可以用来设置Jmeter的属性和参数值,也可返回数据。详情参见前面Beanshell随笔。

  具体函数源码可在jmeter\apache-jmeter-3.2\lib\ext目录下找到ApacheJMeter_functions.jar的包,进行查看其处理逻辑

  

  可仿照其源码进行自定义逻辑,自行开发自定义函数,打包至lib\ext目录下,进行使用。

  一个典型的应用:在命令行运行Test plan 时,从命令行指定Thread Group中的线程数和脚本运行时长:

  使用__property和__P函数获取属性值

  类似这样使用:

  

  命令行中可直接指定线程的数量(默认为1):

  jmeter -n -t demo.jmx -Jthread_count =10 -Jduration = 60

  该Test plan以10线程运行,运行时长60s(具体会在第三方集成用到)

             

  

Jmeter(二十五)Jmeter之系统函数的更多相关文章

  1. Jmeter(二十五)_Xpath关联

    在Jmeter中,除了正则表达式可以用作关联,还有一种方式也可以做关联,那就是 XPath Extractor.它是利用xpath提取出关键信息,传递变量. 具体用法 添加一个后置处理器-XPath ...

  2. 一百二十五:CMS系统之首页轮播实现

    把base模板分为左右两块版心 .main-container{ /*整体版心*/ width: 990px; margin: 0 auto; overflow: hidden;}.lg-contai ...

  3. C#学习基础概念二十五问

    C#学习基础概念二十五问 1.静态变量和非静态变量的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.internal ...

  4. 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧

    目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...

  5. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  6. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  7. 二十五种网页加速方法和seo优化技巧

    一.使用良好的结构 可扩展 HTML (XHTML) 具有许多优势,但是其缺点也很明显.XHTML 可能使您的页面更加符合标准,但是它大量使用标记(强制性的 <start> 和 <e ...

  8. 使用Typescript重构axios(二十五)——文件上传下载进度监控

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  9. Bootstrap <基础二十五>警告(Alerts)

    警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警告(Alerts)向用户提供了一种定义消息样式的方式.它们为典型的用户操作提供了上下文信息反馈. 您可以为警告框添加一个 ...

  10. 15第十五章UDF用户自定义函数(转载)

    15第十五章UDF用户自定义函数 待补上 原文链接 本文由豆约翰博客备份专家远程一键发布

随机推荐

  1. AtCoder Grand Contest 031 简要题解

    AtCoder Grand Contest 031 Atcoder A - Colorful Subsequence description 求\(s\)中本质不同子序列的个数模\(10^9+7\). ...

  2. windows下能搭建php-fpm吗 phpstudy

    这个Windows和Linux系统是不一样的,因为一般nginx搭配php需要php-fpm中间件,但是Windows下需要第三方编译. 下载的包里有php-cgi.exe 但不是php-fpm如果想 ...

  3. JS正则表达式验证身份证号码

    function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{1 ...

  4. Python time & datetime模块

    time 模块 时间分为三种格式: 时间戳:表示1970年1月1日之后的秒 结构化时间:元组包含了:年.日.星期等... 格式化字符串:格式可以自定义 时间戳: import time time_st ...

  5. [转载] IIS来搭建一个只能实现基本功能的FTP服务器

    转自  http://blog.sina.com.cn/s/blog_3f7e47f20100haur.html 本文介绍通过win7自带的IIS来搭建一个只能实现基本功能的FTP服务器,第一次装好W ...

  6. hive 安装 和基本使用

    hive是什么: hive是一个数据仓库,hive不是一个数据库,hive 不没有自己的数据,hive的数据存在hdfs 中,hive 依赖一个关系型数据库来存储 自己在 hdfs 中的数据的映射关系 ...

  7. activemq jms使用

    activemq 是 基于 jms 协议的 消息队列 消息 流程: jsm 的 消息流程鼻尖简单  生产者发送消息到目的地,消费者 监听这个目的地,然后收到消息. 相比 amqp 的 消息流程简单很多 ...

  8. Zookeeper常用操作命令create,set,delete

    一.zk特性的session的基本原理 1.客户端与服务端之间的连接存在会话 2.每个会话都可以设置一个超时时间 3.心跳结束,session则过期 4.session过期,则临时节点znode会被抛 ...

  9. 中文自然语言处理工具HanLP源码包的下载使用记录

    中文自然语言处理工具HanLP源码包的下载使用记录 这篇文章主要分享的是hanlp自然语言处理源码的下载,数据集的下载,以及将让源代码中的demo能够跑通.Hanlp安装包的下载以及安装其实之前就已经 ...

  10. elasticsearch UNASSIGNED 处理

    PUT /_settings HTTP/1.1 Host: 192.168.1.12:9200 Cache-Control: no-cache Postman-Token: 1befb0fb-6492 ...