1、常见http响应码及含义
2、问题一
Response code:Non HTTP response code: java.net.URISyntaxException
Response message:Non HTTP response message:llegal character in query at index 89:...
解决方法:
需要将对传入参数进行编码。
那么问题来了,到底什么时候需要勾选编码?
查阅后发现jmeter请求参数有空格时,需要勾选编码,仔细查看设置的参数果然带有空格,所以在设置路径和参数时一样要注意空格问题。
3、问题二
Response code: 404
解决方法:
查看URL中是否存在空格或其他书写错误
4、问题三
在设置参数时,无法点击消息体数据
解决方法:
“参数”与“消息体数据”只能使用一个。当想转换使用时,必须先清空一个,才能使用另外一个。
5、问题四
当HTTPP请求路径中存在{参数}时,需要注意参数的预定义、 符的使用或路径的修改。例如:接口服务文件给出的请求 U R L 为 / h o m e / w / d a t a E n t i t y I d 请求参数为 d a t a E n t i t y I d 在测试时可以采取两种方式进行处理。①删除 d a t a E n t i t y I d ,请求路径写为 / h o m e / w / 74 ,这样直接指定 d a t a E n t i t y I d 值为 74 。②保留 d a t a E n t i t y I d ,并在前面添加一个 符的使用或路径的修改。 例如:接口服务文件给出的请求URL为/home/w/{dataEntityId} 请求参数为dataEntityId 在测试时可以采取两种方式进行处理。 ①删除{dataEntityId},请求路径写为/home/w/74,这样直接指定dataEntityId值为74。 ②保留{dataEntityId},并在前面添加一个 符的使用或路径的修改。例如:接口服务文件给出的请求URL为/home/w/dataEntityId请求参数为dataEntityId在测试时可以采取两种方式进行处理。①删除dataEntityId,请求路径写为/home/w/74,这样直接指定dataEntityId值为74。②保留dataEntityId,并在前面添加一个符号,请求路径写为/home/w/${dataEntityId},然后通过添加->前置处理器->用户参数的方式预定义dataEntityId及其值。
6、问题五
在写json断言时,怎么调试json path写的对不对。
查看结果树,选择JSON Path Tester,查看内容并在JSON Path Exoression栏中写入内容,如“$.code”,点击Test查看结果,结果显式Result[0]=00000与上方内容相匹配时则判断为正确的json path书写。
参考博文:
https://blog.csdn.net/qq_35061334/article/details/123867686?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EESLANDING%7Edefault-1-123867686-blog-124405798.relrec_prioritylanding&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EESLANDING%7Edefault-1-123867686-blog-124405798.relrec_prioritylanding&utm_relevant_index=1
7、问题六
断言成功的话在查看结果是上看不到断言的结果,失败才有
8、问题七
JSON 提取器的作用
a、JSON 是目前大多数接口响应内容的数据格式
b、在接口测试中,不同接口之间可能会有数据依赖,在 Jmeter 中可以通过后置处理器来提取接口的响应内容
c、JSON 提取器是其中一个可以用来提取响应内容的元件
9、问题八
JSONPath中的“根成员对象”总是被称为$,无论它是对象还是数组。JSONPath表达式有“dot–notation”(.号)和“bracket–notation”([]号)两种不同的表示风格。
$.store.book[0].title
或者
$['store']['book'][0]['title']