Geo*_* G. 2 python json assert response
我有一个 python API 调用,服务器响应作为 JSON 输出传给我。
例如,我如何断言此输出中的“状态”为 0:
def test_case_connection():
req = requests.get_simple(url=Server.MY_SERVER, params=my_vars)
assert req["status"]="0"
Run Code Online (Sandbox Code Playgroud)
是我试过的。
响应看起来像:
{"status" : 0, ......}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
TypeError: 'Response' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)
如果您只需要检查请求是否成功,使用即可request.status_code:
def test_case_connection():
req = requests.get_simple(url=Server.MY_SERVER, params=my_vars)
assert req.status_code == 200
Run Code Online (Sandbox Code Playgroud)
如果您想检查响应中是否存在特定的键值对,则需要将响应负载从 json 转换为 dict:
import json
def test_case_connection():
req = requests.get_simple(url=Server.MY_SERVER, params=my_vars)
data = json.loads(req.content)
assert data["status"] == "0"
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 Requests 库,则可以避免使用其内置的 json 解码器手动转换 json 。
| 归档时间: |
|
| 查看次数: |
11122 次 |
| 最近记录: |