获取响应数据
extract: 提取
注:extract 应与request保持同一层级
1、响应行,响应头;通过 extract 提取响应的数据并存储到变量中,如下图:
注:变量名的前面要有 -
# 获取响应数据: 响应行(200,ok)\响应头
- config:
name: 测试百度网站
base_url: https://www.baidu.com
- test:
name: 接口名称 百度接口
request:
url: /
method: GET
extract: # 提取值存储到变量中
- code: status_code # 响应码
- info: reason # ok
- header_Content: headers.Content-Type # 响应头部
validate:
- eq: [$code,200] # 引用变量 $变量名
- eq: [$info,"OK"]
- eq: [$header_Content,'text/html']
2、获取响应正文
extract 解析响应正文(支持正则)
通过 extract 提取响应正文的数据并存储到变量中(可使用正则提取),如下图:
注:如果断言为中文,加上headers头部的Accept-Language即可,后面有专门写的中文乱码解码的问题解决
# 获取响应数据 响应正文(支持正则)
- config:
name: 百度
base_url: https://www.baidu.com
- test:
name: 百度主页
request:
url: /
method: GET
headers: # 如果断言为中文的话,加上headers的Accept-Language即可
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
extract:
- title: <title>(.+?)</title> # 可以使用正则表达式提取
validate:
- eq: [$title,"百度一下,你就知道"]
extract 解析响应正文(支持json)
通过 extract 提取响应正文的数据并存储到变量中(提取json数据),格式以content为根节点:content.key.key.key ;如下图:
注:可通过 https://www.bejson.com/ 该网址展示json视图更清晰
# 获取响应数据 响应正文 (支持json)
- config:
name: 用户标签管理
base_url: https://api.weixin.qq.com
- test:
name: 百度主页
request:
url: /cgi-bin/tags/get
method: GET
params:
access_token: 49_lsdk_pQJJ4R5IWdWVcDTQu3bHyVOsHDlAcuA99UtVwsmzrtHhSGJKgSPMi3i3TdOQrGeuzZdB62K1uhcKJQAk6eKjzlBL7HgWvAmw7gfiRTp00QnLdSZzN7ul9f2TMPex-Iz2tCg-ZWsSPLbJTJdABAYIY
extract:
- id: content.tags.0.id
- name: content.tags.0.name
validate:
- eq: [$id,2]
- eq: [$name,"星标组"]
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!!