变量

什么是变量?我们可以这么理解把变量想象成是快递。 拿快递的时候, 快递小哥会喊: 张三的快递, 李四的快递等等, 每个快递都是有名字的, 这个名字就是区别快递归属的关键信息。 同样变量也有名字, 这个名字就叫做变量名。

  1. 变量的主要作用,就是用来存储信息,然后在计算机程序中使用这些信息。
  2. 通过给变量赋值,也将数据与一些能够描述的名字连接起来,简单说,就是给数据一个能让人理解的名字,12可以指年龄,也可以指距离,所以,需要通过这个定义,12就有了不同的含义。
  3. 变量的值,最终是存储在内存中。

我们已经了解什么是变量,之前我们已经学习了Jmeter的属性,这就是一种全局变量的定义和使用,我们接下来学习Jmeter其他几种方式的变量定义和使用。

TestPlan(测试计划)定义变量

  • 定义变量

    image-20210219141634219

  • 引用变量

    image-20210219141745906

  • 执行结果

    image-20210219141820407

User Defined Variables(用户自定义变量)

  • 添加组件

    image-20210219142135731

  • 定义变量

    image-20210219142250411

  • 引用变量

    image-20210219142350820

  • 执行结果

    image-20210219142415874

注意:User Defined Variables这个组件非常特殊,不管这个组件放到哪,里面的变量,所有线程都可以调用。

变量的声明和使用

我们现在已经学习了已下几种变量声明

  • Jmeter属性声明变量
  • Jmeter TestPlan中声明变量
  • Jmeter User Defined Variables用户自定义变量声明变量

变量使用统一为:${变量名}

这三种只是在脚本运行前进行变量声明以便脚本中声明,后面还有参数化变量声明,正则表达式变量声明,BeanShell变量声明,这些使用场景会在参数测试、关联测试以引用Java jar包的使用到,具体到具体的场景中声明。

变量的特性

  • 不同的 JMeter变量对于测试线程而言是局部变量。这就意味着JMeter变量在不同测试线程中,既可以是完全相同的,也可以是。
  • 如果有某个线程更新了变量,那么仅仅是更新了变量在该线程中复制的值。例如,”正则表达式提取器”(后置处理器)会依据它所在线程的采样结果来更新变量值,该变量值可以供相同的线程后续使用。

注意:属性和变量都是大小写敏感的。