Jmeter使用

参考资料

线程理解,并发理解:https://blog.csdn.net/hsd412237463/article/details/49929173
结果分析:https://blog.csdn.net/zwc2xm/article/details/78895165
举例:https://blog.csdn.net/wuxuehong0306/article/details/49902989?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
举例:https://blog.csdn.net/lykangjia/article/details/56666893
脚本录制:https://blog.csdn.net/zha6476003/article/details/79770414
指标:https://www.cnblogs.com/insane-Mr-Li/p/10101283.html
Cookie使用与持久化:https://www.cnblogs.com/scarlett-hy/p/10442074.html

目录

0 快速新建
1 基本操作使用
2 脚本录制
3 使用场景和功能一览
3.1 并发测试
3.2 多场景并发测试
3.3 接口测试
4 特殊操作和注意点
4.1 如何获取HTTP头信息
4.2 cookie获取与持久化
4.3 登陆方法,authorization

零 快速新建

  1. 转换为中文版
  2. 新建一个线程组
    新建线程组后,设置线程个数,循环字数等
  3. 新建Http请求
    这里输入接口测试地址或者压力测试的地址,可以是url可以是ip,注意写法,注意端口号,注意协议(https/http)

  4. 新建结果查看,包括两个
  5. 新建断言,这里选择最简单的相应断言
    相应断言里可以断言不同的数据,可以测响应码是否包括200,也可以断言是否包含指定内容。断言判断的依据可以查看返回值里面都有哪些,也可以跟开发要。

一 Jmeter基本使用

  1. 添加新的线程组
    TestPlan-Add-Threads(user)-Thread Group

  2. 添加http头文件
    Thread-add-Config Element-HTTP Header Manager

  1. 添加HTTP Request
    Thread-add-Sampler-HTTP Request

  2. 添加结果监视

  3. 运行并查看结果
    response code =200,Error%=0.00

查看【聚合报告】的参数。

  • Label----每个请求的名称,比如HTTP请求等;
  • Samples----发给服务器的请求数量;

  • Average----单个请求的平均响应时间;
  • Median----50%请求的响应时间;
  • 90%Line----90%请求响应时间;
  • 95%Line----95%请求响应时间;
  • 99%Line----99%请求的响应时间;
  • Min----最小的响应时间;
  • Max----最大的响应时间;
  • Error%----错误率=错误的请求的数量/请求的总数;
  • Throughput----吞吐量即表示每秒完成的请求数;
  • Received KB/sec----每秒从服务器端接收到的数据量;
  • Sent KB/sec----每秒从客户端发送的请求的数量。

二 脚本录制和编写

2-1. 脚本结构
通过hashTree来分割结构和模块,再依次划分下一个模块内容

  • TestPlan
  • ThreadGroup
  • HTTPSamplerProxy
  • HeaderManager
  • ResultCollector
    举例其中一个模块
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="4.0" jmeter="4.0 r1823414">
  <hashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
      <stringProp name="TestPlan.comments"></stringProp>
      <boolProp name="TestPlan.functional_mode">false</boolProp>
      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
        <collectionProp name="Arguments.arguments"/>
      </elementProp>
      <stringProp name="TestPlan.user_define_classpath"></stringProp>
    </TestPlan>
  </hashTree>

2-2. 参数取得
登录到被测试页面 →F12→Network→点击测试功能→点F12画面的doPricing(点击测试功能后触发的name)→Headers→General→Request URL


脚本或界面设置参数


三 多场景测试

测试需求如下:对业务A、业务B、业务C、业务D、业务E,5个业务按并发比例要求进行100个用户并发的压力测试
1.创建一个测试计划;
2.在该计划下添加5个线程组,分别是对业务A、业务B、业务C、业务D、业务E;
3.分别设置线程组业务A、业务B、业务C、业务D、业务E的线程数为:40、10、20、25、5(总并发量为100,按并发比例设置并发用户数)
4.在该计划下添加测试结果监控;

四 接口测试


查看结果

对于postman

五 接口测试的文档

六 cookie持久化

参考:https://www.cnblogs.com/scarlett-hy/p/10442074.html
接口测试,需要登陆,三种方式,获取token,session,cookie,但三种都有有效期,每次关闭网页后,脚本要对应重新修改
方法:添加http cookie manager

七 如何用Jmeter登陆

方法1:直接从数据库中获取账号和密码
1)添加线程
2)添加定时器-Synchronizing Timer,设置集合点N(Number of XXX),用户数量超过N时同时请求登陆操作
3)配置原件-JDBC Connection Configuration

4)添加Sampler-JDBC request(从数据库获取登陆账号和密码)

5)添加登陆请求


方法2:对账户密码参数化
1)添加CSV Data Set Config进行参数配置

2)请求调用

八 身份验证

1) 添加 HTTP 授权管理器(配置元件 > HTTP 授权管理器)
2) 添加授权信息

3) 添加请求
4) 参考结果

posted @ 2020-03-24 20:11  Alice1005  阅读(147)  评论(0编辑  收藏  举报