Jmeter随机生成/随机选取/csv读取关键字
一、随机生成关键字
随机生成关键字,需要组件:随机变量配置元件(Random Variable) 该组件的作用是生成字符+随机数字格式的字符串,并保存在变量中,以便后续使用 下面几种格式的字符串都是可以通过该组件来生成的
- 01-selenium
- selenium-01
- se001lenium
- 2017
""" 步骤一:选择Web Test Plan模版 1、点击templates按钮 2、选择Building a Web Test Plan 3、最后点击create,完成创建。 步骤二:修改参数 1、修改测试计划名称为:Random Variable(随机生成关键字演示) 2、修改线程组线程数为:1,ramp-up period:1, 循环次数:1。 3、修改HTTP Request Defaults的web服务器名称修改为cn.bing.com 4、将HTTP请求中的http请求方法修改为L:get,路径修改成:/search,然后将断言注释 5、删除Page Returing 404节点 步骤三:随机变量配置元件 1、在测试计划上点右键,选择添加 -> Random Variable,将新添加的随机变量配置元件拖拽到最上面 2、在该配置原件中Variable Name设置为number, Output Format设置0000,Minimum Value: 2010,Maximum Value: 2020 步骤四:运行 1、新增事务控制器,将http请求都挪至事务控制器下 2、将http请求取样器的名称改为:search date${number}, 同请求一起发送参数中,q设置为${number},并勾选编码checkbox 3、点击运行按钮(快捷键ctrl+r) """
效果图:
二、随机选取关键字
场景:随机让每个请求从:python类、python开发、python函数、pythonsocket、这些关键字中随机选择1个作为搜索的关键字呢?这种随机选择内容然后进行测试的场景在性能测试中是比较常见的,因为越随机越能模拟用户的真实行为,另外一些随机内容也有助于绕过服务器可能存在的缓存机制,从而形成更均匀更真实的压力
""" 步骤一:选择Web Test Plan模版 1、点击templates按钮 2、选择Building a Web Test Plan 3、最后点击create,完成创建。 步骤二:修改参数 1、修改测试计划名称为:Random Variable(随机生成关键字演示) 2、修改线程组线程数为:1,ramp-up period:1, 循环次数:1。 3、修改HTTP Request Defaults的web服务器名称修改为cn.bing.com 4、将HTTP请求中的http请求方法修改为L:get,路径修改成:/search,然后将断言注释 5、删除Page Returing 404节点 步骤三:添加用户定义变量配置元件 1、在测试计划上点右键,选择添加 -> 用户定义变量,将新添加的随机变量配置元件拖拽到最上面 2、在该配置原件中通过key-value的方式定义变量:如key1:爬虫,key2:函数,key3:类 步骤四:运行 1、新增事务控制器,将http请求都挪至事务控制器下 2、将http请求取样器的名称改为:search python${__V(key${__Random(1, 6)})}, 同请求一起发送参数中,q设置为python${__V(key${__Random(1, 6)})},并勾选编码checkbox,或者将http请求取样器的名称改为:search python${__RandomFromMultipleVars(key1|key2|key3|key4|key5|key6)}, 同请求一起发送参数中,q设置为python${__RandomFromMultipleVars(key1|key2|key3|key4|key5|key6)},并勾选编码checkbox 3、点击运行按钮(快捷键ctrl+r) """
效果图:
ps:
函数${__V(key${__Random(1, 6)})}解释:
- ${__Random(1, 6)}:随机生成1-6之间的整数
- key${__Random(1, 6)}:随机生成key1, key2, key3 ....key6中的任意1个字符串
- ${__V(key${__Random(1, 3)})}对形如key1的字符串求值。也就是不把key1当成字符串来看,而是把key1当作是1个变量,并获取这个变量的值。key1的值是我们在用户自定义变量中定义过的,也就是将刚刚从用户定义的变量值取出来
- python${__V(key${__Random(1, 3)})}就是随机组合生成:python类、python函数、python基础中的任意一个字符串
函数${__RandomFromMultipleVars(key1|key2|key3|key4|key5|key6)}解释:
- ${__RandomFromMultipleVars(key1|key2|key3|key4|key5|key6)}:这个函数用法比上面的简单,直接从key1,key2....key6中,任意取一个key的值出来
- python${__RandomFromMultipleVars(key1|key2|key3|key4|key5|key6)}就是随机组合生成:python类、python函数、python基础中的任意一个字符串
三、csv读取关键字