jmeter 参数类型
JMeter是一个广泛使用的性能和压力测试工具。在使用JMeter时,参数是关键的一环,因为它们控制了测试场景的行为。此文将对JMeter中不同类型的参数进行解析,帮助读者更好地理解和使用JMeter。
一、参数
参数是一个或多个值,它们控制着测试场景的行为。这些参数可以是静态的或动态的。静态参数在测试执行过程中不会改变,而动态参数会被修改,根据预定义的条件改变。
参数可以是任何数据类型,如字符串,数字,布尔值,时间戳等。这些参数可以在脚本中手动设置,也可以在各种不同的方式中通过不同配置元素(config element)和前置处理器(pre-processor)来设置。
Test Plan(测试计划)是在JMeter中最高层次的元素,在测试计划中各个部分的参数构成了整个测试场景。因此,在测试计划中定义正确的参数是非常重要的。
二、静态参数
静态参数是在测试场景中不会变化的参数,它们在测试计划的开始时定义,并在测试运行时保持不变。静态参数在绝大多数情况下是不可避免的,因为在某些事项中需要使用静态值。
例如,在HTTP Request(HTTP请求)中使用静态参数实现下列功能:
GET  HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
Accept-Encoding: gzip, deflate, br
静态参数示例中Host仍然是静态的,因为我们已经确定了请求的目标网站。
另外,静态参数也可以通过使用CSV数据文件或用户定义的变量来定义。
三、动态参数
动态参数是在运行时生成的参数。在测试场景中,这些参数往往比静态参数更具灵活性。动态参数可以是随机数、时间戳、变量、CSV数据等等。它们在运行时根据配置元素或前置处理器生成值。
在一些场景中,需要动态地生成一些值,在这种情况下,动态参数是非常有用的。例如,一个无登录账户的网站,每一个用户请求的身份验证都是不同的。在这种情况下,在每个请求中使用不一样的用户名和密码是必须的。
动态参数的实现方式取决于应用场景和需求。JMeter提供了许多不同的动态参数可供选择,如下:
1、随机数
在参数中使用随机数可以创建具有随机性的值,例如在报文中生成不同的用户名或密码。JMeter的随机函数非常强大,支持各种类型的随机数生成,如整型、浮点型、ASCII码、数字和字母等。
例如,以下表达式可以生成一个随机整数:
{__Random(1,100)}
2、时间戳
时间戳是另一种非常有用的动态参数,在测试计划和测试场景中可以被广泛使用。时间戳跟当前时间有关,它们在每次测试执行中都会改变。时间戳是基于Unix时间戳或具有时间戳格式的时间字符串来定义的。
例如,在以下HTTP请求中加上时间戳头:
GET  HTTP/1.1
Host:
parameter数据类型User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
Accept-Encoding: gzip, deflate, br
X-Timestamp: {__time(yyyy-MM-dd HH:mm:ss)}
3、CSV数据
CSV文件是一种简单的、通用的、轻量级的数据存储格式。在测试场景中,CSV文件可以用来存储测试数据和参数,例如用户名和密码、地址等等。使用CSV文件作为动态参数可以使得在每个请求中使用不同的数据成为可能。
4、变量
在测试场景中使用变量时,可以使用之前使用的值,并为此创建一个动态参数。这种方法可以有效地在测试中重用值,可以在需要暴露id明的每个请求中使用同一个会话ID。
JMeter Provides的controller和processor为您提供了许多内置的变量,这些变量允许您按比例增加您的测试计划,如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。