• jmeter模拟多用户并发


    一、100个真实的用户
    1、一个账号模拟100虚拟用户同时登录和100账号同时登录

    区别

    (1)1个账号100个人用,同时登录;

    (2)100个人100个账号,同时登录。

    相同

    (1)两个都是100人同时登录,具体看项目需求。

    2、账号来源

    (1)利用“注册”或“创建”账号接口,创建100个用户;

    (2)“查询”接口,保存100个账号的账号、密码到一个文件。

    3、提取100个账号、密码的文件

    (1)jmeter脚本整体布局

    <span style="background-color:#f8f8f8"><span style="color:#333333">线程组(一级)---->请求默认值、请求头、http请求、察看结果树(二级)----->正则表达式、BeanShell 后置处理程序(三级)。</span></span>

    HTTP请求默认值:是存放系统通用ip的位置(协议:http; 服务名称或ip:127.0.0.1);

    HTTP信息头管理:接口请求之前需要带的信息,部分接口不带不能运行(Authorization、Content-Type、Accept、User-Agent),例如必须带的token就在信息头中存放;

    登录请求:请求方法、请求路径、消息体;正则表达式提取token

    创建请求:请求方法、请求路径、消息体;参数化用户名,创建多个用户;

    查询账号:请求方法、请求路径、消息体;正则表达式提取用户名、密码;BeanShell 后置处理程序存储返回值到文件中。

    (2)查询请求中的正则表达式和BeanShell 后置处理程序

    • 正则表达提取----->获取想要的字段内容

    • BeanShell 后置处理程序---->将提取到的字段内容存储在指定文件4.csv中

    1. <span style="background-color:#f8f8f8"><span style="color:#333333">FileWriter fs=new FileWriter("D://近期//4.csv",true);
    2. BufferedWriter ut =new BufferedWriter(fs);
    3. out.write(vars.get("username")+","+vars.get("id")); //username、id为正则定义名称
    4. out.write(System.getProperty("line.separator")); //相当于"\n"自动换行
    5. out.close();
    6. fs.close();</span></span>

     

    • 线程组线程数设置数目等于提取到的条数,执行脚本得到100个用户的账号和密码

    二、100个用户同时登录
    1.设置线程组

    ​线程数:并发用户数

    Ramp-up时间(秒):启动所有线程所需要的时长

    (1)0---->代表同时并发;

    (2)100---->线程数100,时间100秒。代表每隔1s启动一个线程(100/100=1)

    循环次数:Loop Count

    (1)默认值是1;

    (2)2---->线程数100,循环次数2。代表启动200个线程;

    (3)勾选“永远”,会一直执行,需要人工停止,一般配合调度器使用。

    2.模拟多用户登录

    • 线程组下添加----->CSV 数据文件设置

    将存储用户账号、密码的文件引入,并命名变量名称,在登录时调用。

    6.png

    • 调用,传参${name}

    注释:本系统账号密码一致,所以只需要调用一列值

    <span style="background-color:#f8f8f8"><span style="color:#333333">/api/v1/oauth/token?username=${name}&password=${name}&scope=all&grant_type=password</span></span>

    3.执行测试,查看结果

    100用户同时登录

    软件测试面试小程序

    被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

    涵盖以下这些面试题板块:

    文档获取方式:

    这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

    以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

    文章知识点与官方知识档案匹配,可进一步学习相关知识

  • 相关阅读:
    7-8 HashSet存入自定义类对象
    QCheckBox、margin、border、pandding、QHoxLayout、QSplitter
    深入了解Elasticsearch搜索引擎篇:倒排索引、架构设计与优化策略
    【python】删除远程服务器的某些文件
    集合篇---Map集合
    WPF控件3
    Lumion和Enscape渲染器有什么区别?哪个适合你
    从瀑布模式到水母模式:ChatGPT如何赋能软件研发全流程
    【论文阅读|深读】Role2Vec:Role-Based Graph Embeddings
    Mysql事务
  • 原文地址:https://blog.csdn.net/2301_79535544/article/details/133279443