D04_用例中提取数据:delimiter 界定符方式
在 httprunner 中可以通过界定符的连接方式提取指定的内容。界定符起到了连接的作用,类似路径的表达方式,一般作用域逐渐降低,如: 中国.北京.海淀.西二旗。
无论JSON格式还是HTML文件,都有类似的嵌套结构存在,这就为界定符提供了用武之地。
\httprunner-2.5.5\httprunner\response.py:
在源码函数的注释中说明,通过界定符方式提取时,可以从响应实体 JSON 或者 HTML 文本中提取
案例: 获取某登录页面验证码图片功能
- 特点:其返还的响应实体为 JSON 类型
- 目的:
- 获取响应实体 JSON 中的 code 编码
- 获取响应实体 JSON 中的 authCodeToken 值
- 验证响应实体 JSON 中 data 项中又包括两个对象“authCodeToken ”和“image”
编写测试用例如下:
- config:
name: 用例:登录
- test:
name: 步骤:获取验证码图片
request:
url: http://47.105.124.232:8091/api/common/getCaptcha
method: POST
headers:
domain: nz.1000phone.com
Content-Length: '0'
extract:
# 以界定符(.)的方式逐级向下提取目标文本
- p_code: content.code
- p_token: content.data.authCodeToken
- p_data: content.data
validate:
# 验证提取的文本是否符合预期
- eq: [$p_code, '200']
- len_eq: [$p_token, 36]
- len_eq: [$p_data, 2]
执行用例,查看测试报告,提取文本和预期一致。