jmeter支持http2协议请求

前言:最近有小伙伴问到jmeter怎么发送http2协议的请求,虽然现在http1.1是主流,只有少数几家大厂用到h2协议,但还是研究了下,做个准备,说不定哪天就用上了。

进入正题。

1.为jmeter安装 HTTP/2  Sampler采样器插件。


安装完成后,jmeter即可添加h2协议的采样器,如图


2.jdk1.8及以下版本不支持h2协议,需要依赖alpn-boot.jar。

需要注意的是,jdk小版本和alpn-boot.jar的小版本是一一对应的,对应关系可前往该网站查看:
如笔者的jdk版本为1.8.0_101,对应的alpn-boot的版本是8.1.9.v20160720。
前往http://mvnrepository.com/artifact/org.mortbay.jetty.alpn/alpn-boot 下载对应版本的jar包保存到本地。

3.windows修改jmeter.bat文件,在文件中加入set JVM_ARGS= -Xbootclasspath/p:<path.to.jar>
如:set JVM_ARGS= -Xbootclasspath/p:E:/alpn-boot-8.1.9.v20160720.jar
linux/macos 修改jmeter.sh文件,在文件中加入set JVM_ARGS= -Xbootclasspath/p:<path.to.jar>
如:set JVM_ARGS= -Xbootclasspath/p:~/jar/alpn-boot-8.1.9.v20160720.jar

4.启动jmeter,添加h2采样器,以m.jd.com为例,如图:


执行,查看结果树,请求成功:




另外,需要注意的是,h2是一个异步协议,这意味着client不必等待服务器的响应来继续通信。因此,如果我们想要将断言或后处理器添加到h2请求中,即 处理响应,我们需要选中h2采样器中的复选框Synchronized Request来让jmeter在发送更多请求之前需要等待直到收到响应。这个问题我觉得随着jdk1.9或更高版本的普及,httpclient支持h2协议是迟早的事,jmeter也必定会有相应更新,一起期待吧。

以上。还是挺简单的(逃)。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
好的,我来回答你的问题。 JMeter是一个功能强大的性能测试工具,支持多种协议,包括HTTP、WebService和Socket协议。下面是使用JMeter开发这些协议脚本的步骤: 1. HTTP协议脚本开发 (1)创建测试计划:在JMeter中创建一个测试计划,并添加一个线程组。 (2)添加HTTP请求:在线程组下添加一个HTTP请求,并设置请求的URL、请求方法、请求头和请求参数等。 (3)添加断言:可以在HTTP请求中添加一个响应断言,用于验证响应结果是否正确。 (4)运行测试计划:运行测试计划并查看测试结果。 2. WebService协议脚本开发 (1)创建测试计划:在JMeter中创建一个测试计划,并添加一个线程组。 (2)添加WebService(SOAP)请求:在线程组下添加一个WebService(SOAP)请求,并设置请求的URL、请求方法、请求头和请求参数等。 (3)添加断言:可以在WebService请求中添加一个响应断言,用于验证响应结果是否正确。 (4)运行测试计划:运行测试计划并查看测试结果。 3. Socket协议脚本开发 (1)创建测试计划:在JMeter中创建一个测试计划,并添加一个线程组。 (2)添加TCP Sampler:在线程组下添加一个TCP Sampler,并设置请求的IP地址、端口号和请求数据等。 (3)添加响应断言:可以在TCP Sampler中添加一个响应断言,用于验证响应结果是否正确。 (4)运行测试计划:运行测试计划并查看测试结果。 以上就是使用JMeter开发Http/WebService/Socket协议脚本的基本步骤,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值