1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| import pytest import requests
import utils.mysql_utils as um import utils.excel_utils as ue import json
url = "http://111.231.103.117:8083/"
@pytest.fixture(params=um.get_mysql_case_data("登录")) def get_mysql_login_data(request): return request.param
def test_mysql_login(get_mysql_login_data): id = get_mysql_login_data[0] case = get_mysql_login_data[1] title = get_mysql_login_data[2] interface_type = get_mysql_login_data[3] uri = get_mysql_login_data[4] method = get_mysql_login_data[5] if_login = get_mysql_login_data[6] input_data = get_mysql_login_data[7] data_type = get_mysql_login_data[8] expect = get_mysql_login_data[9] if method == "get": response = requests.get(url + uri, json.loads(input_data)) assert 200 == response.status_code assert int(expect) == json.loads(response.text)["status"] elif method == "post": if data_type == "form": response = requests.post(url + uri, data=json.loads(input_data)) elif data_type == "json": response = requests.post(url + uri, json=json.loads(input_data))
assert 200 == response.status_code assert int(expect) == json.loads(response.text)["status"]
@pytest.fixture(params=um.get_mysql_case_data_for_pandas("登录")) def get_mysql_case_data_for_pandas(request): return request.param
def test_mysql_login2(get_mysql_case_data_for_pandas): if get_mysql_case_data_for_pandas["method"] == "get": response = requests.get(url + get_mysql_case_data_for_pandas["uri"], json.loads(get_mysql_case_data_for_pandas["input_data"])) assert 200 == response.status_code assert int(get_mysql_case_data_for_pandas['expect']) == json.loads(response.text)["status"] elif get_mysql_case_data_for_pandas["method"] == "post": if get_mysql_case_data_for_pandas["data_type"] == "form": response = requests.post(url + get_mysql_case_data_for_pandas["uri"], data=json.loads(get_mysql_case_data_for_pandas["input_data"])) elif get_mysql_case_data_for_pandas["data_type"] == "json": response = requests.post(url + get_mysql_case_data_for_pandas["uri"], json=json.loads(get_mysql_case_data_for_pandas["input_data"])) assert 200 == response.status_code assert int(get_mysql_case_data_for_pandas['expect']) == json.loads(response.text)["status"]
@pytest.mark.parametrize( ["case_id", "title", "interface_type", "uri", "method", "if_login", "input_data", "data_type", "expect"], ue.get_excel_case_data("登录")) def test_excel_data_login(case_id, title, interface_type, uri, method, if_login, input_data, data_type, expect): if method == "get": response = requests.get(url + uri, json.loads(input_data)) assert 200 == response.status_code assert int(expect) == json.loads(response.text)["status"] elif method == "post": if data_type == "form": response = requests.post(url + uri, data=json.loads(input_data)) elif data_type == "json": response = requests.post(url + uri, json=json.loads(input_data))
assert 200 == response.status_code assert int(expect) == json.loads(response.text)["status"]
if __name__ == "__main__": pytest.main(["-vs", "-p", "no:warnings", "mysql_utils.py"])
|