@MOPQy6$kgPy7fZMC5S%{5PJ>kS>}Iy3f^hQW=83d=BaPhnB7FU4{Is|rtVo?IDG#N
zjOZo!mK*Zu6I>snW5_&;qD4Ppu1?^pD#$E~B(x^7
zBn6bD#CS6hPRMQP`Yn%}Xp|O;0=k-ka#oaLTU`PuM<2BD(bPMY)Z4Oc*LOqP9*d8)
z$FP(^KXDc%$uREmkSFGrBYY%d4(G_OZSd`04tZQg#xh5QF%7JXjEeqjQj8oevd-aHM-?EFs_
zbBI{SEI!uL)QzSWNM42Bkq0ua;ocC3q}nLP&d_7dTvux(>9gi)LpNIVXuD&i7VveN7(SasrR)&&){
z;?PJ{#i{Z);MM~Yk}rG$K7_@AD<^JM#fcp!eJB^O<=NTs{C_(;_WmCGHdcI7DCC&F
z_BUSD_lvv5(T~%5CYS(^RcPcMG(hRw=_L9eP?NPJ$UQ4p7Zlgm?
zunEy}9Jl2Ljx!V;7>kfLwG{iqh1B5q08xw;x!$YE2bvoB)<&ry}yth+W3O}71p2fnU>5DZ_
QKB9A}=u}vcH?0zfzx8Rso&W#<
diff --git a/common/__pycache__/request_util.cpython-38.pyc b/common/__pycache__/request_util.cpython-38.pyc
index 6a9fc1e79e09169d350a988916b6117d17d79ca7..6b8106efc017e3ed9aa01bf5149ba37e7c0cc5a0 100644
GIT binary patch
delta 923
zcmYjQOKTKC5U%QZ?qqkfF>5sIYmD}(gLqIu5^@Q$n*~|N^yIOR*`#MeH1xU}
zy(-F}9ztOEB6#tEpa)O>jqxZ1AAi7;SUrg`-SqcWcYR&;LC^fo-OqMzWHJuW_7FxRTu)-xc&$#nx}K4&ctbsvoLP{AT`X4W2`k=
zi}R>O9j!ge1yJw$%aNpGb02C*goJ2oFh
zv6%>iSm$o(FJi`Oz2cLG)3dKI1q`p36NEOcpm%&aRL`%Td}SNaT6rI?jB!X$&F`
zM5|^odSPA}Fvv-)hu)nq)`Yt*?C6&{dNocTbQGKQbyq9~LL;%z6{u^%RA4Ev31VA#
z!Ai>yycoULAV#8FR%z@aWx%v?f3iHqY0NPPCsGUxn2UZ|g{iTmLbcj-m;GvW+z@$n
r&_Ca5He3EV`ueMD;c`Q$|497P`fk&!R>g=q`wyd0#V+Xf1sneY^zhzP
delta 1366
zcmY*Z&2Jk;6rYdv?s#h_PSOH3rECKdL?W@ohXfHqMX0C32o9W(_y;)bwTdYxt{gz{W*rAJqj~e@&3nK1d$Tip
ze&Wwu?`$?}BWRodoLzlo5}^lrG2RSVoP-fR4}v3(>!_$_QpX-C5{v|eZg9FqxxrH(
z8^x3`xmhD}f#W4KXZ;Rw=*%3BX+2oGNn_fS_1N@;S`T>Kv(|;ng$&C&&!}le85nQF
z2!F;1MQ8^y@8a-Sq7khr%;^QZi6gv2b`dvfmV6m(sR&<3+}s}S(H+Vy&UQ&R6{R?<
zF?o)sBT~U#(|-;uJ-cSgb$)2ylm}A=sCRgF-@-;(gd!YKKCwk3^D60D%GgQq$z6<5
zqU9n4X{VCp(-8rECZZq@N5*xuZEL?yUYS*E6-5?5!XK&N$hby(pW-fCM*c|yDOR&D
zV|g5-ZW^2&fKBs9lLU-ErtBzv0V>-jy5?o{65_0z{wTeI-a|fFK@qDS;zw%)5Q+(*
z`~kJc^
z_Wi+~&Al5p_AXy?oZs&Ju=mv`PN<|K+KbM*QjNtzq1|pTlmoBOaMk(&0ssu}(g0DeItmC4m5rPX
zhvRzT9O;~J8;yFU?5axO7uxf!R%?DWkls8ToAAp47rZm$HS4MZ5vq`EY4)+9WhXZt
zT@3?2Hnfx!o>o)8vAxeee|YbH|9$%Uv}F&=?%4Kz8U0`ATX$!S8H}g<&!il~f`I;;
zsZ&!XD6yeLTg6nmEt&0arDm6;e#A1Rg@%@imkDLcwJ^?l|PB&MLUBqKl1IX@*eCOxwxb>sgO
zM!poF(h`OuUbErXromg-i-Oc_v^17N9`HY}j6rDFSw#WAPBh3eOoH~vZp}3Tw2r7h{mX<791VV_m0tS^~I`4&!GvjgJ
zdln=r@*-UzRh1fzvZ0%J1>FFmLgE+j3s|6GO~k5;ZlEi;ckB)!>WUfp`1;;6=N{j8
zHD5Mw>Gi5l{=Oe2BuwI3T<0;3QU^3P|WwNdD
z2}oEf7na7wDxXA70#isVOXhGIe%7^JAO7ZQ^kL=>sXzQZQzN7j{heJr*#KG}H4c8f
z^T&648_p)<2YcTi-2HZ2Z8muw_2v-fqqlSSi%92LglhCS*CF-jn(;~FNY|2t^{`z>
zFgxtBGtqCx$Af&j3vm&Q+d}p!>q@Jf=55~-($zrw>7_$}zt`a-mI0(f;TVV_2~}
z7uqfLmPR!grM{*}RcctH3M_2q9bN%GKMfG)ZZKyR)<;;`^)TG@*aMxbSe?eI&OT>u
zY`7t1V2ZbO{u0(+i5i6k^YA>QcMH?iH=!mB07W;5LCk2YaAklVQ84j|!#d(q{f{?o
z?CmTN`KtgAv~f#JoIyA;&xvH7y%2^v9@~4s5_k+~gBa1h;{SDV9yAgc{2WF{I#)-X
z`)OkfNNHn(Y|meTqrTAd-f*I!`Bo8^mDdoKqCd?S&%X?zWd?m;dOaSxOo(LYd<`kD
zBV0iEw`&sN>hco6Vnj;|Gg*UV$rLGPM&C)Ly%gOqU79(G%!>fAF1>(_j&&(|Qu=CO
zO}b$agx!^=uY|tzd~PP(o+EF>dMEU{agKT%URf+QYUb
oav2+IK}h>PJ4b*ongE7!Oo7Fy!FE)M3HMZjkjl&!b;BV40Kr#d@c;k-
delta 1305
zcmcIjO-~b16rDF;opw6YQYg>@wTPQ)AOVFS7W^Ot7s`eZlP;_i-a}hkTHj2gk`fYO
zVPaU27dN_TSB9&4;9+E07W9wcA(F1?;+{VY*THU@kgWJ66tgH3sx0>
z%SxU`^*V9_329r|R6V_}LS{fFlQoG-;A3!!+fbJKGA={Z3Or&CWiTauzEXKyV7v!c
zRWzEXAlwgd8F!2zTtM*mB8y||Tm{Hzd<^5H_!b(TX(^n!rw1POXL4)^)3Ct}14ybt
zqQoF!5)~i9ePYI(-NK@sLEM7mAA^uVyb8l0RP)6vARb4d`{LW$1IM*rgPOinK8X=3
zFrDk@n7DY$|?@~a4^9PaYfR4ZWfk*B_8{)s!16D1pI@i811k#P3^>zTtQeN#^A
z;aPkzajN~c8P!^+`@6t$PjnAf+%xe=@qUC6k+w!}OhA|mmun@jQ00|X=DO{7&LCwL
z;X1Z)}N^FimC3jGaN0OSF1Y3Rs3DgMS
diff --git a/line_of_business_name/service_name_api_backend/data.py b/line_of_business_name/service_name_api_backend/data.py
index 8313ce8..876cea4 100644
--- a/line_of_business_name/service_name_api_backend/data.py
+++ b/line_of_business_name/service_name_api_backend/data.py
@@ -1,32 +1,34 @@
+# 传参不破坏原始request,所以如果想用params传参则写params
+# 如果想data传参,则写data,如果想json传参则写json
+# 三者理论上是互斥的,就是指选其中一种
+
api_backend = {
"get_student": dict(path="/student",
method="get",
# headers 不包含Content-Type 则request使用params传参
headers={},
# 通用参数,每次请求使用
- data={"test": "test"},
+ params={"test": "test"},
# 参数化参数,每次使用其中一项,更新通用参数
- param_list=[
+ parameter_list=[
{"title": "获取学生信息-张三", "data": {"name": "张三"}, "assert": {"code": 0, "msg": "ok"}},
{"title": "获取学生信息-李四", "data": {"name": "李四"}, "assert": {"code": 0, "msg": "ok"}},
{"title": "获取学生信息-王五", "data": {"name": "王五"}, "assert": {"code": 0, "msg": "ok"}}
]),
'post_student': dict(path="/student",
method="post",
- # headers Content-Type = application/x-www-form-urlencoded 则使用 request使用data传参
headers={"Cookie": "", "Content-Type": "application/x-www-form-urlencoded"},
data={"test": "test"},
- param_list=[
+ parameter_list=[
{"title": "新增学生信息-张三", "data": {"name": "张三"}, "assert": {"code": 1, "msg": "ok"}},
{"title": "新增学生信息-李四", "data": {"name": "李四"}, "assert": {"code": 0, "msg": "ok"}},
{"title": "新增学生信息-王五", "data": {"name": "王五"}, "assert": {"code": 0, "msg": "ok"}}
]),
'put_student': dict(path="/student",
method="put",
- # headers Content-Type = application/json 则使用 request使用json传参
headers={"Cookie": "", "Content-Type": "application/json"},
- data={"test": "test"},
- param_list=[
+ json={"test": "test"},
+ parameter_list=[
{"title": "更新学生信息-张三", "data": {"name": "张三"}, "assert": {"code": 0, "msg": "ok"}},
{"title": "更新学生信息-李四", "data": {"name": "李四"}, "assert": {"code": 0, "msg": "okk"}},
{"title": "更新学生信息-王五", "data": {"name": "王五"}, "assert": {"code": 0, "msg": "ok"}}
diff --git a/line_of_business_name/service_name_api_backend/data.yaml b/line_of_business_name/service_name_api_backend/data.yaml
index 4975112..4500e6d 100644
--- a/line_of_business_name/service_name_api_backend/data.yaml
+++ b/line_of_business_name/service_name_api_backend/data.yaml
@@ -2,9 +2,9 @@ get_student:
path: /student
method: get
headers: {}
- data:
+ params:
test: test
- param_list:
+ parameter_list:
- title: 获取学生信息-张三
data:
name: 张三
@@ -28,10 +28,9 @@ post_student:
method: post
headers:
Content-Type: application/x-www-form-urlencoded
- Cookie: ''
data:
test: test
- param_list:
+ parameter_list:
- title: 新增学生信息-张三
data:
name: 张三
@@ -56,9 +55,9 @@ put_student:
headers:
Content-Type: application/json
Cookie: ''
- data:
+ json:
test: test
- param_list:
+ parameter_list:
- title: 更新学生信息-张三
data:
name: 张三
diff --git a/line_of_business_name/service_name_api_backend/test_api_backend.py b/line_of_business_name/service_name_api_backend/test_api_backend.py
index c45cbb6..fb44874 100644
--- a/line_of_business_name/service_name_api_backend/test_api_backend.py
+++ b/line_of_business_name/service_name_api_backend/test_api_backend.py
@@ -8,11 +8,28 @@ from common.faker_util import get_name, get_id_card, get_phone_number
from config.redis import get_redis_conn
from common.yaml_util import yaml_load
import os
+from common.request_util import send_request
+
# 加入yaml用例支持,可选择字典维护用例,也可用yaml维护用例
# from line_of_business_name.service_name_api_backend.data import api_backend
api_backend = yaml_load(os.path.join(os.path.dirname(__file__), 'data.yaml'))
# api_backend = yaml_load(os.path.join(os.getcwd(), 'line_of_business_name', 'service_name_api_backend', 'data.yaml'))
+"""
+# 我们发现用例中有重复代码如下
+ allure.dynamic.title(parameter["title"])
+ request_body = parser("api_backend", data_dict, parameter["data"])
+ response = send_request(request_body)
+ assert_response(response, parameter["assert"])
+尝试简化代码
+"""
+
+simplify_code = """
+allure.dynamic.title(parameter["title"])\n
+request_body = parser("api_backend", data_dict, parameter["data"])\n
+response = send_request(request_body)\n
+assert_response(response, parameter["assert"])\n
+"""
@allure.feature("flask后端接口测试")
@@ -55,32 +72,28 @@ class TestApiBackend:
@allure.story("查询学生接口")
@pytest.mark.multiprocess # 此用例分组到可多进程跑测
- @pytest.mark.parametrize("param", api_backend["get_student"]["param_list"])
- def test_get_student(self, param, fixture_get_token):
+ @pytest.mark.parametrize("parameter", api_backend["get_student"]["parameter_list"])
+ def test_get_student(self, parameter, fixture_get_token):
sleep(1)
- allure.dynamic.title(param["title"])
data_dict = api_backend["get_student"]
data_dict["headers"]["Cookie"] = fixture_get_token
- res = parser("api_backend", data_dict, param["data"])
- assert_response(res, param["assert"])
+ allure.dynamic.title(parameter["title"])
+ request_body = parser("api_backend", data_dict, parameter["data"])
+ response = send_request(request_body)
+ assert_response(response, parameter["assert"])
@allure.story("新增学生接口")
@pytest.mark.multiprocess # 此用例分组到可多进程跑测
- @pytest.mark.parametrize("param", api_backend["post_student"]["param_list"])
- def test_post_student(self, param):
+ @pytest.mark.parametrize("parameter", api_backend["post_student"]["parameter_list"])
+ def test_post_student(self, parameter):
sleep(1)
- allure.dynamic.title(param["title"])
data_dict = api_backend["post_student"]
- res = parser("api_backend", data_dict, param["data"])
- assert_response(res, param["assert"])
+ exec(simplify_code)
@allure.story("更新学生接口")
@pytest.mark.multiprocess # 此用例分组到可多进程跑测
- @pytest.mark.parametrize("param", api_backend["put_student"]["param_list"])
- def test_put_student(self, param):
+ @pytest.mark.parametrize("parameter", api_backend["put_student"]["parameter_list"])
+ def test_put_student(self, parameter):
sleep(1)
- allure.dynamic.title(param["title"])
data_dict = api_backend["put_student"]
- res = parser("api_backend", data_dict, param["data"])
- assert_response(res, param["assert"])
-
+ exec(simplify_code)
diff --git a/pytest.log b/pytest.log
index f249264..1ec04fa 100644
--- a/pytest.log
+++ b/pytest.log
@@ -682,3 +682,2105 @@ body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name
2024-05-29 00:00:58,770 - redis_util.py - get - 79 - INFO - redis str类型 数据获取 key: name value: xp
2024-05-29 00:00:58,772 - conftest.py - fixture_get_token - 62 - INFO - session结束
2024-05-29 00:00:58,775 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 16:36:02,986 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 16:36:03,032 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 16:36:03,063 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 16:36:03,263 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 16:36:03,266 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 16:36:03,267 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 16:36:03,267 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:36:03,268 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 16:36:03,270 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 16:36:03,275 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 16:36:03,276 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 16:36:03,276 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:36:03,319 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 16:36:03,319 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:36:03,319 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 16:36:03,319 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 16:36:03,319 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:36:03,319 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 16:36:03,319 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 16:36:03,319 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 16:36:03,320 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 16:36:03,324 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 16:36:03,324 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 16:36:03,325 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:36:03,341 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 16:36:03,342 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:36:03,342 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 16:36:03,342 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 16:36:03,342 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 16:36:03,346 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 16:36:03,346 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 16:36:03,346 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 16:36:03,346 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 16:36:03,346 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 16:36:03,346 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 16:36:03,347 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 16:36:03,347 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 16:36:03,352 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 16:36:03,352 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 16:36:04,353 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:04,353 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:04,353 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 16:36:04,354 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:04,354 - test_api_backend.py - test_case_one - 51 - INFO - 测试faker数据
+2024-05-30 16:36:04,354 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:04,354 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 16:36:04,354 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 秦秀云
+2024-05-30 16:36:04,355 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 18578148459
+2024-05-30 16:36:04,355 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 140781195901025986
+2024-05-30 16:36:04,355 - test_api_backend.py - test_case_one - 52 - INFO - 秦秀云 18578148459 140781195901025986
+2024-05-30 16:36:05,521 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:05,521 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:05,521 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 16:36:06,387 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:06,387 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:07,575 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:07,870 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:07,870 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:07,870 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 16:36:07,876 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:07,876 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:07,876 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 16:36:08,770 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:08,770 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:08,770 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 16:36:09,900 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:09,916 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:10,812 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:11,138 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:11,138 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:11,138 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 16:36:11,156 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:11,156 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:11,156 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 16:36:12,033 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:36:12,033 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:36:12,033 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 16:36:13,171 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:13,187 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:13,384 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 16:36:13,384 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:36:13,385 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 16:36:13,385 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:36:13,385 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 16:36:13,386 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 16:36:13,397 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 16:36:13,398 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 16:36:13,402 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 16:36:13,432 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 16:36:13,433 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:36:13,433 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 16:36:13,434 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:36:13,434 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 16:36:13,435 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 16:36:13,439 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 16:36:13,441 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 16:36:13,448 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 16:36:14,068 - request_util.py - send_request - 44 - WARNING - 请求发生异常!!!
+2024-05-30 16:36:14,284 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 16:36:14,284 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:36:14,284 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 16:36:14,284 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:36:14,284 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 16:36:14,284 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 16:36:14,288 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 16:36:14,289 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 16:36:14,293 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 16:37:11,518 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 16:37:11,583 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 16:37:11,737 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 16:37:11,938 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 16:37:11,938 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 16:37:11,938 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 16:37:11,941 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 16:37:11,942 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 16:37:11,942 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:37:11,961 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 16:37:11,961 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:37:11,962 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 16:37:11,962 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 16:37:11,962 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 16:37:11,965 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 16:37:11,965 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 16:37:11,965 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 16:37:11,966 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 16:37:11,994 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 16:37:11,996 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 16:37:11,996 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:37:12,005 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 16:37:12,006 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:37:12,006 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 16:37:12,006 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 16:37:12,006 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 16:37:12,008 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 16:37:12,009 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 16:37:12,009 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 16:37:12,010 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 16:37:12,044 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 16:37:12,045 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 16:37:12,045 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:37:12,052 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 16:37:12,052 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 16:37:12,053 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 16:37:12,053 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 16:37:12,053 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 16:37:12,055 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 16:37:12,056 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 16:37:12,056 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 16:37:12,056 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 16:37:12,968 - test_api_backend.py - test_case_one - 51 - INFO - 测试faker数据
+2024-05-30 16:37:12,968 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 张雷
+2024-05-30 16:37:12,969 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 18751175444
+2024-05-30 16:37:12,970 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 610929195910196005
+2024-05-30 16:37:12,970 - test_api_backend.py - test_case_one - 52 - INFO - 张雷 18751175444 610929195910196005
+2024-05-30 16:37:13,011 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:13,011 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:13,011 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 16:37:13,025 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:13,025 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:13 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:13,026 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:13,026 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:13,058 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:13,058 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:13,058 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 16:37:13,069 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:13,069 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:13 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:13,069 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:13,069 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:13,071 - data_parser.py - assert_response - 76 - INFO - 断言通过
+2024-05-30 16:37:14,079 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:14,079 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:14,080 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 16:37:14,086 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:14,087 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:14 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:14,087 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:14,087 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:14,087 - data_parser.py - assert_response - 76 - INFO - 断言通过
+2024-05-30 16:37:14,162 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:14,162 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:14,162 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 16:37:14,173 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:14,173 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:14 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:14,173 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:14,173 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:14,174 - data_parser.py - assert_response - 76 - INFO - 断言通过
+2024-05-30 16:37:14,230 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:14,230 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:14,230 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 16:37:14,245 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:14,246 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:14 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:14,246 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:14,246 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:14,246 - data_parser.py - assert_response - 76 - INFO - 断言通过
+2024-05-30 16:37:15,094 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:15,094 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:15,094 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 16:37:15,111 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:15,112 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:15 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:15,112 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:15,113 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:15,113 - data_parser.py - assert_response - 76 - INFO - 断言通过
+2024-05-30 16:37:15,183 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:15,183 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:15,183 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 16:37:15,200 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:15,200 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:15 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:15,200 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:15,200 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:15,201 - data_parser.py - assert_response - 76 - INFO - 断言通过
+2024-05-30 16:37:15,203 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 16:37:15,203 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:37:15,203 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 16:37:15,203 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:37:15,203 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 16:37:15,204 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 16:37:15,206 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 16:37:15,208 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 16:37:15,211 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 16:37:15,253 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:15,253 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:15,253 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 16:37:15,259 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:15,259 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:15 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:15,259 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:15,259 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:15,273 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 16:37:15,273 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:37:15,273 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 16:37:15,273 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:37:15,273 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 16:37:15,274 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 16:37:15,276 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 16:37:15,277 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 16:37:15,281 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 16:37:16,118 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 16:37:16,118 - request_util.py - send_request - 31 - INFO - 发起请求
+2024-05-30 16:37:16,118 - request_util.py - send_request - 32 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 16:37:16,141 - request_util.py - send_request - 48 - INFO - 请求成功
+2024-05-30 16:37:16,141 - request_util.py - send_request - 49 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 08:37:16 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 16:37:16,142 - data_parser.py - assert_response - 68 - INFO - 开始断言
+2024-05-30 16:37:16,142 - data_parser.py - assert_response - 69 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 16:37:16,142 - data_parser.py - assert_response - 76 - INFO - 断言通过
+2024-05-30 16:37:16,143 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 16:37:16,144 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:37:16,144 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 16:37:16,144 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 16:37:16,144 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 16:37:16,144 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 16:37:16,147 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 16:37:16,148 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 16:37:16,153 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:11:57,051 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:11:57,242 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:11:57,287 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:11:57,470 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:11:57,470 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:11:57,473 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:11:57,474 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 17:11:57,475 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 17:11:57,475 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:11:57,477 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 17:11:57,478 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 17:11:57,478 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:11:57,484 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:11:57,484 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:11:57,484 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:11:57,484 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:11:57,484 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:11:57,487 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:11:57,487 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:11:57,487 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:11:57,487 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:11:57,487 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:11:57,487 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:11:57,487 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:11:57,487 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:11:57,488 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:11:57,490 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:11:57,490 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:11:57,490 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:11:57,491 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:11:57,524 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 17:11:57,524 - test_api_backend.py - setup_class - 24 - INFO - setup_class
+2024-05-30 17:11:57,524 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:11:57,533 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:11:57,533 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:11:57,533 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:11:57,533 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:11:57,533 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:11:57,536 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:11:57,536 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:11:57,536 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:11:57,536 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:11:58,491 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:11:58,491 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:11:58,491 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'post', 'headers': {'Content-Type': 'application/x-www-form-urlencoded'}, 'params': {}, 'data': {'test': 'test', 'name': '张三'}, 'json': {}}
+2024-05-30 17:11:58,493 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:11:58,493 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:11:58,493 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'get', 'headers': {'Cookie': 'xpcs'}, 'params': {'test': 'test', 'name': '李四'}, 'data': {}, 'json': {}}
+2024-05-30 17:11:58,539 - test_api_backend.py - test_case_one - 51 - INFO - 测试faker数据
+2024-05-30 17:11:58,539 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 董春梅
+2024-05-30 17:11:58,540 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 13041554398
+2024-05-30 17:11:58,540 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 511902196312073402
+2024-05-30 17:11:58,540 - test_api_backend.py - test_case_one - 52 - INFO - 董春梅 13041554398 511902196312073402
+2024-05-30 17:11:59,699 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:11:59,699 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:11:59,699 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'post', 'headers': {'Content-Type': 'application/x-www-form-urlencoded'}, 'params': {}, 'data': {'test': 'test', 'name': '李四'}, 'json': {}}
+2024-05-30 17:11:59,710 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:11:59,710 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:11:59,710 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'get', 'headers': {'Cookie': 'xpcs'}, 'params': {'test': 'test', 'name': '王五'}, 'data': {}, 'json': {}}
+2024-05-30 17:11:59,741 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:11:59,741 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:11:59,741 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'get', 'headers': {'Cookie': 'xpcs'}, 'params': {'test': 'test', 'name': '张三'}, 'data': {}, 'json': {}}
+2024-05-30 17:12:00,715 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:12:00,715 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:12:00,715 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'post', 'headers': {'Content-Type': 'application/x-www-form-urlencoded'}, 'params': {}, 'data': {'test': 'test', 'name': '王五'}, 'json': {}}
+2024-05-30 17:12:00,727 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:12:00,727 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:12:00,727 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'put', 'headers': {'Content-Type': 'application/json', 'Cookie': ''}, 'params': {}, 'data': {}, 'json': {'test': 'test', 'name': '张三'}}
+2024-05-30 17:12:00,739 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 17:12:00,739 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:12:00,740 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:12:00,740 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:12:00,740 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:12:00,740 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:12:00,745 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:12:00,747 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:12:00,750 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:12:00,758 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:12:00,758 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:12:00,758 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'put', 'headers': {'Content-Type': 'application/json', 'Cookie': ''}, 'params': {}, 'data': {}, 'json': {'test': 'test', 'name': '李四'}}
+2024-05-30 17:12:00,770 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 17:12:00,770 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:12:00,771 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:12:00,771 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:12:00,771 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:12:00,771 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:12:00,775 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:12:00,776 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:12:00,779 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:12:01,731 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:12:01,731 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:12:01,731 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'url': 'http://api_backend.cn:8899/student', 'method': 'put', 'headers': {'Content-Type': 'application/json', 'Cookie': ''}, 'params': {}, 'data': {}, 'json': {'test': 'test', 'name': '王五'}}
+2024-05-30 17:12:01,745 - test_api_backend.py - teardown_class - 34 - INFO - steup_teardowm
+2024-05-30 17:12:01,745 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:12:01,746 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:12:01,746 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:12:01,746 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:12:01,746 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:12:01,751 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:12:01,752 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:12:01,756 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:21:12,420 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:21:12,481 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:21:12,579 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:21:12,774 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:21:12,777 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 17:21:12,778 - test_api_backend.py - setup_class - 25 - INFO - setup_class
+2024-05-30 17:21:12,778 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:21:12,788 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:21:12,788 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:21:12,788 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:21:12,789 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:21:12,789 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:21:12,790 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:21:12,790 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:21:12,792 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:21:12,792 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:21:12,792 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:21:12,793 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:21:12,794 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 17:21:12,795 - test_api_backend.py - setup_class - 25 - INFO - setup_class
+2024-05-30 17:21:12,796 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:21:12,804 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:21:12,804 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:21:12,805 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:21:12,805 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:21:12,805 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:21:12,807 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:21:12,807 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:21:12,807 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:21:12,808 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:21:12,844 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 17:21:12,845 - test_api_backend.py - setup_class - 25 - INFO - setup_class
+2024-05-30 17:21:12,845 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:21:12,853 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:21:12,853 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:21:12,853 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:21:12,853 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:21:12,854 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:21:12,856 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:21:12,856 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:21:12,856 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:21:12,857 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:21:13,796 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:13,796 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:13,796 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+
+2024-05-30 17:21:13,811 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:13,811 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:13,811 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+data: {'test': 'test', 'name': '张三'}
+
+2024-05-30 17:21:13,822 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:13,822 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:13 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:13,822 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:13,822 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:13,823 - data_parser.py - assert_response - 72 - INFO - 断言通过
+2024-05-30 17:21:13,831 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:13,832 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:13 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:13,832 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:13,832 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:13,859 - test_api_backend.py - test_case_one - 52 - INFO - 测试faker数据
+2024-05-30 17:21:13,859 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 陆畅
+2024-05-30 17:21:13,860 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 13626508414
+2024-05-30 17:21:13,860 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 611001199404169446
+2024-05-30 17:21:13,860 - test_api_backend.py - test_case_one - 53 - INFO - 陆畅 13626508414 611001199404169446
+2024-05-30 17:21:14,831 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:14,831 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:14,831 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+
+2024-05-30 17:21:14,848 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:14,848 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:14 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:14,848 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:14,849 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:14,849 - data_parser.py - assert_response - 72 - INFO - 断言通过
+2024-05-30 17:21:15,019 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:15,019 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:15,019 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+data: {'test': 'test', 'name': '李四'}
+
+2024-05-30 17:21:15,036 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:15,036 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:15 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:15,037 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:15,037 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:15,037 - data_parser.py - assert_response - 72 - INFO - 断言通过
+2024-05-30 17:21:15,049 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:15,049 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:15,049 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+
+2024-05-30 17:21:15,069 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:15,070 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:15 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:15,070 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:15,071 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:15,072 - data_parser.py - assert_response - 72 - INFO - 断言通过
+2024-05-30 17:21:15,856 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:15,856 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:15,856 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+data: {'test': 'test', 'name': '王五'}
+
+2024-05-30 17:21:15,872 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:15,872 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:15 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:15,873 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:15,873 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:15,873 - data_parser.py - assert_response - 72 - INFO - 断言通过
+2024-05-30 17:21:16,043 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:16,043 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:16,044 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+json: {'test': 'test', 'name': '张三'}
+
+2024-05-30 17:21:16,060 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:16,060 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:16 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:16,061 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:16,061 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:16,061 - data_parser.py - assert_response - 72 - INFO - 断言通过
+2024-05-30 17:21:16,063 - test_api_backend.py - teardown_class - 35 - INFO - steup_teardowm
+2024-05-30 17:21:16,063 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:21:16,063 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:21:16,063 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:21:16,063 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:21:16,063 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:21:16,066 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:21:16,068 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:21:16,072 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:21:16,079 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:16,079 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:16,079 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+json: {'test': 'test', 'name': '李四'}
+
+2024-05-30 17:21:16,094 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:16,094 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:16 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:16,095 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:16,095 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:16,106 - test_api_backend.py - teardown_class - 35 - INFO - steup_teardowm
+2024-05-30 17:21:16,107 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:21:16,107 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:21:16,107 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:21:16,107 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:21:16,107 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:21:16,110 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:21:16,112 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:21:16,115 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:21:16,878 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:21:16,878 - request_util.py - send_request - 29 - INFO - 发起请求
+2024-05-30 17:21:16,878 - request_util.py - send_request - 30 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+json: {'test': 'test', 'name': '王五'}
+
+2024-05-30 17:21:16,885 - request_util.py - send_request - 46 - INFO - 请求成功
+2024-05-30 17:21:16,885 - request_util.py - send_request - 47 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:21:16 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:21:16,885 - data_parser.py - assert_response - 64 - INFO - 开始断言
+2024-05-30 17:21:16,885 - data_parser.py - assert_response - 65 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:21:16,886 - data_parser.py - assert_response - 72 - INFO - 断言通过
+2024-05-30 17:21:16,888 - test_api_backend.py - teardown_class - 35 - INFO - steup_teardowm
+2024-05-30 17:21:16,888 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:21:16,888 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:21:16,888 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:21:16,889 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:21:16,889 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:21:16,892 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:21:16,893 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:21:16,896 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:28:30,050 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:28:30,172 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:28:30,257 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 17:28:30,464 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:28:30,467 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:28:30,469 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 17:28:30,469 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 17:28:30,470 - test_api_backend.py - setup_class - 25 - INFO - setup_class
+2024-05-30 17:28:30,470 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:28:30,473 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 17:28:30,474 - test_api_backend.py - setup_class - 25 - INFO - setup_class
+2024-05-30 17:28:30,474 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:28:30,482 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:28:30,482 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:28:30,482 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:28:30,482 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:28:30,482 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:28:30,484 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:28:30,484 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:28:30,484 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:28:30,485 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:28:30,485 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:28:30,485 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:28:30,485 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:28:30,485 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:28:30,486 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:28:30,487 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:28:30,487 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:28:30,488 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:28:30,488 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:28:30,524 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 17:28:30,525 - test_api_backend.py - setup_class - 25 - INFO - setup_class
+2024-05-30 17:28:30,525 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:28:30,533 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 17:28:30,534 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 17:28:30,534 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 17:28:30,534 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 17:28:30,534 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 17:28:30,536 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 17:28:30,536 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 17:28:30,536 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 17:28:30,537 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 17:28:31,489 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:31,489 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:31,489 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 17:28:31,492 - test_api_backend.py - test_case_one - 52 - INFO - 测试faker数据
+2024-05-30 17:28:31,492 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 侯兵
+2024-05-30 17:28:31,492 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 13865786413
+2024-05-30 17:28:31,492 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 150421199109277255
+2024-05-30 17:28:31,492 - test_api_backend.py - test_case_one - 53 - INFO - 侯兵 13865786413 150421199109277255
+2024-05-30 17:28:31,509 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:31,509 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:31 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:31,509 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:31,509 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:31,539 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:31,539 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:31,540 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 17:28:31,559 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:31,559 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:31 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:31,560 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:31,560 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:31,561 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 17:28:32,569 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:32,569 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:32,569 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 17:28:32,585 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:32,586 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:32 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:32,586 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:32,586 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:32,587 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 17:28:32,657 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:32,657 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:32,657 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 17:28:32,677 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:32,678 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:32 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:32,678 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:32,678 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:32,679 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 17:28:32,685 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:32,685 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:32,685 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 17:28:32,701 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:32,702 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:32 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:32,702 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:32,702 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:32,702 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 17:28:33,593 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:33,593 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:33,593 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 17:28:33,614 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:33,615 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:33 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:33,615 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:33,615 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:33,615 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 17:28:33,685 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:33,685 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:33,685 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 17:28:33,702 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:33,702 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:33 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:33,702 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:33,703 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:33,703 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 17:28:33,705 - test_api_backend.py - teardown_class - 35 - INFO - steup_teardowm
+2024-05-30 17:28:33,705 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:28:33,705 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:28:33,706 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:28:33,706 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:28:33,706 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:28:33,708 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:28:33,709 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:33,709 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:33,709 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:28:33,709 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 17:28:33,713 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:28:33,725 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:33,726 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:33 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:33,726 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:33,726 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:33,748 - test_api_backend.py - teardown_class - 35 - INFO - steup_teardowm
+2024-05-30 17:28:33,749 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:28:33,749 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:28:33,750 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:28:33,750 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:28:33,750 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:28:33,754 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:28:33,756 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:28:33,760 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 17:28:34,621 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 17:28:34,621 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 17:28:34,621 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 17:28:34,637 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 17:28:34,637 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 09:28:34 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 17:28:34,637 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 17:28:34,638 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 17:28:34,638 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 17:28:34,639 - test_api_backend.py - teardown_class - 35 - INFO - steup_teardowm
+2024-05-30 17:28:34,640 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:28:34,640 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 17:28:34,640 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 17:28:34,640 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 17:28:34,640 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 17:28:34,643 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 17:28:34,644 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 17:28:34,647 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:03:35,775 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:03:35,862 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:03:35,945 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:04:10,711 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:04:10,952 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:04:10,971 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:04:49,089 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:04:49,145 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:04:49,240 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:04:49,395 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:04:49,396 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:04:49,399 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:04:49,400 - test_api_backend.py - setup_class - 45 - INFO - setup_class
+2024-05-30 18:04:49,400 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:04:49,407 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:04:49,408 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:04:49,408 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:04:49,408 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:04:49,408 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:04:49,410 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:04:49,411 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:04:49,411 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:04:49,411 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:04:49,452 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:04:49,452 - test_api_backend.py - setup_class - 45 - INFO - setup_class
+2024-05-30 18:04:49,453 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:04:49,460 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:04:49,461 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:04:49,461 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:04:49,461 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:04:49,461 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:04:49,463 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:04:49,463 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:04:49,463 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:04:49,464 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:04:49,607 - test_api_backend.py - teardown_class - 55 - INFO - steup_teardowm
+2024-05-30 18:04:49,607 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:04:49,607 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:04:49,607 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:04:49,607 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:04:49,607 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:04:49,617 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:04:49,619 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:04:49,622 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:04:50,412 - test_api_backend.py - test_case_one - 72 - INFO - 测试faker数据
+2024-05-30 18:04:50,413 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 方淑珍
+2024-05-30 18:04:50,413 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 13689780030
+2024-05-30 18:04:50,413 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 33022619380909414X
+2024-05-30 18:04:50,414 - test_api_backend.py - test_case_one - 73 - INFO - 方淑珍 13689780030 33022619380909414X
+2024-05-30 18:04:50,561 - test_api_backend.py - teardown_class - 55 - INFO - steup_teardowm
+2024-05-30 18:04:50,561 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:04:50,561 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:04:50,561 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:04:50,562 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:04:50,562 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:04:50,566 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:04:50,567 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:04:50,571 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:07:48,426 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:07:48,566 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:07:48,613 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:07:48,762 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:07:48,763 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:07:48,764 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:07:48,765 - test_api_backend.py - setup_class - 45 - INFO - setup_class
+2024-05-30 18:07:48,765 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:07:48,767 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:07:48,768 - test_api_backend.py - setup_class - 45 - INFO - setup_class
+2024-05-30 18:07:48,768 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:07:48,774 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:07:48,775 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:07:48,775 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:07:48,775 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:07:48,775 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:07:48,776 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:07:48,776 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:07:48,776 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:07:48,777 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:07:48,777 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:07:48,778 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:07:48,778 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:07:48,778 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:07:48,779 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:07:48,779 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:07:48,779 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:07:48,779 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:07:48,780 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:07:48,926 - test_api_backend.py - teardown_class - 55 - INFO - steup_teardowm
+2024-05-30 18:07:48,926 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:07:48,927 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:07:48,927 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:07:48,927 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:07:48,927 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:07:48,937 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:07:48,939 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:07:48,942 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:07:49,781 - test_api_backend.py - test_case_one - 72 - INFO - 测试faker数据
+2024-05-30 18:07:49,782 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 李杨
+2024-05-30 18:07:49,782 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 18142096637
+2024-05-30 18:07:49,783 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 420921196009026335
+2024-05-30 18:07:49,783 - test_api_backend.py - test_case_one - 73 - INFO - 李杨 18142096637 420921196009026335
+2024-05-30 18:07:49,924 - test_api_backend.py - teardown_class - 55 - INFO - steup_teardowm
+2024-05-30 18:07:49,925 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:07:49,925 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:07:49,925 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:07:49,925 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:07:49,925 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:07:49,929 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:07:49,931 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:07:49,933 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:13:43,582 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:13:43,656 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:13:43,749 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:13:43,904 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:13:43,906 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:13:43,906 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:13:43,907 - test_api_backend.py - setup_class - 45 - INFO - setup_class
+2024-05-30 18:13:43,907 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:13:43,910 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:13:43,911 - test_api_backend.py - setup_class - 45 - INFO - setup_class
+2024-05-30 18:13:43,911 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:13:43,916 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:13:43,917 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:13:43,917 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:13:43,917 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:13:43,917 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:13:43,919 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:13:43,919 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:13:43,919 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:13:43,920 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:13:43,920 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:13:43,920 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:13:43,920 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:13:43,920 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:13:43,920 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:13:43,922 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:13:43,922 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:13:43,922 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:13:43,923 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:13:44,069 - test_api_backend.py - teardown_class - 55 - INFO - steup_teardowm
+2024-05-30 18:13:44,069 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:13:44,069 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:13:44,070 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:13:44,070 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:13:44,070 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:13:44,074 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:13:44,076 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:13:44,078 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:13:44,924 - test_api_backend.py - test_case_one - 72 - INFO - 测试faker数据
+2024-05-30 18:13:44,924 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 张建国
+2024-05-30 18:13:44,925 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 18533199183
+2024-05-30 18:13:44,925 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 542122197101315240
+2024-05-30 18:13:44,925 - test_api_backend.py - test_case_one - 73 - INFO - 张建国 18533199183 542122197101315240
+2024-05-30 18:13:45,082 - test_api_backend.py - teardown_class - 55 - INFO - steup_teardowm
+2024-05-30 18:13:45,082 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:13:45,082 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:13:45,082 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:13:45,082 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:13:45,082 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:13:45,086 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:13:45,087 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:13:45,091 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:22:08,096 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:22:08,323 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:22:08,360 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:22:08,536 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:22:08,540 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:22:08,541 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:22:08,541 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:08,544 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:22:08,547 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:22:08,551 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:22:08,551 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:08,551 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:22:08,552 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:22:08,552 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:22:08,553 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:22:08,554 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:22:08,554 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:08,555 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:22:08,555 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:22:08,555 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:22:08,555 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:22:08,563 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:22:08,563 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:08,563 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:22:08,563 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:22:08,563 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:22:08,565 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:22:08,566 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:22:08,566 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:22:08,567 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:22:08,601 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:22:08,602 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:22:08,602 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:08,611 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:22:08,611 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:08,611 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:22:08,611 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:22:08,612 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:22:08,614 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:22:08,614 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:22:08,614 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:22:08,614 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:22:09,557 - test_api_backend.py - test_case_one - 62 - INFO - 测试faker数据
+2024-05-30 18:22:09,558 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 吴斌
+2024-05-30 18:22:09,558 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 13060058717
+2024-05-30 18:22:09,559 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 35030419810305991X
+2024-05-30 18:22:09,559 - test_api_backend.py - test_case_one - 63 - INFO - 吴斌 13060058717 35030419810305991X
+2024-05-30 18:22:09,568 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:22:09,568 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:22:09,568 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:22:09,616 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:22:09,616 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:22:09,617 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:22:10,704 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:22:10,704 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:22:10,704 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:22:11,608 - request_util.py - send_request - 36 - WARNING - 请求发生异常!!!
+2024-05-30 18:22:11,650 - request_util.py - send_request - 36 - WARNING - 请求发生异常!!!
+2024-05-30 18:22:11,957 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:22:11,957 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:11,957 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:22:11,957 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:11,958 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:22:11,958 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:22:11,962 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:22:11,963 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:22:11,966 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:22:12,005 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:22:12,005 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:12,006 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:22:12,006 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:12,006 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:22:12,006 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:22:12,009 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:22:12,010 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:22:12,013 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:22:12,743 - request_util.py - send_request - 36 - WARNING - 请求发生异常!!!
+2024-05-30 18:22:12,921 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:22:12,921 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:12,921 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:22:12,921 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:12,921 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:22:12,921 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:22:12,924 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:22:12,925 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:22:12,928 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:22:37,081 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:22:37,279 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:22:37,345 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:22:37,504 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:22:37,508 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:22:37,509 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:22:37,509 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:37,518 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:22:37,518 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:37,518 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:22:37,518 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:22:37,519 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:22:37,521 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:22:37,522 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:22:37,523 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:22:37,523 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:22:37,523 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:22:37,524 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:22:37,525 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:22:37,526 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:37,526 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:22:37,529 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:22:37,531 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:22:37,531 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:37,536 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:22:37,536 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:37,536 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:22:37,536 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:22:37,536 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:22:37,539 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:22:37,539 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:22:37,539 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:22:37,540 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:22:37,550 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:22:37,550 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:22:37,550 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:22:37,551 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:22:37,551 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:22:37,553 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:22:37,553 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:22:37,553 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:22:37,554 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:22:38,526 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:22:38,526 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:22:38,526 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:22:38,542 - test_api_backend.py - test_case_one - 62 - INFO - 测试faker数据
+2024-05-30 18:22:38,543 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 张华
+2024-05-30 18:22:38,543 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 15966305038
+2024-05-30 18:22:38,544 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 542229195412153614
+2024-05-30 18:22:38,544 - test_api_backend.py - test_case_one - 63 - INFO - 张华 15966305038 542229195412153614
+2024-05-30 18:22:38,546 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:22:38,547 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:22:38 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:22:38,547 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:22:38,547 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:22:38,548 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:22:38,551 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:22:38,551 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:38,551 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:22:38,551 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:38,551 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:22:38,552 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:22:38,555 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:22:38,556 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:22:38,556 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:22:38,556 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:22:38,559 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:22:38,577 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:22:38,577 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:22:38 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:22:38,577 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:22:38,577 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:22:38,578 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:22:38,580 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:22:38,580 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:38,580 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:22:38,580 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:38,581 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:22:38,581 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:22:38,584 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:22:38,585 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:22:38,588 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:22:39,701 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:22:39,701 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:22:39,701 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:22:39,721 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:22:39,721 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:22:39 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:22:39,721 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:22:39,721 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:22:39,722 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:22:39,724 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:22:39,724 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:39,724 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:22:39,724 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:22:39,724 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:22:39,724 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:22:39,728 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:22:39,729 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:22:39,736 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:23:28,306 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:23:28,398 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:23:28,469 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:23:28,650 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:23:28,653 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:23:28,654 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:23:28,654 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:23:28,663 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:23:28,664 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:23:28,664 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:23:28,664 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:23:28,664 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:23:28,666 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:23:28,666 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:23:28,667 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:23:28,667 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:23:28,667 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:23:28,667 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:23:28,671 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:23:28,672 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:23:28,672 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:23:28,680 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:23:28,680 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:23:28,680 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:23:28,681 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:23:28,681 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:23:28,683 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:23:28,683 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:23:28,683 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:23:28,683 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:23:28,722 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:23:28,723 - test_api_backend.py - setup_class - 35 - INFO - setup_class
+2024-05-30 18:23:28,723 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:23:28,731 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:23:28,731 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:23:28,731 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:23:28,731 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:23:28,731 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:23:28,733 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:23:28,734 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:23:28,734 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:23:28,734 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:23:29,668 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:23:29,668 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:23:29,668 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:23:29,685 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:23:29,685 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:23:29,686 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:23:29,689 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:23:29,690 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:23:29 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:23:29,690 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:23:29,690 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:23:29,691 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:23:29,692 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:23:29,693 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:23:29,693 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:23:29,693 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:23:29,693 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:23:29,693 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:23:29,696 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:23:29,698 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:23:29,701 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:23:29,704 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:23:29,704 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:23:29 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:23:29,704 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:23:29,704 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:23:29,705 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:23:29,707 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:23:29,707 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:23:29,707 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:23:29,712 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:23:29,712 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:23:29,712 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:23:29,714 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:23:29,716 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:23:29,718 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:23:29,736 - test_api_backend.py - test_case_one - 62 - INFO - 测试faker数据
+2024-05-30 18:23:29,737 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 周晨
+2024-05-30 18:23:29,737 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 18791598070
+2024-05-30 18:23:29,738 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 441502199812022330
+2024-05-30 18:23:29,738 - test_api_backend.py - test_case_one - 63 - INFO - 周晨 18791598070 441502199812022330
+2024-05-30 18:23:30,891 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:23:30,891 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:23:30,891 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:23:30,909 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:23:30,910 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:23:30 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:23:30,910 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:23:30,911 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:23:30,912 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:23:30,914 - test_api_backend.py - teardown_class - 45 - INFO - steup_teardowm
+2024-05-30 18:23:30,914 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:23:30,914 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:23:30,914 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:23:30,914 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:23:30,914 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:23:30,917 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:23:30,918 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:23:30,921 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:31:24,996 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:31:25,211 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:31:25,244 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:31:25,435 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:31:25,436 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:31:25,437 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:31:25,439 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:31:25,440 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:31:25,440 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:31:25,441 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:31:25,442 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:31:25,442 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:31:25,449 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:31:25,449 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:31:25,449 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:31:25,449 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:31:25,449 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:31:25,451 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:31:25,451 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:31:25,452 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:31:25,452 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:31:25,452 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:31:25,452 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:31:25,452 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:31:25,452 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:31:25,453 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:31:25,454 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:31:25,454 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:31:25,454 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:31:25,455 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:31:25,491 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:31:25,492 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:31:25,492 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:31:25,499 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:31:25,499 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:31:25,500 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:31:25,500 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:31:25,500 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:31:25,503 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:31:25,503 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:31:25,503 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:31:25,504 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:31:26,454 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:31:26,454 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:31:26,454 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:31:26,457 - test_api_backend.py - test_case_one - 68 - INFO - 测试faker数据
+2024-05-30 18:31:26,457 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 白桂芝
+2024-05-30 18:31:26,457 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 18744790005
+2024-05-30 18:31:26,458 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 511500194708024371
+2024-05-30 18:31:26,458 - test_api_backend.py - test_case_one - 69 - INFO - 白桂芝 18744790005 511500194708024371
+2024-05-30 18:31:26,480 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:31:26,480 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:31:26 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:31:26,481 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:31:26,481 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:31:26,482 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:31:26,483 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:31:26,484 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:31:26,484 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:31:26,484 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:31:26,484 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:31:26,484 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:31:26,487 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:31:26,488 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:31:26,491 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:31:26,506 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:31:26,506 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:31:26,506 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:31:26,518 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:31:26,518 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:31:26 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:31:26,519 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:31:26,519 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:31:26,520 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:31:26,523 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:31:26,523 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:31:26,523 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:31:26,523 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:31:26,524 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:31:26,524 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:31:26,527 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:31:26,529 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:31:26,533 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:31:27,638 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:31:27,638 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:31:27,638 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:31:27,657 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:31:27,657 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:31:27 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:31:27,657 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:31:27,658 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:31:27,658 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:31:27,660 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:31:27,660 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:31:27,660 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:31:27,661 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:31:27,661 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:31:27,661 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:31:27,664 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:31:27,665 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:31:27,667 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:38:44,531 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:38:44,748 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:38:44,786 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:38:44,970 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:38:44,970 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:38:44,972 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:38:44,973 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:38:44,974 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:38:44,975 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:38:44,976 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:38:44,977 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:38:44,977 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:38:44,984 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:38:44,984 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:38:44,984 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:38:44,985 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:38:44,985 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:38:44,986 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:38:44,986 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:38:44,986 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:38:44,986 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:38:44,986 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:38:44,988 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:38:44,988 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:38:44,988 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:38:44,989 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:38:44,989 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:38:44,989 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:38:44,989 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:38:44,990 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:38:45,025 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:38:45,026 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:38:45,026 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:38:45,034 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:38:45,034 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:38:45,034 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:38:45,035 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:38:45,035 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:38:45,037 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:38:45,037 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:38:45,037 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:38:45,037 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:38:45,992 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:38:45,992 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:45,992 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:45,993 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:38:45,993 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 18:38:46,019 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:38:46,020 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:46 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:46,020 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:46 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:46,020 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:38:46,020 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:46,020 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:46,021 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:38:46,040 - test_api_backend.py - test_case_one - 68 - INFO - 测试faker数据
+2024-05-30 18:38:46,040 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 林秀梅
+2024-05-30 18:38:46,041 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 18641852169
+2024-05-30 18:38:46,041 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 440301196902138458
+2024-05-30 18:38:46,041 - test_api_backend.py - test_case_one - 69 - INFO - 林秀梅 18641852169 440301196902138458
+2024-05-30 18:38:47,027 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:38:47,027 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:47,028 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:38:47,043 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:38:47,044 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:47 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:47,044 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:38:47,044 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:47,045 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:38:47,214 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:38:47,214 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:47,214 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 18:38:47,230 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:38:47,230 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:47 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:47,231 - data_parser.py - assert_response - 65 - INFO - 开始断言
+名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:38:47,231 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:47,231 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:47,232 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:38:47,232 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:38:47,252 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:38:47,253 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:47 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:47,253 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:38:47,253 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:47,254 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:38:48,050 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:38:48,050 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:48,051 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 18:38:48,066 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:38:48,067 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:48 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:48,067 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:38:48,067 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:48,067 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:38:48,239 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:38:48,239 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:48,239 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 18:38:48,256 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:38:48,256 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:48 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:48,257 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:38:48,257 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:48,257 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:38:48,259 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:38:48,259 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:38:48,259 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:38:48,259 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:38:48,259 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:38:48,259 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:38:48,261 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:38:48,261 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:48,261 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 18:38:48,262 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:38:48,264 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:38:48,267 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:38:48,278 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:38:48,278 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:48 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:48,278 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:38:48,278 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:48,293 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:38:48,293 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:38:48,293 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:38:48,293 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:38:48,293 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:38:48,294 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:38:48,297 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:38:48,298 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:38:48,301 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:38:49,074 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:38:49,074 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:38:49,075 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 18:38:49,091 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:38:49,091 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:38:49 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:38:49,092 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:38:49,092 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:38:49,092 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:38:49,094 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:38:49,094 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:38:49,095 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:38:49,095 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:38:49,095 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:38:49,096 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:38:49,099 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:38:49,100 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:38:49,103 - conftest.py - case_end - 32 - INFO - 测试结束
--
Gitee
From 67a1b57ea7a98668e996acc905990e2f4a44d95c Mon Sep 17 00:00:00 2001
From: xpcs <252909768@qq.com>
Date: Thu, 30 May 2024 20:24:16 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E7=AE=80=E5=8C=96=E6=B5=8B=E8=AF=95?=
=?UTF-8?q?=E7=94=A8=E4=BE=8B=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/workspace.xml | 151 +-
common/__pycache__/data_parser.cpython-38.pyc | Bin 1860 -> 1940 bytes
common/data_parser.py | 36 +-
...st_api_backend.cpython-38-pytest-7.4.0.pyc | Bin 3924 -> 4068 bytes
.../service_name_api_backend/data.yaml | 29 +
.../test_api_backend.py | 38 +-
pytest.log | 1602 +++++++++++++++++
7 files changed, 1733 insertions(+), 123 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a52ca74..c2febd3 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,8 +4,6 @@
-
-
@@ -23,7 +21,7 @@
-
+
@@ -84,28 +82,28 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
@@ -115,8 +113,8 @@
-
-
+
+
@@ -133,28 +131,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -162,8 +143,8 @@
-
-
+
+
@@ -171,8 +152,8 @@
-
-
+
+
@@ -183,17 +164,20 @@
-
+
-
+
-
-
+
+
+
+
+
@@ -253,12 +237,12 @@
-
-
-
+
+
+
@@ -518,12 +502,12 @@
-
+
-
+
@@ -532,9 +516,10 @@
-
+
+
@@ -700,16 +685,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -744,60 +719,63 @@
-
+
-
-
+
+
-
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
+
-
-
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
@@ -809,10 +787,17 @@
+
+
+
+
+
+
+
-
-
+
+
diff --git a/common/__pycache__/data_parser.cpython-38.pyc b/common/__pycache__/data_parser.cpython-38.pyc
index ab96ce33a394518be0765bf5abc133e35a996eb4..8bb7031f8fec0b44ea9c4e36ce2b04390f22cdf0 100644
GIT binary patch
delta 712
zcmZ`$&1w`u5bo;f>G|2&Y>bPM1kr&tb}Z;j_FnI<&)RpO
zH+y)0O&R}0Z2P8Vwb5r_0u!G2+kuHpO!?5rEs-X((e0N*$(OGV`ySZ_S-DP72`4Hz
zmUxdmxb&R(BprMP5V>+Nr3&JL&D5Je_f}VBtxQ&B^};yA?7&tQ2ONJ97|p+Vy%(*?
zm}1)`HMa=~gzQ4%DZm!_Dbx{P8JPWHHRN%w597*bKJTj^pcP$0fBsnS_5b1SWF=8o1GMG1$V>Z#
zn{X%L$3%NeCD4T>NF?5+96xSU$HOAu-GB4Q=7*R1SLPRbrN;|EpJADS>;F>nM^5eFjufvcd#Hdh{?}T>AyO`iW=&
delta 674
zcmZuvF^|(Q6pj
zt=G_(sw#&mGalXsY@xs{*v5dZ9b$yk2iMvmf{7+-QmQ&H3yDeazJ@h(OeWKg=_m=u
z60$O%NucOG>Y^fUYCN=pkk~wda~ttLLMDX#^~%x2AYV07)!B~DJ8=+G*MBNhm-L@mdERs?5v`SYBsCN0ltK+sV7sgF93QLwk_EB
cwa7nm;ohtg%~bB=4|0@kZ%jfGd)My#0r4lE#{d8T
diff --git a/common/data_parser.py b/common/data_parser.py
index cd88498..62637c6 100644
--- a/common/data_parser.py
+++ b/common/data_parser.py
@@ -3,6 +3,16 @@ import jsonpath
from common.log_util import log
+def update_data(data, parameter_data):
+ # 如果通用参数为字典,参数化参数也为字典,使用参数化参数更新通用参数 ex: {"xx": "xx"}
+ if isinstance(data, dict) and isinstance(parameter_data, dict):
+ data.update(parameter_data)
+ else:
+ # 如果通用参数是字符串、列表(元素为字符、数字、字典),直接使用参数化参数据替换通用参数 ex: ["xx", "xx"]
+ data = parameter_data
+ return data
+
+
def parser(server_name, data_dict: dict, parameter_data=None):
"""
:param server_name: env.py 中的服务域名 类型str ex: api_backend
@@ -18,31 +28,15 @@ def parser(server_name, data_dict: dict, parameter_data=None):
data = data_dict.get("data", {})
json = data_dict.get("json", {})
- # 参数化后发起请求,用参数化参数更新或替代通用参数
+ # 参数化参数不为空,则用参数化参数去更新或者替换通用参数
if parameter_data:
- # params、data、json 理论上三种传参格式互斥,一个不为空,其余两个就为空,特殊场景后续扩展
- raw_data = None
- if params:
- raw_data = params
- if data:
- raw_data = data
- if json:
- raw_data = json
-
- if isinstance(raw_data, dict) and isinstance(parameter_data, dict):
- # 如果通用参数为字典,参数化参数也为字典,使用参数化参数更新通用参数 ex: {"xx": "xx"}
- raw_data.update(parameter_data)
- else:
- # 如果通用参数是字符串、列表(元素为字符、数字、字典),直接使用参数化参数据替换通用参数 ex: ["xx", "xx"]
- raw_data = parameter_data
-
- # 将更新后的参数再赋值回去
+ # params、data、json 理论上三种传参格式互斥,只可一个不为空,特殊场景后续扩展
if params:
- params = raw_data
+ params = update_data(params, parameter_data)
if data:
- data = raw_data
+ data = update_data(data, parameter_data)
if json:
- json = raw_data
+ json = update_data(json, parameter_data)
request_body = {
"url": url,
diff --git a/line_of_business_name/service_name_api_backend/__pycache__/test_api_backend.cpython-38-pytest-7.4.0.pyc b/line_of_business_name/service_name_api_backend/__pycache__/test_api_backend.cpython-38-pytest-7.4.0.pyc
index dbb06c8016f9e0973b59dbdff7653bba4c0c6232..b479db41e4e35170f41a8c74a0831a0e2dc4b173 100644
GIT binary patch
delta 1548
zcma)6O>7%Q6rR~1du{Ko?Km-ZlDch7Dolk$ssaL4rD+HtRC4H#RIEy7>zTl&ws)Bw
ziv~IJ!MSoMb3;N(Z{);*bA=FhB%}(V6*rI&cf^&xx7oUNTcobFpWn=U``$Ni-kbZ4
zKaacD94AlUd4F(y`(*i!yG(z-bNb$k%-$#MlRS5@!koMGJ;Gd8+$XF!(I&LrWb_JY
zm6S!l9d|YSI(-cIH{soYH@XZU38NEAiKIK)fj%NktCPDA$Hs^@=AU{<4q5eS>z`kR91*ouXe|S@)Fo5ZLOXVgl?Iq?O+;;7L~Bp@h+WA&!Gg~Roo){f>a1GNOo~Uxv5GF{0KWe%<5KFV
zzp_nQR0XS1NS00|>*}m^JufO~&jYA$tTTn=G*bn!wL@3cX71z0toqoIc!pgs;+7p)xVi!cmTjHv=_75VW63i89F#DY;R+342@dE1%zkrIvh^Je*~m7yt-#M$Fa+J4|?vQyqQ}DB|N8$
zcQE+>%BUo1n2ppyCHZM4R@9I7e0i3#)vBmJ>@yYY0?|ZBiV&|8^|I64d=ree-5>U(
zABv#Mqv)t4&LedlVFO_k;Zb4|E9tH!SU9D=bQWtFI!|pgLE{mMCG~^zVf9t~{sVy6
okba*hmz=1m75Dy2*px{H#@TJ|Nx1a{I(;gdY82N@$I4ms0S;|ZssI20
delta 1433
zcmb7DO>7%Q7~R=j+iQDwZRe+{o8TC`LN=756iS8KLTC|HBxoh7s*wRL8_xusI$kq7
zR+B1~59z6gqB4j}r6y^WsyRRrKSDy{%Aw~T(4LzVq@H```*w}%hFdLd)o8+;)s(sRpuP10`gD_(uxnLo#r)ieiG?!QCP+r+k=`bC+
zqO1~pY8i(7(dY2@^!a0SZ=atH`T6JY_eK0H957BN`Wtfcvi?N4JJ
z$GHt1dr97p$+;jsP{BZlHn5ty)UL*O95_6SfDH~bpNT;GoQbN&bFffTxnI+`KgEZU
z6T%1*ZNXely^AfU-h>)W$zS8EBS9?eBp*jcJSyE!GYOlJjGQ&fq###}LK>rd0%1~a
z8nZcIhVv05dIKU8$wTP^5+Zl1P)8x^_kitq@2zKtQ
zZT@xd*7kRI9(}X6b8U0`tJ^`cKPz%6b);JXmQX14hbV$jHLqOOR@4=ZYEWbSm?Bi6
zVT>v;$+6QsgMJPJ1c@)0OBvK9e$w+UG}xBTRSb?|P-jc59vF3xGRGIZs`J+{_6Ejs
z^Nl3|7r}x0o^XT*;~XUW!@Rq~*)TVtf=-9BmY4wz-vCf_gBZk=>*iQ#ARZinnve^Pwms-X&*?|N^09Z3
z(@Vv#&Ei;O@5awN;BcTXvS=1Q`2Y5%K|Hj_-^Q;2OR{T@S~XbgJCJK;Svy@Fl5OkI
zC|(MlN7xS##C+lLW%-L$o_-zv*UZIEQ#9J#t25sZTgs0i`5lCJ5uP3ue&KE47C>3P
zVDH;&kT@A3cD(nFMQ?7&GxmpjUPkUIfIt_GMHY?Ce)*&Qpn}80-@;I0p1C+Bq3C~3
Nliz2iVrktl$UidWdaVEe
diff --git a/line_of_business_name/service_name_api_backend/data.yaml b/line_of_business_name/service_name_api_backend/data.yaml
index 4500e6d..462cb56 100644
--- a/line_of_business_name/service_name_api_backend/data.yaml
+++ b/line_of_business_name/service_name_api_backend/data.yaml
@@ -1,4 +1,5 @@
get_student:
+ story: 查询学生接口
path: /student
method: get
headers: {}
@@ -24,6 +25,7 @@ get_student:
code: 0
msg: ok
post_student:
+ story: 新增学生接口
path: /student
method: post
headers:
@@ -50,6 +52,7 @@ post_student:
code: 0
msg: ok
put_student:
+ story: 更新学生接口
path: /student
method: put
headers:
@@ -73,6 +76,32 @@ put_student:
- title: 更新学生信息-王五
data:
name: 王五
+ assert:
+ code: 0
+ msg: ok
+delete_student:
+ story: 删除学生接口
+ path: /student
+ method: delete
+ headers: {}
+ json:
+ - 1
+ parameter_list:
+ - title: 删除编号1的同学
+ data:
+ - 1
+ assert:
+ code: 0
+ msg: ok
+ - title: 删除编号2的同学
+ data:
+ - 2
+ assert:
+ code: 0
+ msg: ok
+ - title: 删除编号3的同学
+ data:
+ - 3
assert:
code: 0
msg: ok
\ No newline at end of file
diff --git a/line_of_business_name/service_name_api_backend/test_api_backend.py b/line_of_business_name/service_name_api_backend/test_api_backend.py
index fb44874..65dde8a 100644
--- a/line_of_business_name/service_name_api_backend/test_api_backend.py
+++ b/line_of_business_name/service_name_api_backend/test_api_backend.py
@@ -15,21 +15,24 @@ from common.request_util import send_request
# from line_of_business_name.service_name_api_backend.data import api_backend
api_backend = yaml_load(os.path.join(os.path.dirname(__file__), 'data.yaml'))
# api_backend = yaml_load(os.path.join(os.getcwd(), 'line_of_business_name', 'service_name_api_backend', 'data.yaml'))
+
"""
# 我们发现用例中有重复代码如下
allure.dynamic.title(parameter["title"])
request_body = parser("api_backend", data_dict, parameter["data"])
response = send_request(request_body)
assert_response(response, parameter["assert"])
-尝试简化代码
+简化代码
"""
-simplify_code = """
-allure.dynamic.title(parameter["title"])\n
-request_body = parser("api_backend", data_dict, parameter["data"])\n
-response = send_request(request_body)\n
-assert_response(response, parameter["assert"])\n
-"""
+
+def simplify_code(data_dict, parameter):
+ sleep(1)
+ allure.dynamic.story(data_dict["story"])
+ allure.dynamic.title(parameter["title"])
+ request_body = parser("api_backend", data_dict, parameter["data"])
+ response = send_request(request_body)
+ assert_response(response, parameter["assert"])
@allure.feature("flask后端接口测试")
@@ -70,30 +73,27 @@ class TestApiBackend:
# pytest.assume(False) # 多重断言插件,断言失败继续执行下面
assert param["param"] + 2 == param["assert"]
- @allure.story("查询学生接口")
@pytest.mark.multiprocess # 此用例分组到可多进程跑测
@pytest.mark.parametrize("parameter", api_backend["get_student"]["parameter_list"])
def test_get_student(self, parameter, fixture_get_token):
- sleep(1)
data_dict = api_backend["get_student"]
data_dict["headers"]["Cookie"] = fixture_get_token
- allure.dynamic.title(parameter["title"])
- request_body = parser("api_backend", data_dict, parameter["data"])
- response = send_request(request_body)
- assert_response(response, parameter["assert"])
+ simplify_code(data_dict, parameter)
- @allure.story("新增学生接口")
@pytest.mark.multiprocess # 此用例分组到可多进程跑测
@pytest.mark.parametrize("parameter", api_backend["post_student"]["parameter_list"])
def test_post_student(self, parameter):
- sleep(1)
data_dict = api_backend["post_student"]
- exec(simplify_code)
+ simplify_code(data_dict, parameter)
- @allure.story("更新学生接口")
@pytest.mark.multiprocess # 此用例分组到可多进程跑测
@pytest.mark.parametrize("parameter", api_backend["put_student"]["parameter_list"])
def test_put_student(self, parameter):
- sleep(1)
data_dict = api_backend["put_student"]
- exec(simplify_code)
+ simplify_code(data_dict, parameter)
+
+ @pytest.mark.multiprocess # 此用例分组到可多进程跑测
+ @pytest.mark.parametrize("parameter", api_backend["delete_student"]["parameter_list"])
+ def test_delete_student(self, parameter):
+ data_dict = api_backend["delete_student"]
+ simplify_code(data_dict, parameter)
diff --git a/pytest.log b/pytest.log
index 1ec04fa..12718a5 100644
--- a/pytest.log
+++ b/pytest.log
@@ -2784,3 +2784,1605 @@ body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name
2024-05-30 18:38:49,099 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
2024-05-30 18:38:49,100 - conftest.py - fixture_get_token - 62 - INFO - session结束
2024-05-30 18:38:49,103 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:58:51,073 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:58:51,141 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:58:51,244 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 18:58:51,433 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:58:51,436 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 18:58:51,437 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:58:51,438 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:58:51,444 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:58:51,446 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 18:58:51,447 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:58:51,448 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:58:51,448 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:58:51,448 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+ (%s)
+2024-05-30 18:58:51,448 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:58:51,449 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:58:51,450 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:58:51,450 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 18:58:51,451 - test_api_backend.py - setup_class - 41 - INFO - setup_class
+2024-05-30 18:58:51,451 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:58:51,451 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:58:51,451 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:58:51,452 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:58:51,452 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:58:51,460 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:58:51,460 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:58:51,460 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:58:51,460 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:58:51,460 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:58:51,461 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 18:58:51,461 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 18:58:51,461 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 18:58:51,462 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 18:58:51,462 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 18:58:51,462 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:58:51,462 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:58:51,463 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:58:51,463 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:58:51,464 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 18:58:51,464 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 18:58:51,464 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 18:58:51,465 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 18:58:52,454 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:52,454 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:52,454 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 18:58:52,465 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:52,465 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:52,465 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:58:52,467 - test_api_backend.py - test_case_one - 68 - INFO - 测试faker数据
+2024-05-30 18:58:52,467 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 许桂花
+2024-05-30 18:58:52,468 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 15902419193
+2024-05-30 18:58:52,468 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 522301197612017304
+2024-05-30 18:58:52,468 - test_api_backend.py - test_case_one - 69 - INFO - 许桂花 15902419193 522301197612017304
+2024-05-30 18:58:52,474 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:52,474 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:52 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:52,475 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:52,475 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:52,484 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:52,485 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:52 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:52,485 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:52,485 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:52,486 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:58:53,494 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:53,494 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:53,495 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:58:53,512 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:53,513 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:53 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:53,513 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:53,513 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:53,513 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:58:53,653 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:53,653 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:53,654 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 18:58:53,665 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:53,665 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:53,666 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 18:58:53,672 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:53,672 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:53 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:53,673 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:53,673 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:53,674 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:58:53,680 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:53,681 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:53 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:53,681 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:53,681 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:53,681 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:58:54,519 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:54,519 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:54,520 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 18:58:54,535 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:54,535 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:54 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:54,536 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:54,536 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:54,536 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:58:54,679 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:54,680 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:54,680 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 18:58:54,686 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:54,686 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:54,686 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 18:58:54,696 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:54,696 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:54 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:54,696 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:54,697 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:54,697 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:58:54,699 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:58:54,699 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:58:54,699 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:58:54,699 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:58:54,700 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:58:54,700 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:58:54,701 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:54,701 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:54 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:54,702 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:54,702 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:54,702 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:58:54,703 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:58:54,707 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:58:54,717 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:58:54,717 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:58:54,718 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:58:54,718 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:58:54,718 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:58:54,718 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:58:54,721 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:58:54,722 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:58:54,726 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 18:58:55,541 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 18:58:55,542 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 18:58:55,542 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 18:58:55,557 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 18:58:55,557 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 10:58:55 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 18:58:55,558 - data_parser.py - assert_response - 65 - INFO - 开始断言
+2024-05-30 18:58:55,558 - data_parser.py - assert_response - 66 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 18:58:55,558 - data_parser.py - assert_response - 73 - INFO - 断言通过
+2024-05-30 18:58:55,560 - test_api_backend.py - teardown_class - 51 - INFO - steup_teardowm
+2024-05-30 18:58:55,560 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:58:55,560 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 18:58:55,560 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 18:58:55,560 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 18:58:55,560 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 18:58:55,563 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 18:58:55,565 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 18:58:55,568 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 19:52:30,885 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 19:52:31,108 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 19:52:31,156 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 19:52:31,345 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 19:52:31,349 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 19:52:31,350 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 19:52:31,350 - test_api_backend.py - setup_class - 43 - INFO - setup_class
+2024-05-30 19:52:31,351 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 19:52:31,354 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 19:52:31,354 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 19:52:31,355 - test_api_backend.py - setup_class - 43 - INFO - setup_class
+2024-05-30 19:52:31,355 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 19:52:31,357 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 19:52:31,358 - test_api_backend.py - setup_class - 43 - INFO - setup_class
+2024-05-30 19:52:31,359 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 19:52:31,361 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 19:52:31,362 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 19:52:31,362 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 19:52:31,362 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 19:52:31,362 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 19:52:31,365 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 19:52:31,365 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 19:52:31,365 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 19:52:31,366 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 19:52:31,366 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 19:52:31,366 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 19:52:31,366 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 19:52:31,366 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 19:52:31,366 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 19:52:31,368 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 19:52:31,368 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 19:52:31,369 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 19:52:31,369 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 19:52:31,378 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 19:52:31,379 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 19:52:31,379 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 19:52:31,380 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 19:52:31,380 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 19:52:31,383 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 19:52:31,384 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 19:52:31,384 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 19:52:31,385 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 19:52:32,368 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:32,368 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:32,368 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 19:52:32,371 - test_api_backend.py - test_case_one - 70 - INFO - 测试faker数据
+2024-05-30 19:52:32,371 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 黄玉
+2024-05-30 19:52:32,371 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 15970784155
+2024-05-30 19:52:32,371 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 431382200310259981
+2024-05-30 19:52:32,371 - test_api_backend.py - test_case_one - 71 - INFO - 黄玉 15970784155 431382200310259981
+2024-05-30 19:52:32,386 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:32,386 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:32,386 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 19:52:32,390 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:32,390 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:32 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:32,391 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:32,391 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:32,407 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:32,407 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:32 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:32,408 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:32,408 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:32,409 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 19:52:33,416 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:33,416 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:33,416 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 19:52:33,431 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:33,431 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:33 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:33,432 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:33,432 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:33,432 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 19:52:33,545 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:33,545 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:33,545 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 19:52:33,564 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:33,564 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:33 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:33,564 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:33,564 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:33,565 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 19:52:33,572 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:33,572 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:33,572 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 19:52:33,587 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:33,587 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:33 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:33,588 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:33,588 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:33,588 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 19:52:34,438 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:34,438 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:34,439 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 19:52:34,454 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:34,454 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:34 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:34,454 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:34,455 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:34,455 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 19:52:34,572 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:34,572 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:34,572 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 19:52:34,588 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:34,588 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:34 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:34,588 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:34,588 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:34,588 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 19:52:34,590 - test_api_backend.py - teardown_class - 53 - INFO - steup_teardowm
+2024-05-30 19:52:34,590 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 19:52:34,591 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 19:52:34,591 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 19:52:34,591 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 19:52:34,591 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 19:52:34,595 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:34,595 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 19:52:34,595 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:34,595 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 19:52:34,596 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 19:52:34,599 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 19:52:34,611 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:34,612 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:34 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:34,612 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:34,612 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:34,627 - test_api_backend.py - teardown_class - 53 - INFO - steup_teardowm
+2024-05-30 19:52:34,627 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 19:52:34,627 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 19:52:34,627 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 19:52:34,627 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 19:52:34,628 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 19:52:34,631 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 19:52:34,633 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 19:52:34,636 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 19:52:35,460 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 19:52:35,460 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 19:52:35,460 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 19:52:35,466 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 19:52:35,466 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 11:52:35 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 19:52:35,467 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 19:52:35,467 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 19:52:35,467 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 19:52:35,469 - test_api_backend.py - teardown_class - 53 - INFO - steup_teardowm
+2024-05-30 19:52:35,469 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 19:52:35,469 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 19:52:35,469 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 19:52:35,469 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 19:52:35,469 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 19:52:35,473 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 19:52:35,474 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 19:52:35,477 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:06:27,624 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:06:27,810 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:06:27,857 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:06:28,041 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:06:28,042 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:06:28,044 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 20:06:28,045 - test_api_backend.py - setup_class - 43 - INFO - setup_class
+2024-05-30 20:06:28,045 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:06:28,047 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 20:06:28,048 - test_api_backend.py - setup_class - 43 - INFO - setup_class
+2024-05-30 20:06:28,048 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:06:28,049 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:06:28,052 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 20:06:28,053 - test_api_backend.py - setup_class - 43 - INFO - setup_class
+2024-05-30 20:06:28,053 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:06:28,055 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:06:28,055 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:06:28,055 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:06:28,055 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:06:28,055 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:06:28,057 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:06:28,057 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:06:28,057 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:06:28,057 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:06:28,057 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:06:28,058 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:06:28,058 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:06:28,058 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:06:28,059 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:06:28,060 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:06:28,060 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:06:28,060 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:06:28,061 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:06:28,062 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:06:28,062 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:06:28,062 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:06:28,062 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:06:28,062 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:06:28,065 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:06:28,065 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:06:28,065 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:06:28,066 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:06:29,061 - test_api_backend.py - test_case_one - 70 - INFO - 测试faker数据
+2024-05-30 20:06:29,061 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 张彬
+2024-05-30 20:06:29,061 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 18501222294
+2024-05-30 20:06:29,061 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 220103197905174687
+2024-05-30 20:06:29,062 - test_api_backend.py - test_case_one - 71 - INFO - 张彬 18501222294 220103197905174687
+2024-05-30 20:06:29,063 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:29,064 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:29,064 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 20:06:29,068 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:29,068 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:29,069 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:06:29,079 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:29,079 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:29 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:29,079 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:29,079 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:29,081 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:29,081 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:29,081 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:29 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:29,081 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:29,081 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:30,088 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:30,088 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:30,088 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:06:30,105 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:30,106 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:30 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:30,106 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:30,106 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:30,107 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:30,226 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:30,226 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:30,227 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:06:30,244 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:30,245 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:30 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:30,245 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:30,245 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:30,246 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:30,252 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:30,252 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:30,252 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 20:06:30,269 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:30,269 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:30 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:30,270 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:30,270 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:30,270 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:31,112 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:31,112 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:31,112 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 20:06:31,128 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:31,128 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:31 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:31,128 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:31,128 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:31,128 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:31,252 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:31,252 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:31,253 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 20:06:31,269 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:31,269 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:31 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:31,269 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:31,269 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:31,269 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:31,275 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:31,275 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:31,275 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 20:06:31,291 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:31,291 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:31 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:31,291 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:31,292 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:32,134 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:32,134 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:32,134 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 20:06:32,151 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:32,151 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:32 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:32,151 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:32,152 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:32,152 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:32,274 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:32,274 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:32,274 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [1]
+kwargs: {}
+2024-05-30 20:06:32,288 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:32,288 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:32 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:32,288 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:32,289 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:32,289 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:32,290 - test_api_backend.py - teardown_class - 53 - INFO - steup_teardowm
+2024-05-30 20:06:32,291 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:06:32,291 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:06:32,291 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:06:32,291 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:06:32,291 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:06:32,294 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:06:32,296 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:06:32,298 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:06:32,309 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:32,309 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:32,309 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [2]
+kwargs: {}
+2024-05-30 20:06:32,326 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:32,327 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:32 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:32,327 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:32,327 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:32,328 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:32,330 - test_api_backend.py - teardown_class - 53 - INFO - steup_teardowm
+2024-05-30 20:06:32,330 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:06:32,330 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:06:32,330 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:06:32,330 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:06:32,330 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:06:32,333 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:06:32,335 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:06:32,337 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:06:33,159 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:06:33,159 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:06:33,159 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [3]
+kwargs: {}
+2024-05-30 20:06:33,175 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:06:33,175 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:06:33 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:06:33,176 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:06:33,176 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:06:33,177 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:06:33,178 - test_api_backend.py - teardown_class - 53 - INFO - steup_teardowm
+2024-05-30 20:06:33,179 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:06:33,179 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:06:33,179 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:06:33,179 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:06:33,179 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:06:33,182 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:06:33,184 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:06:33,187 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:17:15,699 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:17:15,755 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:17:15,846 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:17:16,045 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:17:16,049 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 20:17:16,051 - test_api_backend.py - setup_class - 44 - INFO - setup_class
+2024-05-30 20:17:16,051 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:17:16,061 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:17:16,061 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:17:16,061 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:17:16,061 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:17:16,062 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:17:16,063 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:17:16,064 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:17:16,065 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:17:16,065 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:17:16,065 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:17:16,066 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:17:16,068 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 20:17:16,069 - test_api_backend.py - setup_class - 44 - INFO - setup_class
+2024-05-30 20:17:16,069 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:17:16,076 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:17:16,077 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:17:16,077 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:17:16,077 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:17:16,077 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:17:16,079 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:17:16,080 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:17:16,080 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:17:16,080 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:17:16,119 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 20:17:16,119 - test_api_backend.py - setup_class - 44 - INFO - setup_class
+2024-05-30 20:17:16,120 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:17:16,127 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:17:16,128 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:17:16,128 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:17:16,128 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:17:16,128 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:17:16,130 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:17:16,130 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:17:16,130 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:17:16,131 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:17:17,068 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:17,068 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:17,068 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:17:17,077 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:17,077 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:17 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:17,078 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:17,078 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:17,079 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:17,082 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:17,082 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:17,082 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 20:17:17,092 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:17,092 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:17 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:17,092 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:17,092 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:17,133 - test_api_backend.py - test_case_one - 71 - INFO - 测试faker数据
+2024-05-30 20:17:17,133 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 吴洋
+2024-05-30 20:17:17,134 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 13612839064
+2024-05-30 20:17:17,134 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 440501197611142313
+2024-05-30 20:17:17,134 - test_api_backend.py - test_case_one - 72 - INFO - 吴洋 13612839064 440501197611142313
+2024-05-30 20:17:18,086 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:18,086 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:18,086 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:17:18,102 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:18,102 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:18 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:18,103 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:18,103 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:18,103 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:18,264 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:18,264 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:18,264 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 20:17:18,280 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:18,281 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:18 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:18,281 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:18,282 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:18,282 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:18,298 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:18,298 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:18,298 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:17:18,310 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:18,310 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:18 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:18,311 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:18,311 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:18,312 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:19,109 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:19,109 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:19,109 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 20:17:19,116 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:19,116 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:19 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:19,116 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:19,116 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:19,117 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:19,289 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:19,289 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:19,289 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 20:17:19,295 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:19,295 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:19 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:19,295 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:19,295 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:19,296 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:19,320 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:19,320 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:19,320 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 20:17:19,328 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:19,328 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:19 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:19,328 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:19,329 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:20,124 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:20,124 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:20,125 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 20:17:20,140 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:20,140 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:20 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:20,140 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:20,140 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:20,140 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:20,302 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:20,302 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:20,302 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [1]
+kwargs: {}
+2024-05-30 20:17:20,319 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:20,319 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:20 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:20,319 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:20,319 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:20,320 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:20,321 - test_api_backend.py - teardown_class - 54 - INFO - steup_teardowm
+2024-05-30 20:17:20,321 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:17:20,322 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:17:20,322 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:17:20,322 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:17:20,322 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:17:20,325 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:17:20,327 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:17:20,331 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:17:20,351 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:20,352 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:20,352 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [2]
+kwargs: {}
+2024-05-30 20:17:20,368 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:20,368 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:20 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:20,369 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:20,369 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:20,369 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:20,371 - test_api_backend.py - teardown_class - 54 - INFO - steup_teardowm
+2024-05-30 20:17:20,371 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:17:20,372 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:17:20,372 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:17:20,372 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:17:20,372 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:17:20,374 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:17:20,375 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:17:20,379 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:17:21,148 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:17:21,148 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:17:21,148 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [3]
+kwargs: {}
+2024-05-30 20:17:21,154 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:17:21,154 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:17:21 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:17:21,154 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:17:21,155 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:17:21,155 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:17:21,157 - test_api_backend.py - teardown_class - 54 - INFO - steup_teardowm
+2024-05-30 20:17:21,157 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:17:21,157 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:17:21,157 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:17:21,158 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:17:21,158 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:17:21,161 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:17:21,162 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:17:21,166 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:22:24,197 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:22:24,300 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:22:24,400 - yaml_util.py - yaml_load - 14 - INFO - 载入yaml: D:\2024\pythonCode\gitee\pytest_api_auto\line_of_business_name\service_name_api_backend\data.yaml
+2024-05-30 20:22:24,579 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:22:24,582 - conftest.py - fixture_get_token - 58 - INFO - fixture_get_token slave获取token xpcs
+2024-05-30 20:22:24,583 - test_api_backend.py - setup_class - 44 - INFO - setup_class
+2024-05-30 20:22:24,584 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:22:24,585 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:22:24,586 - conftest.py - get_env - 24 - INFO - 运行环境: prod
+2024-05-30 20:22:24,589 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 20:22:24,591 - test_api_backend.py - setup_class - 44 - INFO - setup_class
+2024-05-30 20:22:24,591 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:22:24,595 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:22:24,595 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:22:24,595 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:22:24,595 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:22:24,595 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:22:24,598 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:22:24,598 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:22:24,598 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:22:24,599 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:22:24,600 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:22:24,601 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:22:24,601 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:22:24,601 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:22:24,601 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:22:24,603 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:22:24,603 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:22:24,603 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:22:24,604 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:22:24,640 - conftest.py - fixture_get_token - 54 - INFO - fixture_get_token slave使用token xpcs
+2024-05-30 20:22:24,641 - test_api_backend.py - setup_class - 44 - INFO - setup_class
+2024-05-30 20:22:24,642 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:22:24,651 - mysql_util.py - wrapper - 17 - INFO - 建立mysql连接并返回 - api_auto
+2024-05-30 20:22:24,651 - mysql.py - get_mysql_conn - 28 - INFO - 准生产环境建立mysql连接 - api_auto
+2024-05-30 20:22:24,652 - mysql_util.py - wrapper - 19 - INFO - mysql连接已建立,直接返回 - api_auto
+2024-05-30 20:22:24,652 - mysql_util.py - execute_dml - 96 - INFO - 执行sql: insert into test_xdist(msg) values (%s)
+2024-05-30 20:22:24,652 - mysql_util.py - execute_dml - 98 - INFO - 占位符参数: ('class_setup-数据库写入测试',)
+2024-05-30 20:22:24,655 - mysql_util.py - execute_dml - 102 - INFO - sql执行结果: 1
+2024-05-30 20:22:24,655 - mysql_util.py - fetchone - 57 - INFO - 执行sql: select * from test_xdist limit %s
+2024-05-30 20:22:24,655 - mysql_util.py - fetchone - 59 - INFO - 占位符参数: (1,)
+2024-05-30 20:22:24,656 - mysql_util.py - fetchone - 62 - INFO - sql执行结果: {'id': 5979, 'msg': 'class_setup-数据库写入测试'}
+2024-05-30 20:22:25,600 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:25,600 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:25,601 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '李四'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:22:25,606 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:25,606 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:25,606 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '张三'}
+json: {}
+kwargs: {}
+2024-05-30 20:22:25,619 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:25,620 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:25 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:25,620 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:25,620 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:25,621 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:25,626 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:25,627 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:25 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:25,627 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:25,627 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 1, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:25,657 - test_api_backend.py - test_case_one - 71 - INFO - 测试faker数据
+2024-05-30 20:22:25,658 - faker_util.py - get_name - 10 - INFO - faker 生成姓名: 程楠
+2024-05-30 20:22:25,658 - faker_util.py - get_phone_number - 16 - INFO - faker 生成手机号: 13141132211
+2024-05-30 20:22:25,659 - faker_util.py - get_id_card - 22 - INFO - faker 生成身份证号: 360823194012063569
+2024-05-30 20:22:25,659 - test_api_backend.py - test_case_one - 72 - INFO - 程楠 13141132211 360823194012063569
+2024-05-30 20:22:26,629 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:26,629 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:26,629 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '王五'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:22:26,646 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:26,646 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:26 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:26,647 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:26,647 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:26,647 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:26,848 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:26,848 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:26,848 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '李四'}
+json: {}
+kwargs: {}
+2024-05-30 20:22:26,866 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:26,866 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:26 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:26,867 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:26,867 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:26,867 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:26,867 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:26,867 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:26,867 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: get
+headers: {'Cookie': 'xpcs'}
+params: {'test': 'test', 'name': '张三'}
+data: {}
+json: {}
+kwargs: {}
+2024-05-30 20:22:26,877 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:26,877 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:26 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:26,877 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:26,877 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:26,878 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:27,652 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:27,652 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:27,653 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: post
+headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+params: {}
+data: {'test': 'test', 'name': '王五'}
+json: {}
+kwargs: {}
+2024-05-30 20:22:27,669 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:27,669 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:27 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:27,670 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:27,670 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:27,670 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:27,876 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:27,876 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:27,876 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '张三'}
+kwargs: {}
+2024-05-30 20:22:27,883 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:27,883 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:27 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:27,884 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:27,884 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:27,884 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:27,886 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:27,886 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:27,886 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '李四'}
+kwargs: {}
+2024-05-30 20:22:27,901 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:27,902 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:27 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:27,902 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:27,902 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'okk'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:28,675 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:28,675 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:28,676 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: put
+headers: {'Content-Type': 'application/json', 'Cookie': ''}
+params: {}
+data: {}
+json: {'test': 'test', 'name': '王五'}
+kwargs: {}
+2024-05-30 20:22:28,692 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:28,692 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:28 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:28,693 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:28,693 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:28,693 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:28,891 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:28,891 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:28,891 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [1]
+kwargs: {}
+2024-05-30 20:22:28,908 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:28,908 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:28 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:28,908 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:28,909 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:28,909 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:28,910 - test_api_backend.py - teardown_class - 54 - INFO - steup_teardowm
+2024-05-30 20:22:28,910 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:22:28,911 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:22:28,911 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:22:28,911 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:22:28,911 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:22:28,915 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:22:28,917 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:22:28,920 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:22:28,923 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:28,923 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:28,923 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [2]
+kwargs: {}
+2024-05-30 20:22:28,929 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:28,929 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:28 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:28,929 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:28,930 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:28,930 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:28,932 - test_api_backend.py - teardown_class - 54 - INFO - steup_teardowm
+2024-05-30 20:22:28,932 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:22:28,932 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:22:28,932 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:22:28,932 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:22:28,932 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:22:28,936 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:22:28,938 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:22:28,942 - conftest.py - case_end - 32 - INFO - 测试结束
+2024-05-30 20:22:29,699 - env.py - get_url - 25 - INFO - 准生产环境获取服务域名 - api_backend : http://api_backend.cn:8899
+2024-05-30 20:22:29,699 - request_util.py - send_request - 23 - INFO - 发起请求
+2024-05-30 20:22:29,700 - request_util.py - send_request - 24 - INFO -
+---------- request info ----------
+url: http://api_backend.cn:8899/student
+method: delete
+headers: {}
+params: {}
+data: {}
+json: [3]
+kwargs: {}
+2024-05-30 20:22:29,715 - request_util.py - send_request - 40 - INFO - 请求成功
+2024-05-30 20:22:29,715 - request_util.py - send_request - 41 - INFO -
+---------- response info ----------
+status: 200
+headers: {'content-type': 'application/json', 'Content-Length': '98', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/2.0.3 Python/3.6.13', 'Date': 'Thu, 30 May 2024 12:22:29 GMT'}
+body: {"code": 0, "msg": "ok", "data": [{"name": "小鹏鹏", "age": 18}, {"name": "frank", "age": 28}]}
+2024-05-30 20:22:29,715 - data_parser.py - assert_response - 59 - INFO - 开始断言
+2024-05-30 20:22:29,715 - data_parser.py - assert_response - 60 - INFO -
+---------- assertion ----------
+预期结果: {'code': 0, 'msg': 'ok'}
+实际结果: {'code': 0, 'msg': 'ok', 'data': [{'name': '小鹏鹏', 'age': 18}, {'name': 'frank', 'age': 28}]}
+2024-05-30 20:22:29,715 - data_parser.py - assert_response - 67 - INFO - 断言通过
+2024-05-30 20:22:29,717 - test_api_backend.py - teardown_class - 54 - INFO - steup_teardowm
+2024-05-30 20:22:29,717 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:22:29,717 - redis_util.py - wrapper - 16 - INFO - 建立redis连接并返回 - api_backend.cn
+2024-05-30 20:22:29,718 - redis.py - get_redis_conn - 21 - INFO - 准生产环境建立redis连接 - api_backend
+2024-05-30 20:22:29,718 - redis_util.py - wrapper - 18 - INFO - redis连接已建立,直接返回 - api_backend.cn
+2024-05-30 20:22:29,718 - redis_util.py - set - 71 - INFO - redis str类型 数据写入 key: name value: xp
+2024-05-30 20:22:29,721 - redis_util.py - get - 81 - INFO - redis str类型 数据获取 key: name value: xp
+2024-05-30 20:22:29,722 - conftest.py - fixture_get_token - 62 - INFO - session结束
+2024-05-30 20:22:29,725 - conftest.py - case_end - 32 - INFO - 测试结束
--
Gitee