1、知识总结

1、JMeter基本使用


元件:配置元件、前置处理器、定时器、取样器、后置处理器、断言、监听器

作用域:

  • ·取样器:是核心,本身无作用域
  • ·逻辑控制器:只对子节点起作用

·其他元件:

  • 父节点是取样器,只对父节点起作用
  • 父节点不是取样器,对父节点的所有后代节点(子节点、子节点的子节点等)都起作用

执行顺序:

  • 同一个作用域的不同元件:配置元件、前置处理器、、定时器、取样器、后置处理器、断言、监听器。
  • 同一个作用域的相同元件:从上到下的顺序

2、核心元件

线程组:

  • 分类:普通线程组、setup线程组、teardown线程组
  • 属性:线程数、ramp-up时间、循环次数、持续运行时间、延迟启动时间

HTTP请求:

GET请求(在URL的路径中)

URL:协议、域名、端口、路径、请求方法GET、编码格式
参数:

  • 在路径中添加参数。?参数名=参数值&参数名=参数值
  • 在参数列表中添加。格式:参数名,参数值

POST请求(在消息体数据中)

URL:协议、域名、端口、路径、请求方法POST、编码格式
参数:

  • 在参数列表中添加(只能添加form格式)
  • 在消息体数据中添加(任意格式)

查看结果树

  • 请求:请求行(URL)、请求体(参数)
  •  响应:状态码、响应体

3、JMeter参数化

作用:使用不同的测试数据,调用相同的测试方法

  • 用户定义的变量:定义全局变量
  • 用户参数: 不同的用户使用不同的测试数据
  • CSV数据文件设置: 不同的用户,或者同一个用户的多次循环,都可以获取不同的数据。
  • 函数:不同的用户,或者同一个用户的多次循环,都可以获取不同的数据,不需要提前准备数据

2、案例

问题描述:
当发送www.jd.com的http请求时,查看结果树看到的发送消息和HTTP取样器中配置的不完全一样?

原因分析:

  • 查看结果数中最外层HTTP请求的 请求信息和响应信息,应该与子节点中最后一个HTTP请求的请求消息和响应消息一致;
  • 配置的HTTP请求,应该与子节点中第一个HTTP请求的请求消息一致

JMeter可以自动判断/处理响应状态码

某支付系统,需要用1000个不同的用户登录,并使用添加不同的测试金额数据访问支付接口?

1、准备CSV数据文件 -- 1000个登录的用户名密码

2、添加线程组,设置线程数为1000
3、添加CSV数据文件设置
4、添加HTTP请求。登录,使用读取的用户名密码
5、添加HTTP请求·支付 -- 使用counter函数添加不同的测试金额
6、查看结果树

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐