标签:
今天使用Jmeter进行测试时,有时为了避免参数重复,使用Jmeter自带的函数进行了参数化。
1、_Random
功能:这个函数是从某个数字段随机读取数据替换参数,可以利用在测试需要添加多条数据记录而且某些字段需要唯一性的测试脚本中,随机生成的参数是数字
作用:可以用来实现参数化http请求发送的参数,使得在Jmeter运行时参数化了的参数在每个线程去不同的随机数。如果某个参数每次发送请求的时候不能重复才可以存储到数据库中,则用这个功能十分方便。
使用:
1.点击Jmeter的“选项”,选择“函数助手对话框(Function help Dialog)”(或者使用快捷键“Ctrl+shift+F1”),在“选择一个功能”的下拉框中选择“_Random”。
2.配置“_Random”函数,第一个参数是“一个范围内的最小值”,即所要取的随机数的最小值,我们设置成1;第二个参数是“一个范围内的 最大值”,即所要取的随机数的最大值,我们设置成100;第三个参数是“函数名称”,即用于存储在测试计划中其他的方式使用的值,我们设置成 Random。设置好上面的三个参数后,点击“生成”按钮,这样就会在对话框的最下面生成一个字符串 “${__Random(1,100,Random)}”,在我们编写的脚本中,找到要替换的参数,把它的值换成前面生成的字符串就可以了,然后每次运行 的时候,这个参数会变成一个1到100之间的随机数。
2、_CSVRead
csvRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数。
a.我们可以从外部新建一个csv文件,里面保存需要读取的参数,可以是一个参数的多个值(一列),也可以是多个参数的多个值(多个列即可,中间可以以逗号或tab分开)。
b.在Jmeter里,在需要读取参数值的参数value项,选择Function help Dialog,下拉列表中选择_CSVRead,在其中相应位置填写外部csv文件路径,以及该参数在文件中的位置(所在列的值,从0开始计),点击生成,将生成的值(以$开头)填在jmeter中的参数value处。
c.将其他参数按需按b步骤填写。
3、_intSum
如果参数中有以其他多个参数之和取值的参数,就可以用_intSum实现。
_intSum可以直接求的两个或多个整数的值传给相应参数,也可以取其他参数的值(需是整数)作为参数传给sum。
给个例子说明用法:
我将sumprice的值设置成:${__intSum(${__CSVRead(E:\jmx-t\order.csv,2)},${__CSVRead(E:\jmx-t\order.csv,3)},${__CSVRead(E:\order.csv,4)},originPrice)}
这里求的是三个参数的和,其中三个参数均是从外部csv文件读入的,它们分别是order.csv文件的第3,4,5列。
今天用到的暂时是这三个函数,后续遇到再来添加吧:)
标签:
原文地址:http://www.cnblogs.com/lucky-cats/p/4236003.html