码迷,mamicode.com
首页 > 其他好文 > 详细

性能测试--Jmeter随机生成//随机选取/csv读取关键字

时间:2018-01-30 16:40:37      阅读:446      评论:0      收藏:0      [点我收藏+]

标签:bubuko   imu   check   nbsp   简单   python基础   period   temp   缓存   

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读取关键字

性能测试--Jmeter随机生成//随机选取/csv读取关键字

标签:bubuko   imu   check   nbsp   简单   python基础   period   temp   缓存   

原文地址:https://www.cnblogs.com/Keep-Ambition/p/8381917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!