jmeter 读取多个用户名并同时发
在运营活动测试过程中,经常需要对秒杀活动或定时抽奖活动进行并发测试。那么怎样快速便捷的模拟多用户同时参与活动,抽取奖品,进行并发测试呢?尤其是,当奖品总数N<用户总数M时,代码是否会存在奖品多发给用户,导致奖品剩余总数出现负数的严重bug?
下面介绍使用轻量级开源测试工具Jmeter进行并发测试的方法——巧用集合点。
以总产品数为3,模拟多用户(5个用户)同时进行抽奖并发测试为例,进行介绍。
思路:首先在运营后台配置产品总数为3,其次模拟多用户登陆,最后通过设置集合点的方式,模拟多用户同时进行抽奖并发测试。
下面进行详细介绍。
一、模拟多用户登录
1、准备M个用户登录数据,将数据保存到data.txt文件中,如下所示:

2、将登陆接口参数化
通过添加CSV Data Set Config,将登陆接口参数化。如下图所示:

设置好上述步骤后,再在登陆接口中引用手机号和密码变量:${mobileNo},${passWord},如下图所示:

二、在抽奖接口前设置集合点
性能测试中经常要进行多用户并发测试,但真正的并发是不存在的,为更真实的模拟并发,可以在并发测试的接口前设置集合点。在本次示例中,当所有的虚拟用户登陆之后,都相互等待,然后一起访问抽奖接口。设置集合点的方法如下:
1、在刚刚创建的脚本中,右键点击 线程组---->定时器---->Synchronizing Timer,如下图所示:

2、将抽奖接口移至集合点下,并在集合点中设置多少个用户同时访问
本次示例中,设置为5个用户并发访问,如下图所示:

注意,若设置5个用户并发访问时,需在线程组中设定,用于模拟多用户同时测试的线程数为5个。如果线程数达不到集合点设置的数,JMeter会一直不动,一直在等待达到设定的集合数到来。
添加完成之后,线程组线程数设定,如下所示:

集合点用户数设定如下图:

以上步骤都设置完成后,执行结果,结果展示中,第一个用户抽奖时间为:2016-12-15 08:19:30,如下图:

第二个、第三个用户抽奖时间都为:2016-12-15 08:19:30,如下图所示:

至此,已达到多用户同时抽奖并发测试的目的。
使用非gui操作
jmeter -n -t admin.jmx -l test.jtl -e -o test_report
-e -o output,指的是在out文件下生成html报告
进入out文件夹,就能看到我们生成的html报告了:

转自:https://www.jianshu.com/p/088616023ecd
jmeter 读取多个用户名并同时发的更多相关文章
- 关于jmeter读取CSV文件的详细设置
jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化 但是将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题, 以下 ...
- jmeter 读取excel数据
jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化 但是将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题, 以下 ...
- Jmeter读取excel表中用例数据实现接口压测
传统的接口测试,都是在接口中手动输入不同用例准备的多种场景参数数据,一遍一遍的输入来执行多个不同的用例,但是现在利用excel表格准备各种类型的数据,使用Jmeter中Jmeter CSV Data ...
- Jmeter读取CSV文件,请求参数乱码
Jmeter读取CSV文件,请求参数乱码 1.修改本地配置文件,jmeter.properties,修改以下配置项 sampleresult.default.encoding=UTF-8 重启Jmet ...
- [Jmeter]通过批处理调用java,java从CSV动态读取登录的用户名和密码,并将其作为参数组合成字符串,写入外部.bat文件,然后通过Java执行这个外部批处理文件
问题1:怎样通过批处理调用java代码? 问题2:怎样通过java从CSV文件获取到用户名和密码存入变量? 问题3:怎样将获取到的用户名和密码组合成字符串,写入外部批处理文件? 问题4:怎样在批处理文 ...
- jmeter读取文件进行参数化时随机取值实现
jmeter能用来做参数化的组件有几个,但是都没有随机取值的功能,遇到随机取值的需求怎么办呢? 突发奇想,可以用函数_StringFromFile来实现,先来介绍下此函数: 此函数位于函数助手中, 函 ...
- jmeter读取执行case插入DB生成报表和备份记录
前言:由于通过jmeter写的接口自动化木有数据导入和统计分析功能,因此做了2次开发,目的是读取每条case获取接口名称和用例名称,通过获取的case执行结果进行计算,得到详细接口的用例通过率存入DB ...
- Jmeter读取Excel,BeanShell取样器调用rt.jar和jxl.jar
将rt.jar和jxl.jar,放在\apache-jmeter-5.0\lib\ext下面 import java.io.*; import java.util.ArrayList; import ...
- jmeter 读取mysql数据库
业务背景 当我们用jmeter进行压测,或者造数据的时候,我们可能希望每次请求的参数都是随机的.如果从一个文件里读取,很难达到要求.jmeter提供了一套读取数据库的组件,能满足部分要求.但性能不好, ...
随机推荐
- window下boost库
1.下载boost开发库源码. 2.使用vs2008的命令行工具,进入到源码目录xxx/boost_1_58_0,命令行中运行bootstrap.bat,生成文件b2.exe,在命令行中执行b2.ex ...
- Windows 经典DOS命令大全
copy \\ip\admin$\svv.exe c:\ 或:copy\\ip\admin$\*.* 复制对方admini$共享下的srv.exe文件(所有文件)至本地C: xcopy 要复制的文件或 ...
- krpano资源下载及还原全景图
krpano资源下载及还原全景图 现在全景云平台有大量的全景图资源,就存在了如何下载的需求. 原理:1.云平台多数使用krpano内核,首先需要将全景云平台中被krpano切成的全景图碎片下载下来,并 ...
- C++异常处理(转)
引言 异常,让一个函数可以在发现自己无法处理的错误时抛出一个异常,希望它的调用者可以直接或者间接处理这个问题.而传统错误处理技术,检查到一个局部无法处理的问题时: 1.终止程序(例如atol,atoi ...
- tree的所有节点都勾选上或者取消勾选
还有一个功能,就是让tree的所有节点都勾选上或者取消勾选,在api中找了一下有一个方法: check target 选中指定节点. 那我们只能是选中根节点后,实现全选. getRoot none 获 ...
- 如何在windows下安装mongoDB扩展
安装环境 系统环境:Windows 10 64位 Apache版本:2.4.9 PHP版本:5.5.12 MongoDB版本:3.2.6 Wamp版本:wamp 2.5 86位 ...
- bash's [ command & [[ keyword
[bash's [ command & [[ keyword] [ (test) command: bash中的条件测试語句, [ condition ], 并不是一个語句, 而是一个命令, ...
- 【HDU4967】Handling the Past
题意 模拟栈操作.有三种操作push,pop,peak分别代表从栈顶压入元素,删除栈顶元素,查询栈顶元素.但是,每个操作会给出一个时间戳,要求操作必须要按照时间戳来进行.但是对于每个peak必须马上给 ...
- hadoop组件启动和关闭命令
一.启动相关组件之前 一般安装完hadoop之后需要格式化一遍hdfs: hdfs namenode -format 然后再进行其他组件的启动,hadoop相关组件都是用位于...hadoop/sbi ...
- CS4.1 RPM打包函数分析
shell举例说明:脚本名称叫test.sh 入参三个: 1 2 3运行test.sh 1 2 3后$*为"1 2 3"(一起被引号包住)$@为"1" &quo ...