作者 bianxinhua

合并app端脚本

@@ -13,3 +13,9 @@ base_business_admin=http://suplus-business-admin-gateway-test.fjmaimaimai.com @@ -13,3 +13,9 @@ base_business_admin=http://suplus-business-admin-gateway-test.fjmaimaimai.com
13 companyId=214 13 companyId=214
14 adminphone=19911111111 14 adminphone=19911111111
15 partnerphone=15510101010 15 partnerphone=15510101010
  16 +companyId_app=366
  17 +adminphone_app=19990000000
  18 +partnerId_app = 1040
  19 +visitorphone = 19990000011
  20 +managerphone = 19990000012
  21 +id = 358
@@ -2,10 +2,37 @@ @@ -2,10 +2,37 @@
2 <project version="4"> 2 <project version="4">
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 afterPath="$PROJECT_DIR$/api/m_api/actual/m_add_app_order_actual_api.yml" afterDir="false" />
  6 + <change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" />
5 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> 7 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
  8 + <change beforePath="$PROJECT_DIR$/api/app_api/dividend/orders001.api.yml" beforeDir="false" />
  9 + <change beforePath="$PROJECT_DIR$/api/app_api/dividend/orders002.api.yml" beforeDir="false" />
  10 + <change beforePath="$PROJECT_DIR$/api/app_api/dividend/statistics_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/dividend/statistics_api.yml" afterDir="false" />
  11 + <change beforePath="$PROJECT_DIR$/api/app_api/login/auth_centerCompanys_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/login/auth_centerCompanys_api.yml" afterDir="false" />
  12 + <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" />
  13 + <change beforePath="$PROJECT_DIR$/api/app_api/order/list_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/order/list_api.yml" afterDir="false" />
  14 + <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" />
  15 + <change beforePath="$PROJECT_DIR$/api/m_api/actual/m_order_actual_excel_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/actual/m_order_actual_excel_api.yml" afterDir="false" />
  16 + <change beforePath="$PROJECT_DIR$/api/m_api/actual/m_order_actual_list_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/actual/m_order_actual_list_api.yml" afterDir="false" />
  17 + <change beforePath="$PROJECT_DIR$/api/m_api/admin/m_admin_update_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/admin/m_admin_update_api.yml" afterDir="false" />
  18 + <change beforePath="$PROJECT_DIR$/api/m_api/dividends/m_dividends_detail_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/dividends/m_dividends_detail_api.yml" afterDir="false" />
  19 + <change beforePath="$PROJECT_DIR$/api/m_api/dividends/m_dividends_modify_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/dividends/m_dividends_modify_api.yml" afterDir="false" />
  20 + <change beforePath="$PROJECT_DIR$/api/m_api/dividends/m_dividends_payDividends_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/dividends/m_dividends_payDividends_api.yml" afterDir="false" />
  21 + <change beforePath="$PROJECT_DIR$/api/m_api/m_login_api/m_login_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/m_login_api/m_login_api.yml" afterDir="false" />
  22 + <change beforePath="$PROJECT_DIR$/api/m_api/partners/m_partner_add_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/partners/m_partner_add_api.yml" afterDir="false" />
  23 + <change beforePath="$PROJECT_DIR$/api/m_api/partners/m_partner_edit_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/partners/m_partner_edit_api.yml" afterDir="false" />
  24 + <change beforePath="$PROJECT_DIR$/api/m_api/partners/m_partner_list_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/partners/m_partner_list_api.yml" afterDir="false" />
6 <change beforePath="$PROJECT_DIR$/config/m_accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/m_accessToken.csv" afterDir="false" /> 25 <change beforePath="$PROJECT_DIR$/config/m_accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/m_accessToken.csv" 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" />  
8 - <change beforePath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" afterDir="false" /> 26 + <change beforePath="$PROJECT_DIR$/config/orderid.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/orderid.csv" afterDir="false" />
  27 + <change beforePath="$PROJECT_DIR$/debugtalk.py" beforeDir="false" afterPath="$PROJECT_DIR$/debugtalk.py" afterDir="false" />
  28 + <change beforePath="$PROJECT_DIR$/helpfunc/cal_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/cal_func.py" afterDir="false" />
  29 + <change beforePath="$PROJECT_DIR$/helpfunc/login_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/login_func.py" afterDir="false" />
  30 + <change beforePath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" afterDir="false" />
  31 + <change beforePath="$PROJECT_DIR$/helpfunc/pg_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_db_func.py" afterDir="false" />
  32 + <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" />
  33 + <change beforePath="$PROJECT_DIR$/reports/20200915T060756.262606.html" beforeDir="false" />
  34 + <change beforePath="$PROJECT_DIR$/reports/20200915T060845.846606.html" beforeDir="false" />
  35 + <change beforePath="$PROJECT_DIR$/testcases_excel/partner_api.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/testcases_excel/partner_api.xlsx" afterDir="false" />
9 </list> 36 </list>
10 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> 37 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
11 <option name="SHOW_DIALOG" value="false" /> 38 <option name="SHOW_DIALOG" value="false" />
@@ -22,46 +49,19 @@ @@ -22,46 +49,19 @@
22 <component name="FileEditorManager"> 49 <component name="FileEditorManager">
23 <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> 50 <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
24 <file pinned="false" current-in-tab="false"> 51 <file pinned="false" current-in-tab="false">
25 - <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml"> 52 + <entry file="file://$PROJECT_DIR$/.env">
26 <provider selected="true" editor-type-id="text-editor"> 53 <provider selected="true" editor-type-id="text-editor">
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" /> 54 + <state relative-caret-position="182">
  55 + <caret line="13" column="22" selection-start-line="13" selection-start-column="11" selection-end-line="13" selection-end-column="22" />
29 </state> 56 </state>
30 </provider> 57 </provider>
31 </entry> 58 </entry>
32 </file> 59 </file>
33 <file pinned="false" current-in-tab="true"> 60 <file pinned="false" current-in-tab="true">
34 - <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_add_api.yml">  
35 - <provider selected="true" editor-type-id="text-editor">  
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"> 61 + <entry file="file://$PROJECT_DIR$/testsuites/partner_app_testsuite.yml">
62 <provider selected="true" editor-type-id="text-editor"> 62 <provider selected="true" editor-type-id="text-editor">
63 <state relative-caret-position="234"> 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" /> 64 + <caret line="39" selection-start-line="39" selection-end-line="43" selection-end-column="74" />
65 </state> 65 </state>
66 </provider> 66 </provider>
67 </entry> 67 </entry>
@@ -77,13 +77,6 @@ @@ -77,13 +77,6 @@
77 </component> 77 </component>
78 <component name="FindInProjectRecents"> 78 <component name="FindInProjectRecents">
79 <findStrings> 79 <findStrings>
80 - <find>address</find>  
81 - <find>buyerPhone</find>  
82 - <find>orderDist</find>  
83 - <find>admin_account</find>  
84 - <find>actual_address</find>  
85 - <find>get_actual_delivery_code_from_database</find>  
86 - <find>get_order_status_from_database</find>  
87 <find>get_actual_id_from_database</find> 80 <find>get_actual_id_from_database</find>
88 <find>get_account_from_database</find> 81 <find>get_account_from_database</find>
89 <find>get_admin_account_from_database</find> 82 <find>get_admin_account_from_database</find>
@@ -107,6 +100,13 @@ @@ -107,6 +100,13 @@
107 <find>print</find> 100 <find>print</find>
108 <find>create_phone_number</find> 101 <find>create_phone_number</find>
109 <find>get_m_accesstoken()</find> 102 <find>get_m_accesstoken()</find>
  103 + <find>statistics_func</find>
  104 + <find>career_lists</find>
  105 + <find>career_partnerCategory</find>
  106 + <find>career_totalRow</find>
  107 + <find>career_actual_list</find>
  108 + <find>statistics_actual_func</find>
  109 + <find>orderType</find>
110 </findStrings> 110 </findStrings>
111 </component> 111 </component>
112 <component name="Git.Settings"> 112 <component name="Git.Settings">
@@ -115,34 +115,6 @@ @@ -115,34 +115,6 @@
115 <component name="IdeDocumentHistory"> 115 <component name="IdeDocumentHistory">
116 <option name="CHANGED_PATHS"> 116 <option name="CHANGED_PATHS">
117 <list> 117 <list>
118 - <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" />  
119 - <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" />  
120 - <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml" />  
121 - <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE003_purpose_list_testcases.yml" />  
122 - <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_searchText_list_api.yml" />  
123 - <option value="$PROJECT_DIR$/api/m_api/admin/m_admin_update(edit)_api.yml" />  
124 - <option value="$PROJECT_DIR$/api/m_api/admin/m_admin_list_api.yml" />  
125 - <option value="$PROJECT_DIR$/api/m_api/admin/m_admin_detail_api.yml" />  
126 - <option value="$PROJECT_DIR$/api/m_api/admin/m_admin_forbidden_0_api.yml" />  
127 - <option value="$PROJECT_DIR$/api/m_api/admin/m_admin_forbidden_1_api.yml" />  
128 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_edit_api.yml" />  
129 - <option value="$PROJECT_DIR$/testcases/partners/PARTNERS003_list_partner_testcases.yml" />  
130 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_partnertype_list_api.yml" />  
131 - <option value="$PROJECT_DIR$/testcases/partners/PARTNERS004_list_partner_testcases.yml" />  
132 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_partnerName_list_api.yml" />  
133 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_detail_api.yml" />  
134 - <option value="$PROJECT_DIR$/testcases/partners/PARTNERS005_detail_partner_testcases.yml" />  
135 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_set-status_1_api.yml" />  
136 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_set-status_2_api.yml" />  
137 - <option value="$PROJECT_DIR$/testcases/actual/ACTUAL006_actual_del_testcases.yml" />  
138 - <option value="$PROJECT_DIR$/api/m_api/actual/m_order_actual_del_api.yml" />  
139 - <option value="$PROJECT_DIR$/testcases/actual/ACTUAL004_actual_list_testcases.yml" />  
140 - <option value="$PROJECT_DIR$/api/m_api/actual/m_order_actual_searchText_list_api.yml" />  
141 - <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE005_purpose_sendout_testcases.yml" />  
142 - <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_sendout_api.yml" />  
143 - <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_del_api.yml" />  
144 - <option value="$PROJECT_DIR$/testcases/purpose/ACTUAL007_purpose_del_testcases.yml" />  
145 - <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE007_purpose_del_testcases.yml" />  
146 <option value="$PROJECT_DIR$/testcases/dividends/dividend_edit_testcases.yml" /> 118 <option value="$PROJECT_DIR$/testcases/dividends/dividend_edit_testcases.yml" />
147 <option value="$PROJECT_DIR$/api/m_api/dividends/m_order_dividends_edit_api.yml" /> 119 <option value="$PROJECT_DIR$/api/m_api/dividends/m_order_dividends_edit_api.yml" />
148 <option value="$PROJECT_DIR$/testcases/m_pwd_updat_testcases.yml" /> 120 <option value="$PROJECT_DIR$/testcases/m_pwd_updat_testcases.yml" />
@@ -159,13 +131,41 @@ @@ -159,13 +131,41 @@
159 <option value="$PROJECT_DIR$/testcases/admin/ADMIN001_add_admin_testcases.yml" /> 131 <option value="$PROJECT_DIR$/testcases/admin/ADMIN001_add_admin_testcases.yml" />
160 <option value="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" /> 132 <option value="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" />
161 <option value="$PROJECT_DIR$/api/app_api/order/details_api.yml" /> 133 <option value="$PROJECT_DIR$/api/app_api/order/details_api.yml" />
162 - <option value="$PROJECT_DIR$/helpfunc/pg_db_func.py" />  
163 <option value="$PROJECT_DIR$/testcases/actual/ACTUAL001_add_actual_testcases.yml" /> 134 <option value="$PROJECT_DIR$/testcases/actual/ACTUAL001_add_actual_testcases.yml" />
164 <option value="$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml" /> 135 <option value="$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml" />
165 <option value="$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml" /> 136 <option value="$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml" />
166 <option value="$PROJECT_DIR$/debugtalk.py" /> 137 <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" /> 138 <option value="$PROJECT_DIR$/testcases/partners/PARTNERS001_add_partner_testcases.yml" />
  139 + <option value="$PROJECT_DIR$/helpfunc/pg_db_func.py" />
  140 + <option value="$PROJECT_DIR$/.env" />
  141 + <option value="$PROJECT_DIR$/testcases/common/COM001-1_actual_add_testcases.yml" />
  142 + <option value="$PROJECT_DIR$/testcases/common/COM001_actual_add_testcases.yml" />
  143 + <option value="$PROJECT_DIR$/api/m_api/actual/m_add_app_order_actual_api.yml" />
  144 + <option value="$PROJECT_DIR$/testcases/dividends/DIV003_1_app_dividends_cal_testcases.yml" />
  145 + <option value="$PROJECT_DIR$/testcases/app/common/app_login_testcases.yml" />
  146 + <option value="$PROJECT_DIR$/api/app_api/login/auth_login_api.yml" />
  147 + <option value="$PROJECT_DIR$/testcases/dividends/DIV001_app_dividendslist_testcases.yml" />
  148 + <option value="$PROJECT_DIR$/testcases/app/dividends/DIVI001_career_dividendslist_testcases.yml" />
  149 + <option value="$PROJECT_DIR$/helpfunc/statistics_func.py" />
  150 + <option value="$PROJECT_DIR$/api/m_api/m_login_api/m_pwdLogin_api.yml" />
  151 + <option value="$PROJECT_DIR$/testcases/common/m_app_login_testcases.yml" />
  152 + <option value="$PROJECT_DIR$/testcases/dividends/DIV004_1_app_dividends_editnum_testcases.yml" />
  153 + <option value="$PROJECT_DIR$/testcases/dividends/DIV007_app_dividends_payDividends_testcases.yml" />
  154 + <option value="$PROJECT_DIR$/testcases/dividends/DIV008_app_dividends_payDividends_editnum_testcases.yml" />
  155 + <option value="$PROJECT_DIR$/testcases/dividends/DIV010_app_dividends_payDividends_batch_testcases.yml" />
  156 + <option value="$PROJECT_DIR$/testcases/app/dividends/DIVI002_career_dividendslist_testcases.yml" />
  157 + <option value="$PROJECT_DIR$/testcases/app/dividends/DIVI003_career_dividends_orderslist_testcases.yml" />
  158 + <option value="$PROJECT_DIR$/api/app_api/dividend/orders_api.yml" />
  159 + <option value="$PROJECT_DIR$/testcases/app/dividends/DIVI005_dividends_Details_testcases.yml" />
  160 + <option value="$PROJECT_DIR$/testcases/app/dividends/DIVI006_tomorrow_career_dividendslist_testcases.yml" />
  161 + <option value="$PROJECT_DIR$/api/app_api/order/list_api.yml" />
  162 + <option value="$PROJECT_DIR$/testcases/app/common/COMM2_app_manager_login_testcases.yml" />
  163 + <option value="$PROJECT_DIR$/testcases/app/common/COMM4_app_more_company_manager_login_testcases.yml" />
  164 + <option value="$PROJECT_DIR$/testcases/dividends/DIV001_dividendslist_testcases.yml" />
  165 + <option value="$PROJECT_DIR$/testsuites/partner_testsuite.yml" />
  166 + <option value="$PROJECT_DIR$/testcases/common/COM001_app_actual_add_testcases.yml" />
  167 + <option value="$PROJECT_DIR$/testcases/common/COM001-1_app_actual_add_testcases.yml" />
  168 + <option value="$PROJECT_DIR$/testsuites/partner_app_testsuite.yml" />
169 </list> 169 </list>
170 </option> 170 </option>
171 </component> 171 </component>
@@ -180,7 +180,6 @@ @@ -180,7 +180,6 @@
180 <foldersAlwaysOnTop value="true" /> 180 <foldersAlwaysOnTop value="true" />
181 </navigator> 181 </navigator>
182 <panes> 182 <panes>
183 - <pane id="Scope" />  
184 <pane id="ProjectPane"> 183 <pane id="ProjectPane">
185 <subPane> 184 <subPane>
186 <expand> 185 <expand>
@@ -204,14 +203,7 @@ @@ -204,14 +203,7 @@
204 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 203 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
205 <item name="api" type="462c0819:PsiDirectoryNode" /> 204 <item name="api" type="462c0819:PsiDirectoryNode" />
206 <item name="m_api" type="462c0819:PsiDirectoryNode" /> 205 <item name="m_api" type="462c0819:PsiDirectoryNode" />
207 - <item name="admin" type="462c0819:PsiDirectoryNode" />  
208 - </path>  
209 - <path>  
210 - <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />  
211 - <item name="partner_api" type="462c0819:PsiDirectoryNode" />  
212 - <item name="api" type="462c0819:PsiDirectoryNode" />  
213 - <item name="m_api" type="462c0819:PsiDirectoryNode" />  
214 - <item name="partners" type="462c0819:PsiDirectoryNode" /> 206 + <item name="actual" type="462c0819:PsiDirectoryNode" />
215 </path> 207 </path>
216 <path> 208 <path>
217 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 209 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
@@ -227,19 +219,20 @@ @@ -227,19 +219,20 @@
227 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 219 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
228 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 220 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
229 <item name="testcases" type="462c0819:PsiDirectoryNode" /> 221 <item name="testcases" type="462c0819:PsiDirectoryNode" />
230 - <item name="actual" type="462c0819:PsiDirectoryNode" /> 222 + <item name="app" type="462c0819:PsiDirectoryNode" />
231 </path> 223 </path>
232 <path> 224 <path>
233 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 225 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
234 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 226 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
235 <item name="testcases" type="462c0819:PsiDirectoryNode" /> 227 <item name="testcases" type="462c0819:PsiDirectoryNode" />
236 - <item name="admin" type="462c0819:PsiDirectoryNode" /> 228 + <item name="app" type="462c0819:PsiDirectoryNode" />
  229 + <item name="dividends" type="462c0819:PsiDirectoryNode" />
237 </path> 230 </path>
238 <path> 231 <path>
239 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 232 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
240 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 233 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
241 <item name="testcases" type="462c0819:PsiDirectoryNode" /> 234 <item name="testcases" type="462c0819:PsiDirectoryNode" />
242 - <item name="dividend" type="462c0819:PsiDirectoryNode" /> 235 + <item name="common" type="462c0819:PsiDirectoryNode" />
243 </path> 236 </path>
244 <path> 237 <path>
245 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 238 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
@@ -262,12 +255,6 @@ @@ -262,12 +255,6 @@
262 <path> 255 <path>
263 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 256 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
264 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 257 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
265 - <item name="testcases" type="462c0819:PsiDirectoryNode" />  
266 - <item name="purpose" type="462c0819:PsiDirectoryNode" />  
267 - </path>  
268 - <path>  
269 - <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />  
270 - <item name="partner_api" type="462c0819:PsiDirectoryNode" />  
271 <item name="testsuites" type="462c0819:PsiDirectoryNode" /> 258 <item name="testsuites" type="462c0819:PsiDirectoryNode" />
272 </path> 259 </path>
273 <path> 260 <path>
@@ -283,6 +270,7 @@ @@ -283,6 +270,7 @@
283 <select /> 270 <select />
284 </subPane> 271 </subPane>
285 </pane> 272 </pane>
  273 + <pane id="Scope" />
286 </panes> 274 </panes>
287 </component> 275 </component>
288 <component name="PropertiesComponent"> 276 <component name="PropertiesComponent">
@@ -293,16 +281,16 @@ @@ -293,16 +281,16 @@
293 <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" /> 281 <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
294 </component> 282 </component>
295 <component name="RecentsManager"> 283 <component name="RecentsManager">
  284 + <key name="MoveFile.RECENT_KEYS">
  285 + <recent name="E:\mmm_auto\partner_api\api\m_api\purpose" />
  286 + <recent name="E:\mmm_auto\partner_api\api\m_api\partners" />
  287 + </key>
296 <key name="CopyFile.RECENT_KEYS"> 288 <key name="CopyFile.RECENT_KEYS">
  289 + <recent name="E:\partner_api\api\m_api\actual" />
297 <recent name="E:\partner_api\testcases" /> 290 <recent name="E:\partner_api\testcases" />
298 <recent name="E:\partner_api\testcases\dividends" /> 291 <recent name="E:\partner_api\testcases\dividends" />
299 <recent name="E:\partner_api\api\m_api\dividends" /> 292 <recent name="E:\partner_api\api\m_api\dividends" />
300 <recent name="E:\partner_api\testcases\purpose" /> 293 <recent name="E:\partner_api\testcases\purpose" />
301 - <recent name="E:\partner_api\api\m_api\purpose" />  
302 - </key>  
303 - <key name="MoveFile.RECENT_KEYS">  
304 - <recent name="E:\mmm_auto\partner_api\api\m_api\purpose" />  
305 - <recent name="E:\mmm_auto\partner_api\api\m_api\partners" />  
306 </key> 294 </key>
307 </component> 295 </component>
308 <component name="RunDashboard"> 296 <component name="RunDashboard">
@@ -468,17 +456,18 @@ @@ -468,17 +456,18 @@
468 <workItem from="1600048954187" duration="594000" /> 456 <workItem from="1600048954187" duration="594000" />
469 <workItem from="1600149832884" duration="362000" /> 457 <workItem from="1600149832884" duration="362000" />
470 <workItem from="1600393472912" duration="599000" /> 458 <workItem from="1600393472912" duration="599000" />
  459 + <workItem from="1613874101041" duration="17137000" />
471 </task> 460 </task>
472 <servers /> 461 <servers />
473 </component> 462 </component>
474 <component name="TimeTrackingManager"> 463 <component name="TimeTrackingManager">
475 - <option name="totallyTimeSpent" value="232032000" /> 464 + <option name="totallyTimeSpent" value="249169000" />
476 </component> 465 </component>
477 <component name="ToolWindowManager"> 466 <component name="ToolWindowManager">
478 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> 467 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
479 <layout> 468 <layout>
480 <window_info id="Favorites" order="0" side_tool="true" /> 469 <window_info id="Favorites" order="0" side_tool="true" />
481 - <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.20708154" /> 470 + <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.20976394" />
482 <window_info id="Structure" order="2" side_tool="true" weight="0.25" /> 471 <window_info id="Structure" order="2" side_tool="true" weight="0.25" />
483 <window_info anchor="bottom" id="Docker" order="0" show_stripe_button="false" /> 472 <window_info anchor="bottom" id="Docker" order="0" show_stripe_button="false" />
484 <window_info active="true" anchor="bottom" id="Terminal" order="1" visible="true" weight="0.46763393" /> 473 <window_info active="true" anchor="bottom" id="Terminal" order="1" visible="true" weight="0.46763393" />
@@ -504,276 +493,296 @@ @@ -504,276 +493,296 @@
504 <option name="version" value="1" /> 493 <option name="version" value="1" />
505 </component> 494 </component>
506 <component name="editorHistoryManager"> 495 <component name="editorHistoryManager">
507 - <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml"> 496 + <entry file="file://$PROJECT_DIR$/helpfunc/db_func.py">
  497 + <provider selected="true" editor-type-id="text-editor" />
  498 + </entry>
  499 + <entry file="file://$PROJECT_DIR$/helpfunc/cal_func.py">
508 <provider selected="true" editor-type-id="text-editor"> 500 <provider selected="true" editor-type-id="text-editor">
509 - <state relative-caret-position="78">  
510 - <caret line="3" column="39" selection-start-line="3" selection-start-column="39" selection-end-line="3" selection-end-column="39" />  
511 - </state> 501 + <state relative-caret-position="-314" />
512 </provider> 502 </provider>
513 </entry> 503 </entry>
514 - <entry file="file://$PROJECT_DIR$/helpfunc/header_func.py"> 504 + <entry file="file://$PROJECT_DIR$/testcases/common/start_testcases.yml">
515 <provider selected="true" editor-type-id="text-editor" /> 505 <provider selected="true" editor-type-id="text-editor" />
516 </entry> 506 </entry>
517 - <entry file="file://$PROJECT_DIR$/.env"> 507 + <entry file="file://$PROJECT_DIR$/testcases/common/COM001-1_actual_add_testcases.yml">
518 <provider selected="true" editor-type-id="text-editor"> 508 <provider selected="true" editor-type-id="text-editor">
519 - <state relative-caret-position="234">  
520 - <caret line="9" column="8" selection-start-line="9" selection-end-line="9" selection-end-column="8" /> 509 + <state relative-caret-position="182">
  510 + <caret line="7" column="20" lean-forward="true" selection-start-line="7" selection-start-column="20" selection-end-line="7" selection-end-column="20" />
521 </state> 511 </state>
522 </provider> 512 </provider>
523 </entry> 513 </entry>
524 - <entry file="file://$PROJECT_DIR$/testcases/login_testcases.yml"> 514 + <entry file="file://$PROJECT_DIR$/api/app_api/login/auth_login_api.yml">
525 <provider selected="true" editor-type-id="text-editor"> 515 <provider selected="true" editor-type-id="text-editor">
526 - <state relative-caret-position="525">  
527 - <caret line="28" lean-forward="true" selection-start-line="17" selection-end-line="28" /> 516 + <state relative-caret-position="-234">
  517 + <caret line="6" column="28" selection-start-line="6" selection-start-column="28" selection-end-line="6" selection-end-column="28" />
528 </state> 518 </state>
529 </provider> 519 </provider>
530 </entry> 520 </entry>
531 - <entry file="file://$PROJECT_DIR$/api/app_api/dividend/orders001.api.yml"> 521 + <entry file="file://$PROJECT_DIR$/api/app_api/login/accessToken_api.yml">
532 <provider selected="true" editor-type-id="text-editor"> 522 <provider selected="true" editor-type-id="text-editor">
533 - <state relative-caret-position="213">  
534 - <caret line="9" column="82" selection-start-line="9" selection-start-column="25" selection-end-line="9" selection-end-column="82" />  
535 - </state> 523 + <state relative-caret-position="-390" />
536 </provider> 524 </provider>
537 </entry> 525 </entry>
538 - <entry file="file://$PROJECT_DIR$/api/app_api/dividend/orders002.api.yml"> 526 + <entry file="file://$PROJECT_DIR$/api/app_api/login/auth_accessToken_api.yml">
539 <provider selected="true" editor-type-id="text-editor"> 527 <provider selected="true" editor-type-id="text-editor">
540 - <state relative-caret-position="182">  
541 - <caret line="7" column="61" selection-start-line="7" selection-start-column="61" selection-end-line="7" selection-end-column="61" />  
542 - </state> 528 + <state relative-caret-position="-156" />
543 </provider> 529 </provider>
544 </entry> 530 </entry>
545 - <entry file="file://$PROJECT_DIR$/testcases/dividend/dividend_orders002_testcases.yml"> 531 + <entry file="file://$PROJECT_DIR$/api/app_api/login/auth_companys_api.yml">
546 <provider selected="true" editor-type-id="text-editor"> 532 <provider selected="true" editor-type-id="text-editor">
547 - <state relative-caret-position="130">  
548 - <caret line="5" column="65" selection-start-line="5" selection-start-column="22" selection-end-line="5" selection-end-column="65" />  
549 - </state> 533 + <state relative-caret-position="-156" />
550 </provider> 534 </provider>
551 </entry> 535 </entry>
552 - <entry file="file://$PROJECT_DIR$/testcases/m_login_testcases.yml"> 536 + <entry file="file://$PROJECT_DIR$/api/app_api/login/auth_centerCompanys_api.yml">
553 <provider selected="true" editor-type-id="text-editor" /> 537 <provider selected="true" editor-type-id="text-editor" />
554 </entry> 538 </entry>
555 - <entry file="file://$PROJECT_DIR$/api/m_api/admin/m_admin_update(new)_api.yml"> 539 + <entry file="file://$PROJECT_DIR$/testcases/app/common/app_login_testcases.yml">
556 <provider selected="true" editor-type-id="text-editor"> 540 <provider selected="true" editor-type-id="text-editor">
557 - <state relative-caret-position="234">  
558 - <caret line="9" column="45" selection-start-line="9" selection-start-column="37" selection-end-line="9" selection-end-column="45" /> 541 + <state relative-caret-position="104">
  542 + <caret line="4" column="35" selection-start-line="4" selection-start-column="21" selection-end-line="4" selection-end-column="35" />
559 </state> 543 </state>
560 </provider> 544 </provider>
561 </entry> 545 </entry>
562 - <entry file="file://$PROJECT_DIR$/api/app_api/login/login_api.yml"> 546 + <entry file="file://$PROJECT_DIR$/api/app_api/dividend/statistics_api.yml">
  547 + <provider selected="true" editor-type-id="text-editor" />
  548 + </entry>
  549 + <entry file="file://$PROJECT_DIR$/api/m_api/m_login_api/m_login_api.yml">
563 <provider selected="true" editor-type-id="text-editor"> 550 <provider selected="true" editor-type-id="text-editor">
564 - <state relative-caret-position="234">  
565 - <caret line="9" column="51" selection-start-line="9" selection-start-column="51" selection-end-line="9" selection-end-column="51" /> 551 + <state relative-caret-position="78">
  552 + <caret line="3" column="29" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="29" />
566 </state> 553 </state>
567 </provider> 554 </provider>
568 </entry> 555 </entry>
569 - <entry file="file://$PROJECT_DIR$/api/app_api/login/accessToken_api.yml"> 556 + <entry file="file://$PROJECT_DIR$/api/app_api/login/gettimestamp_api.yml">
  557 + <provider selected="true" editor-type-id="text-editor" />
  558 + </entry>
  559 + <entry file="file://$PROJECT_DIR$/testcases/common/start_app_testcases.yml">
570 <provider selected="true" editor-type-id="text-editor" /> 560 <provider selected="true" editor-type-id="text-editor" />
571 </entry> 561 </entry>
572 - <entry file="file://$PROJECT_DIR$/api/m_api/m_login_api.yml"> 562 + <entry file="file://$PROJECT_DIR$/api/app_api/order/statistics_api.yml">
  563 + <provider selected="true" editor-type-id="text-editor" />
  564 + </entry>
  565 + <entry file="file://$PROJECT_DIR$/debugtalk.py">
573 <provider selected="true" editor-type-id="text-editor"> 566 <provider selected="true" editor-type-id="text-editor">
574 - <state relative-caret-position="-78" /> 567 + <state relative-caret-position="-704">
  568 + <caret line="10" column="29" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="29" />
  569 + </state>
575 </provider> 570 </provider>
576 </entry> 571 </entry>
577 - <entry file="file://$PROJECT_DIR$/api/app_api/order/details_api.yml"> 572 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV001_app_dividendslist_testcases.yml">
578 <provider selected="true" editor-type-id="text-editor"> 573 <provider selected="true" editor-type-id="text-editor">
579 - <state relative-caret-position="182">  
580 - <caret line="7" column="36" selection-start-line="7" selection-start-column="36" selection-end-line="7" selection-end-column="36" /> 574 + <state relative-caret-position="598">
  575 + <caret line="23" column="46" selection-start-line="23" selection-start-column="46" selection-end-line="23" selection-end-column="46" />
581 </state> 576 </state>
582 </provider> 577 </provider>
583 </entry> 578 </entry>
584 - <entry file="file://$PROJECT_DIR$/api/app_api/order/list_api.yml">  
585 - <provider selected="true" editor-type-id="text-editor" />  
586 - </entry>  
587 - <entry file="file://$PROJECT_DIR$/api/app_api/order/statistics_api.yml"> 579 + <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_order_actual_detail_api.yml">
588 <provider selected="true" editor-type-id="text-editor"> 580 <provider selected="true" editor-type-id="text-editor">
589 - <state relative-caret-position="806">  
590 - <caret line="31" selection-start-line="31" selection-end-line="42" selection-end-column="30" /> 581 + <state relative-caret-position="338">
  582 + <caret line="13" column="9" lean-forward="true" selection-start-line="13" selection-start-column="9" selection-end-line="13" selection-end-column="9" />
591 </state> 583 </state>
592 </provider> 584 </provider>
593 </entry> 585 </entry>
594 - <entry file="file://$PROJECT_DIR$/testcases/actual/ACTUAL001_add_actual_testcases.yml"> 586 + <entry file="file://$PROJECT_DIR$/helpfunc/statistics_func.py">
595 <provider selected="true" editor-type-id="text-editor"> 587 <provider selected="true" editor-type-id="text-editor">
596 - <state relative-caret-position="156">  
597 - <caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" /> 588 + <state relative-caret-position="234">
  589 + <caret line="55" selection-start-line="55" selection-end-line="56" selection-end-column="27" />
598 </state> 590 </state>
599 </provider> 591 </provider>
600 </entry> 592 </entry>
601 - <entry file="file://$PROJECT_DIR$/testcases/actual/ACTUAL003_actual_list_testcases.yml">  
602 - <provider selected="true" editor-type-id="text-editor" />  
603 - </entry>  
604 - <entry file="file://$PROJECT_DIR$/testcases/actual/ACTUAL004_actual_list_testcases.yml"> 593 + <entry file="file://$PROJECT_DIR$/api/m_api/m_login_api/m_pwdLogin_api.yml">
605 <provider selected="true" editor-type-id="text-editor"> 594 <provider selected="true" editor-type-id="text-editor">
606 - <state relative-caret-position="26">  
607 - <caret line="1" column="15" selection-start-line="1" selection-start-column="15" selection-end-line="1" selection-end-column="15" /> 595 + <state relative-caret-position="50">
  596 + <caret line="3" selection-start-line="3" selection-end-line="3" />
608 </state> 597 </state>
609 </provider> 598 </provider>
610 </entry> 599 </entry>
611 - <entry file="file://$PROJECT_DIR$/testcases/actual/ACTUAL005_actual_detail_testcases.yml"> 600 + <entry file="file://$PROJECT_DIR$/testcases/common/m_app_login_testcases.yml">
612 <provider selected="true" editor-type-id="text-editor"> 601 <provider selected="true" editor-type-id="text-editor">
613 - <state relative-caret-position="442">  
614 - <caret line="17" column="16" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="16" /> 602 + <state relative-caret-position="362">
  603 + <caret line="43" column="18" lean-forward="true" selection-start-line="16" selection-end-line="43" selection-end-column="18" />
615 </state> 604 </state>
616 </provider> 605 </provider>
617 </entry> 606 </entry>
618 - <entry file="file://$PROJECT_DIR$/testcases/actual/ACTUAL006_actual_del_testcases.yml"> 607 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV004_1_app_dividends_editnum_testcases.yml">
619 <provider selected="true" editor-type-id="text-editor"> 608 <provider selected="true" editor-type-id="text-editor">
620 - <state relative-caret-position="338">  
621 - <caret line="13" column="53" selection-start-line="13" selection-start-column="53" selection-end-line="13" selection-end-column="53" /> 609 + <state relative-caret-position="24">
  610 + <caret line="14" column="66" lean-forward="true" selection-start-line="14" selection-start-column="31" selection-end-line="14" selection-end-column="66" />
622 </state> 611 </state>
623 </provider> 612 </provider>
624 </entry> 613 </entry>
625 - <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN002_edit_admin_testcases.yml">  
626 - <provider selected="true" editor-type-id="text-editor" />  
627 - </entry>  
628 - <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN001_add_admin_testcases.yml"> 614 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV007_app_dividends_payDividends_testcases.yml">
629 <provider selected="true" editor-type-id="text-editor"> 615 <provider selected="true" editor-type-id="text-editor">
630 - <state relative-caret-position="468">  
631 - <caret line="18" selection-start-line="18" selection-end-line="18" /> 616 + <state relative-caret-position="52">
  617 + <caret line="14" column="66" selection-start-line="14" selection-start-column="31" selection-end-line="14" selection-end-column="66" />
632 </state> 618 </state>
633 </provider> 619 </provider>
634 </entry> 620 </entry>
635 - <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN003_list_admin_testcases.yml">  
636 - <provider selected="true" editor-type-id="text-editor" /> 621 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV008_app_dividends_payDividends_editnum_testcases.yml">
  622 + <provider selected="true" editor-type-id="text-editor">
  623 + <state relative-caret-position="50">
  624 + <caret line="14" column="66" selection-start-line="14" selection-start-column="66" selection-end-line="14" selection-end-column="66" />
  625 + </state>
  626 + </provider>
637 </entry> 627 </entry>
638 - <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN004_detail_admin_testcases.yml">  
639 - <provider selected="true" editor-type-id="text-editor" /> 628 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV010_app_dividends_payDividends_batch_testcases.yml">
  629 + <provider selected="true" editor-type-id="text-editor">
  630 + <state relative-caret-position="-210">
  631 + <caret line="25" column="33" selection-start-line="25" selection-start-column="33" selection-end-line="25" selection-end-column="33" />
  632 + </state>
  633 + </provider>
640 </entry> 634 </entry>
641 - <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN005_forbidden_admin_testcases.yml"> 635 + <entry file="file://$PROJECT_DIR$/api/app_api/dividend/orders001.api.yml">
642 <provider selected="true" editor-type-id="text-editor" /> 636 <provider selected="true" editor-type-id="text-editor" />
643 </entry> 637 </entry>
644 - <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN006_forbidden_admin_testcases.yml"> 638 + <entry file="file://$PROJECT_DIR$/testcases/app/dividends/DIVI003_career_dividends_orderslist_testcases.yml">
645 <provider selected="true" editor-type-id="text-editor"> 639 <provider selected="true" editor-type-id="text-editor">
646 - <state relative-caret-position="156">  
647 - <caret line="6" column="21" selection-start-line="6" selection-start-column="21" selection-end-line="6" selection-end-column="21" /> 640 + <state relative-caret-position="364">
  641 + <caret line="77" column="17" lean-forward="true" selection-start-line="77" selection-start-column="17" selection-end-line="77" selection-end-column="17" />
648 </state> 642 </state>
649 </provider> 643 </provider>
650 </entry> 644 </entry>
651 - <entry file="file://$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml"> 645 + <entry file="file://$PROJECT_DIR$/api/app_api/dividend/orders_api.yml">
652 <provider selected="true" editor-type-id="text-editor"> 646 <provider selected="true" editor-type-id="text-editor">
653 - <state relative-caret-position="260">  
654 - <caret line="10" column="19" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" /> 647 + <state relative-caret-position="-156">
  648 + <caret line="9" column="34" selection-start-line="9" selection-start-column="34" selection-end-line="9" selection-end-column="34" />
655 </state> 649 </state>
656 </provider> 650 </provider>
657 </entry> 651 </entry>
658 - <entry file="file://$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml"> 652 + <entry file="file://$PROJECT_DIR$/testcases/app/dividends/DIVI005_dividends_Details_testcases.yml">
659 <provider selected="true" editor-type-id="text-editor"> 653 <provider selected="true" editor-type-id="text-editor">
660 - <state relative-caret-position="260">  
661 - <caret line="10" column="19" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" /> 654 + <state relative-caret-position="-78">
  655 + <caret line="9" column="56" selection-start-line="9" selection-start-column="56" selection-end-line="9" selection-end-column="56" />
662 </state> 656 </state>
663 </provider> 657 </provider>
664 </entry> 658 </entry>
665 - <entry file="file://$PROJECT_DIR$/testcases/dividends/dividend_edit_testcases.yml"> 659 + <entry file="file://$PROJECT_DIR$/api/app_api/order/list_api.yml">
666 <provider selected="true" editor-type-id="text-editor"> 660 <provider selected="true" editor-type-id="text-editor">
667 - <state relative-caret-position="450">  
668 - <caret line="18" column="12" selection-start-line="18" selection-start-column="12" selection-end-line="18" selection-end-column="16" /> 661 + <state relative-caret-position="182">
  662 + <caret line="7" column="34" selection-start-line="7" selection-start-column="34" selection-end-line="7" selection-end-column="34" />
669 </state> 663 </state>
670 </provider> 664 </provider>
671 </entry> 665 </entry>
672 - <entry file="file://$PROJECT_DIR$/testcases/order/order_details_testcases.yml"> 666 + <entry file="file://$PROJECT_DIR$/testcases/app/common/COMM2_app_manager_login_testcases.yml">
673 <provider selected="true" editor-type-id="text-editor"> 667 <provider selected="true" editor-type-id="text-editor">
674 - <state relative-caret-position="78">  
675 - <caret line="3" column="14" selection-start-line="3" selection-start-column="14" selection-end-line="3" selection-end-column="14" /> 668 + <state relative-caret-position="-106">
  669 + <caret line="5" column="31" selection-start-line="5" selection-start-column="31" selection-end-line="5" selection-end-column="31" />
676 </state> 670 </state>
677 </provider> 671 </provider>
678 </entry> 672 </entry>
679 - <entry file="file://$PROJECT_DIR$/testcases/order/order_list_testcases.yml">  
680 - <provider selected="true" editor-type-id="text-editor" />  
681 - </entry>  
682 - <entry file="file://$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml"> 673 + <entry file="file://$PROJECT_DIR$/testcases/app/common/COMM4_app_more_company_manager_login_testcases.yml">
683 <provider selected="true" editor-type-id="text-editor"> 674 <provider selected="true" editor-type-id="text-editor">
684 - <state relative-caret-position="442">  
685 - <caret line="17" selection-start-line="17" selection-end-line="34" selection-end-column="30" /> 675 + <state relative-caret-position="-52">
  676 + <caret line="4" column="35" selection-start-line="4" selection-start-column="35" selection-end-line="4" selection-end-column="35" />
686 </state> 677 </state>
687 </provider> 678 </provider>
688 </entry> 679 </entry>
689 - <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS002_edit_partner_testcases.yml">  
690 - <provider selected="true" editor-type-id="text-editor" />  
691 - </entry>  
692 - <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS003_list_partner_testcases.yml">  
693 - <provider selected="true" editor-type-id="text-editor" /> 680 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV003_1_dividends_cal_testcases.yml">
  681 + <provider selected="true" editor-type-id="text-editor">
  682 + <state relative-caret-position="-312" />
  683 + </provider>
694 </entry> 684 </entry>
695 - <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS004_list_partner_testcases.yml"> 685 + <entry file="file://$PROJECT_DIR$/testcases/common/m_login_testcases.yml">
696 <provider selected="true" editor-type-id="text-editor" /> 686 <provider selected="true" editor-type-id="text-editor" />
697 </entry> 687 </entry>
698 - <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS005_detail_partner_testcases.yml"> 688 + <entry file="file://$PROJECT_DIR$/api/m_api/dividends/m_dividends_list_api.yml">
699 <provider selected="true" editor-type-id="text-editor" /> 689 <provider selected="true" editor-type-id="text-editor" />
700 </entry> 690 </entry>
701 - <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS006_set-status_partner1_testcases.yml">  
702 - <provider selected="true" editor-type-id="text-editor" /> 691 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV001_dividendslist_testcases.yml">
  692 + <provider selected="true" editor-type-id="text-editor">
  693 + <state relative-caret-position="-204">
  694 + <caret line="14" lean-forward="true" selection-start-line="14" selection-end-line="14" />
  695 + </state>
  696 + </provider>
703 </entry> 697 </entry>
704 - <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS007_set-status_partner2_testcases.yml">  
705 - <provider selected="true" editor-type-id="text-editor" /> 698 + <entry file="file://$PROJECT_DIR$/testcases/common/COM001_actual_add_testcases.yml">
  699 + <provider selected="true" editor-type-id="text-editor">
  700 + <state relative-caret-position="-182">
  701 + <caret line="5" column="31" lean-forward="true" selection-start-line="5" selection-start-column="31" selection-end-line="5" selection-end-column="31" />
  702 + </state>
  703 + </provider>
706 </entry> 704 </entry>
707 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE001_add_purpose_testcases.yml">  
708 - <provider selected="true" editor-type-id="text-editor" /> 705 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV004_1_dividends_editnum_testcases.yml">
  706 + <provider selected="true" editor-type-id="text-editor">
  707 + <state relative-caret-position="-78" />
  708 + </provider>
709 </entry> 709 </entry>
710 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE002_edit_purpose_testcases.yml"> 710 + <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS001_list_partner_testcases.yml">
711 <provider selected="true" editor-type-id="text-editor" /> 711 <provider selected="true" editor-type-id="text-editor" />
712 </entry> 712 </entry>
713 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE003_purpose_list_testcases.yml"> 713 + <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS003_list_partner_batchDisabled_testcases.yml">
714 <provider selected="true" editor-type-id="text-editor" /> 714 <provider selected="true" editor-type-id="text-editor" />
715 </entry> 715 </entry>
716 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE004_purpose_list_testcases.yml">  
717 - <provider selected="true" editor-type-id="text-editor" /> 716 + <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml">
  717 + <provider selected="true" editor-type-id="text-editor">
  718 + <state relative-caret-position="2832">
  719 + <caret line="113" column="71" selection-start-line="113" selection-start-column="71" selection-end-line="113" selection-end-column="71" />
  720 + </state>
  721 + </provider>
718 </entry> 722 </entry>
719 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE005_purpose_sendout_testcases.yml">  
720 - <provider selected="true" editor-type-id="text-editor" /> 723 + <entry file="file://$PROJECT_DIR$/.env">
  724 + <provider selected="true" editor-type-id="text-editor">
  725 + <state relative-caret-position="182">
  726 + <caret line="13" column="22" selection-start-line="13" selection-start-column="11" selection-end-line="13" selection-end-column="22" />
  727 + </state>
  728 + </provider>
721 </entry> 729 </entry>
722 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE007_purpose_del_testcases.yml">  
723 - <provider selected="true" editor-type-id="text-editor" /> 730 + <entry file="file://$PROJECT_DIR$/testcases/common/COM001_app_actual_add_testcases.yml">
  731 + <provider selected="true" editor-type-id="text-editor">
  732 + <state relative-caret-position="-103">
  733 + <caret line="24" column="36" selection-start-line="24" selection-start-column="36" selection-end-line="24" selection-end-column="36" />
  734 + </state>
  735 + </provider>
724 </entry> 736 </entry>
725 - <entry file="file://$PROJECT_DIR$/debugtalk.py"> 737 + <entry file="file://$PROJECT_DIR$/testcases/dividends/DIV003_1_app_dividends_cal_testcases.yml">
726 <provider selected="true" editor-type-id="text-editor"> 738 <provider selected="true" editor-type-id="text-editor">
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> 739 + <state relative-caret-position="2184">
  740 + <caret line="84" column="48" lean-forward="true" selection-start-line="84" selection-start-column="48" selection-end-line="84" selection-end-column="48" />
732 </state> 741 </state>
733 </provider> 742 </provider>
734 </entry> 743 </entry>
735 - <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py"> 744 + <entry file="file://$PROJECT_DIR$/testcases/app/dividends/DIVI001_career_dividendslist_testcases.yml">
736 <provider selected="true" editor-type-id="text-editor"> 745 <provider selected="true" editor-type-id="text-editor">
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" />  
739 - <folding>  
740 - <element signature="e#108#123#0" expanded="true" />  
741 - </folding> 746 + <state relative-caret-position="2887">
  747 + <caret line="114" lean-forward="true" selection-start-line="114" selection-end-line="114" />
742 </state> 748 </state>
743 </provider> 749 </provider>
744 </entry> 750 </entry>
745 - <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml"> 751 + <entry file="file://$PROJECT_DIR$/testcases/app/dividends/DIVI002_career_dividendslist_testcases.yml">
746 <provider selected="true" editor-type-id="text-editor"> 752 <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" /> 753 + <state relative-caret-position="3562">
  754 + <caret line="137" selection-start-line="17" selection-end-line="137" />
749 </state> 755 </state>
750 </provider> 756 </provider>
751 </entry> 757 </entry>
752 - <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py"> 758 + <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_add_order_actual_api.yml">
  759 + <provider selected="true" editor-type-id="text-editor" />
  760 + </entry>
  761 + <entry file="file://$PROJECT_DIR$/testcases/app/dividends/DIVI006_tomorrow_career_dividendslist_testcases.yml">
753 <provider selected="true" editor-type-id="text-editor"> 762 <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" /> 763 + <state relative-caret-position="182">
  764 + <caret line="10" column="44" selection-start-line="10" selection-start-column="44" selection-end-line="10" selection-end-column="44" />
756 </state> 765 </state>
757 </provider> 766 </provider>
758 </entry> 767 </entry>
759 - <entry file="file://$PROJECT_DIR$/helpfunc/login_func.py"> 768 + <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_add_app_order_actual_api.yml">
760 <provider selected="true" editor-type-id="text-editor"> 769 <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" /> 770 + <state>
  771 + <caret line="3" column="34" selection-start-line="3" selection-start-column="34" selection-end-line="3" selection-end-column="34" />
763 </state> 772 </state>
764 </provider> 773 </provider>
765 </entry> 774 </entry>
766 - <entry file="file://$PROJECT_DIR$/testcases/partners/PARTNERS001_add_partner_testcases.yml"> 775 + <entry file="file://$PROJECT_DIR$/testcases/common/COM001-1_app_actual_add_testcases.yml">
767 <provider selected="true" editor-type-id="text-editor"> 776 <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" /> 777 + <state relative-caret-position="312">
  778 + <caret line="28" column="56" selection-start-line="28" selection-start-column="56" selection-end-line="28" selection-end-column="56" />
770 </state> 779 </state>
771 </provider> 780 </provider>
772 </entry> 781 </entry>
773 - <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_add_api.yml"> 782 + <entry file="file://$PROJECT_DIR$/testsuites/partner_app_testsuite.yml">
774 <provider selected="true" editor-type-id="text-editor"> 783 <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" /> 784 + <state relative-caret-position="234">
  785 + <caret line="39" selection-start-line="39" selection-end-line="43" selection-end-column="74" />
777 </state> 786 </state>
778 </provider> 787 </provider>
779 </entry> 788 </entry>
1 -name: 已收明细——分红订单  
2 -base_url: ${ENV(base_url)}  
3 -variables:  
4 - currtime: ${make_time()}  
5 - uuid: ${make_uuid()}  
6 - var_access_token: ${get_accesstoken()}  
7 - sign: ${make_sign($currtime, $uuid, $var_access_token)}  
8 - order_code: ${get_detailAction_0_order_code_from_database()}  
9 - plan_order_amount: ${get_detailAction_0_plan_order_amount_from_database()}  
10 - use_partner_bonus: ${get_detailAction_0_use_partner_bonus_amount_from_database()}  
11 - endTime: ${get_Decembe_timestamp()}  
12 - msg: 成功  
13 -request:  
14 - headers:  
15 - Content-Type: application/json;charset=utf-8  
16 - User-Agent: okhttp/3.12.3  
17 - X-MMM-AccessToken: $var_access_token  
18 - X-MMM-AppName: com.mmm.ability  
19 - X-MMM-AppProject: ability  
20 - X-MMM-DeviceType: '1'  
21 - X-MMM-Sign: $sign  
22 - X-MMM-Timestamp: $currtime  
23 - X-MMM-Uuid: $uuid  
24 - X-MMM-Version: 0.4.0  
25 - json:  
26 - detailAction: 0  
27 - pageIndex: 0  
28 - pageSize: 20  
29 - startTime: 0  
30 - endTime: $endTime  
31 - method: POST  
32 - url: v1/dividend/orders  
33 -validate:  
34 - - eq:  
35 - - content.msg  
36 - - $msg  
37 - - eq:  
38 - - content.data.list.0.deliveryNo  
39 - - $order_code  
40 - - eq:  
41 - - content.data.list.0.orderAmount  
42 - - $plan_order_amount  
43 - - eq:  
44 - - content.data.list.0.dividendReceivable  
45 - - $use_partner_bonus  
1 -name: 未收明细——分红订单  
2 -base_url: ${ENV(base_url)}  
3 -variables:  
4 - currtime: ${make_time()}  
5 - uuid: ${make_uuid()}  
6 - var_access_token: ${get_accesstoken()}  
7 - sign: ${make_sign($currtime, $uuid, $var_access_token)}  
8 - order_code: ${get_detailAction_1_order_code_from_database()}  
9 - plan_order_amount: ${get_detailAction_0_plan_order_amount_from_database()}  
10 - use_partner_bonus: ${get_detailAction_0_use_partner_bonus_amount_from_database()}  
11 - endTime: ${get_Decembe_timestamp()}  
12 - msg: 成功  
13 -request:  
14 - headers:  
15 - Content-Type: application/json;charset=utf-8  
16 - User-Agent: okhttp/3.12.3  
17 - X-MMM-AccessToken: $var_access_token  
18 - X-MMM-AppName: com.mmm.ability  
19 - X-MMM-AppProject: ability  
20 - X-MMM-DeviceType: '1'  
21 - X-MMM-Sign: $sign  
22 - X-MMM-Timestamp: $currtime  
23 - X-MMM-Uuid: $uuid  
24 - X-MMM-Version: 0.4.0  
25 - json:  
26 - detailAction: 1  
27 - pageIndex: 0  
28 - pageSize: 20  
29 - startTime: 0  
30 - endTime: $endTime  
31 - method: POST  
32 - url: v1/dividend/orders  
33 -validate:  
34 - - eq:  
35 - - content.msg  
36 - - $msg  
37 - - eq:  
38 - - content.data.list.0.deliveryNo  
39 - - $order_code  
40 - - eq:  
41 - - content.data.list.0.orderAmount  
42 - - $plan_order_amount  
43 - - eq:  
44 - - content.data.list.0.dividendReceivable  
45 - - $use_partner_bonus  
@@ -3,11 +3,8 @@ base_url: ${ENV(base_url)} @@ -3,11 +3,8 @@ base_url: ${ENV(base_url)}
3 variables: 3 variables:
4 currtime: ${make_time()} 4 currtime: ${make_time()}
5 uuid: ${make_uuid()} 5 uuid: ${make_uuid()}
6 - var_access_token: ${get_accesstoken()} 6 + var_access_token: $accessToken
7 sign: ${make_sign($currtime, $uuid, $var_access_token)} 7 sign: ${make_sign($currtime, $uuid, $var_access_token)}
8 - receivable: ${get_receivable_from_database()}  
9 - received: ${get_received_from_database()}  
10 - outstanding: ${get_outstanding_from_database()}  
11 startTime: ${get_January_timestamp()} 8 startTime: ${get_January_timestamp()}
12 endTime: ${get_Decembe_timestamp()} 9 endTime: ${get_Decembe_timestamp()}
13 msg: 成功 10 msg: 成功
@@ -29,17 +26,7 @@ request: @@ -29,17 +26,7 @@ request:
29 method: POST 26 method: POST
30 url: v1/dividend/statistics 27 url: v1/dividend/statistics
31 validate: 28 validate:
  29 +
32 - eq: 30 - eq:
33 - content.msg 31 - content.msg
34 - $msg 32 - $msg
35 - - eq:  
36 - - content.data.statistics.receivable  
37 - - $receivable  
38 -  
39 - - eq:  
40 - - content.data.statistics.quarters.1.received  
41 - - $received  
42 -  
43 - - eq:  
44 - - content.data.statistics.quarters.1.outstanding  
45 - - $outstanding  
@@ -8,8 +8,6 @@ variables: @@ -8,8 +8,6 @@ variables:
8 grantType: signInPassword 8 grantType: signInPassword
9 phone: ${ENV(partnerphone)} 9 phone: ${ENV(partnerphone)}
10 password: 7c4a8d09ca3762af61e59520943dc26494f8941b 10 password: 7c4a8d09ca3762af61e59520943dc26494f8941b
11 -#teardown_hooks:  
12 -# - ${teardown_hook_get_authcode($response)}  
13 request: 11 request:
14 headers: 12 headers:
15 Content-Type: application/json;charset=utf-8 13 Content-Type: application/json;charset=utf-8
@@ -3,9 +3,8 @@ base_url: ${ENV(base_url)} @@ -3,9 +3,8 @@ base_url: ${ENV(base_url)}
3 variables: 3 variables:
4 currtime: ${make_time()} 4 currtime: ${make_time()}
5 uuid: ${make_uuid()} 5 uuid: ${make_uuid()}
6 - var_access_token: ${get_accesstoken()} 6 + var_access_token: $accessToken
7 sign: ${make_sign($currtime, $uuid, $var_access_token)} 7 sign: ${make_sign($currtime, $uuid, $var_access_token)}
8 - id: ${get_order_id_from_database()}  
9 msg: 成功 8 msg: 成功
10 request: 9 request:
11 headers: 10 headers:
@@ -3,9 +3,9 @@ base_url: ${ENV(base_url)} @@ -3,9 +3,9 @@ base_url: ${ENV(base_url)}
3 variables: 3 variables:
4 currtime: ${make_time()} 4 currtime: ${make_time()}
5 uuid: ${make_uuid()} 5 uuid: ${make_uuid()}
6 - var_access_token: ${get_accesstoken()} 6 + var_access_token: $accessToken
7 sign: ${make_sign($currtime, $uuid, $var_access_token)} 7 sign: ${make_sign($currtime, $uuid, $var_access_token)}
8 - total: ${get_total_from_database()} 8 + partnerId: ${ENV(partnerId_app)}
9 msg: 成功 9 msg: 成功
10 request: 10 request:
11 headers: 11 headers:
@@ -20,16 +20,16 @@ request: @@ -20,16 +20,16 @@ request:
20 X-MMM-Uuid: $uuid 20 X-MMM-Uuid: $uuid
21 X-MMM-Version: 0.4.0 21 X-MMM-Version: 0.4.0
22 json: 22 json:
23 - startTime:  
24 - endTime: 23 + startTime: ${get_starTimestamp()}
  24 + endTime: ${get_endTimestamp()}
25 pageIndex: 0 25 pageIndex: 0
26 pageSize: 20 26 pageSize: 20
  27 + partnerId: ${convert_to_int($partnerId)}
  28 + isToday: False
  29 + joinWay:
27 method: POST 30 method: POST
28 url: v1/order/list 31 url: v1/order/list
29 validate: 32 validate:
30 - eq: 33 - eq:
31 - content.msg 34 - content.msg
32 - $msg 35 - $msg
33 - - eq:  
34 - - content.data.total  
35 - - $total  
@@ -3,12 +3,8 @@ base_url: ${ENV(base_url)} @@ -3,12 +3,8 @@ base_url: ${ENV(base_url)}
3 variables: 3 variables:
4 currtime: ${make_time()} 4 currtime: ${make_time()}
5 uuid: ${make_uuid()} 5 uuid: ${make_uuid()}
6 - var_access_token: ${get_accesstoken()} 6 + var_access_token: $accessToken
7 sign: ${make_sign($currtime, $uuid, $var_access_token)} 7 sign: ${make_sign($currtime, $uuid, $var_access_token)}
8 - todayRealQuantity: ${get_todayRealQuantity_from_database()}  
9 - todayRealMoney: ${get_todayRealMoney_from_database()}  
10 - cumulativeQuantity: ${get_cumulativeQuantity_from_database()}  
11 - cumulativeMoney: ${get_cumulativeMoney_from_database()}  
12 msg: 成功 8 msg: 成功
13 request: 9 request:
14 headers: 10 headers:
@@ -24,20 +20,8 @@ request: @@ -24,20 +20,8 @@ request:
24 X-MMM-Version: 0.4.0 20 X-MMM-Version: 0.4.0
25 json: 21 json:
26 method: POST 22 method: POST
27 - url: v1/order/statistics 23 + url: v2/order/statistics
28 validate: 24 validate:
29 - eq: 25 - eq:
30 - content.msg 26 - content.msg
31 - $msg 27 - $msg
32 - - eq:  
33 - - content.data.statistics.cumulativeMoney  
34 - - $cumulativeMoney  
35 - - eq:  
36 - - content.data.statistics.cumulativeQuantity  
37 - - $cumulativeQuantity  
38 - - eq:  
39 - - content.data.statistics.todayRealMoney  
40 - - $todayRealMoney  
41 - - eq:  
42 - - content.data.statistics.todayRealQuantity  
43 - - $todayRealQuantity  
  1 +name: 实际订单新增
  2 +base_url: ${ENV(base_manager_url)}
  3 +variables:
  4 + partnerID: ${ENV(partnerId_app)}
  5 + commissionProportion: 0
  6 + orderNum1: 100
  7 + univalence: 10
  8 + partnerRatio: 1.2
  9 + orderNum2: 200
  10 +
  11 +teardown_hooks:
  12 + - ${sleep(2)}
  13 +request:
  14 + headers:
  15 + Content-Type: application/json;charset=utf-8
  16 + User-Agent: okhttp/3.12.3
  17 + Authorization: Bearer ${get_m_accesstoken()}
  18 + json:
  19 + orderId: $partnerCategory-实发订单号${get_stringcode(5)}
  20 + shipmentsId: $partnerCategory-实发订单发货单号${get_stringcode(5)}
  21 + partnerID: ${convert_to_int($partnerID)}
  22 + partnerCategoryId: $partnerCategoryId
  23 + buyer: '客户名称${get_stringcode(5)}'
  24 + orderDist: '订单区域${get_stringcode(5)}'
  25 + commissionProportion: $commissionProportion
  26 + saleDate: $saleDate
  27 + product:
  28 + - productName: 产品名称${get_stringcode(5)}
  29 + orderNum: $orderNum1
  30 + univalence: $univalence
  31 + partnerRatio: $partnerRatio
  32 + - productName: 产品名称${get_stringcode(5)}
  33 + orderNum: $orderNum2
  34 + univalence: $univalence
  35 + partnerRatio: $partnerRatio
  36 + method: POST
  37 + url: /v1/order/actual/update
  38 +validate:
  39 + - eq:
  40 + - content.msg
  41 + - ok
1 name: 实际订单导出 1 name: 实际订单导出
2 base_url: ${ENV(base_manager_url)} 2 base_url: ${ENV(base_manager_url)}
3 variables: 3 variables:
4 - createTime: ['2020-01-01', '2020-12-31'] 4 + createTime: ['2021-01-01', '2021-12-31']
5 partnerCategory: 5 partnerCategory:
6 searchText: "" 6 searchText: ""
7 - updateTime: ['2020-01-01', '2020-12-31'] 7 + updateTime: ['2021-01-01', '2021-12-31']
8 request: 8 request:
9 headers: 9 headers:
10 Content-Type: application/json;charset=utf-8 10 Content-Type: application/json;charset=utf-8
1 -name: 合伙人搜索——实际订单列表 1 +name: 查看实际订单列表
2 base_url: ${ENV(base_manager_url)} 2 base_url: ${ENV(base_manager_url)}
3 -variables:  
4 - partnerName: ''  
5 - orderCode: ''  
6 - deliveryCode: ''  
7 - partnerCategory: 1  
8 - updateTime:  
9 - createTime: 3 +#variables:
  4 +# partnerCategoryName: ''
  5 +# orderCode: ''
  6 +# updateTime: ''
  7 +# deliveryCode: ''
  8 +# partnerName: ''
10 request: 9 request:
11 headers: 10 headers:
12 Content-Type: application/json;charset=utf-8 11 Content-Type: application/json;charset=utf-8
@@ -14,13 +13,7 @@ request: @@ -14,13 +13,7 @@ request:
14 Authorization: Bearer ${get_m_accesstoken()} 13 Authorization: Bearer ${get_m_accesstoken()}
15 json: 14 json:
16 pageNumber: 1 15 pageNumber: 1
17 - pageSize: 10  
18 - partnerCategory: $partnerCategory  
19 - partnerName: $partnerName  
20 - updateTime: $updateTime  
21 - createTime: $createTime  
22 - orderCode: $orderCode  
23 - deliveryCode: $deliveryCode 16 + pageSize: 500
24 method: POST 17 method: POST
25 url: /v1/order/actual/list 18 url: /v1/order/actual/list
26 validate: 19 validate:
1 -name: 编辑用户 1 +name: 管理员修改
2 base_url: ${ENV(base_manager_url)} 2 base_url: ${ENV(base_manager_url)}
3 -variables:  
4 - id: 123456  
5 - account: '19911111111'  
6 - permissionType:  
7 - status: 1  
8 - checkedPartner:  
9 - isSenior: 2 3 +
10 request: 4 request:
11 headers: 5 headers:
12 Content-Type: application/json;charset=utf-8 6 Content-Type: application/json;charset=utf-8
13 User-Agent: okhttp/3.12.3 7 User-Agent: okhttp/3.12.3
14 Authorization: Bearer ${get_m_accesstoken()} 8 Authorization: Bearer ${get_m_accesstoken()}
15 json: 9 json:
16 - id: $id  
17 - account: $account  
18 - permissionType: $permissionType  
19 - status: $status  
20 - checkedPartner: $checkedPartner  
21 - isSenior: $isSenior 10 + account: ${convert_to_string(17770000018)}
  11 + id: ${convert_to_int(3290261005676032)}
  12 + permissionType:
  13 + - 8
  14 + status: 1
  15 + isAdmin: 1
  16 + name: 'zhaoliu'
  17 + checkedPartner: []
  18 + isSenior: 1
22 method: POST 19 method: POST
23 url: /v1/admin/update 20 url: /v1/admin/update
24 -validate:  
25 - - eq:  
26 - - content.msg  
27 - - ok  
  21 +#validate:
  22 +# - eq:
  23 +# - content.msg
  24 +# - ok
1 name: 事业分红详情 1 name: 事业分红详情
2 base_url: ${ENV(base_manager_url)} 2 base_url: ${ENV(base_manager_url)}
3 -variables:  
4 - id: '1051'  
5 request: 3 request:
6 headers: 4 headers:
7 Content-Type: application/json;charset=utf-8 5 Content-Type: application/json;charset=utf-8
1 name: 分红管理—修改数量or合伙人分红比例 1 name: 分红管理—修改数量or合伙人分红比例
2 base_url: ${ENV(base_manager_url)} 2 base_url: ${ENV(base_manager_url)}
3 variables: 3 variables:
4 - orderId: ${convert_to_string(1072)} 4 +# orderId: ${convert_to_string(1072)}
5 state: 1 5 state: 1
6 goodNumber: 50 6 goodNumber: 50
7 partnerBonusPercent: 10 7 partnerBonusPercent: 10
8 reason: '修改原因${get_stringcode(5)}' 8 reason: '修改原因${get_stringcode(5)}'
9 - productId: ${convert_to_string(2132)} 9 +# productId: ${convert_to_string(2132)}
10 teardown_hooks: 10 teardown_hooks:
11 - ${sleep(1)} 11 - ${sleep(1)}
12 request: 12 request:
1 name: 分红管理—支付分红 1 name: 分红管理—支付分红
2 base_url: ${ENV(base_manager_url)} 2 base_url: ${ENV(base_manager_url)}
3 -variables:  
4 - orderId: ${convert_to_string(1072)}  
5 - productId: ${convert_to_string(2132)}  
6 teardown_hooks: 3 teardown_hooks:
7 - ${sleep(1)} 4 - ${sleep(1)}
8 request: 5 request:
1 -name: 企业平台单点登录, 账号登录:/auth/login 1 +name: 企业平台单点登录,账号登录
2 base_url: ${ENV(base_manager_url)} 2 base_url: ${ENV(base_manager_url)}
3 variables: 3 variables:
4 secret: ${get_secret($url)} 4 secret: ${get_secret($url)}
@@ -11,21 +11,21 @@ request: @@ -11,21 +11,21 @@ request:
11 json: 11 json:
12 partnerName: '合伙人姓名${get_stringcode(5)}' 12 partnerName: '合伙人姓名${get_stringcode(5)}'
13 partnerType: 13 partnerType:
14 - - id: 1  
15 - code: 事业合伙人编号${get_stringcode(8)}  
16 - - id: 2  
17 - code: 业务合伙人编号${get_stringcode(8)}  
18 - - id: 3  
19 - code: 研发合伙人编号${get_stringcode(8)}  
20 - - id: 4  
21 - code: 业务产品应用合伙人编号${get_stringcode(8)} 14 + - code: '${get_stringcode(5)}'
  15 + id: 1
  16 + - code: '${get_stringcode(5)}'
  17 + id: 2
  18 + - code: '${get_stringcode(5)}'
  19 + id: 3
  20 + - code: '${get_stringcode(5)}'
  21 + id: 4
22 area: '合伙人所属区域${get_stringcode(5)}' 22 area: '合伙人所属区域${get_stringcode(5)}'
23 - account: 155${get_randint(10000000,99999999)} 23 + account: 199${get_randint(10000000,99999999)}
24 state: 1 24 state: 1
25 cooperationTime: ${get_today()} 25 cooperationTime: ${get_today()}
26 - salesmanName: '业务员姓名${get_stringcode(5)}'  
27 - phone: 155${get_randint(10000000,99999999)}  
28 - remark: '系统自动添加' 26 + salesmanName:
  27 + phone:
  28 + remark: '${get_stringcode(50)}'
29 method: POST 29 method: POST
30 url: /v1/partners/add 30 url: /v1/partners/add
31 validate: 31 validate:
@@ -9,11 +9,7 @@ request: @@ -9,11 +9,7 @@ request:
9 Authorization: Bearer ${get_m_accesstoken()} 9 Authorization: Bearer ${get_m_accesstoken()}
10 json: 10 json:
11 partnerName: '合伙人姓名修改${get_stringcode(5)}' 11 partnerName: '合伙人姓名修改${get_stringcode(5)}'
12 - partnerType:  
13 - - id: 1  
14 - code: 事业合伙人编号${get_stringcode(8)}  
15 - - id: 2  
16 - code: 业务合伙人编号${get_stringcode(8)} 12 + partnerType: [1,2,3,4]
17 area: '合伙人所属区域修改${get_stringcode(5)}' 13 area: '合伙人所属区域修改${get_stringcode(5)}'
18 account: 155${get_randint(10000000,99999999)} 14 account: 155${get_randint(10000000,99999999)}
19 state: 0 15 state: 0
@@ -21,7 +17,6 @@ request: @@ -21,7 +17,6 @@ request:
21 salesmanName: '业务员姓名修改${get_stringcode(5)}' 17 salesmanName: '业务员姓名修改${get_stringcode(5)}'
22 phone: 155${get_randint(10000000,99999999)} 18 phone: 155${get_randint(10000000,99999999)}
23 id: $id 19 id: $id
24 - remark: '系统自动修改'  
25 method: POST 20 method: POST
26 url: /v1/partners/edit 21 url: /v1/partners/edit
27 validate: 22 validate:
@@ -12,7 +12,7 @@ request: @@ -12,7 +12,7 @@ request:
12 partnerName: $partnerName 12 partnerName: $partnerName
13 partnerType: $partnerType 13 partnerType: $partnerType
14 pageNumber: 1 14 pageNumber: 1
15 - pageSize: 10000 15 + pageSize: 100
16 method: POST 16 method: POST
17 url: /v1/partners/list 17 url: /v1/partners/list
18 validate: 18 validate:
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDgwNjMzMjYsImlhdCI6MTYwODAyMDEyNiwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTYwODAyMDEyNiwidWlkIjozMjQyMzEyOTU1MTM1NzQ0LCJjb21wYW55SWQiOjIxNH0.5T0V7slgyKzUkFGOIOrF5rSgyMfp9MIqGM9Xjy8svbQ  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MTM5MzkzMjgsImlhdCI6MTYxMzg5NjEyOCwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTYxMzg5NjEyOCwidWlkIjozMjQ3MzY2MDExOTEzMjE2LCJjb21wYW55SWQiOjM2Nn0.08OJFyJ2zo-iwyV5YbE_9BN17C0iklZ8Dv849c1Nhfs
1 -1682,1683,1684,1685,1686,  
  1 +4629,
1 import random 1 import random
2 import string 2 import string
  3 +import os
3 import time,datetime 4 import time,datetime
4 from urllib import parse 5 from urllib import parse
5 6
@@ -7,14 +8,15 @@ from helpfunc.login_func import * @@ -7,14 +8,15 @@ from helpfunc.login_func import *
7 from helpfunc.pg_db_func import * 8 from helpfunc.pg_db_func import *
8 from helpfunc.other_func import * 9 from helpfunc.other_func import *
9 # from helpfunc.db_func import * 10 # from helpfunc.db_func import *
  11 +from helpfunc.statistics_func import *
10 from helpfunc.header_func import * 12 from helpfunc.header_func import *
11 from random import randint 13 from random import randint
12 # from helpfunc.pg_app_db_func import * 14 # from helpfunc.pg_app_db_func import *
13 from datetime import date, timedelta 15 from datetime import date, timedelta
14 import datetime 16 import datetime
  17 +import time
15 from helpfunc.cal_func import * 18 from helpfunc.cal_func import *
16 19
17 -  
18 def sleep(n_secs): 20 def sleep(n_secs):
19 time.sleep(n_secs) 21 time.sleep(n_secs)
20 22
@@ -27,24 +29,38 @@ def convert_to_int(value): @@ -27,24 +29,38 @@ def convert_to_int(value):
27 29
28 30
29 def get_nowtime(): 31 def get_nowtime():
30 - return time.strftime("%Y%m%d%H%M%S", time.localtime(time.time()))  
31 - 32 + return time.strftime("%Y%m%d%H%M%S",time.localtime(time.time()))
32 33
33 def get_today(): 34 def get_today():
34 now_today = datetime.datetime.now() 35 now_today = datetime.datetime.now()
35 - str_time = now_today.strftime("%Y-%m-%d") 36 + str_time = now_today.strftime("%Y-%m-%d ")
36 return str_time 37 return str_time
37 38
38 def get_tomorrow(): 39 def get_tomorrow():
39 - tomorrow = (date.today() + timedelta(days=1)).strftime("%Y-%m-%d") 40 + tomorrow = (date.today() + timedelta(days=1)).strftime("%Y-%m-%d ")
40 return tomorrow 41 return tomorrow
41 - 42 +#获取今天时间并转str
  43 +def today_time_str():
  44 + curr_time = datetime.datetime.now()
  45 + time_str = datetime.datetime.strftime(curr_time,'%Y-%m-%d %H:%M:%S')
  46 + return time_str
  47 +#获取明天时间并转str
  48 +def tomorrow_time_str():
  49 + curr_time = datetime.datetime.now()
  50 + tomorrow_time = curr_time + datetime.timedelta(days=1)
  51 + time_str = datetime.datetime.strftime(tomorrow_time,'%Y-%m-%d %H:%M:%S')
  52 + return time_str
  53 +#获取昨天时间并转str
  54 +def yes_time_str():
  55 + curr_time = datetime.datetime.now()
  56 + yes_time = curr_time + datetime.timedelta(days=-1)
  57 + time_str = datetime.datetime.strftime(yes_time,'%Y-%m-%d %H:%M:%S')
  58 + return time_str
42 59
43 def get_second(): 60 def get_second():
44 curr_time = datetime.datetime.now() 61 curr_time = datetime.datetime.now()
45 return curr_time.second 62 return curr_time.second
46 63
47 -  
48 def create_channel(num): 64 def create_channel(num):
49 channel = [] 65 channel = []
50 for i in range(num+1): 66 for i in range(num+1):
@@ -91,20 +107,33 @@ def getMonth(): @@ -91,20 +107,33 @@ def getMonth():
91 list = [startTime, endTime] 107 list = [startTime, endTime]
92 return list 108 return list
93 list_time = getMonth() 109 list_time = getMonth()
94 -  
95 - 110 +###获取当月1号时间戳
96 def get_starTimestamp(): 111 def get_starTimestamp():
97 return int(time.mktime(time.strptime(list_time[0], '%Y-%m-%d %H:%M:%S'))*1000) 112 return int(time.mktime(time.strptime(list_time[0], '%Y-%m-%d %H:%M:%S'))*1000)
98 -  
99 - 113 +###获取当月最后一天时间戳
100 def get_endTimestamp(): 114 def get_endTimestamp():
101 return int(time.mktime(time.strptime(list_time[1], '%Y-%m-%d %H:%M:%S'))*1000) 115 return int(time.mktime(time.strptime(list_time[1], '%Y-%m-%d %H:%M:%S'))*1000)
102 116
  117 +###获取1小时后时间戳
  118 +def get_nowTimestamp_1():
  119 + # t = time.time()
  120 + t = datetime.datetime.now()
  121 + # 1小时后
  122 + t2 = (t + datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S")
  123 + # 转为秒级时间戳
  124 + ts2 = time.mktime(time.strptime(t2, '%Y-%m-%d %H:%M:%S'))
  125 + # 转为毫秒级
  126 + start_time = int(str(ts2 * 1000).split(".")[0])
  127 + return start_time
  128 +
  129 +###获取当前时间戳
  130 +def get_nowTimestamp():
  131 + t = time.time()
  132 + return int(round(t * 1000))
103 133
104 def get_January_timestamp(): 134 def get_January_timestamp():
105 return int(time.mktime(time.strptime('2020-04-01 00:00:00', '%Y-%m-%d %H:%M:%S'))*1000) 135 return int(time.mktime(time.strptime('2020-04-01 00:00:00', '%Y-%m-%d %H:%M:%S'))*1000)
106 136
107 -  
108 def get_Decembe_timestamp(): 137 def get_Decembe_timestamp():
109 return int(time.mktime(time.strptime('2021-3-31 23:59:59', '%Y-%m-%d %H:%M:%S'))*1000) 138 return int(time.mktime(time.strptime('2021-3-31 23:59:59', '%Y-%m-%d %H:%M:%S'))*1000)
110 139
@@ -126,6 +155,93 @@ def get_stringcode(n): @@ -126,6 +155,93 @@ def get_stringcode(n):
126 ran_str = ''.join(random.sample(string.ascii_letters + string.digits, n)) 155 ran_str = ''.join(random.sample(string.ascii_letters + string.digits, n))
127 return ran_str 156 return ran_str
128 157
  158 +def get_partnerCategory(n):
  159 + if n == 1:
  160 + return '事业'
  161 + elif n == 2 :
  162 + return '业务'
  163 + elif n == 3:
  164 + return '研发'
  165 + else:
  166 + return '业务-产品应用'
129 167
130 def get_randint(value1, value2): 168 def get_randint(value1, value2):
131 return randint(value1, value2) 169 return randint(value1, value2)
  170 +
  171 +
  172 +def convert_to_string(value):
  173 + return str(value)
  174 +
  175 +
  176 +def convert_to_int(value):
  177 + return int(value)
  178 +
  179 +
  180 +
  181 +#获取季度对应的月份
  182 +def getql():
  183 + today=datetime.date.today()
  184 + quarter = (today.month-1)//3
  185 + if quarter == 1:
  186 + star1 = (str(today.year))+'-04'+'-01'+' '+'00:'+'00:'+'00'
  187 + star = ''.join('%s' %id for id in star1)
  188 + end1 = (str(today.year))+'-06'+'-30'+' '+'23:'+'59:'+'59'
  189 + end = ''.join('%s' % id for id in end1)
  190 + return star,end
  191 + elif quarter == 2:
  192 + star1 = (str(today.year))+'-07'+'-01'+' '+'00:'+'00:'+'00'
  193 + star = ''.join('%s' %id for id in star1)
  194 + end1 = (str(today.year))+'-09'+'-30'+' '+'23:'+'59:'+'59'
  195 + end = ''.join('%s' % id for id in end1)
  196 + return star, end
  197 + elif quarter == 3:
  198 + star1 = (str(today.year))+'-10'+'-01'+' '+'00:'+'00:'+'00'
  199 + star = ''.join('%s' %id for id in star1)
  200 + end1 = (str(today.year))+'-12'+'-31'+' '+'23:'+'59:'+'59'
  201 + end = ''.join('%s' % id for id in end1)
  202 + return star, end
  203 + else:
  204 + star1 = (str(today.year))+'-01'+'-01'+' '+'00:'+'00:'+'00'
  205 + star = ''.join('%s' %id for id in star1)
  206 + end1 = (str(today.year))+'-03'+'-31'+' '+'23:'+'59:'+'59'
  207 + end = ''.join('%s' % id for id in end1)
  208 + return star, end
  209 +
  210 +#获取季度对应的月份开始时间戳
  211 +def gettql_startimestamp():
  212 + return int(time.mktime(time.strptime(getql()[0], '%Y-%m-%d %H:%M:%S'))*1000)
  213 +
  214 +#获取季度对应的月份结束时间戳
  215 +def gettql_endtimestamp():
  216 + return int(time.mktime(time.strptime(getql()[1], '%Y-%m-%d %H:%M:%S'))*1000)
  217 +
  218 +#获取文件
  219 +def get_file(filePath='config/订单数据模板.xlsx'):
  220 + return filePath
  221 +
  222 +#字符串时间转时间戳
  223 +def str_to_time(times):
  224 + #将其转换为时间数组
  225 + timeArray = time.strptime(times, "%Y-%m-%d %H:%M:%S")
  226 + #转换为时间戳
  227 + timeStamp = int(time.mktime(timeArray)*1000)
  228 + return timeStamp
  229 +
  230 +#获取销售日期
  231 +def get_saleDate(*args_v):
  232 + return args_v[0]['saleDate']
  233 +
  234 +#根据日期获取当天23:59:59分时间
  235 +def get_day_zero_time():
  236 + for x in range(24):
  237 + today_date = datetime.datetime.now().strftime("%Y-%m-%d") + " %2d:59:59" % x
  238 + timeArray = time.strptime(today_date, "%Y-%m-%d %H:%M:%S")
  239 + timeStamp = int(time.mktime(timeArray)*1000)
  240 + return timeStamp
  241 +
  242 +#通过当前时间和销售日期大于今天的订单进行比较
  243 +def get_saleDate_bigger_today(*args_v):
  244 + if get_day_zero_time() < str_to_time(get_saleDate(*args_v)):
  245 + return 0
  246 + else:
  247 + return 1
@@ -25,4 +25,16 @@ def add(x, y): @@ -25,4 +25,16 @@ def add(x, y):
25 :param y: 25 :param y:
26 :return: 26 :return:
27 """ 27 """
28 - return int(int(x)+y)  
  28 + return int(int(x)+int(y))
  29 +
  30 +def str_to_int(*args):
  31 + '''
  32 + 对接收的元组求和
  33 + :param args:
  34 + :return:
  35 + '''
  36 + num = 0
  37 + for i in range(len(args)):
  38 + num = num + int(args[i])
  39 + return num
  40 +
@@ -2,8 +2,35 @@ @@ -2,8 +2,35 @@
2 # @Author :dengyuting 2 # @Author :dengyuting
3 # @File :login_func.py 3 # @File :login_func.py
4 import json 4 import json
  5 +import os
5 6
6 7
  8 +def teardown_hook_get_access_id(response):
  9 + os.remove('config/id.csv')
  10 + if response.status_code == 200:
  11 + jsondata = json.loads(response.text)
  12 + id =jsondata['data']['list']
  13 + try:
  14 + for i in range(len(id)):
  15 + a1 = str(id[i]['id'])
  16 + with open('config/id.csv','a+') as f:
  17 + f.writelines(a1 + '\n')
  18 + print('写入成功,id:{}'.format(a1))
  19 + except Exception as e:
  20 + print('写入失败', e)
  21 + return a1
  22 +#
  23 +# def get_id():
  24 +# try:
  25 +# with open('config/id.csv','r+') as f:
  26 +# id1 = f.read()
  27 +# print('读取id成功:{}'.format(id))
  28 +# f.close()
  29 +# except Exception as e:
  30 +# print('读取失败', e)
  31 +# # id = str(id1)
  32 +# return id
  33 +# # print(get_id())
7 def teardown_hook_get_accesstoken(response): 34 def teardown_hook_get_accesstoken(response):
8 if response.status_code == 200: 35 if response.status_code == 200:
9 jsondata = json.loads(response.text) 36 jsondata = json.loads(response.text)
@@ -7,6 +7,14 @@ import psycopg2 @@ -7,6 +7,14 @@ import psycopg2
7 from datetime import date, timedelta 7 from datetime import date, timedelta
8 import datetime,time 8 import datetime,time
9 9
  10 +def get_today():
  11 + now_today = datetime.datetime.now()
  12 + str_time = now_today.strftime("%Y-%m-%d")
  13 + return str_time
  14 +
  15 +def get_tomorrow():
  16 + tomorrow = (date.today() + timedelta(days=1)).strftime("%Y-%m-%d")
  17 + return tomorrow
10 def getMonth(): 18 def getMonth():
11 year = str(datetime.date.today().year) 19 year = str(datetime.date.today().year)
12 d = datetime.date.today() 20 d = datetime.date.today()
@@ -49,309 +57,3 @@ def GetConnect(): @@ -49,309 +57,3 @@ def GetConnect():
49 except Exception as err: 57 except Exception as err:
50 print("连接数据库失败,%s" % err) 58 print("连接数据库失败,%s" % err)
51 return conn 59 return conn
52 -#获取合伙人id  
53 -def get_partner_id_from_database():  
54 - db = GetConnect()  
55 - cursor = db.cursor()  
56 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
57 - sql = '''select id from partner_info where account = '13459147023' '''  
58 - # print(sql)  
59 - try:  
60 - cursor.execute(sql)  
61 - result = cursor.fetchone()  
62 - return result[0]  
63 - except Exception as err:  
64 - # 发生错误时回滚  
65 - print(err)  
66 - db.rollback()  
67 - db.close()  
68 -  
69 -#获取合伙人姓名  
70 -def get_partner_name_from_database():  
71 - db = GetConnect()  
72 - cursor = db.cursor()  
73 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
74 - sql = '''select partner_name from partner_info where account = '13459147023' '''  
75 - # print(sql)  
76 - try:  
77 - cursor.execute(sql)  
78 - result = cursor.fetchone()  
79 - return result[0]  
80 - except Exception as err:  
81 - # 发生错误时回滚  
82 - print(err)  
83 - db.rollback()  
84 - db.close()  
85 -#获取合伙人账号  
86 -def get_partner_account_from_database():  
87 - db = GetConnect()  
88 - cursor = db.cursor()  
89 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
90 - sql = '''select account from partner_info where account = '13459147023' '''  
91 - # print(sql)  
92 - try:  
93 - cursor.execute(sql)  
94 - result = cursor.fetchone()  
95 - return result[0]  
96 - except Exception as err:  
97 - # 发生错误时回滚  
98 - print(err)  
99 - db.rollback()  
100 - db.close()  
101 -#获取合伙人密码  
102 -def get_partner_password_from_database():  
103 - db = GetConnect()  
104 - cursor = db.cursor()  
105 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
106 - sql = '''select "password" from partner_info where account = \'{}\''''.format(get_partner_account_from_database())  
107 - # print(sql)  
108 - try:  
109 - cursor.execute(sql)  
110 - result = cursor.fetchone()  
111 - return result[0]  
112 - except Exception as err:  
113 - # 发生错误时回滚  
114 - print(err)  
115 - db.rollback()  
116 - db.close()  
117 -#累计实发订单  
118 -def get_cumulativeQuantity_from_database():  
119 - db = GetConnect()  
120 - cursor = db.cursor()  
121 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
122 - sql = '''select COUNT(id) from order_base where partner_id = {} and order_type in (1) '''.format(get_partner_id_from_database())  
123 - # print(sql)  
124 - try:  
125 - cursor.execute(sql)  
126 - result = cursor.fetchone()  
127 - return result[0]  
128 - except Exception as err:  
129 - # 发生错误时回滚  
130 - print(err)  
131 - db.rollback()  
132 - db.close()  
133 -  
134 -#累计实发订单金额  
135 -def get_cumulativeMoney_from_database():  
136 - db = GetConnect()  
137 - cursor = db.cursor()  
138 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
139 - sql = '''select sum(plan_order_amount) from order_base where partner_id = {} and order_type in (1) '''.format(get_partner_id_from_database())  
140 - print(sql)  
141 - try:  
142 - cursor.execute(sql)  
143 - result = cursor.fetchone()  
144 - if round(result[0], 2) == 0:  
145 - return 0  
146 - else:  
147 - return round(result[0], 2)  
148 - except Exception as err:  
149 - # 发生错误时回滚  
150 - print(err)  
151 - db.rollback()  
152 - db.close()  
153 -#今日新增实发订单金额  
154 -def get_todayRealMoney_from_database():  
155 - db = GetConnect()  
156 - cursor = db.cursor()  
157 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
158 - sql = '''select COALESCE(sum(plan_order_amount),0) from order_base where create_time between \'{}\' and \'{}\' and order_type in (1) '''.format(get_today(),get_tomorrow())  
159 - # print(sql)  
160 - try:  
161 - cursor.execute(sql)  
162 - result = cursor.fetchone()  
163 - if round(result[0], 2) == 0:  
164 - return 0  
165 - else:  
166 - return round(result[0], 2)  
167 - except Exception as err:  
168 - # 发生错误时回滚  
169 - print(err)  
170 - db.rollback()  
171 - db.close()  
172 -  
173 -#今日新增实发订单  
174 -def get_todayRealQuantity_from_database():  
175 - db = GetConnect()  
176 - cursor = db.cursor()  
177 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
178 - sql = '''select COUNT(id) from order_base where create_time between \'{}\' and \'{}\' and order_type in (1) '''.format(get_today(),get_tomorrow())  
179 - # print(sql)  
180 - try:  
181 - cursor.execute(sql)  
182 - result = cursor.fetchone()  
183 - return int(result[0])  
184 - except Exception as err:  
185 - # 发生错误时回滚  
186 - print(err)  
187 - db.rollback()  
188 - db.close()  
189 -  
190 -#累计所有年份应收分红  
191 -def get_receivable_from_database():  
192 - db = GetConnect()  
193 - cursor = db.cursor()  
194 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
195 - sql = '''select sum(COALESCE(partner_bonus_has,0)+COALESCE(partner_bonus_not,0)-COALESCE(partner_bonus_expense,0)) from order_base where create_time between \'{}\' and \'{}\' and partner_id = {} and order_type in (1) '''.format('2020-04-1','2021-03-31 23:59:59',get_partner_id_from_database())  
196 - # print(sql)  
197 - try:  
198 - cursor.execute(sql)  
199 - result = cursor.fetchone()  
200 - if round(result[0], 2) == 0:  
201 - return 0  
202 - else:  
203 - return round(result[0], 2)  
204 - except Exception as err:  
205 - # 发生错误时回滚  
206 - print(err)  
207 - db.rollback()  
208 - db.close()  
209 -  
210 -#实发订单总数  
211 -def get_total_from_database():  
212 - db = GetConnect()  
213 - cursor = db.cursor()  
214 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
215 - sql = '''select count(id) from order_base where create_time between \'{}\' and \'{}\' and partner_id = {} and order_type in (1) '''.format('2020-04-1','2021-03-31 23:59:59',get_partner_id_from_database())  
216 - # print(sql)  
217 - try:  
218 - cursor.execute(sql)  
219 - result = cursor.fetchone()  
220 - return result[0]  
221 - except Exception as err:  
222 - # 发生错误时回滚  
223 - print(err)  
224 - db.rollback()  
225 - db.close()  
226 -  
227 -#累计所有年份未收分红  
228 -def get_outstanding_from_database():  
229 - db = GetConnect()  
230 - cursor = db.cursor()  
231 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
232 - sql = '''select sum(partner_bonus_not) from order_base where partner_id = {} and order_type=1 and create_time between \'{}\' and \'{}\' '''.format(get_partner_id_from_database(),'2020-04-01 00:00:00','2021-03-31 23:59:59')  
233 - # print(sql)  
234 - try:  
235 - cursor.execute(sql)  
236 - result = cursor.fetchone()  
237 - if round(result[0], 2) == 0:  
238 - return 0  
239 - else:  
240 - return round(result[0],2)  
241 - except Exception as err:  
242 - # 发生错误时回滚  
243 - print(err)  
244 - db.rollback()  
245 - db.close()  
246 -# print(get_outstanding_from_database())  
247 - #累计所有年份已收分红  
248 -def get_received_from_database():  
249 - db = GetConnect()  
250 - cursor = db.cursor()  
251 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
252 - sql = '''select sum(partner_bonus_has) from order_base where partner_id = {} and order_type=1 and create_time between \'{}\' and \'{}\' '''.format(get_partner_id_from_database(),'2020-04-01 00:00:00','2021-03-31 23:59:59')  
253 - # print(sql)  
254 - try:  
255 - cursor.execute(sql)  
256 - result = cursor.fetchone()  
257 - if round(result[0],2) == 0:  
258 - return 0  
259 - else:  
260 - return round(result[0],2)  
261 - except Exception as err:  
262 - # 发生错误时回滚  
263 - print(err)  
264 - db.rollback()  
265 - db.close()  
266 -  
267 -#已收明细列表--发货单号  
268 -def get_detailAction_0_order_code_from_database():  
269 - db = GetConnect()  
270 - cursor = db.cursor()  
271 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
272 - sql = '''select delivery_code from order_base where partner_id = {} and order_type=1 and partner_bonus_has > 0 order by id desc '''.format(get_partner_id_from_database())  
273 - # print(sql)  
274 - try:  
275 - cursor.execute(sql)  
276 - result = cursor.fetchone()  
277 - return result[0]  
278 - except Exception as err:  
279 - # 发生错误时回滚  
280 - print(err)  
281 - db.rollback()  
282 - db.close()  
283 -  
284 -#未收明细列表--发货单号  
285 -def get_detailAction_1_order_code_from_database():  
286 - db = GetConnect()  
287 - cursor = db.cursor()  
288 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
289 - sql = '''select delivery_code from order_base where partner_id = {} and order_type=1 and partner_bonus_not > 0 order by id desc '''.format(get_partner_id_from_database())  
290 - # print(sql)  
291 - try:  
292 - cursor.execute(sql)  
293 - result = cursor.fetchone()  
294 - return result[0]  
295 - except Exception as err:  
296 - # 发生错误时回滚  
297 - print(err)  
298 - db.rollback()  
299 - db.close()  
300 -  
301 -#已收/未收明细列表--订单金额  
302 -def get_detailAction_0_plan_order_amount_from_database():  
303 - db = GetConnect()  
304 - cursor = db.cursor()  
305 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
306 - sql = '''select plan_order_amount from order_base where partner_id = {} and order_type=1 and partner_bonus_has > 0 order by id desc '''.format(get_partner_id_from_database())  
307 - # print(sql)  
308 - try:  
309 - cursor.execute(sql)  
310 - result = cursor.fetchone()  
311 - return result[0]  
312 - except Exception as err:  
313 - # 发生错误时回滚  
314 - print(err)  
315 - db.rollback()  
316 - db.close()  
317 -  
318 -#已收/未收明细列表--应收分红  
319 -def get_detailAction_0_use_partner_bonus_amount_from_database():  
320 - db = GetConnect()  
321 - cursor = db.cursor()  
322 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
323 - sql = '''select use_partner_bonus from order_base where partner_id = {} and order_type=1 and partner_bonus_has > 0 order by id desc '''.format(get_partner_id_from_database())  
324 - # print(sql)  
325 - try:  
326 - cursor.execute(sql)  
327 - result = cursor.fetchone()  
328 - if result[0] == -1.0:  
329 - sql = '''select partner_bonus_has from order_base where partner_id = {} and order_type=1 and partner_bonus_has > 0 order by id desc '''.format(  
330 - get_partner_id_from_database())  
331 - cursor.execute(sql)  
332 - result = cursor.fetchone()  
333 - return result[0]  
334 - else:  
335 - return result[0]  
336 - except Exception as err:  
337 - # 发生错误时回滚  
338 - print(err)  
339 - db.rollback()  
340 - db.close()  
341 -  
342 -#获取订单id  
343 -def get_order_id_from_database():  
344 - db = GetConnect()  
345 - cursor = db.cursor()  
346 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
347 - sql = '''select id from order_base where partner_id = {} and order_type=1 order by id desc '''.format(get_partner_id_from_database())  
348 - # print(sql)  
349 - try:  
350 - cursor.execute(sql)  
351 - result = cursor.fetchone()  
352 - return result[0]  
353 - except Exception as err:  
354 - # 发生错误时回滚  
355 - print(err)  
356 - db.rollback()  
357 - db.close()  
@@ -42,231 +42,3 @@ def setup_hook_clean_db(companyid): @@ -42,231 +42,3 @@ def setup_hook_clean_db(companyid):
42 db.rollback() 42 db.rollback()
43 db.close() 43 db.close()
44 44
45 -  
46 -# #获取超级管理员账号  
47 -# def get_admin_account_from_database(tbl):  
48 -# db = GetConnect()  
49 -# cursor = db.cursor()  
50 -# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
51 -# sql = '''select account from \"{}\" where is_default ='t' '''.format(tbl)  
52 -# # print(sql)  
53 -# try:  
54 -# cursor.execute(sql)  
55 -# result = cursor.fetchone()  
56 -# return result[0]  
57 -# except Exception as err:  
58 -# # 发生错误时回滚  
59 -# print(err)  
60 -# db.rollback()  
61 -# db.close()  
62 -# #获取管理员的id  
63 -# def get_admin_id_from_database():  
64 -# db = GetConnect()  
65 -# cursor = db.cursor()  
66 -# sql = '''select id from admin_user where is_usable = 't' order by id desc '''  
67 -# # print(sql)  
68 -# try:  
69 -# cursor.execute(sql)  
70 -# result = cursor.fetchone()  
71 -# return result[0]  
72 -# except Exception as err:  
73 -# # 发生错误时回滚  
74 -# print(err)  
75 -# db.rollback()  
76 -# db.close()  
77 -# #获取管理员的account  
78 -# def get_account_from_database():  
79 -# db = GetConnect()  
80 -# cursor = db.cursor()  
81 -# sql= '''select account from admin_user where is_usable = 't' order by id desc '''  
82 -# try:  
83 -# cursor.execute(sql)  
84 -# result = cursor.fetchone()  
85 -# return result[0]  
86 -# except Exception as err:  
87 -# # 发生错误时回滚  
88 -# print(err)  
89 -# db.rollback()  
90 -# db.close()  
91 -#  
92 -# #实际订单的发货单号  
93 -# def get_actual_delivery_code_from_database():  
94 -# db = GetConnect()  
95 -# cursor = db.cursor()  
96 -# sql = '''select delivery_code from order_base where order_type = 1 order by id DESC'''  
97 -# #print(sql)  
98 -# try:  
99 -# cursor.execute(sql)  
100 -# result = cursor.fetchone()  
101 -# return result[0]  
102 -# except Exception as err:  
103 -# # 发生错误时回滚  
104 -# print(err)  
105 -# db.rollback()  
106 -# db.close()  
107 -#  
108 -# #实际订单的id  
109 -# def get_actual_id_from_database():  
110 -# db = GetConnect()  
111 -# cursor = db.cursor()  
112 -# sql = '''select id from order_base where order_type = 1 order by id DESC'''  
113 -# #print(sql)  
114 -# try:  
115 -# cursor.execute(sql)  
116 -# result = cursor.fetchone()  
117 -# return result[0]  
118 -# except Exception as err:  
119 -# # 发生错误时回滚  
120 -# print(err)  
121 -# db.rollback()  
122 -# db.close()  
123 -# #意向订单id  
124 -# def get_purpose_id_from_database():  
125 -# db = GetConnect()  
126 -# cursor = db.cursor()  
127 -# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
128 -# sql = '''select id from order_base where order_type = 2 order by id DESC'''  
129 -# try:  
130 -# cursor.execute(sql)  
131 -# result = cursor.fetchone()  
132 -# return result[0]  
133 -# except Exception as err:  
134 -# # 发生错误时回滚  
135 -# print(err)  
136 -# db.rollback()  
137 -# db.close()  
138 -# #意向订单的产品ID  
139 -# def get_ID_from_database(id):  
140 -# db = GetConnect()  
141 -# cursor = db.cursor()  
142 -# sql= '''select id from order_good where order_id = {} order by id ASC '''.format(get_purpose_id_from_database())  
143 -# # print(sql)  
144 -# try:  
145 -# cursor.execute(sql)  
146 -# result = cursor.fetchall()  
147 -# return result[id][0]  
148 -# except Exception as err:  
149 -# # 发生错误时回滚  
150 -# print(err)  
151 -# db.rollback()  
152 -# db.close()  
153 -# #分红管理的产品ID  
154 -# def get_dividends_ID_from_database(id):  
155 -# db = GetConnect()  
156 -# cursor = db.cursor()  
157 -# sql= '''select id from order_good where order_id = {} order by id ASC '''.format(get_actual_id_from_database())  
158 -# # print(sql)  
159 -# try:  
160 -# cursor.execute(sql)  
161 -# result = cursor.fetchall()  
162 -# return result[id][0]  
163 -# except Exception as err:  
164 -# # 发生错误时回滚  
165 -# print(err)  
166 -# db.rollback()  
167 -# db.close()  
168 -# #意向订单的产品名称  
169 -# def get_productName_from_database(id):  
170 -# db = GetConnect()  
171 -# cursor = db.cursor()  
172 -# sql= '''select good_name from order_good where order_id = {} order by id ASC '''.format(get_purpose_id_from_database())  
173 -# # print(sql)  
174 -# try:  
175 -# cursor.execute(sql)  
176 -# result = cursor.fetchall()  
177 -# return result[id][0]  
178 -# except Exception as err:  
179 -# # 发生错误时回滚  
180 -# print(err)  
181 -# db.rollback()  
182 -# db.close()  
183 -# #意向订单的产品数量  
184 -# def get_orderNum_from_database(id):  
185 -# db = GetConnect()  
186 -# cursor = db.cursor()  
187 -# sql= '''select plan_good_number from order_good where order_id = {} order by id ASC '''.format(get_purpose_id_from_database())  
188 -# # print(sql)  
189 -# try:  
190 -# cursor.execute(sql)  
191 -# result = cursor.fetchall()  
192 -# return result[id][0]  
193 -# except Exception as err:  
194 -# # 发生错误时回滚  
195 -# print(err)  
196 -# db.rollback()  
197 -# db.close()  
198 -# #意向订单的产品单价  
199 -# def get_univalence_from_database(id):  
200 -# db = GetConnect()  
201 -# cursor = db.cursor()  
202 -# sql= '''select price from order_good where order_id = {} order by id ASC '''.format(get_purpose_id_from_database())  
203 -# # print(sql)  
204 -# try:  
205 -# cursor.execute(sql)  
206 -# result = cursor.fetchall()  
207 -# return result[id][0]  
208 -# except Exception as err:  
209 -# # 发生错误时回滚  
210 -# print(err)  
211 -# db.rollback()  
212 -# db.close()  
213 -# #意向订单的合伙人分红比例  
214 -# def get_partnerRatio_from_database(id):  
215 -# db = GetConnect()  
216 -# cursor = db.cursor()  
217 -# sql= '''select partner_bonus_percent from order_good where order_id = {} order by id ASC '''.format(get_purpose_id_from_database())  
218 -# # print(sql)  
219 -# try:  
220 -# cursor.execute(sql)  
221 -# result = cursor.fetchall()  
222 -# return result[id][0]  
223 -# except Exception as err:  
224 -# # 发生错误时回滚  
225 -# print(err)  
226 -# db.rollback()  
227 -# db.close()  
228 -# #获取合伙人所属区域  
229 -# def get_area_from_database():  
230 -# db = GetConnect()  
231 -# cursor = db.cursor()  
232 -# sql = '''select region_info from partner_info where account = '13459147023' '''  
233 -# # print(sql)  
234 -# try:  
235 -# cursor.execute(sql)  
236 -# result = cursor.fetchone()  
237 -# return result[0]['regionName']  
238 -# except Exception as err:  
239 -# # 发生错误时回滚  
240 -# print(err)  
241 -# db.rollback()  
242 -# db.close()  
243 -# #获取合伙人的业务员姓名  
244 -# def get_salesman_from_database():  
245 -# db = GetConnect()  
246 -# cursor = db.cursor()  
247 -# sql = '''select salesman from partner_info where account = '13459147023' '''  
248 -# # print(sql)  
249 -# try:  
250 -# cursor.execute(sql)  
251 -# result = cursor.fetchone()  
252 -# return result[0][0]['name']  
253 -# except Exception as err:  
254 -# # 发生错误时回滚  
255 -# print(err)  
256 -# db.rollback()  
257 -# db.close()  
258 -# #获取合伙人的状态  
259 -# def get_status_from_database():  
260 -# db = GetConnect()  
261 -# cursor = db.cursor()  
262 -# sql = '''select status from partner_info where account = '13459147023' '''  
263 -# # print(sql)  
264 -# try:  
265 -# cursor.execute(sql)  
266 -# result = cursor.fetchone()  
267 -# return result[0]  
268 -# except Exception as err:  
269 -# # 发生错误时回滚  
270 -# print(err)  
271 -# db.rollback()  
272 -# db.close()  
1 { 1 {
2 "testcase":[ 2 "testcase":[
3 - "testcases/admin/ADMIN001_add_admin_testcases.yml" 3 + "testcases/dividends/DIV001_dividendslist_testcases.yml"
4 ] 4 ]
5 } 5 }
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>