我有一个休息API,我正在使用Jmeter进行测试。消息“OK”的响应消息断言失败。
以下是我看到的响应标题
HTTP/1.1 200
Set-Cookie: JSESSIONID=BE7C763B232F61E6DCECFSDEDEDB;path=/test-service;HttpOnly
X-Application-Context: test-service:DEFAULT,dev:8098
Link:
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 15 Feb 2017 09:14:30 GMT
采样器结果
Sample Start: 2017-02-15 14:44:26 IST
Load time: 4422
Latency: 4418
Size in bytes: 4368
Headers size in bytes: 500
Body size in bytes: 3868
Sample Count: 1
Error Count: 1
Response code: 200
Response message:
当我通过邮递员测试时,我得到了正确的结果
有人能说出为什么会发生这种情况吗?
注意: 我的应用程序是一个春季启动应用程序。
答案 0 :(得分:1)
如果您的响应断言配置如下所示,则不应该失败。如果您正在寻找整个文本" HTTP / 1.1 200",请确保"响应标题"单选按钮与"包含"在模式匹配规则中,文本为" HTTP / 1.1 200"
答案 1 :(得分:0)
这实际上不是jmeter问题。 HTTP / 2没有定义携带HTTP / 1.1状态行中包含的版本或原因短语的方法。 https://github.com/spring-projects/spring-boot/issues/6548 这实际上是一个Tomcat 8.5问题,因为它开始支持HTTP / 2规范。 引用Tomcat相关部分中的注释“客户端应该忽略它(RFC 7230),它只是浪费字节。”