1、用参数化,实现1000个不同的用户名、密码登录系统参数化:Thread Group的Add->Config Element->CSV Data Set Config添加
2、以下是CSV Data Set Config各个参数的简要说明:FileName:即同目录下csv文件的名称。File Encoding: 默认为ANSI。Varible Names: 定义文本文件中的参数名,参数之间逗号分隔定义后可在脚本在以Shell变量的同样的方式引用,Allow Quoated data: 双引号相关。
3Recycle on EOF: 设置为True后,允许循环取值。Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行,Sharing Mode: 设置是否线程共享。再外层设置1000用户 0s内同时并发。
单台机器的话:看机器配置,一般受内存和cpu影响。比如运存8G(实际可用781G)的电脑,处理器:Interpentiumcpug3260330GHZ,跑到200并发的时候已经出现JMeter报错了,可以利用集合点做jmeter并发测试,详细步骤:
1、准备好要并发的接口,有了接口才好举例说明。
2、要做并发的话,一定要添加同步计时器(另外里边的两个参数,注意,模拟用户组的数量一定不要超过线程数)。
3、设置线程数,填入自己想要并发的数量。
4、点击顶部工具栏的蓝色三角按钮,然后就可以看到运行结果了。
5、就可以在监听器-->用表格察看结果里看到同时发出的5条请求,并发测试就完成了。
说明:每个线程组都有自己的cookie暂存区域,所以cookie管理器默认不支持跨线程组;
解决:
第一步:设置属性:CookieManagersavecookies = true ;作用:运行将cookie保存到变量中
第二步:将变量中cookie信息设置成属性; *** 作,如:${__setProperty(sessionid,${XXX},)}
第三步:读取属性作为手动设置cookie的值 ${__P(${XXX})}
提示:如还有不清楚,可参考黑马程序员接口系列视频;
将一个常量写成变量的形式,每次调用参数获得不同的数据。
PS: 这里要说下Cookie,在后面的参数化过程中发现登录接口请求头里要携带cookie;我一直的误解就是只有登录才有cookie产生,其实是不对的, 一般的cookie是会话被创建时就产生,关闭后就消失 ;可以随便访问项目的网页获取到cookie,然后想办法将cookie加到请求头里去~
1、CSV控制-CSV DATA Set Config
线程组 -> 新建请求 ->参数用变量代替 ,格式${变量名}
新建EXCEL文件,写入测试数据-> 另存为csv文件的格式;
线程组 ->添加配置元件->CSV DATA Set Config->在配置元件里输入csv的绝对地址 ->若CSV不含表头,则在CSV数据文件设置里输入表头变量;反之,则不添加;
2、用户自定义变量
比如有登录接口和获取token的接口,都需要输入用户名和密码,如果我在每个接口请求参数都输入一次,相当于输入了两次;那么,可以使用自定义变量,将用户名和密码的值存在一个变量里,后续的接口需要时直接调用参数即可,减少重复输入的次数。具体 *** 作如下:
线程组-> 添加配置元件->选择用户自定义变量->添加变量名及对应的值(key&value);
线程组 -> 新建请求 ->参数用变量代替,格式为${变量名},调用变量值;
PS: 用户定义变量的所有数据只会初始化一次,不管你多少线程,循环多少次,它的值是不变的(即同一个变量的值写死,不能改变)。 用户自定义变量作用域不同,表示的含义也有区别;放在线程组外,表示全部变量;放在线程组内表示局部变量。
3、用户参数
在调试脚本的时候,可以使用前置处理器中的用户参数组件进行数据的提供,在该数据中可以使用固定值也可以使用变量值。
线程组-> 添加前置处理器->选择用户参数->添加变量名,并输入多个对应的值
每次迭代更新一次:如果选中该选项,则参数的值在每个迭代中保持不变,在新的迭代开始时取下一个值。
PS:在使用用户参数时,如果有n个值,需要设置线程数=n,若设置循环为n,只会调用第一个值执行n遍。
4、函数助手
函数助手里内置了多个函数,如__Random或${__CSVRead(,)}等可以按需求使用不同的功能函数;
面板-> 选项-> 函数助手对话框-> 根据需要选择不同的函数-> 设置范围及变量名->后续接口调用。
${__CSVRead(,)}可以实现读取CSV数据,()里逗号左边是CSV路径,右边是CSV里存放的变量的索引;索引从0开始依次增加1,如 ${__CSVRead(D:\jmeter\loginstxt,0)}。 注:这里的CSV文件就不要表头了。
用户自定义变量的值写死,不能改变;而用户参数,可以引入函数助手,使得同一变量有不同的变量值。
以上就是关于jmeter做压测,模拟1000用户,怎么设置能达到1000并发全部的内容,包括:jmeter做压测,模拟1000用户,怎么设置能达到1000并发、jmeter最多支持多少个并发、jmeter中登录接口成功后,如何保证下个线程组请求也是登录状态等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)