From 8a29559622a1e27fc773c602c1491bfcc763a678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9B=B7=E9=9B=B7?= Date: Fri, 22 Apr 2022 20:45:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 8196 bytes .idea/.gitignore | 0 .../inspectionProfiles/profiles_settings.xml | 0 .idea/jiekou-python3.iml | 2 +- .idea/misc.xml | 2 +- .idea/modules.xml | 0 .idea/vcs.xml | 0 Interface/.DS_Store | Bin Interface/__init__.py | 0 Interface/__pycache__/__init__.cpython-37.pyc | Bin Interface/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 160 bytes .../__pycache__/testFengzhuang.cpython-37.pyc | Bin 1017 -> 1043 bytes .../__pycache__/testFengzhuang.cpython-38.pyc | Bin 0 -> 1065 bytes Interface/dubbo_feng.py | 0 Interface/testFengzhuang.py | 0 Interface/test_requests.py | 0 Public/.DS_Store | Bin Public/BSTestRunner.py | 0 Public/Dingtalk.py | 0 Public/__init__.py | 0 .../__pycache__/BSTestRunner.cpython-37.pyc | Bin 19644 -> 25397 bytes .../__pycache__/BSTestRunner.cpython-38.pyc | Bin 0 -> 25468 bytes Public/__pycache__/Dingtalk.cpython-37.pyc | Bin Public/__pycache__/Dingtalk.cpython-38.pyc | Bin 0 -> 687 bytes Public/__pycache__/__init__.cpython-37.pyc | Bin Public/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 157 bytes .../__pycache__/create_report.cpython-37.pyc | Bin .../__pycache__/create_report.cpython-38.pyc | Bin 0 -> 710 bytes .../fengzhuang_dict.cpython-37.pyc | Bin .../fengzhuang_dict.cpython-38.pyc | Bin 0 -> 698 bytes Public/__pycache__/get_excel.cpython-37.pyc | Bin 1451 -> 1456 bytes Public/__pycache__/get_excel.cpython-38.pyc | Bin 0 -> 1476 bytes Public/__pycache__/log.cpython-37.pyc | Bin Public/__pycache__/log.cpython-38.pyc | Bin 0 -> 1560 bytes Public/__pycache__/panduan.cpython-37.pyc | Bin Public/__pycache__/panduan.cpython-38.pyc | Bin 0 -> 1484 bytes Public/__pycache__/py_Html.cpython-37.pyc | Bin Public/__pycache__/py_Html.cpython-38.pyc | Bin 0 -> 6330 bytes .../__pycache__/pyreport_excel.cpython-37.pyc | Bin .../test_requests.cpython-37-pytest-7.0.1.pyc | Bin 0 -> 3123 bytes .../__pycache__/test_requests.cpython-37.pyc | Bin 3010 -> 3010 bytes .../__pycache__/test_requests.cpython-38.pyc | Bin 0 -> 2906 bytes Public/create_report.py | 0 Public/emmail.py | 0 Public/fengzhuang_dict.py | 0 Public/get_excel.py | 0 Public/get_excel_new.py | 0 Public/log.py | 0 Public/panduan.py | 0 Public/py_Html.py | 0 Public/pyreport_excel.py | 0 Public/test_requests.py | 0 README.md | 0 config/.DS_Store | Bin config/__init__.py | 0 config/__pycache__/__init__.cpython-37.pyc | Bin config/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 233 bytes config/__pycache__/config.cpython-37.pyc | Bin 0 -> 327 bytes config/__pycache__/config.cpython-38.pyc | Bin 0 -> 331 bytes config/__pycache__/config_T.cpython-37.pyc | Bin 331 -> 0 bytes config/config.py | 0 config/email.yaml | 0 config/test_report.yaml | 0 history/2022_01_15_14_26_21.txt | 1 + history/2022_01_16_09_36_13.txt | 1 + history/2022_01_16_09_38_16.txt | 1 + history/2022_01_16_09_39_12.txt | 1 + history/2022_01_16_09_39_32.txt | 1 + history/2022_01_16_09_39_51.txt | 1 + history/2022_01_16_09_41_00.txt | 1 + history/2022_01_16_09_41_37.txt | 1 + history/2022_01_16_09_42_37.txt | 1 + history/2022_01_16_09_43_15.txt | 1 + history/2022_01_16_09_43_50.txt | 1 + history/2022_01_16_09_43_56.txt | 1 + history/2022_01_16_09_44_26.txt | 1 + history/2022_01_16_09_44_35.txt | 1 + history/2022_01_16_09_45_12.txt | 1 + history/2022_01_16_09_46_33.txt | 1 + history/2022_04_22_17_22_51.txt | 1 + img/cebaogaotu.png | Bin img/excel.png | Bin img/excel2.png | Bin img/kongzhitai.PNG | Bin img/log.png | Bin img/weixin.png | Bin img/xiangmujiegoutu.png | Bin img/xinbanbenlog.png | Bin img/公众号海报.jpeg | Bin img/新版本测试报告.png | Bin log/jiekou-2022-01-15-13.log | 0 log/jiekou-2022-01-15-14.log | 22 ++ log/jiekou-2022-01-15-17.log | 22 ++ log/jiekou-2022-01-16-09.log | 22 ++ log/jiekou-2022-02-20-12.log | 6 + log/jiekou-2022-04-22-17.log | 202 ++++++++++++++ result.txt | 1 + run_excel_re.py | 0 run_html.py | 0 run_http_html.py | 0 run_new.py | 0 testCase/__init__.py | 0 testCase/__pycache__/__init__.cpython-37.pyc | Bin testCase/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 159 bytes testCase/__pycache__/case.cpython-37.pyc | Bin testCase/__pycache__/case.cpython-38.pyc | Bin 0 -> 1937 bytes testCase/__pycache__/ddt_case.cpython-37.pyc | Bin 1531 -> 2488 bytes testCase/__pycache__/ddt_case.cpython-38.pyc | Bin 0 -> 2975 bytes ...pytestCasetest.cpython-37-pytest-7.0.1.pyc | Bin 0 -> 3253 bytes testCase/case.py | 0 testCase/ddt_case.py | 4 - testCase/dubbocase.py | 0 testCase/log/jiekou-2022-02-19-14.log | 7 + testCase/pytestCasetest.py | 64 +++++ test_Report/201710162054-result.html | 0 test_Report/2022-0116.html | 264 ++++++++++++++++++ test_Report/2022-0422.html | 264 ++++++++++++++++++ test_Report/20220115-result.xls | Bin test_Report/202204221722-result.html | 117 ++++++++ test_Report/202204221723-result.html | 117 ++++++++ test_Report/caseresult.yaml | 10 + test_case_data/case.xlsx | Bin test_case_data/dubbocase.xlsx | Bin 123 files changed, 1137 insertions(+), 6 deletions(-) mode change 100644 => 100755 .DS_Store mode change 100644 => 100755 .idea/.gitignore mode change 100644 => 100755 .idea/inspectionProfiles/profiles_settings.xml mode change 100644 => 100755 .idea/jiekou-python3.iml mode change 100644 => 100755 .idea/misc.xml mode change 100644 => 100755 .idea/modules.xml mode change 100644 => 100755 .idea/vcs.xml mode change 100644 => 100755 Interface/.DS_Store mode change 100644 => 100755 Interface/__init__.py mode change 100644 => 100755 Interface/__pycache__/__init__.cpython-37.pyc create mode 100644 Interface/__pycache__/__init__.cpython-38.pyc mode change 100644 => 100755 Interface/__pycache__/testFengzhuang.cpython-37.pyc create mode 100644 Interface/__pycache__/testFengzhuang.cpython-38.pyc mode change 100644 => 100755 Interface/dubbo_feng.py mode change 100644 => 100755 Interface/testFengzhuang.py mode change 100644 => 100755 Interface/test_requests.py mode change 100644 => 100755 Public/.DS_Store mode change 100644 => 100755 Public/BSTestRunner.py mode change 100644 => 100755 Public/Dingtalk.py mode change 100644 => 100755 Public/__init__.py mode change 100644 => 100755 Public/__pycache__/BSTestRunner.cpython-37.pyc create mode 100644 Public/__pycache__/BSTestRunner.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/Dingtalk.cpython-37.pyc create mode 100644 Public/__pycache__/Dingtalk.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/__init__.cpython-37.pyc create mode 100644 Public/__pycache__/__init__.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/create_report.cpython-37.pyc create mode 100644 Public/__pycache__/create_report.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/fengzhuang_dict.cpython-37.pyc create mode 100644 Public/__pycache__/fengzhuang_dict.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/get_excel.cpython-37.pyc create mode 100644 Public/__pycache__/get_excel.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/log.cpython-37.pyc create mode 100644 Public/__pycache__/log.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/panduan.cpython-37.pyc create mode 100644 Public/__pycache__/panduan.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/py_Html.cpython-37.pyc create mode 100644 Public/__pycache__/py_Html.cpython-38.pyc mode change 100644 => 100755 Public/__pycache__/pyreport_excel.cpython-37.pyc create mode 100755 Public/__pycache__/test_requests.cpython-37-pytest-7.0.1.pyc mode change 100644 => 100755 Public/__pycache__/test_requests.cpython-37.pyc create mode 100644 Public/__pycache__/test_requests.cpython-38.pyc mode change 100644 => 100755 Public/create_report.py mode change 100644 => 100755 Public/emmail.py mode change 100644 => 100755 Public/fengzhuang_dict.py mode change 100644 => 100755 Public/get_excel.py mode change 100644 => 100755 Public/get_excel_new.py mode change 100644 => 100755 Public/log.py mode change 100644 => 100755 Public/panduan.py mode change 100644 => 100755 Public/py_Html.py mode change 100644 => 100755 Public/pyreport_excel.py mode change 100644 => 100755 Public/test_requests.py mode change 100644 => 100755 README.md mode change 100644 => 100755 config/.DS_Store mode change 100644 => 100755 config/__init__.py mode change 100644 => 100755 config/__pycache__/__init__.cpython-37.pyc create mode 100644 config/__pycache__/__init__.cpython-38.pyc create mode 100755 config/__pycache__/config.cpython-37.pyc create mode 100644 config/__pycache__/config.cpython-38.pyc delete mode 100644 config/__pycache__/config_T.cpython-37.pyc mode change 100644 => 100755 config/config.py mode change 100644 => 100755 config/email.yaml mode change 100644 => 100755 config/test_report.yaml create mode 100755 history/2022_01_15_14_26_21.txt create mode 100755 history/2022_01_16_09_36_13.txt create mode 100755 history/2022_01_16_09_38_16.txt create mode 100755 history/2022_01_16_09_39_12.txt create mode 100755 history/2022_01_16_09_39_32.txt create mode 100755 history/2022_01_16_09_39_51.txt create mode 100755 history/2022_01_16_09_41_00.txt create mode 100755 history/2022_01_16_09_41_37.txt create mode 100755 history/2022_01_16_09_42_37.txt create mode 100755 history/2022_01_16_09_43_15.txt create mode 100755 history/2022_01_16_09_43_50.txt create mode 100755 history/2022_01_16_09_43_56.txt create mode 100755 history/2022_01_16_09_44_26.txt create mode 100755 history/2022_01_16_09_44_35.txt create mode 100755 history/2022_01_16_09_45_12.txt create mode 100755 history/2022_01_16_09_46_33.txt create mode 100644 history/2022_04_22_17_22_51.txt mode change 100644 => 100755 img/cebaogaotu.png mode change 100644 => 100755 img/excel.png mode change 100644 => 100755 img/excel2.png mode change 100644 => 100755 img/kongzhitai.PNG mode change 100644 => 100755 img/log.png mode change 100644 => 100755 img/weixin.png mode change 100644 => 100755 img/xiangmujiegoutu.png mode change 100644 => 100755 img/xinbanbenlog.png mode change 100644 => 100755 img/公众号海报.jpeg mode change 100644 => 100755 img/新版本测试报告.png mode change 100644 => 100755 log/jiekou-2022-01-15-13.log create mode 100755 log/jiekou-2022-01-15-14.log create mode 100755 log/jiekou-2022-01-15-17.log create mode 100755 log/jiekou-2022-01-16-09.log create mode 100755 log/jiekou-2022-02-20-12.log create mode 100644 log/jiekou-2022-04-22-17.log mode change 100644 => 100755 result.txt mode change 100644 => 100755 run_excel_re.py mode change 100644 => 100755 run_html.py mode change 100644 => 100755 run_http_html.py mode change 100644 => 100755 run_new.py mode change 100644 => 100755 testCase/__init__.py mode change 100644 => 100755 testCase/__pycache__/__init__.cpython-37.pyc create mode 100644 testCase/__pycache__/__init__.cpython-38.pyc mode change 100644 => 100755 testCase/__pycache__/case.cpython-37.pyc create mode 100644 testCase/__pycache__/case.cpython-38.pyc mode change 100644 => 100755 testCase/__pycache__/ddt_case.cpython-37.pyc create mode 100644 testCase/__pycache__/ddt_case.cpython-38.pyc create mode 100755 testCase/__pycache__/pytestCasetest.cpython-37-pytest-7.0.1.pyc mode change 100644 => 100755 testCase/case.py mode change 100644 => 100755 testCase/ddt_case.py mode change 100644 => 100755 testCase/dubbocase.py create mode 100755 testCase/log/jiekou-2022-02-19-14.log create mode 100755 testCase/pytestCasetest.py mode change 100644 => 100755 test_Report/201710162054-result.html create mode 100755 test_Report/2022-0116.html create mode 100644 test_Report/2022-0422.html mode change 100644 => 100755 test_Report/20220115-result.xls create mode 100644 test_Report/202204221722-result.html create mode 100644 test_Report/202204221723-result.html create mode 100644 test_Report/caseresult.yaml mode change 100644 => 100755 test_case_data/case.xlsx mode change 100644 => 100755 test_case_data/dubbocase.xlsx diff --git a/.DS_Store b/.DS_Store old mode 100644 new mode 100755 index 62971a73ffcd434c9c16e8a4ce5fc6ea8b3f22b6..a62dfd2194b1f46a5c33cf1cdca4ebab0b47a47c GIT binary patch literal 8196 zcmeHMO=uHA6n>ke?WU!ggJMC!1!*r9Nlk4*RALgrLZQKkA}Y-$o1c{=yXMDGV6@KtGPC(u z&6ok0000#$k%2L6dK983wX1ko&ry^L`a>Z%lSo@dyUS8`NCqSWk^#wpWI!_TuP}gn zHYsYKeV=M&D;bas>_`U4`k-MYGR$O)N@wZ7#yJ9@^kKJC@H#*)P-;wunQT#s8Y~KR zMM+&1cEnJqJN9eLF3e<$O6m>@JA5cCvcgU%iW42j*BoW_+bH`0?DE>J`0jTuKYP1>}|#4co99DO;a9vjK^~^*iyiU>5at; z1l+##QPoj(bbRz`B5&0bRlQoPMD+4yau?UD`4qc8Z&`)*wVt|QX6nm^Pf722HM9G)sn6k65*mQE|peP=%`cRsV8eqR|M2j!kQ!*}3Ml)|j6UPHVHFxn|R^ z?wg!BxsWWb+-%%x-o8&}f$tFPT?2O0`*!;PuY^eoDX%e%mEa^ugovghXz_}c!_42;3gX}dnc z93hFYV2qo`Ih=!y>0EYgSFrfAza@|T)cU8*1*gxrJnF5jMZC@rPHp3jBG<^ekRPx_ z@~6v&$Eb}@{W9nV+rzH2JPooFas41Xx{8;|`Z4GM@D=EaTMWy3{jdL7F=^V#Vw*N51YYk0_PngLTmDq#juYU-T`@h`( L+56W{-v9pq7)hTd delta 137 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{MGjUE#6q~50D9Qwq2a9DgBqx;@7bNB6Cv8kz z&N$gXhGlZR$fwCSMfo?Td}mqA&cPwb3{(vS0^C5t6=cfB#P7_L`DGkI)_}}m0ntD+ OLH2;fHplbKVFm!lix<5B diff --git a/.idea/.gitignore b/.idea/.gitignore old mode 100644 new mode 100755 diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml old mode 100644 new mode 100755 diff --git a/.idea/jiekou-python3.iml b/.idea/jiekou-python3.iml old mode 100644 new mode 100755 index 6a9a812..4f2c9af --- a/.idea/jiekou-python3.iml +++ b/.idea/jiekou-python3.iml @@ -2,7 +2,7 @@ - + diff --git a/.idea/misc.xml b/.idea/misc.xml old mode 100644 new mode 100755 index 8656114..6649a8c --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml old mode 100644 new mode 100755 diff --git a/.idea/vcs.xml b/.idea/vcs.xml old mode 100644 new mode 100755 diff --git a/Interface/.DS_Store b/Interface/.DS_Store old mode 100644 new mode 100755 diff --git a/Interface/__init__.py b/Interface/__init__.py old mode 100644 new mode 100755 diff --git a/Interface/__pycache__/__init__.cpython-37.pyc b/Interface/__pycache__/__init__.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/Interface/__pycache__/__init__.cpython-38.pyc b/Interface/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3638e6db11907b0f350ca83767befa830cc821ac GIT binary patch literal 160 zcmWIL<>g`kf`ro3@gVv!h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vNKeRZts8~NI zGba^<^j%VmvrF;|^h;8UOA2xl^YpVaQ?v6+bqgv>GV=3`^*!@SQj5|OlT-EM<1_Oz aOXB183My}L*yQG?l;)(`fsFqQ#0&t~RwtwY literal 0 HcmV?d00001 diff --git a/Interface/__pycache__/testFengzhuang.cpython-37.pyc b/Interface/__pycache__/testFengzhuang.cpython-37.pyc old mode 100644 new mode 100755 index f75cd105c3444b4943d0091f805bcd667f31a336..1d447382455abe8c7562b1e931871bb7f32a31e8 GIT binary patch delta 562 zcmZXRze~eF6vyv!`B{yiv>gPih)V|1$;}RG5Tw*XOztPVnsXg^3%E7ID>*lS4}shN_{e|_14cLN zq24%d29g~5fu}Kb!|5%!B#o0GG!OimANZcb)b!G1^m;(K)YF8EJe?V^AKHxaH0g6H z$vG9FlMY1wFL>z0v^#M<%q+-dHrmcD7)SNA1mz-1FBc);OJEQ#;3B9zRZ+{{wB0Sm zVMf&>bUHlgx8q1e(C%+HIR6OXN>(BMj(SL@3YlvBD>tuF$1?(E4#d?3ZEPF%eD+8- V))yd@W^&r0XChCUsm?yg@;6l7dY1qI delta 574 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 JXw?mq{0qd$-X{P6 diff --git a/Public/__pycache__/BSTestRunner.cpython-38.pyc b/Public/__pycache__/BSTestRunner.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5f69e68a21c51208aa7073468721fb7acb702644 GIT binary patch literal 25468 zcmeHve{dVweIFKB{NVDZDC*bw?CkN(10j*1r1SaC6e%A?LMOBosSuEL!dXE;?1BUZ z0?^xqB;vqC_MLO*bIxZccHE>_n@a4&=hi+qle+0Rb!R%wjHfegr=4l1vwx(S#3$eN zum01S_8L3=e7|o2EI?8xyUsN2m=fN;_xAn#zVGk%-d^tS*L?U}eC;oCuRibd{Us&5 ze<~7B<7fS61coo;Gn9;C_%nVZV5p@)CcsZMqv9DX1vf*PkmBRKa3;*pNG8J1o=gv( zp^~=Qo9RWFun~FDm+5=PXY?4_i#|g$`(FrT2Fw97vN8CAk{ROI0mOz;rq}30nLaLa z&{Q`@G9$?CHwKV9V2+^XA*2V5A*6@QLr5P+`hYQv^sspl=_5!VG)9mfLH(o1Icgrw z95d9EFLo&RS3N$THm9de%U-FK%cjr^6`|KGQ@>TT*L8c{)Guw>>y@%zD;I6uM!8~n zO)rStrg^I(uE+JHt*@D=n8Q0gr(Z~4T-1eGtq7E^=+=7W7Plfyt5&l09RBNTrCd30 z#J7>p6u6Y;gUrs?=Y zed>#bN2BxRolCXnB@4&naosQr#j>eyRceCgW9i6s+bZbUY#CF_X7$-wJ(|r@r`c?D znwzEWyluwm?RZSnwDSPkW<{8KzGm5#&0;-g7Xh85Yf-XL}Gh5y29A9)-$5;{?+N1hqU{kKF16rmi z=Smpt7LaY-Gy!i}B4rZ3nSdzp5X+O@EZzp55M4bE?{b}=+>Xs<3t=sx|KBk{OdGbS(2%enKujGpQ z)nZjo*UD?VN}c-fgr3M*K>Z83vNl&L>D-0|I9R5*X&NB371JnUaf_=prjcCPV4?@m zEs$iM7R=CBi{+fyq6OFl`7kd6iO~~Cplw!+VxgF4BAd{2pu4ImHi-ckdR0_z77aw~ zbub%R+CrsNs@x*Bm9LbIB9kOl(!flnHSM_GIU-B16q-ZHR}53%1WjWCHt`>7FSlB` z2}*APs9dp&d6N*E8CMCjqb9taVMd)J0SJI%#Z6Ph_ZR>=@&KSY0L;v&0X}<-0e!op z_^HMK{zR>!6{C``ZJK3U@-M8!6u@4=JMcG9hbZPsRvW}E8R1<~n$VJol|mgFD)G|} ztie#*Zy4Id-T^L&6cs_deoJ4a@jx5^bQRq!8^{Ok3F>{bVq?h}9H?nvSU@cZrOKw9 zzEvsMw+Jno2m>}%HS>fss8%FQ5`-;fi8q!7E)C2~Ur46()bjcCmARFKj`*dO<&Py7 z5)1mdt9trELZ4s0baf^9%!RamVR>;Ov69l~mKKn^lwL`myPRG|#^_v1OQuHo#oW?W zJ@M?Nl|(9~FR$oHaE2rrL+dMZOX*}HHK8Y$<`*w7B$u9<(9wXtw4Bx#lNXce#DbPy zp5RV*SJRiz>lYI%^B2&{+_~gpGJTc%JD*H1QD5iL*_?K1ZY7%C6>~9>cZUOV%IE}uPh~2G_=++#d8Uaaqiq=LUx2n zE+khH^J$t*J2nr%VR(xZdg@YQK8c8ycs2nL%&lCVAaJ0~RN@yeqYz%|3v(Ceo=K$i z@%;vx+hU`SntbV{Z#rxW@!%gYN4=Tu_lW6AkM>Wsd)OprgXUrr?^ z&_jBTI;JK7DZIuY&RtF=8D`0)bYf-Y@}+cgc`1hFy#lCUjB}{Ez`$Kz!h_LZdF3h^ z)d&U*d+@{y37`j7cu7KPj)0K@Qq0qGwu+%Y;7HmtM{Ozb%wqDH#L|3%Mzc(r%ID)#mujn}Vt&f2io~m1j%HV~P>YC73+mL5z^8}^!aPO2fAsEY{H&7*Odr&F zAJlmTsyvi>sN|}l8bLgRM#u=`88RY951wH|gR0!?3@x)_MZ!WrVXKJxWBL`5t3vb; zhZ1f+bPNMBiZ~TwrVx6bM}aJI+1L)2yHi;{S~C#Dc6s6k1pOUwX6F8s&V&2h%|f~z8$5Z+*M$kvjc5P`fN0HK6H zBw->D5JwN}Tn#pEZ$>lvGQCEBrq3A2^c#bj0b?jLXdK848N-(3;rPUNdVq{vNegE5_DO50(pwIZ}~2 z`)K$5e-SMDO5zep^v=J(9Yae%8S4hxgQLUWEHdqd4=&VZruHT>`Fht{Hz`(9XpLml zJ9mEP?SJtSN8kGDKYsg{`DQF2NJDvt17hzrVx#x|$!Fev^NaUh`Py5b zf5q|T9s(npd1PUEK7I94Lg(RVO!_)BleO8=`ub$PJbD(iA?cloWCqqGTsG@Dm?`$` zXw5E6KE-8FieIhUc6HLcQ7hh@9esB4^4#QnWwQ!93oeCGwtirC&5kA$v!=0TcGM)! zKRbG}Xx<`Mm#6TpqG7Mk8s<&dpOc&*R}(DUTxrtE=iq!f)zOf52=lPF(Botpeg{vJ z?0}#tpJ~nIa{4@`GDY*nT-d2|c5IxVF>7W@W_VyAhwHNAitsc(Hr~pOS*;fD=P02O zPftzdjdFaoQnBF~iRUYuQxqo$QFZF^_~Y@D2UWO=1z+)N#OE2Y%`_plYRBt0LoP z^QRx5(&F4?7Va$rp7!T?KEPhsP+QY*w3N*=oK>w@?D(1{k0hARO*g+}7VK&LWc9Wz z1{2JanmWE(5int<;SMVm4gJv%pMLVxlaK4CP@MWE*i~}|!D?DR)oNrlm%qLy;JY>^ z^OaHs)gS%HN9O0xpO<|Uuo{zv+-9+a5sog_@QYF(L#0OPc3)b5UGf@@KOaSY$v% zdz3ajvIaQ|OIb21^mr+^YL?uU;knE4J@v$x9CN-VECN!sQY3Fb4{&!g&oi_)b7HNC z8J{-6Txzg7Pq`6U%dXhDQdR&F^yi^21J1Wh^5IVFtCf;*M&H)r>qWyb%PX=-C!)}6 zvcK~=INGQM+1sSV5p+onXyAh6L_e$5f5k&%QJ12kE+gSrAjb7mUQvORHa3p^3QZUcvkwqOB~Oy1OcjkWG3xx#&uY1kLx^kodkum|I~#S8;E9uCV`mDbO3t2U ztZ}DEcwa2TV_CE@gTIMU18~FuipFfT#g0x#VVeM!&C%UwaHk1%*X3eLJa!@Na;PRy zc6Y)ut<{m+g#I|wf@k({@dGkZ2sz2|fB^Sf;5|S@+@Nc5DeEU#U@q?Ie`2P37JODz z%4&%Wyn&fa24q?DyYgDh4 z^YAfU2loaI&w~iYPsT>izV)ep^usTF9lfIZeOfV~8A8D9(a0%kg!Rz(Zp19)uuHmE zE2q)Qy-(k{_xh(>tuRg4IogsUw1T`u-7IHBo1%|XO&t*4c#@C=X8N141y`h8QxMx| zQm=fE0_$g`YW&0RzBuK^zVP)QeD5>R`aBKE#!&W)-+t$%*YhdnY8Lh>FOv9Em1e;aM=S|uL92>ucjmQVC=VBqM6(E2f zxEl6K$`Inz9UPVwu}{UbkCj)g>Y2_dBGm@Cgc`C4E6-}RAH%rP2+w#wbvEiM%`vOV zy?_pq)qA^~;oMyiliA(ykh$H{mAShnL)kO1(r9;gc68OoKAT;hylwHL$q3{Y?MCiq zPAYxV%nzu_0?YMrOan>_CNa@kS5W8MZ~p$h7d|yJl>-kYESG@EeHm6JgMet1%qFVX zhQ~a$>xD=A70U*C5~L0c3{wE^O#fu5 zbSkAdpdjp)wb6o+R4>^?>jD?fQ8bxV0lS9QY?QV?}Kax;x!nU`#{5XhIRg z&NcxO8-+w~6DI~^*BI?{%>g&1r?*yfA-y`V%j_5uRL7ODUVV}Gq|dl|m#cPp2pR}d zDepO@mV{_-lg8IfJ0Xp?b6ZJcJn9`?EY5w$T`h|a1&~4>)xC4YIG?+Hjj*OQeUAv{ zSyTl`$pagastm z^Vry*)#rrBZ2`mCj3}8mq1;dEC#O@jO;RJy=%=R7gZG+Hw@**g2?&@4g<3h!haFm) z1=owYR)LKj@7dPYy9cMNb6e@$+7c9>@u)4L=#$o)PG~{(f$&DHlV|Xl(a}V_WR}xhTfnGuKoouf@W95Eq zl!RovC@tnAwrI|g+ND1fqQO*mx6N+}>mRIr586o3fl^Qz?RSpBi-)@g(*&w#ip@2o z;rv8EM(4%WNV>+r{dD)f-#l3yMNbeo_mM>%#I|2ET>m}kxedlW==i~#_Rv=ofZLrU z;L#yS++uRi^E3##rRT-UlH}ii{oQKqTGC;bg5V*-@HEm1Hm*SE=!$e%;SpfrYN?XH z9@V`I(@~~Xqy_MOJHY_l=D4f`LKjHyTbY#%x2^|ty8Lb^hR}!arb7k5i6iG*!)}wEI_SfEe?GNAn*0cxPa+!)8{_QzH#9Nb2 z;bKTQT57IU#Fl3gtK`szg7-`gz%AeyB%k=Co^WcCfkxX1R;gx7N0k>!Tl;jw{;Q4! z!Koil)8cIUfr&~&|Q4&L=Scnk{{ z=G4NTqiABr&vF#fkZ-m4UPEwkQm!Tql>Yt?0pWTL+GCI=(=~1Tj7H4gL#8+{N1b6K z&yzVzR|n*&{+8zKvKWwg9NWXoeA?a95SYQX_H#3%3(W}FKQ}WNrQ7_Al3m&Wmq6fE zP$5Ac!0K|D;m^$sK=0>fhQuR+gR~KwN@5eg_EX~jzcDkqZ0(;L8vC0<#9#g&Ff{hE zGnQh9#6fIKh!F}7QE(W66H2A$(w9?C|3c#Y+~q}F*416L@J%Vl1yL7;(EZP%kuu2^N{!L(sIYUBi?u3O1<*Lpln~mTrc7N0?rLMy>6Ut zQ0#fc_z1xFoA_DB5#WgNxL?7)AB94yq6XCus^e-{?N>txA5nYNqj*N}=8~X#yN)1Z z8&@7dP9xGff;_^f^y##|Jf)9A$b3pa=$_IK8Jf|{r}g`cemo<_fH8<2-IcskK**3$In_pVAJ_{ADxf4{V(7Ycs5{AsB#!I z==gq!!!U;tKG5IO@FQPaqmsRx-)B%xKb;+q1(x^};`!KsqY;yF$HFJNsc)xG>VoHL zg@P%Zu)I=mk|WSgPdfdsvYur}ozqWRGi)F?*~=QNo9MwQ=v6xXv*m?m6j)(*>4*mNH#2W#CNyRgWXQ+MDJ}f3t*6D#QBlzyC6Rww3tSPv z=rNOx;7;f+mR#QL2=g$-3@VFR3TU9>ECq1{P6XRYY!ixM%ImyH;0)sABkoG$j;h3t zJ2U}W5+Bwe;;u#gXloi>#XIg`5SG#0c@cIHp=lV(^@#WaVtfzdx=*}JliE=Y|6OI< z-@rAQV?IN@?iXhpJ{40l)TexYUp81C;B?4MhwSi1WT(dn?r05Vr}r*s#|Ryf6x6rV zN4GoZrUzP34E0HB0k=OIz864Y-M=ee?I;dj0F~y!0wg^8VnDzxkJUJ}Lh@iUv9pPob=Ml7c5F_%H$|fPF)8 znv#!Gz{|pmLAP3*5M4ga*^a+xI4a-voI^Ga5c6f2k8%-d@OLj%1b4uzMAt9V3egQ0 z(2Bp$-xugphWrD{Lr4waN3`RimS(N}7wQgLVrGKnV(|GT_-wi~gPTM|K>(V1*N5d| z+yfvLESy?UiGd+6Z1}IMqH0GrdUiA;$ZU<{b}z2r@HHU!U5MV5``lERQp~&}OXnH< zav^AT^*{wToe7m3B_8XOus(&PBv}nd1XJ=rgCGz};D_kuRM`;3Z@NJr0L69!T4H<` zpvB)s-Ma*1lH@+XbAU;C1Q&e(X=T7)KiHy%_8>agJrO~R5I%>*{ovd1-wiMn@!5xC zzK{F21KTR#9R$3=tu{hCVM7JHgN-)4BMk35cF%^k)9b>U<2DGvg|~dygttt2;hmQ7 zK8MkXV+iVjgx-XABGxbA%_z()GJ>fl=op6+VnJZFp)MAwjXgjvF5<--ArEc`P}fni znMl^WoyTo;A(p6aCr=WWkoP970BKNi1qQGR5yi6xZF$ff*#0ZOAycXddK)!1&dU!2fv9*ofojyaQwq@MzZ>@!V$8-VQ zmnmKu#{KY;XD#Z1^Q~oQu^3)~zLo@8sg;?-I79@rFAOQ|L|k$GzzZWt59tQ|736)7 zK+nP$tV9FgcLBeH0Ner4ZBD2F3I!6;E$J)!-b*N{#I^nn4Ff+&qI!Re z;^+;eFb$7`SZ}x5O~Ol%ES4CWq!`gOqm`fuiVOv9q-$SmBME$+`W-?fqG*GWU?dVb z78!^PMg|4F&EwbcM^mCd>jMZ{nx*=ZuYgax7=agiGJ%)CS2HS9w4l?Q^{8evi4LqK z0ZQ%B(|Q;|r#p%grd3z1F`q~pD;QU9L zAP<}FE{=Fc)Y7dwAROEa!cM>2eBLaTnq6=|*JwPf**%BYzi+N0E(cP27yPK?)A(7h zAZWo4IypWp6C?=YA7qUYEQDD*SG;##sO&Qy{w<(vpB|xaR}*t zGNI;t_Rt5%Qy#FMG`7c zH-ejg6vtF0n*S0aSSsiotg#dG_Cc8oAq+G~7f~Al!w0?SBneccL*-C|w3AQ+svhz$ zkWfWBf_yNhYy_+xqV+C>Ej0g@>eolgDSatLa^Gom>x7F|mQI9#A>hCW?gFg~!Xzii zyFTLm6z}z%gLWeD)tffH8sP-WsOIXzNXH_QbLUV+c3@D*$rH>e$~J2uS4K9{G{bw z@s&qZpB=caiIWQM(<;8JzOw&WpRI1FBup8)fU5Y0R6fu~FMc5~ZD^uK0J#^BD-U7ry=g0Fl2&=e_k`~keJj3a(cjKU zlU(gX2G)Lqeut0x4zpI;@B_)h^~b=>`Bu#uu1_Ea1yAR*@;Hyf3H}O8Jf<+n>j%cJ zX2&+OV@7uDLU!z8b}aR-8nCAWlW%!yM}<5(~D~1F6HQv>oLrg)XFW0{Aw~ ze2uYRr zMjx|(2!IzO4gUhxdppvIu#Mg!8!;Onq4+`km{!QNzcvIzMnS{MF<-&|dH)Sajy5cC ziQgYT=>+m6>kTEN!kDPG*}J3R13|cJ0h8|RFy_WwJ_Np0KhXgWTn%yE1MwN0F~Gj# zSwxyO!TgDVv04}F;pNHnO5>gn0XbooE2iZrWk<0crQ#^2*g_RY5ppnfs!srRw02)% z8WAhi0Tqiigk>WGQ&WyA!%F?gJ|pZ{Hv$$(F6IZnfr#V>FDM3J{VD%3tRUx*p`sim zxCgMRP@gvfVg~dK6`SIRr3$EQ1jP#HQi)(IHzd|MH;CMjo2!c322}9|6ufPo{6a?q4Ip(ObXS+T~l32Nm2)K{;D~jE25xMxWy1vwzs;<68(5y1aNG zzagdLkFJ_yC*1vX8Sdpk+jGAKhEJX~n`)O|dWZ0+M%GZry#(6b?>Yf4569zTo_h}h z=Y8F%dl8`a^!}|h&x6aI+WR$fpP{r)hs({@`?T_|qB|;ih51(PTYqxrtv~n-*xEZ^ z`XhPG_SZl0!|#66%^;)ehp&9+-kncCc#-wNJVson7~77E6eHFonN%6ECI=$xor}ZG zSHow*aOa=ID;*nclb=NDgK()xRyNmKheL$jq#^o(!@zA-3Hekd0*2K6RFytIa)JG! zAJscQI<`l%9r__T2{il|{ps@$5Hes!K*@li*ver-b>EI(S}U;L19$_W1KWnmK%ro( zGD4zAoJT5*l09XlcOn!+evhr$uwxMGzpF4y>w(%5Zouw&HH`K(ycyUTY-l?}23jZ4 z$2N?*R3G#bFv*;-Abr8LcV+X`b z)J$(S3wofBD&gxDBiW`z@qF^kInd5+wmHX4g7OF zRb{3io!?Q7V%`?S%Q1953dIu_tT*+`>@s~#2DS>VpddGoly!Y_P+1~pOVEmnPgC$2 z3Vxk}R}o}FZg+bb%N7bu67D^Q2z`x2@>JM%;Jy_XBI7Mp1PdcWrqKDoG?|~^SxRi!qt^q1eP`Yy; zLLBxV6Peb&|HukD9A=N=wfG_hvMV11r=pj7I0ij5*@YW{x@@l1a* zmBOd1E+tlIt0oi9@fB2yha!F(B^;Gb2T7bI0o~R|1o^(s6CNxe;saBpf26NP0{*{> zgeV5|Buo3pno5X@*pDJX)!$vJ`KJDXeK5%-_zpB8U84^_Mx&R3My%lx%TzYVUmURg zjlc^)r_U+Z9wUUp4?3Trs6Ye!B4CLjAlp;W2es|q?Y`~)h6aDOU!)swc|M6!H$IFU zKXMAhB9Rk84qQTr^&l36iz$G&pF~XE9w-mNm4`e^6$nuW5DSX0Q@9f%N1g$tulfxm zv_04u6n_H0^+02gN>;zu7}zFM4%-p5ufW~?0g zHxA!8%7`0*Ce%kFgoBh3@a|AMODZJZLhephJ&-3k1jh*R z88B+FXV@fkxZP3d&X=Q-*USk*(Sm0)Ko_urnI5vcSko212ka4FrQmB6{5}H6qfb(t zo&7x~HnjLNwQ}E=6fn8(8^mq-qAkWKgNcwx&pFg)eJc@-SQeBP^dH|0@!%zkeT6mXPW2t{gz8EkD2zC>dIQs2XX6*|JiZ zCXX8a>O*iALD^wz9p6ws0t4zW>~%2c;Er+^s*wSqV8CJnWe0ZxcYW1GBLbyH6TbvK zzNeuvt^IPNXS=r%5hY-|TCE}sZui-t2KJy{AX*M>_m?4Fw)>G6=Dgo(ghAaZg(wYg zO(S5#HQ(rO4A35xp|MyRZ1m9^P$cn??;E|?r*^$Pwo# zAekZl0RqSpT1xi6XL?$9N5rQn^B4tRrr;|S>>!AR#JBOt1n23lh`3Anj5nm4;6uCO z*Qn5dqv9(nCE4^F$Z>|?ixRkG8pG+KzpHfMqAHW?tZ2eQ{SSJG~A48W4klsuT}6f#UE1sn-p~6`!|sH_X*#L z>U_ZT55h(z$HGuR3xpt^I0Qz+3GrhHEIbDSg!O(U@;@S)2C-Hjy)SK4wI$;{K=`?0aeQ9WWrIqTf7z*7p%WOHfEtAjJ+pRXX7} zAnzb6zx?q4=?LT#Lh7^R*V%#bbypF`L7OU4P(nfR*vdl;N~sY%CU>brHl#O{&R`>Q z7kmgl#tYy=Jv%+%OZf6#t4;)(iN*@7My)Wd!*c;WqsLA8Ii<-|+v9lS_>G6j<47E) zK-&$yOQMMR2qu3pP2ao9lw<>+plq5j`wZo73K4xw6D2$x^;WKQ-SzhYZ7llatyCU~ zs6~~6O$tb8IT2cB(gB+W&L7jOe?~!TMIA`43ZyQ+bBV(t=*?Ts_9japdetUthqB z|3c$<5BicuTI^u=cFAFCc!q*m3J77vEebwK!Alg75ywUoYs`YAtsoX8h_=OVQb5oU zG!ze*7+^%d;+GLP7+>?S6g+G#i%;>ts~w39V-xFWIbPWb6QK2*_Pv7M);b3VX(5A$hM zOp~$pM3+BBk^e^MLMY}_X#=%B;+=c5_7XTDD~x2Pw2ur5YGBVrrq2H>wX7n76LCQv zPV6D6apLQq_<9edEj;j_r6vj#{3`^R@a@e~9ADa%mLO5M#K&h4!%>uqAi(jbP@Ryx zW56HsWPHsWkcXkb%bVY*<-g7}b!{HxTI=I-n_9Xy{jc^zYeFV5l(E!>Qrn!T$}R2%Uof literal 0 HcmV?d00001 diff --git a/Public/__pycache__/Dingtalk.cpython-37.pyc b/Public/__pycache__/Dingtalk.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/Public/__pycache__/Dingtalk.cpython-38.pyc b/Public/__pycache__/Dingtalk.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c335dba322bb3d6559e434f1629c79456e6c742e GIT binary patch literal 687 zcmYjPJ8u&~5Z>3_IhRP$F3f*(5?#5h6)*&1tz^J7?dE-8~6gc1O!U zpn#Hp!f)6%RsI4LFza9`qnr75=W+Ae>uxthKp)gCpAdv@-Q^*H4vm5Ja}WY0NMJz< zoZu~zgaFclmMmcy2`0QRDDecjM3KLm^usZ4%}uRF{UR@<`@-=QVAMa)tC``&;;31I zm&r@e4POjSw>4vS@+!LJzQDZ?bk=O%9&`Ee< znUSB34YIm2vNBf@O@dO-%(9V+LaHRl^~6kyVs&tK?{atrwpEWeO_68ZC&Mcp1YOW09$9KUZr zLb35~)UX=6r)4El0n6HlU+QNd5M~4jk-vnJKYquZ7=4OE(5uH_k9-@Xsi?CwRUNo1 q_rh!!W;e}eNB6L8ck8{a^?~R)=gzCL7HuJ4y9I047xR1gfc^t?XR%cP literal 0 HcmV?d00001 diff --git a/Public/__pycache__/__init__.cpython-37.pyc b/Public/__pycache__/__init__.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/Public/__pycache__/__init__.cpython-38.pyc b/Public/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..56277aa4c4b14ada60367375a2856fce51bf180b GIT binary patch literal 157 zcmWIL<>g`kf`ro3@tr{WF^Gc<7=auIATDMB5-AM944RC7D;bJF!U*D*lYVG%YEiL% zPG(Lj2Cgo%%>&M4u=4F<| Y$LkeT-r}&y%}*)KNwou+{TYZE0Hz5h_y7O^ literal 0 HcmV?d00001 diff --git a/Public/__pycache__/create_report.cpython-37.pyc b/Public/__pycache__/create_report.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/Public/__pycache__/create_report.cpython-38.pyc b/Public/__pycache__/create_report.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..639254c70926c1a10e21422f7c9bf9d6c4c4d74e GIT binary patch literal 710 zcmZWn&1(}u6rb6h-PF}o@lZSlp<+O@Ha%2=N<^g>se%@DFYCH9scSbo%gn5{A)X?5 zP`qftZ&T2N2fsisTJaC?;C-%|Ha+$3$+xM6ppSX)F>ikJoA)uZ#iD~iE@$8U9~hyZ z`DR#5*wjJgelQeyh+=BQxM_Gs)AUS?m`TkJri5CzPzQU2+UHQY&^qqagG^oJqE?Ed znB~iO>Zd#XcS~zu?yo+78j>9QS1j-a&=a8YJebx2HORVS+$3$%#nf!0 zHf|ejvq8qtGR6p^#xla_0!sE`@E9qxODIv+=DD(|)dAcklo%JG3s9jw({copS*$8* zL1`ScisSO=)+#yKK6v^6OnbLKuRnOSv2wR}??vxPcVp%8xXktdwEy;f@9WZVQN5QR z`X67F3!3nhCEB_nBE_^7##}OCz!goRq`~#JQwt$WRm1_4iYQTK%NtQls=TY7rFay? zULg&nOtPjXjUb9OZoEdK2pqqs-C3ZM?$(gplT6Mlp1L_h8V8AcEn@RLJD4uQG?Pj9 zY<4A%LigVx>g_VPo)0x|N&cneC>UfI*ui6X2e$Dj7CRv_Q?_)$_bCs3Upt#@6`1az hB$0o&0c?=nkjdHf$dM+eS7vSt7$l%gs^C~7MtmI$fpQVAK?cS(&M+wq-|5?v&u zGWRpIVq)bJFtD*Q-N3@cS772f(}yxiZ9f6u-6Y-h&@9B=FI;U@<0%S|>1#mNXw z?V=NK4uS~!5zdKVr_kfeVaxQC1@)(Q;-<`WdSG*y7Kt;7rL%1?$@iPNYh8Q3hHnU1m`pyh~(S)Q|pM-+u7A zzQ~d|n8qy1vos9`c;2J~|+rJS1)6W9&3>mr$}zDBUKU`lxisT5);v^|(jv hRv3yR4#P%h*0|vwAlSB_&k9jz@&$3t+~306e*sC)uV?@O literal 0 HcmV?d00001 diff --git a/Public/__pycache__/get_excel.cpython-37.pyc b/Public/__pycache__/get_excel.cpython-37.pyc old mode 100644 new mode 100755 index 8f2a7bfe11368da2c2feed68295cec1ca61d90ee..56de4723fe738d3a568be37cffa50de68d5ed25a GIT binary patch delta 270 zcmZ3@y@8w8iI;^L0UcbHA<(-~?xDtt;C9VdcP z1DTW8vzRfePkzRtCQu{;)D^{fJMLX29B eJd8!!Krv1BB9J$W)Fvme$}?(DZeZ1Clm-BHBs}Pq>@YbD%qrw3%UT^ zlm18-lAa^YU>`h@*(S5j*>~QyBFPpOlPc*U5c+ic0-Mt^S2IW;G0j@O)5b8gLrHOFes zuQ^e3LCtxG+{)R47j7X6ukeeY2EK7>~8q< zvirl`y)xlkpWoX3dNBNI=e3i0vtjvKqGdFm^;9~yn(6N4EbCggr{mN_B41R> zhkaMA+c6w;vQ(+mRBT@-6*~`0=Zmoo(PSlF1=adEPTR}M z(%4dUhv=uk?LTK)=X0g=Rs!qc+nP~%*JQnxQMu_Q?XOT$e z@W!p-$6LdjzYIV7dH>Gc-A`^0uU&y^shAFWKWtbgb*Wqh#gHXBV24w&IsKRiV;#o>3kzb#S=*W zDwNvFn}rXF=g!&*yuG?6A3x*P(O-^p2|Gb28K=kK5kx>>#lOBAQvE!9YkC^vpictWuu73> o`0TVvf-+eO@~ literal 0 HcmV?d00001 diff --git a/Public/__pycache__/log.cpython-37.pyc b/Public/__pycache__/log.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/Public/__pycache__/log.cpython-38.pyc b/Public/__pycache__/log.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a60351af799e29c5e0a60d9e8e9cd207421c7af1 GIT binary patch literal 1560 zcmZuxPjB2r6rZuZUhltTOG8wF3WjQtRwBCxE*wgQXcbbaYEl0ju#k-7nN6IvcUCiF zN|x;b5|nTV91zM0Y4?DXoZt(fegM9~Tp^MA6*wT?vy(IujCbDnJ->hR-tX;`R;x~6 zeV+djzEdIOPh>7H2bd3Gt6dYvCK{dO?HLc!SjkHfylvE)5p=0`M)ia9{~Bh zNzi82BhtN+HzAeN!(UFGAD$k~Pkugp0X(_irDplINQF!$oITQvOSu+}Sjy!wHI=6_ z8Y@G4#!kh?>f^xOO88LZhQu~npDlcMVc&+W)_`a-gPUTG+G5t!V)lVGv*!eOvgPQ? zmOHCzk2zDaOy(A=Fqc)Cci^1s%xY6Ir;v4Ra^2tH+K1>HT>7g~tcBe62l*)0i5U5& zl8QJ=SG$&R*YoxDl!JtS!PAM`Q9ZDlG&-NIbh4EWTj{Jlo>X!@Sb4u|L*XLL!-0@l zq-70KHXa|vf+eGkZrxPDa$SgFa8+>~qN+}^3v~lo1xy6JYvDM$MBgw6gtx2 zU^PkkSq+UPlySz9-ZajZNJgf5@4?66ox2Z>d#|`s*EY^5%DC|cU=>1KiO4!8atV&V zKj=SET&jKwAMw|}!_`oWabI(#$7wX`mkn7NZ|hAldawUUzMdv=AN=&j+ole+L!VH) zSHPV@LaaJ%QwO$1;Q6O+%Vm%n=kER02VF~E1*XU$rl@_k@Xpv~+^P*^j|>Vh?|RSZ z6kBCaUiSxaJ}UY$kRm&8TE=zc|Hm0l2!>Lx0nuci?9e^3M+Z0=)~>fhFWk1z9U&OU zfPxq-E*2(+*n1PU`Upsgy_vNS_$v^IShQxAwx?t(<4LGC^dtslhmYj>e%gi)BYFcDV)Fn literal 0 HcmV?d00001 diff --git a/Public/__pycache__/panduan.cpython-37.pyc b/Public/__pycache__/panduan.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/Public/__pycache__/panduan.cpython-38.pyc b/Public/__pycache__/panduan.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8b495e015d4865cb49290a0e6810edf215e33349 GIT binary patch literal 1484 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 bmgb_#s4+E?*sMkq8`aH;-o${KPTcYzRV*IO literal 0 HcmV?d00001 diff --git a/Public/__pycache__/pyreport_excel.cpython-37.pyc b/Public/__pycache__/pyreport_excel.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/Public/__pycache__/test_requests.cpython-37-pytest-7.0.1.pyc b/Public/__pycache__/test_requests.cpython-37-pytest-7.0.1.pyc new file mode 100755 index 0000000000000000000000000000000000000000..89afe07a304403d1882e2e66724f3c14d7f42ff3 GIT binary patch literal 3123 zcmd6pON_!{mRHlfxxlr;_tz)!-V{Sh2CMo&2~7&E(nxRBO+BpU(JSP5`#4Cs$--rZq?N- zxoQrsX5==!s@KR@^9I>Ts73AbgxcrKYJnR2NXc1%jAWu@s@(pt!IG9#qkGx078COI zlQq_qVG`F+(mPDJ*$$`J2!ZKgR84A7^E|0qY5J;79qK~ap*iZo)unk_fNPEp!6S#2 z&EW|(0}|kYSIqh-_?AuM<*`z6C#y{+l^4dw$KZdwxFh83 zaB{Mu8x55^$^y!`C>hEYEIRx(;W-$}pF1n~XiawLh|^Eoycw-|AR(n_815-y)qE7fQJ+#uDmrGj6D0u^%9iY;RF;sOX;=!CYgE8tWF%wjOjD#@mMs z@$N&WpdiT%00#J2Q*TPMZUJr<;AU&w0I0e{O#p2h=v*ivXb!bH4z)FC@RJA7K&3&` zbs5l30~D?X4NRfq0%&P3s6FK_0qvWN(i^Dkfp$Bi%nwxdKq~-fdQJ6i@gbP)B3>L9 zkB?wL>-m?^dKOYQ6Y)^C_#+@x4sA7>f+M%e#%}4TS3#LSis3N~t1}2!8?t?tBKJr=a*GoQnt*G(-as%4@U2@$?y5VpO*v2at20QGxk@ zSphj4r9IYu%oS!qw)XbJE|1adA zDNz1CTu?H}GPod5DKnaZ2ZED&&pmLe9;EV5B%D5w8fP&+9)vD6paJZx z(CqX(^Z{C8LboBo)Wkg-lIDyyp)2Mz+7B2JK(ra!dk}#kf&Ez8e&Btl?I(TD>AH;l zwEI?JQ&(F>+UtJ%xtdX?MzvhogXouxGBv8@${s}diT~bm5S(V~pE(Z4pT9<^YC#`< z&uRXin&o!GpT<1eOdsSnDi04xso4tR{%cD!bN_2A<)+_dqU7O+R2(#z@2i6EHxk;4 z@P63$kF|m*ZQ*$w2fi9Pnj0@-zy--zpEg1L3bmmDO9CC!Gd$ZHg};>?>q|q*JJbpz z8OA~lZ*NZd{nA<=KKbD5t{e#XLd5UnGG`}vD4ELlt5mL6SAfna_XDn1T3da_zwv2< YhNrxj(n)T^?*)M)_Q)zSYK&Tc0qAc&lK=n! literal 0 HcmV?d00001 diff --git a/Public/__pycache__/test_requests.cpython-37.pyc b/Public/__pycache__/test_requests.cpython-37.pyc old mode 100644 new mode 100755 index 3b4e473e80c26030cb345188240651a56cef09c8..63334ea254917b15745d1dbd3cb54e705b394b97 GIT binary patch delta 77 zcmX>ken_0xiI5;_0? delta 77 zcmX>ken_0xiIcBeDt%o&BI z5V?4XL3knYg3(3gfhR*kRzirr`t0L8YP#$i5{L;t_@du;rY%#Xg*e;!dM@Ap%;`D5 z`Jdf2HkKoBy>aR{_t#NEe#c7s(xI{i?r`4zasWe{-0 zDs2%5eh_H%QZu(J;6PDz(m1n^yNrvlKw~51 z-pqL-GBB0Dw-xcxVbQC496!ZZc{nSBMp42_H9XfZ)~b9qh}Jd^%6)iDs(w{Ej*UOlf3eBC8)M$&g zv=*ts%73aK(wWxM9lfR345rU&VzV^oEU0D9(nAI_TCg8qX}e(^nZ+{F#=K*6CF!>A zCjRFJk=fat_?VJICMC_4kZHHfB*!AV$=l>x4fN1^*xUm(e+CpeP+U$avO^W?K`{b~ zYbix;s6yM5?EXmUycSyxSGe_1n79V!uAN)gzPR)Ylm)T_{YE8VJhlW6BTp`2y;S#8M!FiL@*L5pw!Kv<_Q+ApVq6*h3Xv5O1Uu*`bOqh`Ex$We~WMiaRle zrEv`RVOW9TehATO2#p}TD<@3X z27C!1ctIL-rnEY4q=OsvLjZXLAUN7{3WNaN=ynKhccY6bMdDwB6kP}wQi{aC1}Xjr z1ZWkEdv~*nWZx~w09O?wK-)CXEkLCU=P5|!XQ(M$N+}W>8Kmg)@JC9K*vKG7mxpZWUi<)2XhipB2Lh876lEPW zDH|Bh!R=lkp2l(TTpPjxJRsp<6Xf-d2c%#i2|Y=vVB literal 0 HcmV?d00001 diff --git a/Public/create_report.py b/Public/create_report.py old mode 100644 new mode 100755 diff --git a/Public/emmail.py b/Public/emmail.py old mode 100644 new mode 100755 diff --git a/Public/fengzhuang_dict.py b/Public/fengzhuang_dict.py old mode 100644 new mode 100755 diff --git a/Public/get_excel.py b/Public/get_excel.py old mode 100644 new mode 100755 diff --git a/Public/get_excel_new.py b/Public/get_excel_new.py old mode 100644 new mode 100755 diff --git a/Public/log.py b/Public/log.py old mode 100644 new mode 100755 diff --git a/Public/panduan.py b/Public/panduan.py old mode 100644 new mode 100755 diff --git a/Public/py_Html.py b/Public/py_Html.py old mode 100644 new mode 100755 diff --git a/Public/pyreport_excel.py b/Public/pyreport_excel.py old mode 100644 new mode 100755 diff --git a/Public/test_requests.py b/Public/test_requests.py old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/config/.DS_Store b/config/.DS_Store old mode 100644 new mode 100755 diff --git a/config/__init__.py b/config/__init__.py old mode 100644 new mode 100755 diff --git a/config/__pycache__/__init__.cpython-37.pyc b/config/__pycache__/__init__.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/config/__pycache__/__init__.cpython-38.pyc b/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..74eedf31416bc52da79da87e6d2eaac1fe0589c0 GIT binary patch literal 233 zcmWIL<>g`kf`ro3@$NwSF^Gc<7=auIATH(r5-AK(3@MDk44O<;4hmcjiKQhO`9)R= zIhi@BAjIX62BfSM;^Q;(GE3s)^$IG1s!B3*fnr7mh8FrJ`i4ddh9*{q<_cVXnvA#D znv&I^I8e zE=e1+lPdB=F8JUs*#JadCaX=p_3O?hCNH58-Uj!0j)Tw(=239xxjoun?~JJpFNb4 RHG(gO*XV)S89SC^eFGQ)UZ?;7 literal 0 HcmV?d00001 diff --git a/config/__pycache__/config_T.cpython-37.pyc b/config/__pycache__/config_T.cpython-37.pyc deleted file mode 100644 index fe5e3bf448dbe8d4df64cfec6affa7735910f508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331 zcmXv~y-ve05O$grP*9mbV$9lsn530J5u#D)Tp`geS*$2_+Yl#?{G%v+BVGmGAS)BE zz{I7rXWxCkv-I74Hy@2$1eTgF@(K9eCnvMu5reC12oxoVT8Tvm$$;94O`SJ19`0wJ z8>dF^gp53%bJkxs-T*{iCaO)oB`d#f-B{-(l*0Sq5l?Xtdciab9z3^0``ew?b%b%# zG`==GueL!r@iS5W*wA-5cDi#ysK^LOZWi#XQ(llX%a~F`i-J|%<%%i&%F}8sd3W`4 zY%5!`H01}9XFziZzjM4+Oe%bu6fc-6w5YKLf*J_$d(H}B?&=mKRTKO#;RpvM-NjQW QsNw8+*srGNcC7yV0euW#`2YX_ diff --git a/config/config.py b/config/config.py old mode 100644 new mode 100755 diff --git a/config/email.yaml b/config/email.yaml old mode 100644 new mode 100755 diff --git a/config/test_report.yaml b/config/test_report.yaml old mode 100644 new mode 100755 diff --git a/history/2022_01_15_14_26_21.txt b/history/2022_01_15_14_26_21.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_15_14_26_21.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_36_13.txt b/history/2022_01_16_09_36_13.txt new file mode 100755 index 0000000..0fe7ef7 --- /dev/null +++ b/history/2022_01_16_09_36_13.txt @@ -0,0 +1 @@ +0_2_0 \ No newline at end of file diff --git a/history/2022_01_16_09_38_16.txt b/history/2022_01_16_09_38_16.txt new file mode 100755 index 0000000..0fe7ef7 --- /dev/null +++ b/history/2022_01_16_09_38_16.txt @@ -0,0 +1 @@ +0_2_0 \ No newline at end of file diff --git a/history/2022_01_16_09_39_12.txt b/history/2022_01_16_09_39_12.txt new file mode 100755 index 0000000..0fe7ef7 --- /dev/null +++ b/history/2022_01_16_09_39_12.txt @@ -0,0 +1 @@ +0_2_0 \ No newline at end of file diff --git a/history/2022_01_16_09_39_32.txt b/history/2022_01_16_09_39_32.txt new file mode 100755 index 0000000..0fe7ef7 --- /dev/null +++ b/history/2022_01_16_09_39_32.txt @@ -0,0 +1 @@ +0_2_0 \ No newline at end of file diff --git a/history/2022_01_16_09_39_51.txt b/history/2022_01_16_09_39_51.txt new file mode 100755 index 0000000..0fe7ef7 --- /dev/null +++ b/history/2022_01_16_09_39_51.txt @@ -0,0 +1 @@ +0_2_0 \ No newline at end of file diff --git a/history/2022_01_16_09_41_00.txt b/history/2022_01_16_09_41_00.txt new file mode 100755 index 0000000..0fe7ef7 --- /dev/null +++ b/history/2022_01_16_09_41_00.txt @@ -0,0 +1 @@ +0_2_0 \ No newline at end of file diff --git a/history/2022_01_16_09_41_37.txt b/history/2022_01_16_09_41_37.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_41_37.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_42_37.txt b/history/2022_01_16_09_42_37.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_42_37.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_43_15.txt b/history/2022_01_16_09_43_15.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_43_15.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_43_50.txt b/history/2022_01_16_09_43_50.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_43_50.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_43_56.txt b/history/2022_01_16_09_43_56.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_43_56.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_44_26.txt b/history/2022_01_16_09_44_26.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_44_26.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_44_35.txt b/history/2022_01_16_09_44_35.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_44_35.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_45_12.txt b/history/2022_01_16_09_45_12.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_45_12.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_01_16_09_46_33.txt b/history/2022_01_16_09_46_33.txt new file mode 100755 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_01_16_09_46_33.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/history/2022_04_22_17_22_51.txt b/history/2022_04_22_17_22_51.txt new file mode 100644 index 0000000..3ad8fe8 --- /dev/null +++ b/history/2022_04_22_17_22_51.txt @@ -0,0 +1 @@ +2_0_0 \ No newline at end of file diff --git a/img/cebaogaotu.png b/img/cebaogaotu.png old mode 100644 new mode 100755 diff --git a/img/excel.png b/img/excel.png old mode 100644 new mode 100755 diff --git a/img/excel2.png b/img/excel2.png old mode 100644 new mode 100755 diff --git a/img/kongzhitai.PNG b/img/kongzhitai.PNG old mode 100644 new mode 100755 diff --git a/img/log.png b/img/log.png old mode 100644 new mode 100755 diff --git a/img/weixin.png b/img/weixin.png old mode 100644 new mode 100755 diff --git a/img/xiangmujiegoutu.png b/img/xiangmujiegoutu.png old mode 100644 new mode 100755 diff --git a/img/xinbanbenlog.png b/img/xinbanbenlog.png old mode 100644 new mode 100755 diff --git a/img/公众号海报.jpeg b/img/公众号海报.jpeg old mode 100644 new mode 100755 diff --git a/img/新版本测试报告.png b/img/新版本测试报告.png old mode 100644 new mode 100755 diff --git a/log/jiekou-2022-01-15-13.log b/log/jiekou-2022-01-15-13.log old mode 100644 new mode 100755 diff --git a/log/jiekou-2022-01-15-14.log b/log/jiekou-2022-01-15-14.log new file mode 100755 index 0000000..d83554f --- /dev/null +++ b/log/jiekou-2022-01-15-14.log @@ -0,0 +1,22 @@ +[2022-01-15 14:27:09.437035] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2022-01-15 14:27:09.437977] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-15 14:27:09.438118] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-01-15 14:27:09.438263] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-01-15 14:27:09.438360] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-01-15 14:27:09.438552] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-01-15 14:27:09.455070] INFO: jiekou: 测试用例开始执行 +[2022-01-15 14:27:09.455222] INFO: jiekou: 输入参数:url:/openapi/api,key:aaaa,参数:{'password':'1222'},请求方式:POST +[2022-01-15 14:27:09.455321] INFO: jiekou: 输入参数:url:/openapi/api,key:aaaa,参数:{'password':'1222'},请求方式:None +[2022-01-15 14:27:09.456489] INFO: jiekou: 返回结果:{'code': 1, 'result': "请求异常:Invalid URL '/openapi/api': No schema supplied. Perhaps you meant http:///openapi/api?"} +[2022-01-15 14:27:09.456612] INFO: jiekou: 当前模块 断言测试结果 +[2022-01-15 14:27:09.456709] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-15 14:27:09.456797] INFO: jiekou: 全部kwargs参数信息 , {'asserqingwang': 'code=40001'} +[2022-01-15 14:27:09.456898] INFO: jiekou: 测试用例执行完毕 +[2022-01-15 14:27:09.457025] INFO: jiekou: 测试用例开始执行 +[2022-01-15 14:27:09.457124] INFO: jiekou: 输入参数:url:/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式:POST +[2022-01-15 14:27:09.457211] INFO: jiekou: 输入参数:url:/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式:None +[2022-01-15 14:27:09.457530] INFO: jiekou: 返回结果:{'code': 1, 'result': "请求异常:Invalid URL '/openapi/api': No schema supplied. Perhaps you meant http:///openapi/api?"} +[2022-01-15 14:27:09.457637] INFO: jiekou: 当前模块 断言测试结果 +[2022-01-15 14:27:09.457731] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-15 14:27:09.457816] INFO: jiekou: 全部kwargs参数信息 , {'asserqingwang': 'code=40002'} +[2022-01-15 14:27:09.457914] INFO: jiekou: 测试用例执行完毕 diff --git a/log/jiekou-2022-01-15-17.log b/log/jiekou-2022-01-15-17.log new file mode 100755 index 0000000..cb90a23 --- /dev/null +++ b/log/jiekou-2022-01-15-17.log @@ -0,0 +1,22 @@ +[2022-01-15 17:13:18.278787] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2022-01-15 17:13:18.279456] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-15 17:13:18.279559] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-01-15 17:13:18.279680] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-01-15 17:13:18.279771] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-01-15 17:13:18.279854] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-01-15 17:13:18.329953] INFO: jiekou: 测试用例开始执行 +[2022-01-15 17:13:18.330178] INFO: jiekou: 输入参数:url:/openapi/api,key:aaaa,参数:{'password':'1222'},请求方式:POST +[2022-01-15 17:13:18.330315] INFO: jiekou: 输入参数:url:/openapi/api,key:aaaa,参数:{'password':'1222'},请求方式:None +[2022-01-15 17:13:18.332452] INFO: jiekou: 返回结果:{'code': 1, 'result': "请求异常:Invalid URL '/openapi/api': No schema supplied. Perhaps you meant http:///openapi/api?"} +[2022-01-15 17:13:18.332630] INFO: jiekou: 当前模块 断言测试结果 +[2022-01-15 17:13:18.332736] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-15 17:13:18.332829] INFO: jiekou: 全部kwargs参数信息 , {'asserqingwang': 'code=40001'} +[2022-01-15 17:13:18.332943] INFO: jiekou: 测试用例执行完毕 +[2022-01-15 17:13:18.333088] INFO: jiekou: 测试用例开始执行 +[2022-01-15 17:13:18.333234] INFO: jiekou: 输入参数:url:/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式:POST +[2022-01-15 17:13:18.333332] INFO: jiekou: 输入参数:url:/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式:None +[2022-01-15 17:13:18.333739] INFO: jiekou: 返回结果:{'code': 1, 'result': "请求异常:Invalid URL '/openapi/api': No schema supplied. Perhaps you meant http:///openapi/api?"} +[2022-01-15 17:13:18.334014] INFO: jiekou: 当前模块 断言测试结果 +[2022-01-15 17:13:18.334274] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-15 17:13:18.334553] INFO: jiekou: 全部kwargs参数信息 , {'asserqingwang': 'code=40002'} +[2022-01-15 17:13:18.334695] INFO: jiekou: 测试用例执行完毕 diff --git a/log/jiekou-2022-01-16-09.log b/log/jiekou-2022-01-16-09.log new file mode 100755 index 0000000..08508c9 --- /dev/null +++ b/log/jiekou-2022-01-16-09.log @@ -0,0 +1,22 @@ +[2022-01-16 09:46:33.662871] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2022-01-16 09:46:33.664217] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-16 09:46:33.664333] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-01-16 09:46:33.664468] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-01-16 09:46:33.664560] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-01-16 09:46:33.664642] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-01-16 09:46:33.685922] INFO: jiekou: 测试用例开始执行 +[2022-01-16 09:46:33.686171] INFO: jiekou: 输入参数:url:/openapi/api,key:aaaa,参数:{'password':'1222'},请求方式:POST +[2022-01-16 09:46:33.686288] INFO: jiekou: 输入参数:url:/openapi/api,key:aaaa,参数:{'password':'1222'},请求方式:None +[2022-01-16 09:46:33.750325] INFO: jiekou: 返回结果:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}} +[2022-01-16 09:46:33.750550] INFO: jiekou: 当前模块 断言测试结果 +[2022-01-16 09:46:33.750662] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-16 09:46:33.750769] INFO: jiekou: 全部kwargs参数信息 , {'asserqingwang': 'code=40001'} +[2022-01-16 09:46:33.750898] INFO: jiekou: 测试用例执行完毕 +[2022-01-16 09:46:33.751105] INFO: jiekou: 测试用例开始执行 +[2022-01-16 09:46:33.751315] INFO: jiekou: 输入参数:url:/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式:POST +[2022-01-16 09:46:33.751432] INFO: jiekou: 输入参数:url:/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式:None +[2022-01-16 09:46:33.782704] INFO: jiekou: 返回结果:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}} +[2022-01-16 09:46:33.782947] INFO: jiekou: 当前模块 断言测试结果 +[2022-01-16 09:46:33.783049] INFO: jiekou: 全部args参数参数信息 , () +[2022-01-16 09:46:33.783166] INFO: jiekou: 全部kwargs参数信息 , {'asserqingwang': 'code=40002'} +[2022-01-16 09:46:33.783281] INFO: jiekou: 测试用例执行完毕 diff --git a/log/jiekou-2022-02-20-12.log b/log/jiekou-2022-02-20-12.log new file mode 100755 index 0000000..f21e48a --- /dev/null +++ b/log/jiekou-2022-02-20-12.log @@ -0,0 +1,6 @@ +[2022-02-20 12:44:50.852541] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2022-02-20 12:44:50.853016] INFO: jiekou: 全部args参数参数信息 , () +[2022-02-20 12:44:50.853153] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-02-20 12:44:50.853307] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-02-20 12:44:50.853429] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-02-20 12:44:50.853548] INFO: jiekou: 全部kwargs参数信息 , {} diff --git a/log/jiekou-2022-04-22-17.log b/log/jiekou-2022-04-22-17.log new file mode 100644 index 0000000..cce9ba8 --- /dev/null +++ b/log/jiekou-2022-04-22-17.log @@ -0,0 +1,202 @@ +[2022-04-22 17:22:26.778477] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-04-22 17:22:26.779237] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-04-22 17:22:26.779387] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:26.808260] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-04-22 17:22:26.808395] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-04-22 17:22:26.808481] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:26.810404] INFO: jiekou: 当前模块 测试 +[2022-04-22 17:22:26.810539] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:26.810632] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:27.978962] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:27.979365] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:27.979631] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:27.979823] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:27.980186] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:29.027990] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:29.028269] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:29.028377] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:29.028485] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:29.028589] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:29.517642] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:29.517913] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:29.518078] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:29.518180] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:29.518281] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:29.565773] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:29.566054] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:29.566236] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:29.566417] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:29.566569] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:29.617091] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:29.617275] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:29.617365] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:29.617448] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:29.617572] INFO: jiekou: 失败重试中次数用完,最后结果 +[2022-04-22 17:22:29.658466] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:29.658649] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:29.658794] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:29.658921] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:29.659075] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:29.718410] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:29.718615] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:29.718748] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:29.718871] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:29.719069] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:29.764296] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:29.764482] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:29.764568] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:29.764668] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:29.764762] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:30.043375] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:30.043620] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:30.043769] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:30.043919] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:30.044074] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:30.084180] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:30.084505] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:30.084735] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:30.085204] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:30.085420] INFO: jiekou: 失败重试中次数用完,最后结果 +[2022-04-22 17:22:30.121341] INFO: jiekou: 当前模块 保存测试结果 +[2022-04-22 17:22:30.121531] INFO: jiekou: 全部args参数参数信息 , (datetime.datetime(2022, 4, 22, 17, 22, 26, 808171), 2, 0, 2) +[2022-04-22 17:22:30.121620] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:39.860783] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-04-22 17:22:39.861259] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-04-22 17:22:39.861564] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:39.905848] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-04-22 17:22:39.905982] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-04-22 17:22:39.906066] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:39.909608] INFO: jiekou: 当前模块 测试 +[2022-04-22 17:22:39.909832] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:39.910029] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:41.004003] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:41.004618] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.004731] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.005038] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.005245] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:41.051783] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:41.052116] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.052288] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.052487] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.052711] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:41.130454] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:41.130701] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.130830] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.130956] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.131090] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:41.186415] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:41.186592] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.186722] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.186853] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.186999] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:41.233924] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:22:41.234352] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.234507] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.234719] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.234871] INFO: jiekou: 失败重试中次数用完,最后结果 +[2022-04-22 17:22:41.272654] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:41.272862] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.272952] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.273059] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.273154] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:41.526629] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:41.526898] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.527091] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.527286] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.527400] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:41.569143] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:41.569320] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.569405] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.569489] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.569577] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:41.874665] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:41.874856] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.874956] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.875056] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.875163] INFO: jiekou: 失败重试中 +[2022-04-22 17:22:41.927251] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:22:41.927429] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:41.927514] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:41.927658] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:22:41.927899] INFO: jiekou: 失败重试中次数用完,最后结果 +[2022-04-22 17:22:51.360831] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2022-04-22 17:22:51.361251] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:51.361493] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:51.361759] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-04-22 17:22:51.361910] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-04-22 17:22:51.362018] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:22:51.394227] INFO: jiekou: 测试用例开始执行 +[2022-04-22 17:22:51.394482] INFO: jiekou: 输入参数:url:/openapi/api,key:aaaa,参数:{'password':'1222'},请求方式:POST +[2022-04-22 17:22:51.394603] INFO: jiekou: 输入参数:url:/openapi/api,key:aaaa,参数:{'password':'1222'},请求方式:None +[2022-04-22 17:22:51.468211] INFO: jiekou: 返回结果:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}} +[2022-04-22 17:22:51.469211] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:51.469445] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:51.469881] INFO: jiekou: 全部kwargs参数信息 , {'asserqingwang': 'code=40001'} +[2022-04-22 17:22:51.470383] INFO: jiekou: 测试用例执行完毕 +[2022-04-22 17:22:51.470590] INFO: jiekou: 测试用例开始执行 +[2022-04-22 17:22:51.470859] INFO: jiekou: 输入参数:url:/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式:POST +[2022-04-22 17:22:51.471181] INFO: jiekou: 输入参数:url:/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式:None +[2022-04-22 17:22:51.740290] INFO: jiekou: 返回结果:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}} +[2022-04-22 17:22:51.740483] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:22:51.740633] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:22:51.740823] INFO: jiekou: 全部kwargs参数信息 , {'asserqingwang': 'code=40002'} +[2022-04-22 17:22:51.741116] INFO: jiekou: 测试用例执行完毕 +[2022-04-22 17:23:10.825644] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-04-22 17:23:10.826130] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-04-22 17:23:10.826281] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:23:10.844207] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-04-22 17:23:10.844426] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/test_case_data/case.xlsx',) +[2022-04-22 17:23:10.844568] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:23:10.848621] INFO: jiekou: 当前模块 测试 +[2022-04-22 17:23:10.848959] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:10.849201] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-04-22 17:23:10.908771] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:23:10.909005] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:10.909138] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:10.909263] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:10.909399] INFO: jiekou: 失败重试中 +[2022-04-22 17:23:10.953665] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:23:10.953987] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:10.954213] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:10.954469] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:10.954692] INFO: jiekou: 失败重试中 +[2022-04-22 17:23:12.007731] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:23:12.007973] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:12.008097] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:12.008217] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:12.008345] INFO: jiekou: 失败重试中 +[2022-04-22 17:23:14.132112] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:23:14.132436] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:14.132636] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:14.132843] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:14.133061] INFO: jiekou: 失败重试中 +[2022-04-22 17:23:14.185738] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2022-04-22 17:23:14.186162] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:14.186387] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:14.186584] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:14.186800] INFO: jiekou: 失败重试中次数用完,最后结果 +[2022-04-22 17:23:14.230780] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:23:14.231898] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:14.232281] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:14.232543] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:14.232718] INFO: jiekou: 失败重试中 +[2022-04-22 17:23:14.282157] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:23:14.282379] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:14.282497] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:14.282610] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:14.282731] INFO: jiekou: 失败重试中 +[2022-04-22 17:23:14.323761] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:23:14.324123] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:14.324292] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:14.324428] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:14.324564] INFO: jiekou: 失败重试中 +[2022-04-22 17:23:14.374812] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:23:14.375129] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:14.376257] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:14.376474] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:14.376783] INFO: jiekou: 失败重试中 +[2022-04-22 17:23:15.423984] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2022-04-22 17:23:15.424470] INFO: jiekou: 当前模块 断言测试结果 +[2022-04-22 17:23:15.424739] INFO: jiekou: 全部args参数参数信息 , () +[2022-04-22 17:23:15.425322] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2022-04-22 17:23:15.425623] INFO: jiekou: 失败重试中次数用完,最后结果 diff --git a/result.txt b/result.txt old mode 100644 new mode 100755 index 047586f..2d84510 --- a/result.txt +++ b/result.txt @@ -11,3 +11,4 @@ 2022-01-15 13:39:41.019636=2=0=2 2022-01-15 13:39:51.378087=2=0=2 2022-01-15 13:40:33.036679=2=0=2 +2022-04-22 17:22:26.808171=2=0=2 diff --git a/run_excel_re.py b/run_excel_re.py old mode 100644 new mode 100755 diff --git a/run_html.py b/run_html.py old mode 100644 new mode 100755 diff --git a/run_http_html.py b/run_http_html.py old mode 100644 new mode 100755 diff --git a/run_new.py b/run_new.py old mode 100644 new mode 100755 diff --git a/testCase/__init__.py b/testCase/__init__.py old mode 100644 new mode 100755 diff --git a/testCase/__pycache__/__init__.cpython-37.pyc b/testCase/__pycache__/__init__.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/testCase/__pycache__/__init__.cpython-38.pyc b/testCase/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..411d66269cf812301e83ef11bbb455385fdf350d GIT binary patch literal 159 zcmWIL<>g`kf`ro3@gVv!h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6v7KeRZts8~NI zGba^<^j%VmvrF;|^h;8UOA2xl^YpVaQ?v6+bqgv>GV=3`!Q#$|#i{!7@tJv-P6emsq literal 0 HcmV?d00001 diff --git a/testCase/__pycache__/case.cpython-37.pyc b/testCase/__pycache__/case.cpython-37.pyc old mode 100644 new mode 100755 diff --git a/testCase/__pycache__/case.cpython-38.pyc b/testCase/__pycache__/case.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8da6c21b95b6acf19473f56dcef6506a61323e72 GIT binary patch literal 1937 zcma)7-ESL35Wl@U-`VGnI02kC^dYKLh*5ArJRl)d6{P|Zp-`3PWd&G=Z|z)izB}*j zkq?~_!j*WSfe6wEMASNnN(E6;B#@9m;y>UI*w+##d4U(65D(0*?U1H@;GCVCnVb2| z%_8)mgxhI6fMzqe19A$c5R!ue*)v6}ncPkDELzye@gRzd$`+U?5a$c0{TIVLc<*%BmNw0%*pL zB0^c!^*gJ^kJ0x_ELIR+b-koW#F4%Xe(4RholUYs zfBILVc8j3ToR*e})-5`g@JXNvo>yd*Mys-^w&n(2s*HMB)U=Es{$yfEOGD<76~6v6 zlFtcV>_~#71(N7_iGE+y)|7vHfL@U3cO|+4=RWWq_s9i3hP-l@nMG&+TZx1zu|^(Grv>iJGJmy>3A3kIqvB zt#&8~*Oti|*ImCJlr^r!)Wb$-Q@csH(Ijj!aJXIz91=eZ#;za6Omz79$-PfL=v}}2 z!ntUA5`5r2IeqZ!*4`I4gzE6itG(@;z?I>C%Jy%$E4JUjR^9d&V|OVEd~Q$@#UA5& z2o~`O!0&za{lO2n4nN$03-bF@v5Tc027?v_V+ib5`gYaa2r>A4Yu3aGf7 zeMxMH5rf*bI$}Qp6ubhhe z%?&#YiSLwiJR?3;MdbrlH3V&I?T&a0FBmxD5{Q*|He=bekFARrBMN$MMaPb z$O1`6#(>MI7D#E(7U13gdY=xyr_p~Jus)$F02X}`qL)wMQ?Cw_s)!U{CVpdmF@__O z$Ht47;&(i^R)MpsiWc#x27cHYsA1gqk1qvUt_Bg#!>PmAuk>HCN&06GUCS1^z7)97 z$pBYdap2zt9IETkaqy-Sf|LY#T#z$Bcv=|vaJO(_5HYlU2hx-6A#0E)bc{S9{a$Pa aPVABMBClu+h}hR6>`PHSqn1!kGtj?0cNKF0 literal 0 HcmV?d00001 diff --git a/testCase/__pycache__/ddt_case.cpython-37.pyc b/testCase/__pycache__/ddt_case.cpython-37.pyc old mode 100644 new mode 100755 index f03559a6ed18e1a582a2ce46536072d739963fe2..4c7b9526152f8b3bad262e119b2e49bead3705a4 GIT binary patch literal 2488 zcmbtV>yH#g5bvJ%KJPdYIDGNJN7lezd?m&ZgMtu^o{A7~)NID>-eZ>8*`;U3<1V|2 z@y-W}|IuH$UDi*2HGZe)ge zOW^m{(QDot8A7h%;>OQ}$qx9UpMfyKXh7U_q%Ku!&DGSXyE=?oU^GnEq$r~YR>O8} zH8%pMk#RF>ZU)&#&dsU0733QQw?GNk>czz&t}PBP5oRxG?z#bI9dlqc!tEL2-oY{~ zJ4@X4EXVRN-pNUw>>;ecinD|jIjwJ)(PyZ;ks8ZAp zKMg*BjqHRkDg%j0Oc`Yw)93V)8#*-B>Ux{BDKnTkr&DqOzZXl<=cM$vf_ zoEK}(3&asHuwHC>jEj;fFf&CCNgjwa0@!e~yOSUoi0Gn-yF<83nesU$>y*6U9zz@= z3kab_G<+k>s<^!IL*sYAr=rIRCN?BBL=aL;XF4-rG`Lx}xIIsp$*frdN#-yc9B`!d z(iA4m8Wflps8KHe2@?nW$!ovw|JlO=?-i71+<f7GJvDK?z_Ai`S zlX|S2G6rd;RIFZ^?=Ae;UHGLxf3bV=rtIV8l+itVzW>{~KUYo+4yomu#wW_X<14-S zbKO(({pE|j^Y5+gNc}LMa_wp}*w0DzRAok3hjihI*QRd^6iy z_`3V?iS!iMyn5-~{)fMfmkQG0?|6YUp&B+KX(cTvw_Ik^4zf=qTwtmTtTyTyD;QjR zg2yjJ%}~`$fpyX?rbot`@pDHK&}cBf8ke%_jmZoa@d{RG*90_p!_BIpfwTIGSjD(z+m?4UWJBIXtcjFuNNIGu*80BK$G zC(7xd;wz1o7ax*Fz3GS20h!?iBQo$z>^nWW~CmiGvrJ1-k10C-k10DzZ$Kp&1N0J_nChU zXKVYd#o!6-1QIw#3Fa8vwG%rD;UuA)R(lfH5|{5kTpIB@xNC8PH>%m^el<6FQ_?Zw zEm`l^SCMdq_Y4V7Hu}?JGRAyH)b62x{jiw>Y`pt2*H;En;22MYI_${Uuq51)b^}Io z>&~ii*Y`9Rl5d342{xm20oh0xce5VMrrU(H<$Xsz%M_L&Kb*6 zQ&m1?D^`tT@L^?`mZ7?q?WEJ?4Z1wC^cIX282M`ejfPm@C5ujlq(Zs`_3zPLN8+mfy^M$)E?fYL)5QncSy$=5Sl6K zqOnJ;F3?hc-H<}XhHS~l-0Nhil&LmeH%xo^W)x604W+0VfXbVKSIxq%xB&3|V|n!a z&C!de-(HsQ+_U8ucWneMB}v{3JmuJv$6e%JPwKTiOO0L70jnoRqCjfyb~SjdWEV)lnjiljYSlIJ3`sC4{$X^PY4e!!9P7C}MdD U17kk7)%bV@ejlH9T++h70fr0PD*ylh diff --git a/testCase/__pycache__/ddt_case.cpython-38.pyc b/testCase/__pycache__/ddt_case.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f56f095bd3d78f36c37f056de0a84b8ebfefc22e GIT binary patch literal 2975 zcmbtWTaO&Y6|U;r^j!C1v)*xTjunVT3bP8t5{aCM2xAmP7UI~#v=WV)shV}q_VkRa ztFzfv4?^tbg6v&80b9t~z)WNZECm)K5Fl30OP=x*`ZYV_u@s4SKZKl9JuE{Mp3*aY zs_UFnRbPE|s!p9L7IOris;)VjDs@MP zQuB?L>6jFKbl+-aoQ(Q5e7lu(vg+IPbFI9SSKpRjXce6zC0uKkdQ)8MP4@}Q^fhN@ zteIgp)Mj~Roj3B6`E#FLMq$_+ysX{b5p0}X>yGG zgq$L0fhd4#Ehf~xYeuqh|3fzc5fAEZ<^@ZqE7U2vzTaM{MS%x8UNI7*-Qhu!Z+Jeh z0U$q;iGhd`gGH@QMS~LNm(a#dB4z>0-4hFE0D8FKLks*boZ#WIYY9#r~AV7d#8$r{eP+F4D^72!!<#2FeO2%V)cs@r5#t8PR=s@(6^dK(!6oVgHX^YW3Xov4z80}oS z{qh@ow=N8JpC7z_Vff0mb@h9RMAg%n9u z8U9~9DU!ik7l%7n#FwCd@f8#pSQ8}MlDpzWdnG`RPjO6*aeQj4D}3O9&lJ4Kh@$2n zKop~}J!qMDw5zTCOX6nH%0O^ekM$nylN03UfB%`*HM*wMVsoALU`hH^99{Frbpz|n zD3cy+vOeuvvBj)1>1LqJKxs=e&Om?JILqv1TRaz&o`ok$U!x?>#y0rm;+(Qw8{6{A zmW%b+I1Zck{859*%yLfbQPPDIZ0)GDds$Wh1o?G(h~UDGTNbe;ZgXaL^Uvkal4qdx zS$Jcumt&<^_f!}>O@hOe;4dakL^H*vH=*S-B+$+hnU@9NVWvzD5!fq~&6Wu}u&H+o zYTSdV4J7ae68QQeecHBR%mKz!!ia@lu}`{1j{qk{V1TlF%H%kar8v6|Gf{ob#YJob zwJES4g7N1!X}1Jur{zpsTBjh3>y(uNHymuthOj;y{S{U=cVzs0yE?eOar^SG2bW$L zUU_?8{Xli_+v~%tZ>H+uD?5YBe;#hXxOeN1qxY`vdp%f9731BZy4d?@Yqsu zt@j6)KJ)!fHB}6*zcYIG#>cxC$Bk5VzsF zc&Yn%pN)}UQ=@#5U3?iDN4N#Y-1T+`yO*%H@P}7#fArGu)ot)}tn=Oq469NXX4dnN$WWoCbmvbS!|m4wzrUEa0?d0K zJU{x)yOr6*;Jf_MDY8W2|Vn3LbHL8Z7~L9=6}+1kkhmYQmu zQ10k%$8$0ungGwqrl26_|BoXUZX@7__`*{lNVY&VT7Z03f^weP<6l9Q1!b9~N3>aL z(SsWLTK~56d8kA3X-bvIfRZ!ub s!m;rVfOjV~m5E6!4%CIjKAw{J13XVcOx#Cc0meUAtdeFS9hO1=0~hIF=Kufz literal 0 HcmV?d00001 diff --git a/testCase/__pycache__/pytestCasetest.cpython-37-pytest-7.0.1.pyc b/testCase/__pycache__/pytestCasetest.cpython-37-pytest-7.0.1.pyc new file mode 100755 index 0000000000000000000000000000000000000000..0517c7a806131814e769bb9bcc22da3fa006a81e GIT binary patch literal 3253 zcma)8&5s;M6|d^<>G}TH?;SfID};kb!n<~y7!z#d5XTWwWK3{mrv+;DPSx!8Zcq2P zx(9oQ9)!H%z=!1(2@!%2?I03BLL!ks2oaeJ2mSy~b;to?XMN)C3;e2jb{Rz=xo7&- zdsXkfeqU9uzErK22p;jH#_BO(|5U{OlLK-NZ~Qj^MjXN@GXm-udNjM1K`80w9Gj{Y zGst%fPC?^VQ0$hRlE!mExm$568n=ULx8~F|ZUl9wt~E8Bh90M!DUA7Gx;x{{P{JD< zv%7P=u{%E^tS~a1h4IV+D}q{NC02foI89bzRg8!D%rm%j1>hJqKzTqJ@6FRRr{ffv3a0=3ljHaYVW&nYKZa9`%VNF;-L+k*s; z`$4k2<#mHLRod|wc#C+S!y7LHBqX6KEX=%R-ku-Q#Mm%Xl2T@|+%1!mD@e&#$;;#_ zM!02Pl++vK`bp>5Y4v#?wj<_;YnMS(y&#CLyZz9|9B*0Dih4Yh<&Gb47sdqrL|V!k zX|aB{*D^4|a!EVCA)*0W9=y2n3e1jI0!XO;3c|OUM7L2TECF@am zQqMmJS646r7KN&Dxwj>A*M*;Or8c$z2yIX?jqxB9CJ0q~IuuU;nGD4^5GouNvu+tf zBQ;XeR3XSA1mYkBq5w%aZ@(0IjEh!Is7e=Q1u6j23b5dmF7$(7%wmd~TCJ;9%CzSh zn9}@$du#?+Yy%KlQ-&`9Yb$d9QF%OvH=YIH#G%+Ydc&YZO=iMOOV%$V6qh{Vb$KHE z0YC734l>FF?fE&xfzbqSllXKFfnpsVYauN#vRM%Cvcj;K z7UN&AA}b~N-9lO%QJ>C}VJRtsE~TXr-KIC;9{38W(os&!TJ|4f*$*E|wv7ClXHd@9 zj#?xsZQrWGtGJL3P(*-i3I61UkJ2XD?Fxu57frXWCSFVy*@rA2+ zuV54H)>tJqe5y2FA>lI=C)tGVpFE82S4n7GB}qMLAScx(S%6+(wI)uSTjsE;Z6B{? zSLNcdL*-d-Lh`$4lg=A(# zcMS1;m3f7S23uf@6I|~quC%VX-cwu(2iKy;8>qEOoqt!{W1Sx=jsu;|37roVS6YKk zQ&?ILaOiAmd>yt{a_1S!Yv>D?`D?C|x7^-p7R z@6PLYzx&SJ+c)q1_&tb2?3p9+XJMQgvT23w{qB$V-oJV8%|G4!;5OKf#M1CtU!6&N ze|h8X&))v{&#&Km`z>%f_BH=HKHH*BRhxee$9*>Oz&LxhMF$s^J11Ll>04uD>8$qf zcq=|S_Ow+RE}hM0Pwz7V88bdTW<1r3!HBNlw-Z^+VuhX}^Ip&2h@-G&JBZkE@tE=* z*hvMRR^XHZrw8@P_~P@9g#aIKEy|*5G_Gn5(&FFr0+~Z^=pq4eB4jB}JdwoL{bXI{ z;$Gk<`n;8;b6Hn$Jt2#3>~+vldqUQp)!i5!{dplGA!po9B)VSW@*Ao}d8*gT;`2A! zT(^CJ^OcCl0i@mU!459e;Vo3_aq??Cc@dro)uP0w71Na4hR^7iJ<*Q3NHCWb7~-z> z{UGtfSlU4Zj#w_b@p{w`m}Yg?f@swX+z^L-Yff4*4?0dxNq3!+9$Xbw(Nv$vAp(8w zRPc>p%SCCpK6A)uXT8Ir~Lct&KdKPiiF#MNpg<&KGj3Dr`?5r9dt zCnt%|O%hK{D*U{oea^I>IPu9Inca1=;#b=zP5=n4Pz&!oTBbo4X<_`ch()H+?<`IK zm#WZd{48SY)kDDT1FB?HprZmUHs)s`sWjJU%_tD{v&mmc1v&?ZKha~CRgJlsWf#$d z3$9Ly>&lYrcCkfq6>??8b+7fkKqbp{#TQ`vgoo}V318WtJmc$Lny;#!SyX@e>17d%#Y{9F~~TJUk*`_9k0!`#Fccl1?mgst7Qx+%Fqty+L q>Q({!Uy+oBGg<7vsPDF9Rh@?Jq!)i0|RRT0RrS;*PQ`F{X+$$Xsv literal 0 HcmV?d00001 diff --git a/testCase/case.py b/testCase/case.py old mode 100644 new mode 100755 diff --git a/testCase/ddt_case.py b/testCase/ddt_case.py old mode 100644 new mode 100755 index dc4f93a..63b9f2c --- a/testCase/ddt_case.py +++ b/testCase/ddt_case.py @@ -60,10 +60,6 @@ class MyTest(unittest.TestCase): except: self.assertTrue(False,msg="参数格式不对") - # try: - #parem=eval(data_test['coneent']) - # except: - # self.assertTrue(False, msg="参数格式不对") api = TestApi(url=TestPlanUrl+data_test['url'], parame=parem, method=data_test['fangshi']) diff --git a/testCase/dubbocase.py b/testCase/dubbocase.py old mode 100644 new mode 100755 diff --git a/testCase/log/jiekou-2022-02-19-14.log b/testCase/log/jiekou-2022-02-19-14.log new file mode 100755 index 0000000..ad1ba2e --- /dev/null +++ b/testCase/log/jiekou-2022-02-19-14.log @@ -0,0 +1,7 @@ +[2022-02-19 14:48:50.453153] INFO: jiekou: 当前模块 生成数据驱动所用数据 +[2022-02-19 14:48:50.454468] INFO: jiekou: 全部args参数参数信息 , () +[2022-02-19 14:48:50.454722] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-02-19 14:48:50.454956] INFO: jiekou: 当前模块 解析测试用例文件 +[2022-02-19 14:48:50.455119] INFO: jiekou: 全部args参数参数信息 , ('/Users/lileilei/Desktop/testplan/jiekou-python3/testCase/test_case_data/case.xlsx',) +[2022-02-19 14:48:50.455266] INFO: jiekou: 全部kwargs参数信息 , {} +[2022-02-19 14:48:50.455514] INFO: jiekou: 打开测试用例失败,原因是:[Errno 2] No such file or directory: '/Users/lileilei/Desktop/testplan/jiekou-python3/testCase/test_case_data/case.xlsx' diff --git a/testCase/pytestCasetest.py b/testCase/pytestCasetest.py new file mode 100755 index 0000000..32946ba --- /dev/null +++ b/testCase/pytestCasetest.py @@ -0,0 +1,64 @@ +''' + @Description + @auther leizi +''' +from Interface.testFengzhuang import TestApi +from Public.log import LOG +from Public.panduan import assertre +from config.config import TestPlanUrl +import pytest +import os +import yaml +from Public.get_excel import makedata +file_dir = os.path.join(os.getcwd(), 'test_Report') +file_reslut = os.path.join(file_dir, 'caseresult.yaml') + +def write(data): + with open(file_reslut, 'a', encoding='utf-8') as f: + yaml.dump(data, f, allow_unicode=True) +def read(data): + f = open(file_reslut, 'r', encoding='utf-8') + d = yaml.load(f, Loader=yaml.FullLoader) + return d[data] + +data_test = makedata() +@pytest.mark.parametrize(data_test) +class TestParametrize(object): + def test_parame(self): + parem = {'key': data_test['key']} + try: + parem_dict = eval(data_test['coneent']) + for key, value in parem_dict.items(): + if str(value).startswith("&"): + try: + reply_key_id = str(value).split("&")[-1].split("=") + reply_keyid = reply_key_id[0] + reply_key_key = reply_key_id[1] + reslut = read(reply_keyid) + if reslut is None: + assert False + get_value = reslut[reply_key_key] + if get_value is None: + assert False + parem_dict[key] = get_value + except Exception as e: + LOG.info("用例依赖执行失败:" + str(e)) + assert False + parem.update({'info': parem_dict}) + except: + assert False + + api = TestApi(url=TestPlanUrl + data_test['url'], + parame=parem, + method=data_test['fangshi']) + LOG.info('输入参数:url:%s,key:%s,参数:%s,请求方式:%s' % (data_test['url'], data_test['key'], data_test['coneent'], + LOG.info('输入参数:url:%s,key:%s,参数:%s,请求方式:%s' % ( + data_test['url'], data_test['key'], data_test['coneent'], + data_test['fangshi'])))) + apijson = api.getJson() + reslut = {} + reslut[data_test['id']] = apijson + LOG.info('返回结果:%s' % apijson) + assertall = assertre(asserqingwang=data_test['qiwang']) + + assert dict(assertall) == dict(apijson) diff --git a/test_Report/201710162054-result.html b/test_Report/201710162054-result.html old mode 100644 new mode 100755 diff --git a/test_Report/2022-0116.html b/test_Report/2022-0116.html new file mode 100755 index 0000000..50b4fb1 --- /dev/null +++ b/test_Report/2022-0116.html @@ -0,0 +1,264 @@ + + + + + + + + 报告 + + + + + + + + + + + + +
+ +
+
+

报告

+

开始时间: 2022-01-16 09:46:33

+

持续时间: 0:00:00.097623

+

状态: 通过 2

+ +

测试报告

+
+ +
+
+
+
+ + +

+公用 +失败 +所有 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
测试组/测试用例 + 数量 + 失败 + 通过 + 错误 + 查看 +
testCase.ddt_case.MyTest2200详情
test_api_1: 1.处理参数
通过
test_api_2: 1.处理参数
通过
总计2200 
+ +
 
+
+ + + + + diff --git a/test_Report/2022-0422.html b/test_Report/2022-0422.html new file mode 100644 index 0000000..1c9f668 --- /dev/null +++ b/test_Report/2022-0422.html @@ -0,0 +1,264 @@ + + + + + + + + 报告 + + + + + + + + + + + + +
+ +
+
+

报告

+

开始时间: 2022-04-22 17:22:51

+

持续时间: 0:00:00.347419

+

状态: 通过 2

+ +

测试报告

+
+ +
+
+
+
+ + +

+公用 +失败 +所有 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
测试组/测试用例 + 数量 + 失败 + 通过 + 错误 + 查看 +
testCase.ddt_case.MyTest2200详情
test_api_1: 1.处理参数
通过
test_api_2: 1.处理参数
通过
总计2200 
+ +
 
+
+ + + + + diff --git a/test_Report/20220115-result.xls b/test_Report/20220115-result.xls old mode 100644 new mode 100755 diff --git a/test_Report/202204221722-result.html b/test_Report/202204221722-result.html new file mode 100644 index 0000000..37b4c7b --- /dev/null +++ b/test_Report/202204221722-result.html @@ -0,0 +1,117 @@ + + + + http接口自动化测试报告 + + + + + + + + + + + +
+

接口测试的结果

+ + + + + + + + + +
开始时间: 2022-04-22 17:22:39.905752
结束时间: 2022-04-22 17:22:41.928059
耗时: 0:00:02.022307
结果: + Pass: 0 + Fail: 2 + exception: 0 + weizhicuowu : 0
+
+
+
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
用例ID 用例名字key请求内容url请求方式预期实际返回结果
1.0图灵api接口aaaa{'password':'1222'}/openapi/apiPOSTcode=40001{'code': 40007, 'text': '您的请求内容为空。'}fail
2.0图灵api接口dfeb1cc8125943d29764a2f2f5c33739{'password':'1222'}/openapi/apiPOSTcode=40002{'code': 40007, 'text': '您的请求内容为空。'}fail
+ + + \ No newline at end of file diff --git a/test_Report/202204221723-result.html b/test_Report/202204221723-result.html new file mode 100644 index 0000000..31729f8 --- /dev/null +++ b/test_Report/202204221723-result.html @@ -0,0 +1,117 @@ + + + + http接口自动化测试报告 + + + + + + + + + + + +
+

接口测试的结果

+ + + + + + + + + +
开始时间: 2022-04-22 17:23:10.844057
结束时间: 2022-04-22 17:23:15.444389
耗时: 0:00:04.600332
结果: + Pass: 0 + Fail: 2 + exception: 0 + weizhicuowu : 0
+
+
+
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
用例ID 用例名字key请求内容url请求方式预期实际返回结果
1.0图灵api接口aaaa{'password':'1222'}/openapi/apiPOSTcode=40001{'code': 40007, 'text': '您的请求内容为空。'}fail
2.0图灵api接口dfeb1cc8125943d29764a2f2f5c33739{'password':'1222'}/openapi/apiPOSTcode=40002{'code': 40007, 'text': '您的请求内容为空。'}fail
+ + + \ No newline at end of file diff --git a/test_Report/caseresult.yaml b/test_Report/caseresult.yaml new file mode 100644 index 0000000..96923ae --- /dev/null +++ b/test_Report/caseresult.yaml @@ -0,0 +1,10 @@ +1.0: + code: 0 + result: + code: 40007 + text: 您的请求内容为空。 +2.0: + code: 0 + result: + code: 40007 + text: 您的请求内容为空。 diff --git a/test_case_data/case.xlsx b/test_case_data/case.xlsx old mode 100644 new mode 100755 diff --git a/test_case_data/dubbocase.xlsx b/test_case_data/dubbocase.xlsx old mode 100644 new mode 100755