课程章节介绍
同学们,我们来看一下这一页,讲的是一个很有意思的功能:定制评估。定制评估它是什么呢?简单说,它就是把咱们的测试能力,从简单的“整个响应对不对”,给你扩展到了更深、更细的层面。你可以用它去专门验证代理返回的响应里头,某一个具体的字符串,或者某一个具体的数字,到底符不符合你的期望。
那它是怎么做到的呢?核心就是通过 JSONPath 表达式。你可能知道,代理返回的数据往往是 JSON 格式的,像个嵌套的盒子。你用 JSONPath 就能写一条路径,动态地从生成的响应里,精准地把那个你要检查的值给揪出来。比如说 $.response.order.amount ,就可以拿到订单金额。
我们支持两种测试类型:一种是针对文本值的,叫字符串_comparation,也就是字符串比较;另一种是针对数字值的,叫 numeric_comparation,数字比较。名字你可能会看到这种写法,明白它意思就行。
无论是哪种,每一个定制评估都定义了三样东西:第一个是“实际值”,就是用 JSONPath 指定你要取的那个动态数据的引用;第二个是“期望值”,就是你认为正确的结果,可以是一个数字,也可以是一段文字;第三个是“比较运算符”,比如等于、不等于、大于、小于,甚至包含等等。
这样组合起来就非常灵活。比如你有一个客服代理,它返回的回答里面有个状态码,你想确保每次都等于“success”,那就可以设一个字符串_comparation,实际值用 JSONPath 指向状态字段,期望值填“success”,运算符选等于。或者你要测试一笔金额是不是大于 100,那就用数字比较,简单明了。
所以说,定制评估让我们不再只是看整体输出像不像,而是可以深入到数据结构内部,去动态地、有逻辑地验证关键字段。这在做自动化的质量保障时,特别有用。好了,这一页的概念就先讲到这儿。