08.Jmeter取样器


目录

1、Http请求

2、Junit取样器

3、调试取样器【Debug Sampler】

4、webservice形式的请求

5、其他说明

1、Http请求

  • 模拟发送http协议的请求
  • 协议
  • 服务器名称(域名)/ip
  • 端口号
  • 请求方法
  • 请求资源路径/接口
  • 编码格式
  • 请求参数
  • 最简单的一个http的get请求
  • Json Path Tester
    • 可以验证json格式的值
  • 一个简单的post请求
  • 通过http请求默认值进行改造
    • 带了配置元件--->http请求默认值后,下面的接口就不用带服务器的域名或者ip了
  • 执行效果一样
  • 比如请求有问题,如何通过抓包来分析哪里有问题?
    • 1)我们手动在请求地址后面加一个空格【肉眼看不出来】
    • 2)http请求的高级里面配置抓包代理
    • 3)发送请求,去抓包软件抓到请求,分析
    • 空格经过编码后,就是%20,就找到了原因,url里面多了个空格
  • get/post/delete传参总结
  • get
    • 传参两种方式
    • 1)参数传参,直接一个一个添加就可以了
    • 2)url里面通过?和&连接键值对参数即可
  • post
    • 传参方式
      • 1)也可以进行参数传参,这种方式默认的Content-Type为application/x-www-form-urlencoded,不用改
      • 2)请求体传参
        • 请求体传参,默认的Content-Type为text/plain
        • 所以如果要传参为"username=admin&password=1" 这样的格式,Content-Type要手动改为application/x-www-form-urlencoded【JMeter里面默认都是这样的】
        • 所以这种要加请求头元件咯
      • 3)application/json
  • put
    • 需要注意传参的方式:
      • 1)如果传参是body,那么就是application/json方式,在消息体数据里面传参
      • 2)如果传参方式是query,那么只能通过url里面进行拼接,即"/xxx?参数名=参数值"这样的方式来传参
        • ​​​​​​​​​​​​​​
  • delete
    • 传参方式:
      • 1)如果是body,就正常来,如果是json设置application/json,并在请求体中传参
      • 2)如果是query,那么要注意,尽量 在url中去拼接请求参数
    • 因为如果在下面的参数里面去添加,那么它会在url里面去拼接成功,但是,在请求体中也会出现这个参数键值对
      • ​​​​​​​
  • 两种传参:
  • 两种重定向方式:
    • 跟随重定向:
      • 能够显示中间重定向的过程
      • 你就可以从中间的请求过程的结果中去提取信息,用于后续的请求
      • 所以,一般就用跟随重定向即可,同时这个也是默认值。
    • 自动重定向:
      • 不会显示中间过程
      • 只会告诉你结果
      • 所以你没有办法从中间过程去提取信息
  • 使用KeepAlive:
    • http1.1版本默认是长连接的
    • http1.0版本的是短连接的
    • 有时候在性能测试过程中,需要去掉这个 KeepAlive的 勾选!
      • 大量的请求,如果这个KeepAlive长连接不释放(其实是端口),传输通道可能会被堵!
      • 发一个连接,其实本地也会消耗一个端口

2、Junit取样器

  • JMeter提供了对Junit的支持,可以在JMeter中进行Junit单元测试

3、调试取样器【Debug Sampler】

  • 可以用来查看做调试用
  • 查看设置的各种用户变量、参数、提取的值是否正确等。
  • 还可以查看系统的属性
  • 还可以查看JMeter的属性

4、webservice形式的请求

  • Soap接口
    • webservice是一个web的应用程序,使用xml向外界暴露可供调用的API接口
    • webservice的接口标准
      • SOAP(Simple Object Access Protocol) = http + xml
      • 版本1.1 1.2
      • UDDI(Universal Description, Discovery and Integeration)
      • WSDL(Web Service Description Language), 描述语言,基于xml
    • soap是基于xml的简易协议,可使应用程序在http之上进行信息交换
    • xml本身是一种用于传输和存储数据的一种文本文件
    • soap可以理解为:http + xml
  • 其实请求差不多,注意信息头和传入的参数个数就OK了
  • webservice方式的接口可以参考这里去找:
  • webservice方式的调试

5、其他说明

  • 取样器是JMeter中最核心的元件
  • 你要用JMeter来做什么,必须要配置对应的取样器,否则,啥都不能干
  • 千万不要一顿操作猛如虎,一看战绩0杠5

JMeter是一个功能强大的性能测试工具,它可以模拟多种类型的请求并对系统的性能进行评估。其中,JMeter取样器用于发送不同类型的请求来模拟实际用户的行为。常见的JMeter取样器包括Http请求、JDBC请求、Beanshell取样器调试取样器、JSR223取样器、FTP请求、GraphQL HTTP请求、TCP请求、Java请求等。 Http请求取样器用于发送HTTP请求,模拟浏览器和服务器之间的通信。可以用来测试Web应用程序的性能,并对请求进行参数化、添加头信息、设置Cookie等。 JDBC请求取样器用于对数据库进行增删改查操作。在使用该取样器前,需要添加JDBC配置文件并填写好数据库连接信息。通过该取样器可以执行SQL查询语句,测试数据库的性能和并发处理能力。 Beanshell取样器是一个灵活的取样器,它使用了Beanshell脚本语言,可以编写复杂的逻辑和处理JMeter的变量。通过Beanshell取样器,可以对JMeter的变量进行拼接、处理,并进行任意的自定义逻辑。 调试取样器用于调试测试计划,它可以捕捉和显示取样器的请求和响应数据。在测试中,可以通过调试取样器来验证请求的正确性,并查看响应的详细信息,以便进行问题排查和分析。 综上所述,JMeter取样器提供了多种功能和灵活性,可以满足不同场景下的性能测试需求。通过选择适当的取样器,可以对系统的各个方面进行全面的性能评估。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Jmeter的元件使用介绍:取样器详解](https://blog.csdn.net/weixin_43641920/article/details/126331097)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值