参数化

调用变量的用法: ${变量名}

参数化第一 二种、

定义变量的两种方法

配置元件(Config Element) -> 用户定义的变量(User Defined Variables)

前置处理器(Pre Processors) -> 用户参数(User Parameters)

用户定义的变量

用户参数

两者的共同点:都可以用于定义变量

两者的区别:

  用户定义的变量:

    (1)在jmeter启动时,获取一次值,在运行过程中,不再获取值(举例:1个用户循环n次,每次取的变量值都一样;n个用户循环1次,每个用户取的变量值都一样)。

    (2)用户定义的变量,是全局变量

  用户参数:

    (1)在jmeter启动时,获取一次值,在运行过程中,还会动态获取值(举例:1个用户循环n次,每次取的变量值都不一样;n个用户循环1次,每个用户取的变量值都不一样)。

    (2)用户参数,是局部变量

测试计划 -> 用户定义的变量  和 配置元件 -> 用户定义的变量  是一样作用:全局变量,可跨线程组

参数化第三种、

路径:配置元件 -> CSV数据文件设置

配置元件的特点:优先级最高

1.文件名:可以csv,txt,excel,优先使用txt,原因1.因为csv消耗资源更多,原因2.csv本身不是uft-8编码,中文会产生乱码。注意使用相对路径 “./***.txt" 跟脚本同级目录

2.文件编码:按业务选择

3.变量名称:根据文件内容列来定义变量名称,多个变量用逗号隔开,按列顺序定义变量名

4.忽略首行:False是不忽略,有些文件首行是列名而不是数据,则可以改为True忽略

5.分隔符:文件里列与列之间的分隔符

6.是否允许带引号:当数据内容有带引号时,此处需选择True

7.遇到文件结束符再次循环:举例此时选择True,文件有3个数据,线程循环5次,运行脚本时3个数据跑完一次,还会从头开始再跑到第二个数据,即循环5次都有数据。反之选False时,只有3个数据,循环3次后,已经没有数据再循环了,因此后面两次循环取值为空。

8.遇到文件结束符停止线程:文件的数据被跑完时,即使有线程还没运行,都停止运行。

注意:遇到文件结束符再次循环 和 遇到文件结束符停止线程不能同时为True,因为无意义

9.线程共享模式:

****************************************************************************************************************************************************************************************

涉及到造数据的函数使用方法:

路径:Tools -> 函数助手对话框

注意点:

  1.严格区分大小写

  2,函数 ${__函数名称(,)}

不会使用函数的,可点击函数旁边的【帮助】按钮,查找函数用法

函数

1.随机数字函数: Random()

${__Random(最小值,最大值,)}

如图,用随机函数生成0~999之间的随机数字

在参数中使用固定值和随机数拼接时,如下图,固定131+随机生成8位数字

2. 随机字符串 RandomString()

${__RandomString(字符串长度,组成字符串的字符,)}

3.随机长度的随机字符串 Random() + RandomString()

${__RandomString(${__Random(最小值,最大值,)},字符,)}

4. 统计函数${__counter(,)}

5.加密函数 digest()

${__digest(md5,要加密的字符,,,)}

该函数只能做很简单的加密算法,只支持以下几种算法

  • MD2
  • MD5
  • SHA-1
  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512

6.获取jmeter属性的函数

${__P(属性名称,)}

${__property(属性名称,,)}

这两种函数效果一样,P只是缩写

7.设置jmeter属性的函数

${__setProperty(属性名称,新属性值,)}

注意点:用这个函数设置的属性值,仅当前启动的jmeter有效

额外话题:属性有jmeter属性,也有系统属性,在非测试元件 -> 属性显示,可以查看系统属性和jmeter属性,${__setProperty(,,)}这个函数只能临时改变jmeter属性,不能改变系统属性

8.获取当前时间 time()

${__time(,)}    当前时间戳

${__time(YMD,)}   20201214  yyyyMMdd

${__time(HMS,)}    222513   HHmmss

${__time(YMDHMS,)}   20201214-222641  yyyyMMdd-HHmmss

除上述例子,可自定义显示格式

9.拼接函数 V()

${__V(,)}

嵌套变量引用不起作用时,用V()函数转换一下。

截自【帮助】解说

10.查看当前请求属于第几个线程 ${__threadNum}

把该函数放在请求名称旁边,如下图,一共有五个线程,一个线程循环1次。

最新文章

  1. ArcGIS属性选择器筛选
  2. 记录我学github的路程(三)
  3. JavaScript垃圾回收(三)——内存泄露
  4. 前端与php的sublime text3常用插件
  5. # 20145210 《Java程序设计》第06周学习总结
  6. 三、MongoDB的创建、更新和删除
  7. Labview实现单边带信号调制(SSB)[滤波法]
  8. 用Processon在线绘制UML的尝试
  9. Oracle学习之start with...connect by子句的用法
  10. RTF 格式 说明
  11. C#如何将Build成功的程序集Copy到上一层目录
  12. <c:forEach items="${list}" var="tt" varStatus="status"> 的相关大小长度
  13. Failed to complete obtain psql count Master gp_segment_configuration Script Exiti
  14. .NET [MVC] 利用特性捕捉异常
  15. 第 2 章 容器架构 - 008 - Docker 组件如何协作?
  16. L259 合同
  17. Linux安装Oracle 11g Grid Infrastructure 出现OUI-10182错误解决办法
  18. html (第四本书第五章参考)
  19. 如何在UltraEdit中高亮显示PB代码
  20. 3.2 Templates -- The Application Template

热门文章

  1. OO第一单元作业总结——表达式求导
  2. Python输入与输出
  3. SpringCloud之配置中心(config)的使用Git+数据库实现
  4. Windows PE第九章 线程局部存储
  5. 容器随Docker启动而启动
  6. IDEA 导入Springboot 项目:
  7. Java_接口
  8. 屌炸天的3D引擎OpenCASCADE的用法及案例(转载之处:)
  9. laravel 批量删除
  10. [bug] HDFS:DataXceiver error processing WRITE_BLOCK operation