作者 bianxinhua

add README

@@ -3,27 +3,8 @@ @@ -3,27 +3,8 @@
3 <component name="ChangeListManager"> 3 <component name="ChangeListManager">
4 <list default="true" id="d6814b48-28ec-40b6-bcea-dcd9b8613715" name="Default Changelist" comment=""> 4 <list default="true" id="d6814b48-28ec-40b6-bcea-dcd9b8613715" name="Default Changelist" comment="">
5 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> 5 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6 - <change beforePath="$PROJECT_DIR$/api/app_api/dividend/orders002.api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/dividend/orders002.api.yml" afterDir="false" />  
7 - <change beforePath="$PROJECT_DIR$/api/app_api/login/login_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/login/login_api.yml" afterDir="false" />  
8 - <change beforePath="$PROJECT_DIR$/api/app_api/order/details_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/order/details_api.yml" afterDir="false" />  
9 - <change beforePath="$PROJECT_DIR$/api/app_api/order/statistics_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/order/statistics_api.yml" afterDir="false" />  
10 - <change beforePath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml" afterDir="false" />  
11 - <change beforePath="$PROJECT_DIR$/config/accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/accessToken.csv" afterDir="false" />  
12 - <change beforePath="$PROJECT_DIR$/config/authCode.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/authCode.csv" afterDir="false" />  
13 <change beforePath="$PROJECT_DIR$/config/m_accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/m_accessToken.csv" afterDir="false" /> 6 <change beforePath="$PROJECT_DIR$/config/m_accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/m_accessToken.csv" afterDir="false" />
14 - <change beforePath="$PROJECT_DIR$/config/refreshToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/refreshToken.csv" afterDir="false" />  
15 - <change beforePath="$PROJECT_DIR$/debugtalk.py" beforeDir="false" afterPath="$PROJECT_DIR$/debugtalk.py" afterDir="false" />  
16 - <change beforePath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" afterDir="false" />  
17 - <change beforePath="$PROJECT_DIR$/helpfunc/pg_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_db_func.py" afterDir="false" />  
18 - <change beforePath="$PROJECT_DIR$/logs/testsuites/partner_testsuite.parse_failed.json" beforeDir="false" afterPath="$PROJECT_DIR$/logs/testsuites/partner_testsuite.parse_failed.json" afterDir="false" />  
19 - <change beforePath="$PROJECT_DIR$/testcases/actual/ACTUAL001_add_actual_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/actual/ACTUAL001_add_actual_testcases.yml" afterDir="false" />  
20 - <change beforePath="$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml" afterDir="false" />  
21 - <change beforePath="$PROJECT_DIR$/testcases/dividend/dividend_orders002_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/dividend/dividend_orders002_testcases.yml" afterDir="false" />  
22 - <change beforePath="$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml" afterDir="false" />  
23 - <change beforePath="$PROJECT_DIR$/testcases/login_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/login_testcases.yml" afterDir="false" />  
24 - <change beforePath="$PROJECT_DIR$/testcases/order/order_details_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/order/order_details_testcases.yml" afterDir="false" />  
25 - <change beforePath="$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml" afterDir="false" />  
26 - <change beforePath="$PROJECT_DIR$/testcases/purpose/PURPOSE006_purpose_detail_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/purpose/PURPOSE006_purpose_detail_testcases.yml" afterDir="false" /> 7 + <change beforePath="$PROJECT_DIR$/testcases/partners/PARTNERS001_add_partner_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/partners/PARTNERS001_add_partner_testcases.yml" afterDir="false" />
27 <change beforePath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" afterDir="false" /> 8 <change beforePath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" afterDir="false" />
28 </list> 9 </list>
29 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> 10 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -43,20 +24,44 @@ @@ -43,20 +24,44 @@
43 <file pinned="false" current-in-tab="false"> 24 <file pinned="false" current-in-tab="false">
44 <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml"> 25 <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml">
45 <provider selected="true" editor-type-id="text-editor"> 26 <provider selected="true" editor-type-id="text-editor">
46 - <state relative-caret-position="135">  
47 - <caret line="6" column="38" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="38" /> 27 + <state relative-caret-position="2730">
  28 + <caret line="105" column="55" selection-start-line="28" selection-start-column="1" selection-end-line="105" selection-end-column="55" />
48 </state> 29 </state>
49 </provider> 30 </provider>
50 </entry> 31 </entry>
51 </file> 32 </file>
52 <file pinned="false" current-in-tab="true"> 33 <file pinned="false" current-in-tab="true">
53 - <entry file="file://$PROJECT_DIR$/debugtalk.py"> 34 + <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_add_api.yml">
54 <provider selected="true" editor-type-id="text-editor"> 35 <provider selected="true" editor-type-id="text-editor">
55 - <state relative-caret-position="463">  
56 - <caret line="55" column="49" selection-start-line="55" selection-start-column="49" selection-end-line="55" selection-end-column="49" />  
57 - <folding>  
58 - <element signature="e#0#13#0" expanded="true" />  
59 - </folding> 36 + <state relative-caret-position="26">
  37 + <caret line="6" column="51" selection-start-line="6" selection-start-column="32" selection-end-line="6" selection-end-column="51" />
  38 + </state>
  39 + </provider>
  40 + </entry>
  41 + </file>
  42 + <file pinned="false" current-in-tab="false">
  43 + <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py">
  44 + <provider selected="true" editor-type-id="text-editor">
  45 + <state relative-caret-position="6318">
  46 + <caret line="243" column="13" selection-start-line="243" selection-start-column="8" selection-end-line="243" selection-end-column="13" />
  47 + </state>
  48 + </provider>
  49 + </entry>
  50 + </file>
  51 + <file pinned="false" current-in-tab="false">
  52 + <entry file="file://$PROJECT_DIR$/helpfunc/login_func.py">
  53 + <provider selected="true" editor-type-id="text-editor">
  54 + <state relative-caret-position="2288">
  55 + <caret line="88" column="23" selection-start-line="88" selection-start-column="4" selection-end-line="88" selection-end-column="23" />
  56 + </state>
  57 + </provider>
  58 + </entry>
  59 + </file>
  60 + <file pinned="false" current-in-tab="false">
  61 + <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS001_add_partner_testcases.yml">
  62 + <provider selected="true" editor-type-id="text-editor">
  63 + <state relative-caret-position="234">
  64 + <caret line="9" selection-start-line="9" selection-start-column="1" selection-end-line="10" selection-end-column="46" />
60 </state> 65 </state>
61 </provider> 66 </provider>
62 </entry> 67 </entry>
@@ -72,7 +77,6 @@ @@ -72,7 +77,6 @@
72 </component> 77 </component>
73 <component name="FindInProjectRecents"> 78 <component name="FindInProjectRecents">
74 <findStrings> 79 <findStrings>
75 - <find>outstanding</find>  
76 <find>address</find> 80 <find>address</find>
77 <find>buyerPhone</find> 81 <find>buyerPhone</find>
78 <find>orderDist</find> 82 <find>orderDist</find>
@@ -102,6 +106,7 @@ @@ -102,6 +106,7 @@
102 <find>get_partner_account_from_database</find> 106 <find>get_partner_account_from_database</find>
103 <find>print</find> 107 <find>print</find>
104 <find>create_phone_number</find> 108 <find>create_phone_number</find>
  109 + <find>get_m_accesstoken()</find>
105 </findStrings> 110 </findStrings>
106 </component> 111 </component>
107 <component name="Git.Settings"> 112 <component name="Git.Settings">
@@ -110,7 +115,6 @@ @@ -110,7 +115,6 @@
110 <component name="IdeDocumentHistory"> 115 <component name="IdeDocumentHistory">
111 <option name="CHANGED_PATHS"> 116 <option name="CHANGED_PATHS">
112 <list> 117 <list>
113 - <option value="$PROJECT_DIR$/testcases/actual/ACTUAL003_actual_list_testcases.yml" />  
114 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" /> 118 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" />
115 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" /> 119 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" />
116 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml" /> 120 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml" />
@@ -156,11 +160,12 @@ @@ -156,11 +160,12 @@
156 <option value="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" /> 160 <option value="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" />
157 <option value="$PROJECT_DIR$/api/app_api/order/details_api.yml" /> 161 <option value="$PROJECT_DIR$/api/app_api/order/details_api.yml" />
158 <option value="$PROJECT_DIR$/helpfunc/pg_db_func.py" /> 162 <option value="$PROJECT_DIR$/helpfunc/pg_db_func.py" />
159 - <option value="$PROJECT_DIR$/testsuites/partner_testsuite.yml" />  
160 <option value="$PROJECT_DIR$/testcases/actual/ACTUAL001_add_actual_testcases.yml" /> 163 <option value="$PROJECT_DIR$/testcases/actual/ACTUAL001_add_actual_testcases.yml" />
161 <option value="$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml" /> 164 <option value="$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml" />
162 <option value="$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml" /> 165 <option value="$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml" />
163 <option value="$PROJECT_DIR$/debugtalk.py" /> 166 <option value="$PROJECT_DIR$/debugtalk.py" />
  167 + <option value="$PROJECT_DIR$/testsuites/partner_testsuite.yml" />
  168 + <option value="$PROJECT_DIR$/testcases/partners/PARTNERS001_add_partner_testcases.yml" />
164 </list> 169 </list>
165 </option> 170 </option>
166 </component> 171 </component>
@@ -175,6 +180,7 @@ @@ -175,6 +180,7 @@
175 <foldersAlwaysOnTop value="true" /> 180 <foldersAlwaysOnTop value="true" />
176 </navigator> 181 </navigator>
177 <panes> 182 <panes>
  183 + <pane id="Scope" />
178 <pane id="ProjectPane"> 184 <pane id="ProjectPane">
179 <subPane> 185 <subPane>
180 <expand> 186 <expand>
@@ -191,34 +197,21 @@ @@ -191,34 +197,21 @@
191 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 197 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
192 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 198 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
193 <item name="api" type="462c0819:PsiDirectoryNode" /> 199 <item name="api" type="462c0819:PsiDirectoryNode" />
194 - <item name="app_api" type="462c0819:PsiDirectoryNode" />  
195 - </path>  
196 - <path>  
197 - <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />  
198 - <item name="partner_api" type="462c0819:PsiDirectoryNode" />  
199 - <item name="api" type="462c0819:PsiDirectoryNode" />  
200 - <item name="app_api" type="462c0819:PsiDirectoryNode" />  
201 - <item name="login" type="462c0819:PsiDirectoryNode" />  
202 - </path>  
203 - <path>  
204 - <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />  
205 - <item name="partner_api" type="462c0819:PsiDirectoryNode" />  
206 - <item name="api" type="462c0819:PsiDirectoryNode" />  
207 - <item name="app_api" type="462c0819:PsiDirectoryNode" />  
208 - <item name="order" type="462c0819:PsiDirectoryNode" /> 200 + <item name="m_api" type="462c0819:PsiDirectoryNode" />
209 </path> 201 </path>
210 <path> 202 <path>
211 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 203 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
212 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 204 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
213 <item name="api" type="462c0819:PsiDirectoryNode" /> 205 <item name="api" type="462c0819:PsiDirectoryNode" />
214 <item name="m_api" type="462c0819:PsiDirectoryNode" /> 206 <item name="m_api" type="462c0819:PsiDirectoryNode" />
  207 + <item name="admin" type="462c0819:PsiDirectoryNode" />
215 </path> 208 </path>
216 <path> 209 <path>
217 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 210 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
218 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 211 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
219 <item name="api" type="462c0819:PsiDirectoryNode" /> 212 <item name="api" type="462c0819:PsiDirectoryNode" />
220 <item name="m_api" type="462c0819:PsiDirectoryNode" /> 213 <item name="m_api" type="462c0819:PsiDirectoryNode" />
221 - <item name="admin" type="462c0819:PsiDirectoryNode" /> 214 + <item name="partners" type="462c0819:PsiDirectoryNode" />
222 </path> 215 </path>
223 <path> 216 <path>
224 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 217 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
@@ -290,7 +283,6 @@ @@ -290,7 +283,6 @@
290 <select /> 283 <select />
291 </subPane> 284 </subPane>
292 </pane> 285 </pane>
293 - <pane id="Scope" />  
294 </panes> 286 </panes>
295 </component> 287 </component>
296 <component name="PropertiesComponent"> 288 <component name="PropertiesComponent">
@@ -471,28 +463,31 @@ @@ -471,28 +463,31 @@
471 <workItem from="1597281783377" duration="7250000" /> 463 <workItem from="1597281783377" duration="7250000" />
472 <workItem from="1597383690773" duration="12705000" /> 464 <workItem from="1597383690773" duration="12705000" />
473 <workItem from="1597627721793" duration="3189000" /> 465 <workItem from="1597627721793" duration="3189000" />
474 - <workItem from="1598498839511" duration="11432000" /> 466 + <workItem from="1598498839511" duration="12058000" />
  467 + <workItem from="1598580439774" duration="68000" />
  468 + <workItem from="1600048954187" duration="594000" />
  469 + <workItem from="1600149832884" duration="362000" />
  470 + <workItem from="1600393472912" duration="599000" />
475 </task> 471 </task>
476 <servers /> 472 <servers />
477 </component> 473 </component>
478 <component name="TimeTrackingManager"> 474 <component name="TimeTrackingManager">
479 - <option name="totallyTimeSpent" value="229783000" /> 475 + <option name="totallyTimeSpent" value="232032000" />
480 </component> 476 </component>
481 <component name="ToolWindowManager"> 477 <component name="ToolWindowManager">
482 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> 478 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
483 - <editor active="true" />  
484 <layout> 479 <layout>
485 <window_info id="Favorites" order="0" side_tool="true" /> 480 <window_info id="Favorites" order="0" side_tool="true" />
486 - <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.277897" /> 481 + <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.20708154" />
487 <window_info id="Structure" order="2" side_tool="true" weight="0.25" /> 482 <window_info id="Structure" order="2" side_tool="true" weight="0.25" />
488 <window_info anchor="bottom" id="Docker" order="0" show_stripe_button="false" /> 483 <window_info anchor="bottom" id="Docker" order="0" show_stripe_button="false" />
489 - <window_info anchor="bottom" id="Terminal" order="1" weight="0.2857143" /> 484 + <window_info active="true" anchor="bottom" id="Terminal" order="1" visible="true" weight="0.46763393" />
490 <window_info anchor="bottom" id="Message" order="2" /> 485 <window_info anchor="bottom" id="Message" order="2" />
491 <window_info anchor="bottom" id="Event Log" order="3" sideWeight="0.5005365" side_tool="true" weight="0.32700893" /> 486 <window_info anchor="bottom" id="Event Log" order="3" sideWeight="0.5005365" side_tool="true" weight="0.32700893" />
492 <window_info anchor="bottom" id="Find" order="4" sideWeight="0.49946353" weight="0.328125" /> 487 <window_info anchor="bottom" id="Find" order="4" sideWeight="0.49946353" weight="0.328125" />
493 <window_info anchor="bottom" id="Python Console" order="5" weight="0.328125" /> 488 <window_info anchor="bottom" id="Python Console" order="5" weight="0.328125" />
494 <window_info anchor="bottom" id="Database Changes" order="6" /> 489 <window_info anchor="bottom" id="Database Changes" order="6" />
495 - <window_info active="true" anchor="bottom" id="Run" order="7" sideWeight="0.49946353" visible="true" weight="0.32700893" /> 490 + <window_info anchor="bottom" id="Run" order="7" sideWeight="0.49946353" weight="0.32700893" />
496 <window_info anchor="bottom" id="Version Control" order="8" weight="0.32879046" /> 491 <window_info anchor="bottom" id="Version Control" order="8" weight="0.32879046" />
497 <window_info anchor="bottom" id="Debug" order="9" weight="0.4" /> 492 <window_info anchor="bottom" id="Debug" order="9" weight="0.4" />
498 <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" /> 493 <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" />
@@ -509,13 +504,6 @@ @@ -509,13 +504,6 @@
509 <option name="version" value="1" /> 504 <option name="version" value="1" />
510 </component> 505 </component>
511 <component name="editorHistoryManager"> 506 <component name="editorHistoryManager">
512 - <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml">  
513 - <provider selected="true" editor-type-id="text-editor">  
514 - <state relative-caret-position="494">  
515 - <caret line="19" column="42" selection-start-line="19" selection-start-column="16" selection-end-line="19" selection-end-column="42" />  
516 - </state>  
517 - </provider>  
518 - </entry>  
519 <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml"> 507 <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml">
520 <provider selected="true" editor-type-id="text-editor"> 508 <provider selected="true" editor-type-id="text-editor">
521 <state relative-caret-position="78"> 509 <state relative-caret-position="78">
@@ -526,13 +514,6 @@ @@ -526,13 +514,6 @@
526 <entry file="file://$PROJECT_DIR$/helpfunc/header_func.py"> 514 <entry file="file://$PROJECT_DIR$/helpfunc/header_func.py">
527 <provider selected="true" editor-type-id="text-editor" /> 515 <provider selected="true" editor-type-id="text-editor" />
528 </entry> 516 </entry>
529 - <entry file="file://$PROJECT_DIR$/helpfunc/login_func.py">  
530 - <provider selected="true" editor-type-id="text-editor">  
531 - <state relative-caret-position="177">  
532 - <caret line="77" column="19" selection-start-line="77" selection-start-column="4" selection-end-line="77" selection-end-column="19" />  
533 - </state>  
534 - </provider>  
535 - </entry>  
536 <entry file="file://$PROJECT_DIR$/.env"> 517 <entry file="file://$PROJECT_DIR$/.env">
537 <provider selected="true" editor-type-id="text-editor"> 518 <provider selected="true" editor-type-id="text-editor">
538 <state relative-caret-position="234"> 519 <state relative-caret-position="234">
@@ -571,23 +552,6 @@ @@ -571,23 +552,6 @@
571 <entry file="file://$PROJECT_DIR$/testcases/m_login_testcases.yml"> 552 <entry file="file://$PROJECT_DIR$/testcases/m_login_testcases.yml">
572 <provider selected="true" editor-type-id="text-editor" /> 553 <provider selected="true" editor-type-id="text-editor" />
573 </entry> 554 </entry>
574 - <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py">  
575 - <provider selected="true" editor-type-id="text-editor">  
576 - <state relative-caret-position="279">  
577 - <caret line="362" column="13" selection-start-line="362" selection-start-column="8" selection-end-line="362" selection-end-column="13" />  
578 - <folding>  
579 - <element signature="e#108#123#0" expanded="true" />  
580 - </folding>  
581 - </state>  
582 - </provider>  
583 - </entry>  
584 - <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py">  
585 - <provider selected="true" editor-type-id="text-editor">  
586 - <state relative-caret-position="279">  
587 - <caret line="243" column="13" selection-start-line="243" selection-start-column="8" selection-end-line="243" selection-end-column="13" />  
588 - </state>  
589 - </provider>  
590 - </entry>  
591 <entry file="file://$PROJECT_DIR$/api/m_api/admin/m_admin_update(new)_api.yml"> 555 <entry file="file://$PROJECT_DIR$/api/m_api/admin/m_admin_update(new)_api.yml">
592 <provider selected="true" editor-type-id="text-editor"> 556 <provider selected="true" editor-type-id="text-editor">
593 <state relative-caret-position="234"> 557 <state relative-caret-position="234">
@@ -722,9 +686,6 @@ @@ -722,9 +686,6 @@
722 </state> 686 </state>
723 </provider> 687 </provider>
724 </entry> 688 </entry>
725 - <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS001_add_partner_testcases.yml">  
726 - <provider selected="true" editor-type-id="text-editor" />  
727 - </entry>  
728 <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS002_edit_partner_testcases.yml"> 689 <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS002_edit_partner_testcases.yml">
729 <provider selected="true" editor-type-id="text-editor" /> 690 <provider selected="true" editor-type-id="text-editor" />
730 </entry> 691 </entry>
@@ -761,22 +722,60 @@ @@ -761,22 +722,60 @@
761 <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE007_purpose_del_testcases.yml"> 722 <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE007_purpose_del_testcases.yml">
762 <provider selected="true" editor-type-id="text-editor" /> 723 <provider selected="true" editor-type-id="text-editor" />
763 </entry> 724 </entry>
764 - <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml"> 725 + <entry file="file://$PROJECT_DIR$/debugtalk.py">
765 <provider selected="true" editor-type-id="text-editor"> 726 <provider selected="true" editor-type-id="text-editor">
766 - <state relative-caret-position="135">  
767 - <caret line="6" column="38" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="38" /> 727 + <state relative-caret-position="26">
  728 + <caret line="49" column="23" selection-start-line="49" selection-start-column="23" selection-end-line="49" selection-end-column="23" />
  729 + <folding>
  730 + <element signature="e#0#13#0" expanded="true" />
  731 + </folding>
768 </state> 732 </state>
769 </provider> 733 </provider>
770 </entry> 734 </entry>
771 - <entry file="file://$PROJECT_DIR$/debugtalk.py"> 735 + <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py">
772 <provider selected="true" editor-type-id="text-editor"> 736 <provider selected="true" editor-type-id="text-editor">
773 - <state relative-caret-position="463">  
774 - <caret line="55" column="49" selection-start-line="55" selection-start-column="49" selection-end-line="55" selection-end-column="49" /> 737 + <state relative-caret-position="415">
  738 + <caret line="362" column="13" selection-start-line="362" selection-start-column="8" selection-end-line="362" selection-end-column="13" />
775 <folding> 739 <folding>
776 - <element signature="e#0#13#0" expanded="true" /> 740 + <element signature="e#108#123#0" expanded="true" />
777 </folding> 741 </folding>
778 </state> 742 </state>
779 </provider> 743 </provider>
780 </entry> 744 </entry>
  745 + <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml">
  746 + <provider selected="true" editor-type-id="text-editor">
  747 + <state relative-caret-position="2730">
  748 + <caret line="105" column="55" selection-start-line="28" selection-start-column="1" selection-end-line="105" selection-end-column="55" />
  749 + </state>
  750 + </provider>
  751 + </entry>
  752 + <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py">
  753 + <provider selected="true" editor-type-id="text-editor">
  754 + <state relative-caret-position="6318">
  755 + <caret line="243" column="13" selection-start-line="243" selection-start-column="8" selection-end-line="243" selection-end-column="13" />
  756 + </state>
  757 + </provider>
  758 + </entry>
  759 + <entry file="file://$PROJECT_DIR$/helpfunc/login_func.py">
  760 + <provider selected="true" editor-type-id="text-editor">
  761 + <state relative-caret-position="2288">
  762 + <caret line="88" column="23" selection-start-line="88" selection-start-column="4" selection-end-line="88" selection-end-column="23" />
  763 + </state>
  764 + </provider>
  765 + </entry>
  766 + <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS001_add_partner_testcases.yml">
  767 + <provider selected="true" editor-type-id="text-editor">
  768 + <state relative-caret-position="234">
  769 + <caret line="9" selection-start-line="9" selection-start-column="1" selection-end-line="10" selection-end-column="46" />
  770 + </state>
  771 + </provider>
  772 + </entry>
  773 + <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_add_api.yml">
  774 + <provider selected="true" editor-type-id="text-editor">
  775 + <state relative-caret-position="26">
  776 + <caret line="6" column="51" selection-start-line="6" selection-start-column="32" selection-end-line="6" selection-end-column="51" />
  777 + </state>
  778 + </provider>
  779 + </entry>
781 </component> 780 </component>
782 </project> 781 </project>
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTg1NjE3NDIsImlhdCI6MTU5ODUxODU0MiwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5ODUxODU0MiwidWlkIjoxOH0.yM7bvqkMJNW9-cNrQt4f5VEV6bcNV0syOC7sAwWQPGA  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDAxOTI5MzgsImlhdCI6MTYwMDE0OTczOCwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTYwMDE0OTczOCwidWlkIjozMjQ0MDg0Njk1OTY1NDQwLCJjb21wYW55SWQiOjM1OH0.f_z2yOeoPOuvpUWlleEH4q3AIsMXFGiF9I31LsRarUQ
  1 +<head>
  2 + <meta content="text/html; charset=utf-8" http-equiv="content-type" />
  3 + <meta name="viewport" content="width=device-width, initial-scale=1.0">
  4 + <title> - TestReport</title>
  5 + <style>
  6 + body {
  7 + background-color: #f2f2f2;
  8 + color: #333;
  9 + margin: 0 auto;
  10 + width: 960px;
  11 + }
  12 + #summary {
  13 + width: 960px;
  14 + margin-bottom: 20px;
  15 + }
  16 + #summary th {
  17 + background-color: skyblue;
  18 + padding: 5px 12px;
  19 + }
  20 + #summary td {
  21 + background-color: lightblue;
  22 + text-align: center;
  23 + padding: 4px 8px;
  24 + }
  25 + .details {
  26 + width: 960px;
  27 + margin-bottom: 20px;
  28 + }
  29 + .details th {
  30 + background-color: skyblue;
  31 + padding: 5px 12px;
  32 + }
  33 + .details tr .passed {
  34 + background-color: lightgreen;
  35 + }
  36 + .details tr .failed {
  37 + background-color: red;
  38 + }
  39 + .details tr .unchecked {
  40 + background-color: gray;
  41 + }
  42 + .details td {
  43 + background-color: lightblue;
  44 + padding: 5px 12px;
  45 + }
  46 + .details .detail {
  47 + background-color: lightgrey;
  48 + font-size: smaller;
  49 + padding: 5px 10px;
  50 + line-height: 20px;
  51 + text-align: left;
  52 + }
  53 + .details .success {
  54 + background-color: greenyellow;
  55 + }
  56 + .details .error {
  57 + background-color: red;
  58 + }
  59 + .details .failure {
  60 + background-color: salmon;
  61 + }
  62 + .details .skipped {
  63 + background-color: gray;
  64 + }
  65 +
  66 + .button {
  67 + font-size: 1em;
  68 + padding: 6px;
  69 + width: 4em;
  70 + text-align: center;
  71 + background-color: #06d85f;
  72 + border-radius: 20px/50px;
  73 + cursor: pointer;
  74 + transition: all 0.3s ease-out;
  75 + }
  76 + a.button{
  77 + color: gray;
  78 + text-decoration: none;
  79 + display: inline-block;
  80 + }
  81 + .button:hover {
  82 + background: #2cffbd;
  83 + }
  84 +
  85 + .overlay {
  86 + position: fixed;
  87 + top: 0;
  88 + bottom: 0;
  89 + left: 0;
  90 + right: 0;
  91 + background: rgba(0, 0, 0, 0.7);
  92 + transition: opacity 500ms;
  93 + visibility: hidden;
  94 + opacity: 0;
  95 + line-height: 25px;
  96 + }
  97 + .overlay:target {
  98 + visibility: visible;
  99 + opacity: 1;
  100 + }
  101 +
  102 + .popup {
  103 + margin: 70px auto;
  104 + padding: 20px;
  105 + background: #fff;
  106 + border-radius: 10px;
  107 + width: 50%;
  108 + position: relative;
  109 + transition: all 3s ease-in-out;
  110 + }
  111 +
  112 + .popup h2 {
  113 + margin-top: 0;
  114 + color: #333;
  115 + font-family: Tahoma, Arial, sans-serif;
  116 + }
  117 + .popup .close {
  118 + position: absolute;
  119 + top: 20px;
  120 + right: 30px;
  121 + transition: all 200ms;
  122 + font-size: 30px;
  123 + font-weight: bold;
  124 + text-decoration: none;
  125 + color: #333;
  126 + }
  127 + .popup .close:hover {
  128 + color: #06d85f;
  129 + }
  130 + .popup .content {
  131 + max-height: 80%;
  132 + overflow: auto;
  133 + text-align: left;
  134 + }
  135 + .popup .separator {
  136 + color:royalblue
  137 + }
  138 +
  139 + @media screen and (max-width: 700px) {
  140 + .box {
  141 + width: 70%;
  142 + }
  143 + .popup {
  144 + width: 70%;
  145 + }
  146 + }
  147 +
  148 + </style>
  149 +</head>
  150 +
  151 +<body>
  152 + <h1>Test Report: </h1>
  153 +
  154 + <h2>Summary</h2>
  155 + <table id="summary">
  156 + <tr>
  157 + <th>START AT</th>
  158 + <td colspan="4">2020-09-15T06:07:56.262606</td>
  159 + </tr>
  160 + <tr>
  161 + <th>DURATION</th>
  162 + <td colspan="4">0.328 seconds</td>
  163 + </tr>
  164 + <tr>
  165 + <th>PLATFORM</th>
  166 + <td>HttpRunner 2.5.7 </td>
  167 + <td>CPython 3.8.1 </td>
  168 + <td colspan="2">Windows-7-6.1.7601-SP1</td>
  169 + </tr>
  170 + <tr>
  171 + <th>STAT</th>
  172 + <th colspan="2">TESTCASES (success/fail)</th>
  173 + <th colspan="2">TESTSTEPS (success/fail/error/skip)</th>
  174 + </tr>
  175 + <tr>
  176 + <td>total (details) =></td>
  177 + <td colspan="2">1 (0/1)</td>
  178 + <td colspan="2">2 (0/0/2/0)</td>
  179 + </tr>
  180 + </table>
  181 +
  182 + <h2>Details</h2>
  183 +
  184 +
  185 +
  186 + <h3>PARTNERS001:新增合伙人</h3>
  187 + <table id="suite_1" class="details">
  188 + <tr>
  189 + <td>TOTAL: 2</td>
  190 + <td>SUCCESS: 0</td>
  191 + <td>FAILED: 0</td>
  192 + <td>ERROR: 2</td>
  193 + <td>SKIPPED: 0</td>
  194 + </tr>
  195 + <tr>
  196 + <th>Status</th>
  197 + <th colspan="2">Name</th>
  198 + <th>Response Time</th>
  199 + <th>Detail</th>
  200 + </tr>
  201 +
  202 +
  203 +
  204 +
  205 + <tr id="record_1_1">
  206 + <th class="error" style="width:5em;">error</th>
  207 + <td colspan="2">10000000001 登录系统</td>
  208 + <td style="text-align:center;width:6em;">211.00 ms</td>
  209 + <td class="detail">
  210 +
  211 +
  212 +
  213 + <a class="button" href="#popup_log_1_1_1">log-1</a>
  214 + <div id="popup_log_1_1_1" class="overlay">
  215 + <div class="popup">
  216 + <h2>Request and Response data</h2>
  217 + <a class="close" href="#record_1_1_1">&times;</a>
  218 +
  219 + <div class="content">
  220 + <h3>Name: 10000000001 登录系统</h3>
  221 +
  222 +
  223 +
  224 +
  225 +
  226 + <h3>Request:</h3>
  227 + <div style="overflow: auto">
  228 + <table>
  229 +
  230 + <tr>
  231 + <th>url</th>
  232 + <td>
  233 +
  234 + https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login
  235 +
  236 + </td>
  237 + </tr>
  238 +
  239 + <tr>
  240 + <th>method</th>
  241 + <td>
  242 +
  243 + POST
  244 +
  245 + </td>
  246 + </tr>
  247 +
  248 + <tr>
  249 + <th>headers</th>
  250 + <td>
  251 +
  252 + <pre>{
  253 + &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,
  254 + &#34;User-Agent&#34;: &#34;Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36&#34;
  255 +}</pre>
  256 +
  257 + </td>
  258 + </tr>
  259 +
  260 + <tr>
  261 + <th>json</th>
  262 + <td>
  263 +
  264 + {
  265 + "password": "7c4a8d09ca3762af61e59520943dc26494f8941b",
  266 + "username": "10000000001"
  267 +}
  268 +
  269 + </td>
  270 + </tr>
  271 +
  272 + <tr>
  273 + <th>verify</th>
  274 + <td>
  275 +
  276 + True
  277 +
  278 + </td>
  279 + </tr>
  280 +
  281 + <tr>
  282 + <th>timeout</th>
  283 + <td>
  284 +
  285 + 120
  286 +
  287 + </td>
  288 + </tr>
  289 +
  290 + </table>
  291 + </div>
  292 +
  293 + <h3>Response:</h3>
  294 + <div style="overflow: auto">
  295 + <table>
  296 +
  297 + <tr>
  298 + <th>status_code</th>
  299 + <td>
  300 +
  301 + N/A
  302 +
  303 + </td>
  304 + </tr>
  305 +
  306 + <tr>
  307 + <th>headers</th>
  308 + <td>
  309 +
  310 + <pre>{}</pre>
  311 +
  312 + </td>
  313 + </tr>
  314 +
  315 + <tr>
  316 + <th>encoding</th>
  317 + <td>
  318 +
  319 + None
  320 +
  321 + </td>
  322 + </tr>
  323 +
  324 + <tr>
  325 + <th>content_type</th>
  326 + <td>
  327 +
  328 +
  329 +
  330 + </td>
  331 + </tr>
  332 +
  333 + </table>
  334 + </div>
  335 +
  336 +
  337 + <h3>Validators:</h3>
  338 + <div style="overflow: auto">
  339 +
  340 +
  341 +
  342 +
  343 +
  344 + </div>
  345 +
  346 + <h3>Statistics:</h3>
  347 + <div style="overflow: auto">
  348 + <table>
  349 + <tr>
  350 + <th>content_size(bytes)</th>
  351 + <td>0</td>
  352 + </tr>
  353 + <tr>
  354 + <th>response_time(ms)</th>
  355 + <td>211.0</td>
  356 + </tr>
  357 + <tr>
  358 + <th>elapsed(ms)</th>
  359 + <td>0.0</td>
  360 + </tr>
  361 + </table>
  362 + </div>
  363 +
  364 + </div>
  365 + </div>
  366 + </div>
  367 +
  368 +
  369 +
  370 + <a class="button" href="#popup_attachment_1_1">traceback</a>
  371 + <div id="popup_attachment_1_1" class="overlay">
  372 + <div class="popup">
  373 + <h2>Traceback Message</h2>
  374 + <a class="close" href="#record_1_1">&times;</a>
  375 + <div class="content"><pre>Traceback (most recent call last):
  376 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 667, in urlopen
  377 + self._prepare_proxy(conn)
  378 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 932, in _prepare_proxy
  379 + conn.connect()
  380 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connection.py&#34;, line 362, in connect
  381 + self.sock = ssl_wrap_socket(
  382 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\util\ssl_.py&#34;, line 384, in ssl_wrap_socket
  383 + return context.wrap_socket(sock, server_hostname=server_hostname)
  384 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 500, in wrap_socket
  385 + return self.sslsocket_class._create(
  386 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 1040, in _create
  387 + self.do_handshake()
  388 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 1309, in do_handshake
  389 + self._sslobj.do_handshake()
  390 +ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)
  391 +
  392 +During handling of the above exception, another exception occurred:
  393 +
  394 +Traceback (most recent call last):
  395 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\adapters.py&#34;, line 439, in send
  396 + resp = conn.urlopen(
  397 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 726, in urlopen
  398 + retries = retries.increment(
  399 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\util\retry.py&#34;, line 439, in increment
  400 + raise MaxRetryError(_pool, url, error or ResponseError(cause))
  401 +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=&#39;public-interface-test.fjmaimaimai.com&#39;, port=443): Max retries exceeded with url: /partnermg/v1/auth/login (Caused by SSLError(SSLCertVerificationError(1, &#39;[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)&#39;)))
  402 +
  403 +During handling of the above exception, another exception occurred:
  404 +
  405 +Traceback (most recent call last):
  406 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\api.py&#34;, line 63, in test
  407 + test_runner.run_test(test_dict)
  408 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\runner.py&#34;, line 374, in run_test
  409 + self._run_testcase(test_dict)
  410 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\runner.py&#34;, line 321, in _run_testcase
  411 + test_runner.run_test(test_dict)
  412 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\runner.py&#34;, line 379, in run_test
  413 + self._run_test(test_dict)
  414 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\runner.py&#34;, line 238, in _run_test
  415 + resp = self.http_client_session.request(
  416 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 210, in request
  417 + self.meta_data[&#34;data&#34;] = [
  418 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 211, in &lt;listcomp&gt;
  419 + get_req_resp_record(resp_obj)
  420 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 51, in get_req_resp_record
  421 + req_resp_dict[&#34;response&#34;][&#34;ok&#34;] = resp_obj.ok
  422 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\models.py&#34;, line 703, in ok
  423 + self.raise_for_status()
  424 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 89, in raise_for_status
  425 + raise self.error
  426 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 240, in _send_request_safe_mode
  427 + return requests.Session.request(self, method, url, **kwargs)
  428 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\sessions.py&#34;, line 530, in request
  429 + resp = self.send(prep, **send_kwargs)
  430 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\sessions.py&#34;, line 643, in send
  431 + r = adapter.send(request, **kwargs)
  432 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\adapters.py&#34;, line 514, in send
  433 + raise SSLError(e, request=request)
  434 +requests.exceptions.SSLError: HTTPSConnectionPool(host=&#39;public-interface-test.fjmaimaimai.com&#39;, port=443): Max retries exceeded with url: /partnermg/v1/auth/login (Caused by SSLError(SSLCertVerificationError(1, &#39;[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)&#39;)))
  435 +</pre></div>
  436 + </div>
  437 + </div>
  438 +
  439 +
  440 + </td>
  441 + </tr>
  442 +
  443 +
  444 +
  445 + <tr id="record_1_2">
  446 + <th class="error" style="width:5em;">error</th>
  447 + <td colspan="2">10000000001 合伙人新增</td>
  448 + <td style="text-align:center;width:6em;">79.00 ms</td>
  449 + <td class="detail">
  450 +
  451 +
  452 +
  453 + <a class="button" href="#popup_log_1_2_1">log-1</a>
  454 + <div id="popup_log_1_2_1" class="overlay">
  455 + <div class="popup">
  456 + <h2>Request and Response data</h2>
  457 + <a class="close" href="#record_1_2_1">&times;</a>
  458 +
  459 + <div class="content">
  460 + <h3>Name: 10000000001 合伙人新增</h3>
  461 +
  462 +
  463 +
  464 +
  465 +
  466 + <h3>Request:</h3>
  467 + <div style="overflow: auto">
  468 + <table>
  469 +
  470 + <tr>
  471 + <th>url</th>
  472 + <td>
  473 +
  474 + https://public-interface-test.fjmaimaimai.com/partnermg/v1/partners/add
  475 +
  476 + </td>
  477 + </tr>
  478 +
  479 + <tr>
  480 + <th>method</th>
  481 + <td>
  482 +
  483 + POST
  484 +
  485 + </td>
  486 + </tr>
  487 +
  488 + <tr>
  489 + <th>headers</th>
  490 + <td>
  491 +
  492 + <pre>{
  493 + &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,
  494 + &#34;User-Agent&#34;: &#34;okhttp/3.12.3&#34;,
  495 + &#34;Authorization&#34;: &#34;Bearer bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDAxOTI5MzgsImlhdCI6MTYwMDE0OTczOCwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTYwMDE0OTczOCwidWlkIjozMjQ0MDg0Njk1OTY1NDQwLCJjb21wYW55SWQiOjM1OH0.f_z2yOeoPOuvpUWlleEH4q3AIsMXFGiF9I31LsRarUQ\n&#34;
  496 +}</pre>
  497 +
  498 + </td>
  499 + </tr>
  500 +
  501 + <tr>
  502 + <th>json</th>
  503 + <td>
  504 +
  505 + {
  506 + "partnerName": "卞信华",
  507 + "partnerType": 3,
  508 + "area": "福建省福州市XXXXX区",
  509 + "account": "1730000002",
  510 + "state": 1,
  511 + "cooperationTime": "2020-09-15",
  512 + "salesmanName": "小小",
  513 + "phone": "1730000002"
  514 +}
  515 +
  516 + </td>
  517 + </tr>
  518 +
  519 + <tr>
  520 + <th>verify</th>
  521 + <td>
  522 +
  523 + True
  524 +
  525 + </td>
  526 + </tr>
  527 +
  528 + <tr>
  529 + <th>timeout</th>
  530 + <td>
  531 +
  532 + 120
  533 +
  534 + </td>
  535 + </tr>
  536 +
  537 + </table>
  538 + </div>
  539 +
  540 + <h3>Response:</h3>
  541 + <div style="overflow: auto">
  542 + <table>
  543 +
  544 + <tr>
  545 + <th>status_code</th>
  546 + <td>
  547 +
  548 + N/A
  549 +
  550 + </td>
  551 + </tr>
  552 +
  553 + <tr>
  554 + <th>headers</th>
  555 + <td>
  556 +
  557 + <pre>{}</pre>
  558 +
  559 + </td>
  560 + </tr>
  561 +
  562 + <tr>
  563 + <th>encoding</th>
  564 + <td>
  565 +
  566 + None
  567 +
  568 + </td>
  569 + </tr>
  570 +
  571 + <tr>
  572 + <th>content_type</th>
  573 + <td>
  574 +
  575 +
  576 +
  577 + </td>
  578 + </tr>
  579 +
  580 + </table>
  581 + </div>
  582 +
  583 +
  584 + <h3>Validators:</h3>
  585 + <div style="overflow: auto">
  586 +
  587 +
  588 +
  589 +
  590 +
  591 + </div>
  592 +
  593 + <h3>Statistics:</h3>
  594 + <div style="overflow: auto">
  595 + <table>
  596 + <tr>
  597 + <th>content_size(bytes)</th>
  598 + <td>0</td>
  599 + </tr>
  600 + <tr>
  601 + <th>response_time(ms)</th>
  602 + <td>79.0</td>
  603 + </tr>
  604 + <tr>
  605 + <th>elapsed(ms)</th>
  606 + <td>0.0</td>
  607 + </tr>
  608 + </table>
  609 + </div>
  610 +
  611 + </div>
  612 + </div>
  613 + </div>
  614 +
  615 +
  616 +
  617 + <a class="button" href="#popup_attachment_1_2">traceback</a>
  618 + <div id="popup_attachment_1_2" class="overlay">
  619 + <div class="popup">
  620 + <h2>Traceback Message</h2>
  621 + <a class="close" href="#record_1_2">&times;</a>
  622 + <div class="content"><pre>Traceback (most recent call last):
  623 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 667, in urlopen
  624 + self._prepare_proxy(conn)
  625 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 932, in _prepare_proxy
  626 + conn.connect()
  627 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connection.py&#34;, line 362, in connect
  628 + self.sock = ssl_wrap_socket(
  629 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\util\ssl_.py&#34;, line 384, in ssl_wrap_socket
  630 + return context.wrap_socket(sock, server_hostname=server_hostname)
  631 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 500, in wrap_socket
  632 + return self.sslsocket_class._create(
  633 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 1040, in _create
  634 + self.do_handshake()
  635 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 1309, in do_handshake
  636 + self._sslobj.do_handshake()
  637 +ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)
  638 +
  639 +During handling of the above exception, another exception occurred:
  640 +
  641 +Traceback (most recent call last):
  642 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\adapters.py&#34;, line 439, in send
  643 + resp = conn.urlopen(
  644 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 726, in urlopen
  645 + retries = retries.increment(
  646 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\util\retry.py&#34;, line 439, in increment
  647 + raise MaxRetryError(_pool, url, error or ResponseError(cause))
  648 +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=&#39;public-interface-test.fjmaimaimai.com&#39;, port=443): Max retries exceeded with url: /partnermg/v1/partners/add (Caused by SSLError(SSLCertVerificationError(1, &#39;[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)&#39;)))
  649 +
  650 +During handling of the above exception, another exception occurred:
  651 +
  652 +Traceback (most recent call last):
  653 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\api.py&#34;, line 63, in test
  654 + test_runner.run_test(test_dict)
  655 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\runner.py&#34;, line 379, in run_test
  656 + self._run_test(test_dict)
  657 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\runner.py&#34;, line 238, in _run_test
  658 + resp = self.http_client_session.request(
  659 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 210, in request
  660 + self.meta_data[&#34;data&#34;] = [
  661 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 211, in &lt;listcomp&gt;
  662 + get_req_resp_record(resp_obj)
  663 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 51, in get_req_resp_record
  664 + req_resp_dict[&#34;response&#34;][&#34;ok&#34;] = resp_obj.ok
  665 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\models.py&#34;, line 703, in ok
  666 + self.raise_for_status()
  667 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 89, in raise_for_status
  668 + raise self.error
  669 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 240, in _send_request_safe_mode
  670 + return requests.Session.request(self, method, url, **kwargs)
  671 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\sessions.py&#34;, line 530, in request
  672 + resp = self.send(prep, **send_kwargs)
  673 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\sessions.py&#34;, line 643, in send
  674 + r = adapter.send(request, **kwargs)
  675 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\adapters.py&#34;, line 514, in send
  676 + raise SSLError(e, request=request)
  677 +requests.exceptions.SSLError: HTTPSConnectionPool(host=&#39;public-interface-test.fjmaimaimai.com&#39;, port=443): Max retries exceeded with url: /partnermg/v1/partners/add (Caused by SSLError(SSLCertVerificationError(1, &#39;[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)&#39;)))
  678 +</pre></div>
  679 + </div>
  680 + </div>
  681 +
  682 +
  683 + </td>
  684 + </tr>
  685 +
  686 + </table>
  687 +
  688 +</body>
  1 +<head>
  2 + <meta content="text/html; charset=utf-8" http-equiv="content-type" />
  3 + <meta name="viewport" content="width=device-width, initial-scale=1.0">
  4 + <title> - TestReport</title>
  5 + <style>
  6 + body {
  7 + background-color: #f2f2f2;
  8 + color: #333;
  9 + margin: 0 auto;
  10 + width: 960px;
  11 + }
  12 + #summary {
  13 + width: 960px;
  14 + margin-bottom: 20px;
  15 + }
  16 + #summary th {
  17 + background-color: skyblue;
  18 + padding: 5px 12px;
  19 + }
  20 + #summary td {
  21 + background-color: lightblue;
  22 + text-align: center;
  23 + padding: 4px 8px;
  24 + }
  25 + .details {
  26 + width: 960px;
  27 + margin-bottom: 20px;
  28 + }
  29 + .details th {
  30 + background-color: skyblue;
  31 + padding: 5px 12px;
  32 + }
  33 + .details tr .passed {
  34 + background-color: lightgreen;
  35 + }
  36 + .details tr .failed {
  37 + background-color: red;
  38 + }
  39 + .details tr .unchecked {
  40 + background-color: gray;
  41 + }
  42 + .details td {
  43 + background-color: lightblue;
  44 + padding: 5px 12px;
  45 + }
  46 + .details .detail {
  47 + background-color: lightgrey;
  48 + font-size: smaller;
  49 + padding: 5px 10px;
  50 + line-height: 20px;
  51 + text-align: left;
  52 + }
  53 + .details .success {
  54 + background-color: greenyellow;
  55 + }
  56 + .details .error {
  57 + background-color: red;
  58 + }
  59 + .details .failure {
  60 + background-color: salmon;
  61 + }
  62 + .details .skipped {
  63 + background-color: gray;
  64 + }
  65 +
  66 + .button {
  67 + font-size: 1em;
  68 + padding: 6px;
  69 + width: 4em;
  70 + text-align: center;
  71 + background-color: #06d85f;
  72 + border-radius: 20px/50px;
  73 + cursor: pointer;
  74 + transition: all 0.3s ease-out;
  75 + }
  76 + a.button{
  77 + color: gray;
  78 + text-decoration: none;
  79 + display: inline-block;
  80 + }
  81 + .button:hover {
  82 + background: #2cffbd;
  83 + }
  84 +
  85 + .overlay {
  86 + position: fixed;
  87 + top: 0;
  88 + bottom: 0;
  89 + left: 0;
  90 + right: 0;
  91 + background: rgba(0, 0, 0, 0.7);
  92 + transition: opacity 500ms;
  93 + visibility: hidden;
  94 + opacity: 0;
  95 + line-height: 25px;
  96 + }
  97 + .overlay:target {
  98 + visibility: visible;
  99 + opacity: 1;
  100 + }
  101 +
  102 + .popup {
  103 + margin: 70px auto;
  104 + padding: 20px;
  105 + background: #fff;
  106 + border-radius: 10px;
  107 + width: 50%;
  108 + position: relative;
  109 + transition: all 3s ease-in-out;
  110 + }
  111 +
  112 + .popup h2 {
  113 + margin-top: 0;
  114 + color: #333;
  115 + font-family: Tahoma, Arial, sans-serif;
  116 + }
  117 + .popup .close {
  118 + position: absolute;
  119 + top: 20px;
  120 + right: 30px;
  121 + transition: all 200ms;
  122 + font-size: 30px;
  123 + font-weight: bold;
  124 + text-decoration: none;
  125 + color: #333;
  126 + }
  127 + .popup .close:hover {
  128 + color: #06d85f;
  129 + }
  130 + .popup .content {
  131 + max-height: 80%;
  132 + overflow: auto;
  133 + text-align: left;
  134 + }
  135 + .popup .separator {
  136 + color:royalblue
  137 + }
  138 +
  139 + @media screen and (max-width: 700px) {
  140 + .box {
  141 + width: 70%;
  142 + }
  143 + .popup {
  144 + width: 70%;
  145 + }
  146 + }
  147 +
  148 + </style>
  149 +</head>
  150 +
  151 +<body>
  152 + <h1>Test Report: </h1>
  153 +
  154 + <h2>Summary</h2>
  155 + <table id="summary">
  156 + <tr>
  157 + <th>START AT</th>
  158 + <td colspan="4">2020-09-15T06:08:45.846606</td>
  159 + </tr>
  160 + <tr>
  161 + <th>DURATION</th>
  162 + <td colspan="4">0.133 seconds</td>
  163 + </tr>
  164 + <tr>
  165 + <th>PLATFORM</th>
  166 + <td>HttpRunner 2.5.7 </td>
  167 + <td>CPython 3.8.1 </td>
  168 + <td colspan="2">Windows-7-6.1.7601-SP1</td>
  169 + </tr>
  170 + <tr>
  171 + <th>STAT</th>
  172 + <th colspan="2">TESTCASES (success/fail)</th>
  173 + <th colspan="2">TESTSTEPS (success/fail/error/skip)</th>
  174 + </tr>
  175 + <tr>
  176 + <td>total (details) =></td>
  177 + <td colspan="2">1 (0/1)</td>
  178 + <td colspan="2">1 (0/0/1/0)</td>
  179 + </tr>
  180 + </table>
  181 +
  182 + <h2>Details</h2>
  183 +
  184 +
  185 +
  186 + <h3>PARTNERS001:新增合伙人</h3>
  187 + <table id="suite_1" class="details">
  188 + <tr>
  189 + <td>TOTAL: 1</td>
  190 + <td>SUCCESS: 0</td>
  191 + <td>FAILED: 0</td>
  192 + <td>ERROR: 1</td>
  193 + <td>SKIPPED: 0</td>
  194 + </tr>
  195 + <tr>
  196 + <th>Status</th>
  197 + <th colspan="2">Name</th>
  198 + <th>Response Time</th>
  199 + <th>Detail</th>
  200 + </tr>
  201 +
  202 +
  203 +
  204 +
  205 + <tr id="record_1_1">
  206 + <th class="error" style="width:5em;">error</th>
  207 + <td colspan="2">10000000001 合伙人新增</td>
  208 + <td style="text-align:center;width:6em;">107.00 ms</td>
  209 + <td class="detail">
  210 +
  211 +
  212 +
  213 + <a class="button" href="#popup_log_1_1_1">log-1</a>
  214 + <div id="popup_log_1_1_1" class="overlay">
  215 + <div class="popup">
  216 + <h2>Request and Response data</h2>
  217 + <a class="close" href="#record_1_1_1">&times;</a>
  218 +
  219 + <div class="content">
  220 + <h3>Name: 10000000001 合伙人新增</h3>
  221 +
  222 +
  223 +
  224 +
  225 +
  226 + <h3>Request:</h3>
  227 + <div style="overflow: auto">
  228 + <table>
  229 +
  230 + <tr>
  231 + <th>url</th>
  232 + <td>
  233 +
  234 + https://public-interface-test.fjmaimaimai.com/partnermg/v1/partners/add
  235 +
  236 + </td>
  237 + </tr>
  238 +
  239 + <tr>
  240 + <th>method</th>
  241 + <td>
  242 +
  243 + POST
  244 +
  245 + </td>
  246 + </tr>
  247 +
  248 + <tr>
  249 + <th>headers</th>
  250 + <td>
  251 +
  252 + <pre>{
  253 + &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,
  254 + &#34;User-Agent&#34;: &#34;okhttp/3.12.3&#34;,
  255 + &#34;Authorization&#34;: &#34;Bearer bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDAxOTI5MzgsImlhdCI6MTYwMDE0OTczOCwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTYwMDE0OTczOCwidWlkIjozMjQ0MDg0Njk1OTY1NDQwLCJjb21wYW55SWQiOjM1OH0.f_z2yOeoPOuvpUWlleEH4q3AIsMXFGiF9I31LsRarUQ\n&#34;
  256 +}</pre>
  257 +
  258 + </td>
  259 + </tr>
  260 +
  261 + <tr>
  262 + <th>json</th>
  263 + <td>
  264 +
  265 + {
  266 + "partnerName": "卞信华",
  267 + "partnerType": 3,
  268 + "area": "福建省福州市XXXXX区",
  269 + "account": "1890000008",
  270 + "state": 1,
  271 + "cooperationTime": "2020-09-15",
  272 + "salesmanName": "小小",
  273 + "phone": "1890000008"
  274 +}
  275 +
  276 + </td>
  277 + </tr>
  278 +
  279 + <tr>
  280 + <th>verify</th>
  281 + <td>
  282 +
  283 + True
  284 +
  285 + </td>
  286 + </tr>
  287 +
  288 + <tr>
  289 + <th>timeout</th>
  290 + <td>
  291 +
  292 + 120
  293 +
  294 + </td>
  295 + </tr>
  296 +
  297 + </table>
  298 + </div>
  299 +
  300 + <h3>Response:</h3>
  301 + <div style="overflow: auto">
  302 + <table>
  303 +
  304 + <tr>
  305 + <th>status_code</th>
  306 + <td>
  307 +
  308 + N/A
  309 +
  310 + </td>
  311 + </tr>
  312 +
  313 + <tr>
  314 + <th>headers</th>
  315 + <td>
  316 +
  317 + <pre>{}</pre>
  318 +
  319 + </td>
  320 + </tr>
  321 +
  322 + <tr>
  323 + <th>encoding</th>
  324 + <td>
  325 +
  326 + None
  327 +
  328 + </td>
  329 + </tr>
  330 +
  331 + <tr>
  332 + <th>content_type</th>
  333 + <td>
  334 +
  335 +
  336 +
  337 + </td>
  338 + </tr>
  339 +
  340 + </table>
  341 + </div>
  342 +
  343 +
  344 + <h3>Validators:</h3>
  345 + <div style="overflow: auto">
  346 +
  347 +
  348 +
  349 +
  350 +
  351 + </div>
  352 +
  353 + <h3>Statistics:</h3>
  354 + <div style="overflow: auto">
  355 + <table>
  356 + <tr>
  357 + <th>content_size(bytes)</th>
  358 + <td>0</td>
  359 + </tr>
  360 + <tr>
  361 + <th>response_time(ms)</th>
  362 + <td>107.0</td>
  363 + </tr>
  364 + <tr>
  365 + <th>elapsed(ms)</th>
  366 + <td>0.0</td>
  367 + </tr>
  368 + </table>
  369 + </div>
  370 +
  371 + </div>
  372 + </div>
  373 + </div>
  374 +
  375 +
  376 +
  377 + <a class="button" href="#popup_attachment_1_1">traceback</a>
  378 + <div id="popup_attachment_1_1" class="overlay">
  379 + <div class="popup">
  380 + <h2>Traceback Message</h2>
  381 + <a class="close" href="#record_1_1">&times;</a>
  382 + <div class="content"><pre>Traceback (most recent call last):
  383 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 667, in urlopen
  384 + self._prepare_proxy(conn)
  385 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 932, in _prepare_proxy
  386 + conn.connect()
  387 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connection.py&#34;, line 362, in connect
  388 + self.sock = ssl_wrap_socket(
  389 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\util\ssl_.py&#34;, line 384, in ssl_wrap_socket
  390 + return context.wrap_socket(sock, server_hostname=server_hostname)
  391 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 500, in wrap_socket
  392 + return self.sslsocket_class._create(
  393 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 1040, in _create
  394 + self.do_handshake()
  395 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\ssl.py&#34;, line 1309, in do_handshake
  396 + self._sslobj.do_handshake()
  397 +ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)
  398 +
  399 +During handling of the above exception, another exception occurred:
  400 +
  401 +Traceback (most recent call last):
  402 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\adapters.py&#34;, line 439, in send
  403 + resp = conn.urlopen(
  404 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\connectionpool.py&#34;, line 726, in urlopen
  405 + retries = retries.increment(
  406 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\urllib3\util\retry.py&#34;, line 439, in increment
  407 + raise MaxRetryError(_pool, url, error or ResponseError(cause))
  408 +urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=&#39;public-interface-test.fjmaimaimai.com&#39;, port=443): Max retries exceeded with url: /partnermg/v1/partners/add (Caused by SSLError(SSLCertVerificationError(1, &#39;[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)&#39;)))
  409 +
  410 +During handling of the above exception, another exception occurred:
  411 +
  412 +Traceback (most recent call last):
  413 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\api.py&#34;, line 63, in test
  414 + test_runner.run_test(test_dict)
  415 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\runner.py&#34;, line 379, in run_test
  416 + self._run_test(test_dict)
  417 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\runner.py&#34;, line 238, in _run_test
  418 + resp = self.http_client_session.request(
  419 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 210, in request
  420 + self.meta_data[&#34;data&#34;] = [
  421 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 211, in &lt;listcomp&gt;
  422 + get_req_resp_record(resp_obj)
  423 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 51, in get_req_resp_record
  424 + req_resp_dict[&#34;response&#34;][&#34;ok&#34;] = resp_obj.ok
  425 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\models.py&#34;, line 703, in ok
  426 + self.raise_for_status()
  427 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 89, in raise_for_status
  428 + raise self.error
  429 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\httprunner\client.py&#34;, line 240, in _send_request_safe_mode
  430 + return requests.Session.request(self, method, url, **kwargs)
  431 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\sessions.py&#34;, line 530, in request
  432 + resp = self.send(prep, **send_kwargs)
  433 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\sessions.py&#34;, line 643, in send
  434 + r = adapter.send(request, **kwargs)
  435 + File &#34;c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\requests\adapters.py&#34;, line 514, in send
  436 + raise SSLError(e, request=request)
  437 +requests.exceptions.SSLError: HTTPSConnectionPool(host=&#39;public-interface-test.fjmaimaimai.com&#39;, port=443): Max retries exceeded with url: /partnermg/v1/partners/add (Caused by SSLError(SSLCertVerificationError(1, &#39;[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)&#39;)))
  438 +</pre></div>
  439 + </div>
  440 + </div>
  441 +
  442 +
  443 + </td>
  444 + </tr>
  445 +
  446 + </table>
  447 +
  448 +</body>
@@ -7,8 +7,8 @@ config: @@ -7,8 +7,8 @@ config:
7 - ${sleep(2)} 7 - ${sleep(2)}
8 8
9 teststeps: 9 teststeps:
10 -- name: $phone 登录系统  
11 - testcase: testcases/m_login_testcases.yml 10 +#- name: $phone 登录系统
  11 +# testcase: testcases/m_login_testcases.yml
12 12
13 - name: $phone 合伙人新增 13 - name: $phone 合伙人新增
14 api: api/m_api/partners/m_partner_add_api.yml 14 api: api/m_api/partners/m_partner_add_api.yml
1 config: 1 config:
2 name: 合伙人测试集 2 name: 合伙人测试集
3 testcases: 3 testcases:
4 -- name: ADMIN001:新增管理员  
5 - testcase: testcases/admin/ADMIN001_add_admin_testcases.yml  
6 - parameters:  
7 - account: ${create_phone_number(1)}  
8 -  
9 -- name: ADMIN002:编辑管理员  
10 - testcase: testcases/admin/ADMIN002_edit_admin_testcases.yml  
11 -  
12 -- name: ADMIN003:搜索管理员  
13 - testcase: testcases/admin/ADMIN003_list_admin_testcases.yml  
14 -  
15 -- name: ADMIN004:查看管理员  
16 - testcase: testcases/admin/ADMIN004_detail_admin_testcases.yml  
17 -  
18 -- name: ADMIN005:禁用管理员  
19 - testcase: testcases/admin/ADMIN005_forbidden_admin_testcases.yml  
20 -  
21 -- name: ADMIN006:启用管理员  
22 - testcase: testcases/admin/ADMIN006_forbidden_admin_testcases.yml 4 +#- name: ADMIN001:新增管理员
  5 +# testcase: testcases/admin/ADMIN001_add_admin_testcases.yml
  6 +# parameters:
  7 +# account: ${create_phone_number(1)}
  8 +#
  9 +#- name: ADMIN002:编辑管理员
  10 +# testcase: testcases/admin/ADMIN002_edit_admin_testcases.yml
  11 +#
  12 +#- name: ADMIN003:搜索管理员
  13 +# testcase: testcases/admin/ADMIN003_list_admin_testcases.yml
  14 +#
  15 +#- name: ADMIN004:查看管理员
  16 +# testcase: testcases/admin/ADMIN004_detail_admin_testcases.yml
  17 +#
  18 +#- name: ADMIN005:禁用管理员
  19 +# testcase: testcases/admin/ADMIN005_forbidden_admin_testcases.yml
  20 +#
  21 +#- name: ADMIN006:启用管理员
  22 +# testcase: testcases/admin/ADMIN006_forbidden_admin_testcases.yml
23 23
24 - name: PARTNERS001:新增合伙人 24 - name: PARTNERS001:新增合伙人
25 testcase: testcases/partners/PARTNERS001_add_partner_testcases.yml 25 testcase: testcases/partners/PARTNERS001_add_partner_testcases.yml
26 parameters: 26 parameters:
27 account: ${create_phone_number(1)} 27 account: ${create_phone_number(1)}
28 28
29 -- name: PARTNERS002:编辑合伙人  
30 - testcase: testcases/partners/PARTNERS002_edit_partner_testcases.yml  
31 -  
32 -- name: PARTNERS003:搜索合伙类型  
33 - testcase: testcases/partners/PARTNERS003_list_partner_testcases.yml  
34 -  
35 -- name: PARTNERS004:搜索合伙人名称  
36 - testcase: testcases/partners/PARTNERS004_list_partner_testcases.yml  
37 -  
38 -- name: PARTNERS005:查看合伙人  
39 - testcase: testcases/partners/PARTNERS005_detail_partner_testcases.yml  
40 -  
41 -- name: PARTNERS006:禁用合伙人  
42 - testcase: testcases/partners/PARTNERS006_set-status_partner1_testcases.yml  
43 -  
44 -- name: PARTNERS006:启用合伙人  
45 - testcase: testcases/partners/PARTNERS007_set-status_partner2_testcases.yml  
46 -  
47 -- name: ACTUAL001:新增实际订单  
48 - testcase: testcases/actual/ACTUAL001_add_actual_testcases.yml  
49 - parameters:  
50 - account: ${create_phone_number(1)}  
51 -  
52 -- name: ACTUAL003:合伙人搜索——实际订单列表  
53 - testcase: testcases/actual/ACTUAL003_actual_list_testcases.yml  
54 -  
55 -- name: ACTUAL004:搜索发货单号——实际订单列表  
56 - testcase: testcases/actual/ACTUAL004_actual_list_testcases.yml  
57 -  
58 -- name: ACTUAL005:查看实际订单详情  
59 - testcase: testcases/actual/ACTUAL005_actual_detail_testcases.yml  
60 -  
61 -- name: ACTUAL006:删除实际订单  
62 - testcase: testcases/actual/ACTUAL006_actual_del_testcases.yml  
63 -  
64 -- name: PURPOSE001:新增意向订单  
65 - testcase: testcases/purpose/PURPOSE001_add_purpose_testcases.yml  
66 - parameters:  
67 - account: ${create_phone_number(1)}  
68 -  
69 -- name: PURPOSE002:编辑意向订单  
70 - testcase: testcases/purpose/PURPOSE002_edit_purpose_testcases.yml  
71 -  
72 -- name: PURPOSE003:合伙人搜索——意向订单列表  
73 - testcase: testcases/purpose/PURPOSE003_purpose_list_testcases.yml  
74 -  
75 -- name: PURPOSE004:搜索订单号——意向订单列表  
76 - testcase: testcases/purpose/PURPOSE003_purpose_list_testcases.yml  
77 -  
78 -- name: PURPOSE005:意向订单发货  
79 - testcase: testcases/purpose/PURPOSE005_purpose_sendout_testcases.yml  
80 -  
81 -- name: PURPOSE006:查看意向订单详情  
82 - testcase: testcases/purpose/PURPOSE006_purpose_detail_testcases.yml  
83 -  
84 -- name: ACTUAL007:删除意向订单  
85 - testcase: testcases/purpose/PURPOSE007_purpose_del_testcases.yml  
86 -  
87 -- name: dividends:分红管理-编辑  
88 - testcase: testcases/dividends/dividend_edit_testcases.yml  
89 -  
90 -- name: statistics:订单统计  
91 - testcase: testcases/order/order_statistics_testcases.yml  
92 -  
93 -- name: statistics:订单详情  
94 - testcase: testcases/order/order_details_testcases.yml  
95 -  
96 -- name: statistics:分红统计  
97 - testcase: testcases/dividend/dividend_statistics_testcases.yml  
98 -  
99 -- name: orders001:已收明细——分红订单  
100 - testcase: testcases/dividend/dividend_orders001_testcases.yml  
101 -  
102 -- name: orders002:未收明细——分红订单  
103 - testcase: testcases/dividend/dividend_orders002_testcases.yml  
104 -  
105 -- name: list:实发订单列表  
106 - testcase: testcases/order/order_list_testcases.yml  
  29 +#- name: PARTNERS002:编辑合伙人
  30 +# testcase: testcases/partners/PARTNERS002_edit_partner_testcases.yml
  31 +#
  32 +#- name: PARTNERS003:搜索合伙类型
  33 +# testcase: testcases/partners/PARTNERS003_list_partner_testcases.yml
  34 +#
  35 +#- name: PARTNERS004:搜索合伙人名称
  36 +# testcase: testcases/partners/PARTNERS004_list_partner_testcases.yml
  37 +#
  38 +#- name: PARTNERS005:查看合伙人
  39 +# testcase: testcases/partners/PARTNERS005_detail_partner_testcases.yml
  40 +#
  41 +#- name: PARTNERS006:禁用合伙人
  42 +# testcase: testcases/partners/PARTNERS006_set-status_partner1_testcases.yml
  43 +#
  44 +#- name: PARTNERS006:启用合伙人
  45 +# testcase: testcases/partners/PARTNERS007_set-status_partner2_testcases.yml
  46 +#
  47 +#- name: ACTUAL001:新增实际订单
  48 +# testcase: testcases/actual/ACTUAL001_add_actual_testcases.yml
  49 +# parameters:
  50 +# account: ${create_phone_number(1)}
  51 +#
  52 +#- name: ACTUAL003:合伙人搜索——实际订单列表
  53 +# testcase: testcases/actual/ACTUAL003_actual_list_testcases.yml
  54 +#
  55 +#- name: ACTUAL004:搜索发货单号——实际订单列表
  56 +# testcase: testcases/actual/ACTUAL004_actual_list_testcases.yml
  57 +#
  58 +#- name: ACTUAL005:查看实际订单详情
  59 +# testcase: testcases/actual/ACTUAL005_actual_detail_testcases.yml
  60 +#
  61 +#- name: ACTUAL006:删除实际订单
  62 +# testcase: testcases/actual/ACTUAL006_actual_del_testcases.yml
  63 +#
  64 +#- name: PURPOSE001:新增意向订单
  65 +# testcase: testcases/purpose/PURPOSE001_add_purpose_testcases.yml
  66 +# parameters:
  67 +# account: ${create_phone_number(1)}
  68 +#
  69 +#- name: PURPOSE002:编辑意向订单
  70 +# testcase: testcases/purpose/PURPOSE002_edit_purpose_testcases.yml
  71 +#
  72 +#- name: PURPOSE003:合伙人搜索——意向订单列表
  73 +# testcase: testcases/purpose/PURPOSE003_purpose_list_testcases.yml
  74 +#
  75 +#- name: PURPOSE004:搜索订单号——意向订单列表
  76 +# testcase: testcases/purpose/PURPOSE003_purpose_list_testcases.yml
  77 +#
  78 +#- name: PURPOSE005:意向订单发货
  79 +# testcase: testcases/purpose/PURPOSE005_purpose_sendout_testcases.yml
  80 +#
  81 +#- name: PURPOSE006:查看意向订单详情
  82 +# testcase: testcases/purpose/PURPOSE006_purpose_detail_testcases.yml
  83 +#
  84 +#- name: ACTUAL007:删除意向订单
  85 +# testcase: testcases/purpose/PURPOSE007_purpose_del_testcases.yml
  86 +#
  87 +#- name: dividends:分红管理-编辑
  88 +# testcase: testcases/dividends/dividend_edit_testcases.yml
  89 +#
  90 +#- name: statistics:订单统计
  91 +# testcase: testcases/order/order_statistics_testcases.yml
  92 +#
  93 +#- name: statistics:订单详情
  94 +# testcase: testcases/order/order_details_testcases.yml
  95 +#
  96 +#- name: statistics:分红统计
  97 +# testcase: testcases/dividend/dividend_statistics_testcases.yml
  98 +#
  99 +#- name: orders001:已收明细——分红订单
  100 +# testcase: testcases/dividend/dividend_orders001_testcases.yml
  101 +#
  102 +#- name: orders002:未收明细——分红订单
  103 +# testcase: testcases/dividend/dividend_orders002_testcases.yml
  104 +#
  105 +#- name: list:实发订单列表
  106 +# testcase: testcases/order/order_list_testcases.yml