在实际工作中,我们经常遇到前一个接口返回的值当做下一个接口的参数进行请求。例如token,用过jmeter和postman的同学应该知道设置一个中间变量来接收token,在下个接口调用就可以了。下面给大家介绍下如何用httprunner中extrac赋值。
登录接口获取token
查询项目详情
在httprunner中我们使用extract来提取token,使用方法如下
extract:
- token: content.ck_token
"""
* Create by dell on 2020/12/12
* Author :wencheng
* 微信公众 :自动化测试 To share
"""
name: "登录接口"
base_url: "http://127.0.0.1:8000"
variables:
username: wencheng
password: 123456
request:
url: /users/login
method: POST
headers:
Content-Type: "application/json"
User-Aent: "Mozilla/5.0 test1"
json:
username: $username
password: $password
validate:
- eq: ["status_code", 200]
"""
* Create by dell on 2020/12/12
* Author :wencheng
* 微信公众 :自动化测试 To share
"""
name: 查询项目详情
base_url: http://127.0.0.1:8000
variables:
title: "详情"
request:
url: /projects/viewsets
method: GET
headers:
Content-Type: "application/json"
User-Aent: "Mozilla/5.0 test1"
Authorization: Bearer $token
validate:
- eq: ["status_code", 200]
"""
* Create by dell on 2020/12/12
* Author :wencheng
* 微信公众 :自动化测试 To share
"""
name: "查询项目详情"
variables:
title: "详情"
status_code: 200
base_url: "http://127.0.0.1:8000"
teststeps:
-
name: 正常登录
api: api/login.yml
extract:
- token: content.ck_token
validate:
- {check: "content",comparator: "contains",expect: "ck_token" }
-
name: $title
api: api/details.yml
variables:
- eq: ["status_code", 200]
本文分享自 自动化测试 To share 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!