TypechoJoeTheme

Misty rain的博客

统计

Jmeter性能测试-进阶篇(上)

2021-12-23
/
67 评论
/
1,344 阅读
/
正在检测是否收录...
12/23

进阶篇上:本章主要讲jmeter中的一些进阶操作,比如:添加断言、获取上游参数、添加公共参数、计时器、读取csv参数、一些常用的基础操作

jmeter中的一些常用操作

  • 上移下移:

在左侧直接拖动任意节点可进行位置调换,一般一些公共的变量、请求默认值、请求头都是放在最上面的,同时一些有流程性的接口也是讲究顺序的,如果顺序不正确会出现接口错误。

  • 添加监听器:
    在jmeter中可以添加各式各样的监听器,上节基础篇中我们添加了结果观察树,同时我们可以添加一些常用的监听器,例如:聚合报告(Aggregate Report)、断言结果(Assertion Results)、用表格查看结果(View Results in Table)、响应时间图(Response Time Graph)、图形结果(Graph Results);这些以后都会在性能测试中用到。

为接口添加断言
先查看(新增学生)接口成功之后的响应内容:
{"code": 0, "msg": "操作成功"}
右键选择接口-->Add-->Response Assertion,更改名称:新增学生响应断言
再新建一个‘响应断言’:响应头状态码


再次运行接口,发现断言未通过:
Test failed: text expected to contain /操作成功/
该响应信息中没有“操作成功”字符;
发现响应信息是:
{"code": -1, "msg": "phone具有 电话 的 学生 已存在。"}
所以该接口调用失败。

添加计时器
这里如果要做压力测试,这如果只能运行一次就报断言错误,那显然是行不通的,这时简单的重复编码业务可以优先考虑计时器。
右键线程组-->Add-->Config Element-->Counter,更改名称:电话号计时器,并将该计时器移动到最上方。


打开‘新增学生’接口:将phone字段变更为:${phone},即引入计时器参数,在后面的变量、获取上游参数中都是这么来获取。
验证:打开线程组-->调整线程(用户)数为:2
运行后发现俩个接口运行了俩遍,且全部正确,则通过(不要忘记调整计数器哦!)。
上面是使用计数器来完成,我们也可以用随机数来完成,这里引用一个概念:函数。

函数
函数和上面计时器的引用方式一样,都是${}格式。
现在我们创建一个随机数函数:
点击‘函数对话框’图标:


点击生成即可生成函数,将该函数串拿到指定的参数位置即可。
{

"name":"法外狂徒张三",
"grade":"三班",
"phone":"${__Random(11111111111,99999999999,phone)}"

}
再次点击请求可以看到发送了俩个不同的11位随机数。
当然,jmeter提供很多的函数,这里就不做解释了,可以参考我另外的jmeter文章。

用户自定义变量
我们可以自己定义一些固定的值,在多个接口中用到的参数就可以提炼出来作为用户公共参数。
点击项目‘student测试’:


点击运行后,查看请求参数,发现phone已经完成调用了公共参数。

获取上游参数
在接口请求中,我们经常会在当前接口用到上面接口的返回值作为参数进行请求,这时我们就需要获取上个接口的返回值作为参数。
我们在新建一个接口:复制‘获取学生列表’接口,更改名称:获取指定学生信息,并把这个移到‘获取学生列表’接口的下面。
需求:我们需要获取‘获取学生列表’接口返回的第一个学生名称name作为‘获取指定学生信息’接口的请求参数name获取该学生的信息。
在‘获取学生列表’接口右键点击Add-->Post Processors-->json Extractor


然后在‘获取指定学生信息’接口添加参数name:${name}来获取指定学生的全部信息:


这样就完成了上游参数的获取,获取的参数可以在下面的接口任意使用。
json获取规则:$.主参数.副参数.集合[0].参数(具体看你获取哪一层的参数了)

读取csv/txt参数
在有的参数过多时,我们可以将参数放到txt或csv文件中,以指定的符号进行分割,然后作为参数供接口使用。
在桌面新建一个csv文件写入:
张三,18311112225
李四,18311112226
选择线程组点击:Add-Config Element--CSV DAta set Config
选择文件并设置参数名,默认就是以,分割的


更改‘新增学生’的参数:
{

"name":"${csvname}",
"grade":"三班",
"phone":"${csvphone}"

}
将线程组改为2。
运行后完成调用。

性能jmeter
朗读
赞(2)
版权属于:

Misty rain的博客

本文链接:

http://101.42.223.25/index.php/archives/78/(转载时请注明本文出处及文章链接)

评论 (67)
  1. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  2. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  3. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  4. COkALG4o 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  5. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  6. SomeCustomInjectedHeader: injected_by_wvs 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  7. 1 作者
    Windows 10 · Google Chrome

    if(now()=sysdate(),sleep(15),0)

    2022-04-28 回复
  8. 1 作者
    Windows 10 · Google Chrome

    1qP33VRe')) OR 527=(SELECT 527 FROM PG_SLEEP(6))--

    2022-04-28 回复
    1. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    2. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    3. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    4. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    5. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    6. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    7. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    8. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    9. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    10. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    11. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    12. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    13. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    14. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    15. 1 作者
      Windows 10 · Google Chrome
      @1

      '"

      2022-04-28 回复
    16. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    17. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    18. 1 作者
      Windows 10 · Google Chrome
      @1

      2022-04-28 回复
    19. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    20. 1 作者
      Windows 10 · Google Chrome
      @1

      comment

      2022-04-28 回复
    21. 1 作者
      Windows 10 · Google Chrome
      @1

      comment

      2022-04-28 回复
    22. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    23. 1 作者
      Windows 10 · Google Chrome
      @1

      comment/.

      2022-04-28 回复
    24. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    25. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    26. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
    27. 1 作者
      Windows 10 · Google Chrome
      @1

      1

      2022-04-28 回复
  9. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  10. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  11. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  12. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  13. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  14. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  15. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  16. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  17. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  18. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  19. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  20. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  21. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  22. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  23. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  24. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  25. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  26. 1 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  27. 1Dt0FSc8dLO 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  28. 1 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  29. 1 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  30. 1 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  31. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  32. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  33. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  34. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  35. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  36. 1 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  37. 19537768 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  38. 19112070 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  39. 19976689 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  40. 19349240 作者
    Windows 10 · Google Chrome

    555

    2022-04-29 回复

备案号: 浙ICP备2021040483号