Day15_Jemeter的常用元件和管理Cookie

Day15_Jemeter的操作元件和管理Cookie

1. 定时器

1.1 固定和随机定时器
  • 模拟用户的思考时间

    • 用户在上网时, 无论发起哪个请求都有思考时间(时间延时)
    • 固定定时器: 固定定时器作用域该线程组下所有的请求,所有请求发起时都有1s的时延

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKVknj0s-1658139912102)(D:\typora\img\1658109979818.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cK3V1Lgd-1658139912103)(D:\typora\img\1658109991856.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pJLy2lwl-1658139912103)(D:\typora\img\1658110447244.png)]

  • 高斯随机定时器
    • 更好的模仿用户的思考时间(因为等待时间的概率是高斯分布, 如下图)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DGRzBkwW-1658139912104)(D:\typora\img\0f0fed5c-edb0-42ab-b4d6-84c880c759d3-12945687.jpg)]

  • 设置高斯定时器后的响应结果
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pWjCtz39-1658139912105)(D:\typora\img\1658110383684.png)]

1.2 集合点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-accDDnxa-1658139912106)(D:\typora\img\1658110757649.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zLZzS2hR-1658139912107)(D:\typora\img\ef2de4f5-94e3-4fcc-a97c-efeb0eac5f61-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-suPGTtl9-1658139912108)(D:\typora\img\1658110944094.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lQHNkdtM-1658139912109)(D:\typora\img\0c2c10f3-7e68-4bbc-842a-1b20075458b8-12945687.jpg)]


  • 超时设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vBLlnSFf-1658139912110)(D:\typora\img\1658111170159.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zDAT8pCh-1658139912111)(D:\typora\img\1658111252672.png)]


2. 监听器

2.1 查看结果树

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tNhH4WGT-1658139912112)(D:\typora\img\e2b18451-da69-4428-9c5f-0d22eadd2955-12945687.jpg)]

2.2 用表格查看结果
  • 主要关注请求发起的时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w9bdhsSy-1658139912112)(D:\typora\img\03260168-bc30-4416-8b9f-c76274913ad8-12945687.jpg)]

2.3 汇总报告

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pfRsrY0h-1658139912113)(D:\typora\img\ac9144e5-87a2-44f2-b6be-4e907d7fd445-12945687.jpg)]

2.4 聚合报告

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WL3JRL4W-1658139912115)(D:\typora\img\64d49426-29b2-4700-be7b-4b28c41c9f9b-12945687.jpg)]

3. 逻辑控制器

3.1 ForEach和循环控制器
  • 用于遍历列表, 详见7.6
3.2 事务控制器
3.2.1 关于事务的概念
  • 什么是事务: 把多个操作看做一个整体
    • 例如: 建行A账户转账500元给工行B账户
      • A - 500
      • B + 500
    • 上述的两步操作必须是一个整体, 同时成功, 同时失败, 受事务控制

  • 事务的特点: ACID
    • A(Atomicity) -> 原子性: 是不可分割的最小单位, 表示事务不可分割
    • C(Consistency) -> 一致性: 事务发生前和发生后状态(数据)是一致的
      • 操作前的总金额(A+B) = 操作后的总金额(A+B)
    • I(Isolation) -> 隔离性: 事务和事务之间相互隔离, 互不影响
      • 例如:
        • A --(转账500)-> B 事务1
        • B --(转账100)-> C 事务2
    • D(Durability) -> 持久性: 事务一旦提交, 持久化到硬盘上, 不是临时状态

  • 数据库的事务
    • 自动提交事务, 每执行一条sql, 就是一条事务

  • 测试的事务
    • 例如: 测试充值接口
      • 前置: 先查所有用户, 提取出电话号码
      • 测试: 发起充值请求
      • 如果充值接口有bug, 异常率为100%
3.2.2 测试事务-事务控制器
  • 新建两个请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xk59Yui9-1658139912115)(D:\typora\img\1658114078308.png)]

  • 通过查看结果, 可以看出两个请求是分隔的, 异常率是50%, 并非一个事务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nmSbHozS-1658139912116)(D:\typora\img\1658114100082.png)]


  • 添加事务控制器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xb7hlAtw-1658139912118)(D:\typora\img\6d1c7fe5-7cdc-4a86-963e-7f3ee096449d-12945687.jpg)]

  • 将两个请求置于事务控制器之下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RDEnijZm-1658139912119)(D:\typora\img\1658114209809.png)]


3.3 仅一次控制器
  • 请求只发送一次, 主要用于性能测试, 每个用户的请求是并发执行的

  • 使用场景:

    • 5个用户进行测试充值的压力测试, 1个用户发起10个请求
    • 然充值需先登录, 每个用户都只登录一次即可
  • 解决方案:

    • 把登录放在仅一次控制器下, 每个用户只登录一次, 其他的操作实现多次

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lyj1M4Fm-1658139912119)(D:\typora\img\68eef513-7f94-43b4-9b50-64ac637859ef-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PsZqssMz-1658139912120)(D:\typora\img\1604529f-9e6f-4758-9e76-9e836968157d-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E8KhqNkw-1658139912121)(D:\typora\img\788044b8-63af-41bf-95b8-4a994181ec34-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6sAj4ybC-1658139912122)(D:\typora\img\ba590c37-bea5-4d74-8f5e-ebd22f60e64b-12945687.jpg)]


4. 所有数据都放在CSV文件中

4.1 基本步骤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TIQgJrf-1658139912122)(D:\typora\img\1658116031375.png)]

  1. 新建CSV Data Set Config

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OQBJaquw-1658139912123)(D:\typora\img\1658115710001.png)]


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iGntdKF7-1658139912124)(D:\typora\img\ee85b1ca-41dd-4408-8adb-bc5be2583dc3-12945687.jpg)]

  1. 从csv获取值, 发起请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EfKzrEHT-1658139912124)(D:\typora\img\1658116182950.png)]

  • 修改线程数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k1kwggla-1658139912125)(D:\typora\img\e0a2c835-2978-4170-ad4a-ef12618a0ac0-12945687.jpg)]

  1. 添加json断言

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7gIdx4g-1658139912126)(D:\typora\img\1658116258007.png)]


4.2 if控制器
  • 通过if控制器实现只执行登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ftH6U8l5-1658139912127)(D:\typora\img\29c69273-ed85-4144-8ce8-d32a8902eb6d-12945687.jpg)]

  • 设置if控制器
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zosbPic8-1658139912127)(D:\typora\img\a0d820c2-70ec-406e-a272-68a2a3df7a49-12945687.jpg)]

  • 查看结果, 可以看到只执行了登录请求
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MIREtNJc-1658139912128)(D:\typora\img\1658124807030.png)]

  • 修改if控制器实现其他请求
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QN6ZeN1t-1658139912129)(D:\typora\img\4794bff1-c238-42e9-afee-4e4c2e477549-12945687.jpg)]

4.3 jexl3函数
  • 用于If条件控制器, 此时需要勾选第一个选项
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xT4TugIA-1658139912130)(D:\typora\img\4fffef95-cd86-43c3-b315-5361a55d10ad-12945687.jpg)]
    在这里插入图片描述

5. Jemeter管理Cookie

5.1 无Cookie访问
  • 无Cookie时发起请求
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hPJKbkqT-1658139912131)(D:\typora\img\25cfa2c4-1045-46cb-92dd-acc25f447f2f-12945687.jpg)]

  • 重定向到登录页面
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jeucdJre-1658139912132)(D:\typora\img\933ea762-fdae-47d6-b9ee-b929764221a9-12945687.jpg)]


5.2 有Cookie访问
  1. 登录的请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zu3TcmNC-1658139912133)(D:\typora\img\3bfc92ed-569f-4ef0-861f-2b4408a0dcf5-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uum5B1dl-1658139912134)(D:\typora\img\5627bae4-58ea-430f-b207-6248ea3ecedd-12945687.jpg)]

  1. 添加HTTP Cookie管理器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZCkp0Y9i-1658139912135)(D:\typora\img\5fa1c433-00eb-4a1b-9705-9b657990078c-12945687.jpg)]

  • 通过结果可以看到第二个请求没有重定向到登录页面, 证明请求带了Cookie
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gCgCjQLF-1658139912135)(D:\typora\img\1658125881313.png)]

6. Jmeter无界面运行

"jmeter.bat" -n -t xxx.jmx -l xx.jtl -e -o path

  • jmeter.bat: 可以用绝对路径,或者是相对路径指向可执行文件
  • -n: 非界面运行
  • -t xxx.jmx: 要执行的脚本(可以是相对路径也可以是绝对路径)
  • -l xx.jtl: 执行的结果放在哪个文件中
  • -e: 生成测试报告
  • -o path: 测试报告放在哪个文件夹下面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JRQIju1q-1658139912136)(D:\typora\img\1658127044293.png)]

“D:\Develop\jmeter\apache-jmeter-5.4.3\bin\jmeter.bat” -n -t 线程组.jmx -l jemeter_result/result.jtl -e -o jemeter_result

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wa2FStBj-1658139912137)(D:\typora\img\1658127093368.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uMJ1SX1g-1658139912139)(D:\typora\img\1658127533063.png)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值