httprunner学习22-正则表达式提取(extract)与校验(validate)
发布日期:2021-05-09 09:02:27 浏览次数:16 分类:博客文章

本文共 1300 字,大约阅读时间需要 4 分钟。

前言

有些接口返回的并不是json格式的内容,返回的是html或者xml格式的内容,这种就不能用前面的 content.的方法去提取了。

httprunner 支持正则表达式提取(extract)参数,也支持正则表达式校验(validate)

返回html

比如我请求博客园的首页,返回的是应该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: '(.+?)'    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: '(.+?)'    validate:        - eq: [status_code, 200]        - eq: ['(.+?)', 上海-悠悠 - 博客园]

运行用例就可以看到校验成功了,如果有多个地方需要校验,那就校验多次。

上一篇:python笔记43-加解密AES/CBC/pkcs7padding
下一篇:httprunner学习21-extentreports页面样式无法加载问题(已解决)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月04日 15时39分05秒