我正在使用Tavern
在python3
中测试我的Web服务器。 Tavern
用于基于预定义的yaml
文件测试服务。响应自动生成的ID值给客户端时,我有一个后端API。如何测试自动生成的响应?以及如何将响应保存到变量中并将其用于其他测试?
test_name: Test phonebook service
stages:
- name: Make sure we can create new contact
request:
url: http://localhost:8080/v2/contact
method: POST
json:
username: testUser
first_name: first
last_name: last
email: test@email.com
password: "123456"
phone: "111111"
response:
status_code: 200
body:
contact_id: # This is auto generated id from backend
如上例所示,它向服务器发送POST请求,并在响应中期望200个状态代码。但是我不知道如何检查contact_id
,它是后端生成的整数。
另外,我想将contact_id
保存在变量中,作为其他API的输入。
答案 0 :(得分:0)
可以通过在响应中使用save
来解决此问题,例如:
response:
status_code: 200
headers:
content-type: application/json
save:
body:
contact_id: id
它将把响应json对象中的id的值保存到名为contact_id
的变量中。然后,您可以通过"{contact_id:d}"
引用此变量。