一.添加HTTP请求默认值
1.以注册和登录接口为例,首先添加一个HTTP请求默认值,添加请求默认的参数
二.jmeter的参数方式
1.用户定义变量(作用于整个线程组,使用场景:例如多个接口的请求参数中都使用某一个共同的参数,如果这个参数变更了,那么只需要将整个参数设置为用于定义的变量,如果它发生变化,那么只需要改用户定义变量中的值即可)
①线程组--配置元件--用户定义的变量
②在用户定义变量中,设置需定义的变量(注意参数名称最好使用英文、数字和下划线)。
③使用方法:${定义的变量名}
④尝试发送请求,请求数据为用户自定义的变量
2.用户参数
①添加--前置处理--用户参数
②点击添加变量,输入名称和参数值即可。
③使用方法和用户定义的变量一样:${定义的变量名}
④发送请求,请求数据为用户自定义的变量
这两种方式的区别:用户定义的变量可以理解为全局变量,在脚本启动运行时,获取一次,以后不管循环多少次,都不会再重新获取用户定义变量的值;而用户参数是脚本每次使用时,获取一次,每循环一次,会每次重新获取一次。
3.函数
1.Tools--函数助手对话框
2.随机数函数(Random),选择函数后,如果不了解函数,可以点击帮助查看相应的文档;设置随机数的范围后,点击生成按钮。
3.点击生成后自动拷贝函数字符串${__Random(10000000,99999999,)},将其运用在变量中即可。
4.添加调试取样器,方便查看参数化后的结果。
5.设置线程组中的循环次数为2,然后运行,查看结果,可以看出图1和图2中的parmuser是每循环一次就变化一次,而userphone循环后也不变化,从而可以验证(用户定义的变量可以理解为全局变量,在脚本启动运行时,获取一次,以后不管循环多少次,都不会再重新获取用户定义变量的值;而用户参数是脚本每次使用时,获取一次,每循环一次,会每次重新获取一次。)。
4.CSV数据文件配置(使用场景:例如数据库中有现成的数据可以进行使用,那么将这批数据导出设置为csv的格式然后当做测试的数据使用,就可以省去自己造测试数据步骤)。
注意:csv数据文件配置支持TXT和CSV格式的文件类型,建议在国内使用txt的格式(1.因为office保存csv文件时,默认的编码格式不是utf-8,有可能csv文件中有中文数据时,会出现乱码;2.csv文件打开时,占用的内存更多,从性能测试的角度来说,占用的内存越少越好,当数据量比较大时,使用这种文件格式打开时可能会导致内存溢出)
①添加CSV数据文件配置
2.创建一个csv格式的测试数据文件
3.选择文件路径:
①绝对路径
②相对路径
③CSV数据文件配置的使用
遇到文件结束符再次循环?遇到文件结束符停止线程?(一般这两组选项一组是True另一组就是Flase)这两个选项的作用是什么呢?举例说明一下吧,例如:测试数据文件中只有6组数据
但是测试时,设置了10个线程数(相当于用户数),如何让6组数据去填充这10个线程组呢?将遇到文件结束符再次循环?设置为True,那么这10个线程数就会循环使用数据文件中的6组数据,前6个线程使用循环使用数据文件中的数据,第7组线程又开始从头开始循环使用数据。
遇到文件结束符停止线程?举例说明当导入的数据文件中只有6组数据,设置10个线程数,那么当线程使用完数据后,会自动停止线程,也就是线程数只会执行6组,第7组因为没有数据了,就不会执行了。