python接口篇-项目实战

01  测试登录接口

import json
import requests
import pytest
from jsonpath import jsonpath

from common.excel import read_excel
from setting.path import case_path

# 从 Excel 当中读取出来所有的用例数据
items = read_excel(case_path, 'adminLogin')

@pytest.mark.parametrize('item', items)
def test_login_02(item):


    url = item.get("url")
    method = item.get("method")
    params = item.get("params", '{}')
    headers = item.get("headers", '{}')
    body = item.get("json", '{}')
    expected = item.get("expected")

    # # 把excel当中字符串转成字典
    # if params is not None:
    #     params_dict = json.loads(params)
    # if headers is not None:
    #     headers_dict = json.loads(headers)
    # body_dict = json.loads(body)
    # 把excel当中字符串转成字典

    params_dict = json.loads(params)
    headers_dict = json.loads(headers)
    body_dict = json.loads(body)

    # 2、发起请求,得到响应
    response = requests.request(url=url,
                              method=method,
                              params=params_dict,
                              headers=headers_dict,
                              json=body_dict
                              )
    # 3、响应处理,得到实际结果
    actual = response.text
    print(actual)
    # 有的时候是普通文本,有的时候是json数据
    # 很少进行全量断言,所有的文字都要相等。

    # 断言1:包含
    # assert expected in actual

    # 断言2:json数据断言
    try:
        actual_dict = json.loads(actual)
    except:
        actual_dict = {"msg": actual}

    print(actual_dict)
    expected1 = item.get("expected1")
    expected1_dict = json.loads(expected1)
    #assert actual_dict == expected1_dict


    # actual = jsonpath(actual, '$..page')[0]
    # # 4、断言
    # assert actual == str(expected)

02 验证码识别

你可能感兴趣的:(python之接口自动化测试,python,自动化,pytest)