3.1参数化
在JMeter中,所有鼠标点击可以输入的地方(字符串),都可以做参数化操作。参数、变量、系统变量、函数调用方式是统一的:${变量名、参数名等},参数化的实现方式一般有两种方式:
函数方式:通过JMeter提供的函数或者自定义的函数来生成参数值。一般来说,建议通过函数助手对话框来实现函数的调用字符串生成。
文件方式:一般来说就是由用户自己将参数值写入参数文件(csv格式),然后通过配置组件–CSV DATA SET CONFIG组件来实现读取和调用。
这里我们主要说一下文件方式:
·文件名:参数文件的名称,包含路径
路径可以是绝对路径,也可以是相对路径。
相对路径:对于本机来说,是指脚本所在的文件夹;对于负载机来说,是指JMeter的bin目录(会在分布式中讲)
·文件编码:和我们请求实际发送的编码没有任何关系,只是为了保障JMeter能够正确的从参数文件中读取数据,要求和参数文件本身的文件编码保持一致。(JMeter默认文件编码为:ANSI)
变量名称:该处可以不填写或者填写一个或多个参数名称
·不填写,则Jmeter会自动读取参数文件中的第一行作为该选项的值(参数名)(不建议使用这种方式)。
·参数名称有多个,则使用逗号分隔。
·每一个参数只会读取其所对应的列的值。参数和列是按顺序从左到右一一对应的
忽略首行:不读取第一行的数据
分割符:默然是逗号,可以修改。
分割符一定要和参数文件中的实际的列的分隔符保持一致。
是否允许带引号:是否允许通过双引号来定义数据块,使得数据块可以包含分隔符
遇到文件结束符再次循环:没有值得时候是否循环取值
遇到文件结束符停止线程:该选项只有当循环取值选项设置为false时才会生效,表示停止线程。
线程共享模式:共享模式,影响的是JMeter中参数的分配方式。
·所有线程:是指测试计划下所有线程,共用一个参数文件的副本,采取先到先拿,顺序获取的方式。
·当前线程组:是指每一个线程组内的线程共用一个参数文件的副本,不同线程组之间互相不干扰。
·当前线程:是指每一个线程都拥有独立的参数文件的副本,不同线程之间互相不干扰