httprunner学习21-正则表达式提取(extract)与校验(validate)
前言
有些接口返回的并不是json格式的内容,返回的是html或者xml格式的内容,这种就不能用前面的 content.
的方法去提取了。
httprunner 支持正则表达式提取(extract)参数,也支持正则表达式校验(validate)
返回html
比如我请求博客园的首页https://www.cnblogs.com/yoyoketang/,返回的是应该html格式的内容
接下来我要提取html里面的 <title>上海-悠悠 - 博客园</title>
中间的文字 上海-悠悠 - 博客园
正则提取参数(extract)
正则提取语法 ‘<title>(.+?)</title>‘
, 提取出来给变量title,用例保存为 test_blog_yoyo.yml
# # 上海悠悠,QQ交流群:750815713 - config: name: test demo - test: name: test demo case1 request: url: https://www.cnblogs.com/yoyoketang/ method: GET headers: User-Agent: Fiddler Content-Type: application/json verify: false extract: - title: '<title>(.+?)</title>' validate: - eq: [status_code, 200]
用debug模式运行
hrun test_blog_yoyo.yml --log-level debug
用 debug 模式可以看到参数提取成功了,后面如果用例有用到这个参数,可以用 $title
引用
正则表达式校验(validate)
对返回的html内容,需要校验结果。之前json格式是通过 content.
的方式去提取,正则表达式提取直接写正则语法就可以了。
用例保存为 test_blog_yoyo.yml
# # 上海悠悠,QQ交流群:750815713 - config: name: test demo - test: name: test demo case1 request: url: https://www.cnblogs.com/yoyoketang/ method: GET headers: User-Agent: Fiddler Content-Type: application/json verify: false extract: - title: '<title>(.+?)</title>' validate: - eq: [status_code, 200] - eq: ['<title>(.+?)</title>', 上海-悠悠 - 博客园]
运行用例就可以看到校验成功了,如果有多个地方需要校验,那就校验多次。
相关推荐
wangzhaotongalex 2020-10-20
wyq 2020-11-11
TLROJE 2020-10-26
风雨断肠人 2020-10-13
duanqingfeng 2020-09-29
rechanel 2020-11-16
cshanzhizi 2020-10-16
luofuIT成长记录 2020-09-22
phphub 2020-09-10
taomengxing 2020-09-07
MaggieRose 2020-08-19
flyingssky 2020-08-18
山水沐光 2020-08-18
jyj00 2020-08-15
AHuqihua 2020-08-09
山水沐光 2020-08-03