提交 676ef25a3918260dfa12816db465f7d541ba0919
1 个父辈
ed1fd747
1.0.2
1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化
正在显示
17 个修改的文件
包含
519 行增加
和
190 行删除
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <project version="4"> |
3 | 3 | <component name="ChangeListManager"> |
4 | - <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="1.0.1 1.新增fixture.py 2.新增查看院系接口测试用例 4.新增整理Excel表格数据入参问题 3.代码优化"> | |
5 | - <change afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" /> | |
4 | + <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="1.0.1 1.新增发送邮件"> | |
5 | + <change afterPath="$PROJECT_DIR$/data/system/test_02_specialty.xlsx" afterDir="false" /> | |
6 | + <change afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_class.xlsx" afterDir="false" /> | |
7 | + <change afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" afterDir="false" /> | |
6 | 8 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |
9 | + <change beforePath="$PROJECT_DIR$/common/handle_excel.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/handle_excel.py" afterDir="false" /> | |
10 | + <change beforePath="$PROJECT_DIR$/data/system/test_02_department.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_department.xlsx" afterDir="false" /> | |
11 | + <change beforePath="$PROJECT_DIR$/data/system/test_03_specialty.xlsx" beforeDir="false" /> | |
12 | + <change beforePath="$PROJECT_DIR$/data/system/test_04_term.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_term.xlsx" afterDir="false" /> | |
13 | + <change beforePath="$PROJECT_DIR$/data/test_01_login.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/test_01_login.xlsx" afterDir="false" /> | |
14 | + <change beforePath="$PROJECT_DIR$/logs/log.log" beforeDir="false" afterPath="$PROJECT_DIR$/logs/log.log" afterDir="false" /> | |
15 | + <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> | |
16 | + <change beforePath="$PROJECT_DIR$/report/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report.html" afterDir="false" /> | |
7 | 17 | <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> |
18 | + <change beforePath="$PROJECT_DIR$/testcase/test_01_login.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_01_login.py" afterDir="false" /> | |
19 | + <change beforePath="$PROJECT_DIR$/testcase/test_02_system_management.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_02_system_management.py" afterDir="false" /> | |
20 | + <change beforePath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" afterDir="false" /> | |
21 | + <change beforePath="$PROJECT_DIR$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> | |
8 | 22 | </list> |
9 | 23 | <option name="SHOW_DIALOG" value="false" /> |
10 | 24 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
... | ... | @@ -53,16 +67,17 @@ |
53 | 67 | <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> |
54 | 68 | <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> |
55 | 69 | <property name="WebServerToolWindowFactoryState" value="false" /> |
56 | - <property name="last_opened_file_path" value="$PROJECT_DIR$/tools" /> | |
70 | + <property name="last_opened_file_path" value="$PROJECT_DIR$/data/teaching_affairs" /> | |
57 | 71 | <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> |
58 | 72 | </component> |
59 | 73 | <component name="RecentsManager"> |
60 | 74 | <key name="CopyFile.RECENT_KEYS"> |
75 | + <recent name="$PROJECT_DIR$/data/teaching_affairs" /> | |
61 | 76 | <recent name="$PROJECT_DIR$/tools" /> |
62 | 77 | </key> |
63 | 78 | </component> |
64 | 79 | <component name="RunManager" selected="Python.run"> |
65 | - <configuration name="fixture" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> | |
80 | + <configuration name="fixture (1)" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> | |
66 | 81 | <module name="yxly2" /> |
67 | 82 | <option name="INTERPRETER_OPTIONS" value="" /> |
68 | 83 | <option name="PARENT_ENVS" value="true" /> |
... | ... | @@ -70,12 +85,12 @@ |
70 | 85 | <env name="PYTHONUNBUFFERED" value="1" /> |
71 | 86 | </envs> |
72 | 87 | <option name="SDK_HOME" value="" /> |
73 | - <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/testcase" /> | |
88 | + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/tools" /> | |
74 | 89 | <option name="IS_MODULE_SDK" value="true" /> |
75 | 90 | <option name="ADD_CONTENT_ROOTS" value="true" /> |
76 | 91 | <option name="ADD_SOURCE_ROOTS" value="true" /> |
77 | 92 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> |
78 | - <option name="SCRIPT_NAME" value="$PROJECT_DIR$/testcase/fixture.py" /> | |
93 | + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/tools/fixture.py" /> | |
79 | 94 | <option name="PARAMETERS" value="" /> |
80 | 95 | <option name="SHOW_COMMAND_LINE" value="false" /> |
81 | 96 | <option name="EMULATE_TERMINAL" value="false" /> |
... | ... | @@ -106,7 +121,7 @@ |
106 | 121 | <option name="INPUT_FILE" value="" /> |
107 | 122 | <method v="2" /> |
108 | 123 | </configuration> |
109 | - <configuration name="Unittests in fixture.py" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true"> | |
124 | + <configuration name="Unittests in test_01_login.py" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true"> | |
110 | 125 | <module name="yxly2" /> |
111 | 126 | <option name="INTERPRETER_OPTIONS" value="" /> |
112 | 127 | <option name="PARENT_ENVS" value="true" /> |
... | ... | @@ -117,7 +132,7 @@ |
117 | 132 | <option name="ADD_SOURCE_ROOTS" value="true" /> |
118 | 133 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> |
119 | 134 | <option name="_new_additionalArguments" value="""" /> |
120 | - <option name="_new_target" value=""$PROJECT_DIR$/testcase/fixture.py"" /> | |
135 | + <option name="_new_target" value=""$PROJECT_DIR$/testcase/test_01_login.py"" /> | |
121 | 136 | <option name="_new_targetType" value=""PATH"" /> |
122 | 137 | <method v="2" /> |
123 | 138 | </configuration> |
... | ... | @@ -136,18 +151,35 @@ |
136 | 151 | <option name="_new_targetType" value=""PATH"" /> |
137 | 152 | <method v="2" /> |
138 | 153 | </configuration> |
154 | + <configuration name="Unittests in test_03_teaching_affairs.py" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true"> | |
155 | + <module name="yxly2" /> | |
156 | + <option name="INTERPRETER_OPTIONS" value="" /> | |
157 | + <option name="PARENT_ENVS" value="true" /> | |
158 | + <option name="SDK_HOME" value="" /> | |
159 | + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/testcase" /> | |
160 | + <option name="IS_MODULE_SDK" value="true" /> | |
161 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | |
162 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | |
163 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> | |
164 | + <option name="_new_additionalArguments" value="""" /> | |
165 | + <option name="_new_target" value=""$PROJECT_DIR$/testcase/test_03_teaching_affairs.py"" /> | |
166 | + <option name="_new_targetType" value=""PATH"" /> | |
167 | + <method v="2" /> | |
168 | + </configuration> | |
139 | 169 | <list> |
140 | 170 | <item itemvalue="Python.run" /> |
141 | - <item itemvalue="Python.fixture" /> | |
142 | 171 | <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> |
143 | - <item itemvalue="Python tests.Unittests in fixture.py" /> | |
172 | + <item itemvalue="Python tests.Unittests in test_01_login.py" /> | |
173 | + <item itemvalue="Python.fixture (1)" /> | |
174 | + <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> | |
144 | 175 | </list> |
145 | 176 | <recent_temporary> |
146 | 177 | <list> |
147 | 178 | <item itemvalue="Python.run" /> |
148 | 179 | <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> |
149 | - <item itemvalue="Python.fixture" /> | |
150 | - <item itemvalue="Python tests.Unittests in fixture.py" /> | |
180 | + <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> | |
181 | + <item itemvalue="Python.fixture (1)" /> | |
182 | + <item itemvalue="Python tests.Unittests in test_01_login.py" /> | |
151 | 183 | </list> |
152 | 184 | </recent_temporary> |
153 | 185 | </component> |
... | ... | @@ -164,7 +196,8 @@ |
164 | 196 | <workItem from="1671554332302" duration="650000" /> |
165 | 197 | <workItem from="1671612580435" duration="100000" /> |
166 | 198 | <workItem from="1671612709033" duration="18069000" /> |
167 | - <workItem from="1671637473856" duration="796000" /> | |
199 | + <workItem from="1671637473856" duration="5050000" /> | |
200 | + <workItem from="1671683905863" duration="21393000" /> | |
168 | 201 | </task> |
169 | 202 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> |
170 | 203 | <created>1671544396986</created> |
... | ... | @@ -180,7 +213,14 @@ |
180 | 213 | <option name="project" value="LOCAL" /> |
181 | 214 | <updated>1671636040241</updated> |
182 | 215 | </task> |
183 | - <option name="localTasksCounter" value="3" /> | |
216 | + <task id="LOCAL-00003" summary="1.0.1 1.新增发送邮件"> | |
217 | + <created>1671638407457</created> | |
218 | + <option name="number" value="00003" /> | |
219 | + <option name="presentableId" value="LOCAL-00003" /> | |
220 | + <option name="project" value="LOCAL" /> | |
221 | + <updated>1671638407457</updated> | |
222 | + </task> | |
223 | + <option name="localTasksCounter" value="4" /> | |
184 | 224 | <servers /> |
185 | 225 | </component> |
186 | 226 | <component name="TypeScriptGeneratedFilesManager"> |
... | ... | @@ -213,34 +253,85 @@ |
213 | 253 | <component name="VcsManagerConfiguration"> |
214 | 254 | <MESSAGE value="1.0.0 首次提交" /> |
215 | 255 | <MESSAGE value="1.0.1 1.新增fixture.py 2.新增查看院系接口测试用例 4.新增整理Excel表格数据入参问题 3.代码优化" /> |
216 | - <option name="LAST_COMMIT_MESSAGE" value="1.0.1 1.新增fixture.py 2.新增查看院系接口测试用例 4.新增整理Excel表格数据入参问题 3.代码优化" /> | |
256 | + <MESSAGE value="1.0.1 1.新增发送邮件" /> | |
257 | + <option name="LAST_COMMIT_MESSAGE" value="1.0.1 1.新增发送邮件" /> | |
217 | 258 | </component> |
218 | 259 | <component name="XDebuggerManager"> |
219 | 260 | <breakpoint-manager> |
220 | 261 | <breakpoints> |
221 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
262 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
222 | 263 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
223 | - <line>147</line> | |
264 | + <line>148</line> | |
224 | 265 | <option name="timeStamp" value="5" /> |
225 | 266 | </line-breakpoint> |
226 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
267 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
227 | 268 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
228 | - <line>180</line> | |
269 | + <line>184</line> | |
229 | 270 | <option name="timeStamp" value="10" /> |
230 | 271 | </line-breakpoint> |
231 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
272 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
232 | 273 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
233 | 274 | <line>88</line> |
234 | 275 | <option name="timeStamp" value="11" /> |
235 | 276 | </line-breakpoint> |
277 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
278 | + <url>file://$PROJECT_DIR$/testcase/test_01_login.py</url> | |
279 | + <line>27</line> | |
280 | + <option name="timeStamp" value="12" /> | |
281 | + </line-breakpoint> | |
282 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
283 | + <url>file://$PROJECT_DIR$/testcase/test_01_login.py</url> | |
284 | + <line>40</line> | |
285 | + <option name="timeStamp" value="13" /> | |
286 | + </line-breakpoint> | |
287 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
288 | + <url>file://$PROJECT_DIR$/testcase/test_01_login.py</url> | |
289 | + <line>37</line> | |
290 | + <option name="timeStamp" value="14" /> | |
291 | + </line-breakpoint> | |
292 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
293 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | |
294 | + <line>31</line> | |
295 | + <option name="timeStamp" value="16" /> | |
296 | + </line-breakpoint> | |
297 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
298 | + <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | |
299 | + <line>90</line> | |
300 | + <option name="timeStamp" value="22" /> | |
301 | + </line-breakpoint> | |
302 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
303 | + <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | |
304 | + <line>107</line> | |
305 | + <option name="timeStamp" value="23" /> | |
306 | + </line-breakpoint> | |
307 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
308 | + <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | |
309 | + <line>178</line> | |
310 | + <option name="timeStamp" value="24" /> | |
311 | + </line-breakpoint> | |
312 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
313 | + <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | |
314 | + <line>176</line> | |
315 | + <option name="timeStamp" value="25" /> | |
316 | + </line-breakpoint> | |
236 | 317 | </breakpoints> |
318 | + <default-breakpoints> | |
319 | + <breakpoint type="python-exception"> | |
320 | + <properties notifyOnTerminate="true" exception="BaseException"> | |
321 | + <option name="notifyOnTerminate" value="true" /> | |
322 | + </properties> | |
323 | + </breakpoint> | |
324 | + </default-breakpoints> | |
237 | 325 | </breakpoint-manager> |
238 | 326 | </component> |
239 | 327 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> |
240 | - <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_02_system_management_py.coverage" NAME="Unittests in test_02_system_management.py Coverage Results" MODIFIED="1671628771276" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | |
328 | + <SUITE FILE_PATH="coverage/yxly$fixture__1_.coverage" NAME="fixture (1) Coverage Results" MODIFIED="1671721079921" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tools" /> | |
329 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_02_system_management_py.coverage" NAME="Unittests in test_02_system_management.py Coverage Results" MODIFIED="1671721675550" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | |
330 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_01_login_py.coverage" NAME="Unittests in test_01_login.py Coverage Results" MODIFIED="1671641941612" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | |
241 | 331 | <SUITE FILE_PATH="coverage/yxly$fixture.coverage" NAME="fixture Coverage Results" MODIFIED="1671628017395" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
242 | 332 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_fixture_py.coverage" NAME="Unittests in fixture.py Coverage Results" MODIFIED="1671625806027" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
333 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_03_teaching_affairs_py.coverage" NAME="Unittests in test_03_teaching_affairs.py Coverage Results" MODIFIED="1671721363914" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | |
243 | 334 | <SUITE FILE_PATH="coverage/yxly$pytest_in_test_02_system_management_py.coverage" NAME="pytest in test_02_system_management.py Coverage Results" MODIFIED="1671617451891" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
244 | - <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1671635454441" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | |
335 | + <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1671721748026" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | |
245 | 336 | </component> |
246 | 337 | </project> |
\ No newline at end of file | ... | ... |
不能预览此文件类型
data/system/test_02_specialty.xlsx
0 → 100644
不能预览此文件类型
data/system/test_03_specialty.xlsx
已删除
100644 → 0
不能预览此文件类型
data/teaching_affairs/test_03_class.xlsx
0 → 100644
不能预览此文件类型
data/teaching_affairs/test_03_teacher.xlsx
0 → 100644
不能预览此文件类型
不能预览此文件类型
此 diff 太大无法显示。
1 | -[{"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "12.67 S", "begin_time": "2022-12-19 17:56:09", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.87 S", "begin_time": "2022-12-19 17:58:06", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.24 S", "begin_time": "2022-12-19 18:17:28", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.45 S", "begin_time": "2022-12-19 18:19:47", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.72 S", "begin_time": "2022-12-19 19:32:22", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "103.32 S", "begin_time": "2022-12-19 20:35:55", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.95 S", "begin_time": "2022-12-20 12:06:06", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.92 S", "begin_time": "2022-12-20 21:34:11", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.77 S", "begin_time": "2022-12-20 21:35:13", "pass_rate": "37.50"}, {"success": 8, "all": 25, "fail": 12, "skip": 0, "error": 5, "runtime": "14.41 S", "begin_time": "2022-12-21 22:40:23", "pass_rate": "32.00"}, {"success": 8, "all": 25, "fail": 12, "skip": 0, "error": 5, "runtime": "14.73 S", "begin_time": "2022-12-21 22:52:34", "pass_rate": "32.00"}, {"success": 9, "all": 25, "fail": 12, "skip": 0, "error": 4, "runtime": "14.49 S", "begin_time": "2022-12-21 22:55:57", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 12, "skip": 0, "error": 4, "runtime": "14.04 S", "begin_time": "2022-12-21 22:57:36", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.09 S", "begin_time": "2022-12-21 23:02:18", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.30 S", "begin_time": "2022-12-21 23:10:55", "pass_rate": "36.00"}] | |
\ No newline at end of file | ||
1 | +[{"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "12.67 S", "begin_time": "2022-12-19 17:56:09", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.87 S", "begin_time": "2022-12-19 17:58:06", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.24 S", "begin_time": "2022-12-19 18:17:28", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.45 S", "begin_time": "2022-12-19 18:19:47", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.72 S", "begin_time": "2022-12-19 19:32:22", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "103.32 S", "begin_time": "2022-12-19 20:35:55", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.95 S", "begin_time": "2022-12-20 12:06:06", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.92 S", "begin_time": "2022-12-20 21:34:11", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.77 S", "begin_time": "2022-12-20 21:35:13", "pass_rate": "37.50"}, {"success": 8, "all": 25, "fail": 12, "skip": 0, "error": 5, "runtime": "14.41 S", "begin_time": "2022-12-21 22:40:23", "pass_rate": "32.00"}, {"success": 8, "all": 25, "fail": 12, "skip": 0, "error": 5, "runtime": "14.73 S", "begin_time": "2022-12-21 22:52:34", "pass_rate": "32.00"}, {"success": 9, "all": 25, "fail": 12, "skip": 0, "error": 4, "runtime": "14.49 S", "begin_time": "2022-12-21 22:55:57", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 12, "skip": 0, "error": 4, "runtime": "14.04 S", "begin_time": "2022-12-21 22:57:36", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.09 S", "begin_time": "2022-12-21 23:02:18", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.30 S", "begin_time": "2022-12-21 23:10:55", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.19 S", "begin_time": "2022-12-22 00:05:50", "pass_rate": "36.00"}, {"success": 5, "all": 25, "fail": 16, "skip": 0, "error": 4, "runtime": "13.92 S", "begin_time": "2022-12-22 00:26:21", "pass_rate": "20.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "15.25 S", "begin_time": "2022-12-22 00:32:39", "pass_rate": "36.00"}, {"success": 0, "all": 8, "fail": 0, "skip": 0, "error": 8, "runtime": "0.71 S", "begin_time": "2022-12-22 00:47:52", "pass_rate": "0.00"}, {"success": 8, "all": 25, "fail": 17, "skip": 0, "error": 0, "runtime": "12.65 S", "begin_time": "2022-12-22 00:54:19", "pass_rate": "32.00"}, {"success": 4, "all": 15, "fail": 11, "skip": 0, "error": 0, "runtime": "10.52 S", "begin_time": "2022-12-22 15:54:09", "pass_rate": "26.67"}, {"success": 4, "all": 15, "fail": 11, "skip": 0, "error": 0, "runtime": "10.60 S", "begin_time": "2022-12-22 15:59:15", "pass_rate": "26.67"}, {"success": 7, "all": 26, "fail": 9, "skip": 0, "error": 10, "runtime": "13.48 S", "begin_time": "2022-12-22 23:03:40", "pass_rate": "26.92"}, {"success": 6, "all": 16, "fail": 10, "skip": 0, "error": 0, "runtime": "11.90 S", "begin_time": "2022-12-22 23:08:12", "pass_rate": "37.50"}, {"success": 10, "all": 26, "fail": 16, "skip": 0, "error": 0, "runtime": "15.15 S", "begin_time": "2022-12-22 23:09:09", "pass_rate": "38.46"}] | |
\ No newline at end of file | ... | ... |
... | ... | @@ -156,15 +156,15 @@ |
156 | 156 | </li> |
157 | 157 | <li class="list-group-item"> |
158 | 158 | <button type="button" class="btn btn-success">开始时间</button> |
159 | - <span class="text-dark">2022-12-21 23:10:55</span> | |
159 | + <span class="text-dark">2022-12-22 23:09:09</span> | |
160 | 160 | </li> |
161 | 161 | <li class="list-group-item"> |
162 | 162 | <button type="button" class="btn btn-success">执行时间</button> |
163 | - <span class="text-dark">14.30 S</span> | |
163 | + <span class="text-dark">15.15 S</span> | |
164 | 164 | </li> |
165 | 165 | <li class="list-group-item"> |
166 | 166 | <button type="button" class="btn btn-success">用例总数</button> |
167 | - <span class="text-dark">25</span> | |
167 | + <span class="text-dark">26</span> | |
168 | 168 | </li> |
169 | 169 | |
170 | 170 | |
... | ... | @@ -175,7 +175,7 @@ |
175 | 175 | |
176 | 176 | <li class="list-group-item"> |
177 | 177 | <button type="button" class="btn btn-success">成功用例</button> |
178 | - <span class="text-success">9</span> | |
178 | + <span class="text-success">10</span> | |
179 | 179 | </li> |
180 | 180 | <li class="list-group-item"> |
181 | 181 | <button type="button" class="btn btn-warning">失败用例</button> |
... | ... | @@ -225,14 +225,16 @@ |
225 | 225 | <select id="testClass"> |
226 | 226 | <option>所有</option> |
227 | 227 | |
228 | - <option>Test03Year</option> | |
228 | + <option>TestLogin</option> | |
229 | 229 | |
230 | - <option>Test02Specialty</option> | |
230 | + <option>Test01CTeacher</option> | |
231 | 231 | |
232 | - <option>TestLogin</option> | |
232 | + <option>Test02Specialty</option> | |
233 | 233 | |
234 | 234 | <option>Test01Department</option> |
235 | 235 | |
236 | + <option>Test03Year</option> | |
237 | + | |
236 | 238 | </select> |
237 | 239 | |
238 | 240 | </th> |
... | ... | @@ -262,7 +264,7 @@ |
262 | 264 | <td class="TestLogin">TestLogin</td> |
263 | 265 | <td>test_login_1</td> |
264 | 266 | <td>登陆成功</td> |
265 | - <td>0.558s</td> | |
267 | + <td>0.522s</td> | |
266 | 268 | |
267 | 269 | <td class="text-success">成功</td> |
268 | 270 | |
... | ... | @@ -278,7 +280,7 @@ |
278 | 280 | |
279 | 281 | <pre>用例入参:{'way': 'name', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher', 'username': '17301249975'} |
280 | 282 | 预期结果:{'msg': 'success', 'code': 200} |
281 | -实际结果:{'msg': 'success', 'code': 200, 'data': {'access_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxNjcxNDU1LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiM2Q1MDkxYzAtM2ZlYy00ZWMxLWJjY2ItYjcyYmM3OGZhNWUwIiwic3RhdHVzIjoiYWN0aXZlIn0.AzyaOjNsF1cSheQAzVWLyXS-H3LhbjLCDsQ8QoKMWrEE-b_3wXi5W7NVVwlYIXkf2rbsuhXpauXLQd6drjpqCzswPKqxu1zObV0WBQ_ej9Mh-n3sLbdwzk1-Hug3tm4tryPEWzt5ysCa8pSUChjlosvo_e23KCPUohENyp2uvI1LcDZJpn0ZgpGHWf6XcBDA7FoICJC3SvbU_NKBxjetgnNdcoNWekmk_xULKgG6hJKNdd1MT6FhI0kw2uQGZJ5RWYdFwv5gVqg5-GH3cNSoGPw6YY0SvYQZaaUaUHyOu8Pr7cCnRtQJPdEFDXpARgd13jpXYudKf9KcUJnFgFCoBQ', 'token_type': 'bearer', 'refresh_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJhdGkiOiIzZDUwOTFjMC0zZmVjLTRlYzEtYmNjYi1iNzJiYzc4ZmE1ZTAiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxNzA3NDU1LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiNjllYWIyZGQtZmFmOS00YTU5LWFlOTEtYTYzNDJjZDQxZGIzIiwic3RhdHVzIjoiYWN0aXZlIn0.CyO8dx_qojewAsZDglQISHRqucAjA4AmxFgrXLOpv0sSCU8c5NwPDWA2rGMD2AtbDuWn2HohqrvB_Vp1ryzGrIdRqd8YkSssVedQQbcuA2YlrUiT6htpI5ezjsaDeAkFc75Ijl_BWXbyafsz0Geow6EvfMoiBn3cCrqsJHeDoUc5VBKtE-F8sh6eE0PGoLwnIfmPsiJSsQpxNVJLMGIyYCVZztSHIJhqvzlwclwOnOaGrBnhkq9BIIQU0mfACJXTDUIsI2EjB8Wl6rSoEVKjmTTGbNgbat_n23hRWOv-GXga_IGXDBoKmyRy6dyhyoFWjVXRzItP2AVnt-momBov9g', 'expires_in': 35999, 'scope': 'all', 'tenantType': '', 'brokerId': '', 'hroUserToken': None, 'authStatus': '', 'authenticationIdentity': 'login', 'type': 'teacher', 'userId': '1519959208529866753', 'studentId': '', 'teacherId': '1519959209276452865', 'tenantName': '', 'phone': '17301249975', 'schoolId': '1519958566130257922', 'tenantId': '', 'name': '校长', 'studentStatus': '', 'schoolName': '测试大学', 'status': 'active', 'jti': '3d5091c0-3fec-4ec1-bccb-b72bc78fa5e0'}} | |
283 | +实际结果:{'msg': 'success', 'code': 200, 'data': {'access_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxNzU3NzQ5LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiMDliZGY3YmItMjQ1OS00MzFkLWJkMjctYzlkNDAzZDJmNWU5Iiwic3RhdHVzIjoiYWN0aXZlIn0.SL0fKv0hKIY0754w_Ms-mcQeTyWntEiDqsblj6HqGluYqdNO8gpGp2cuA-k0LqgtUNpYHoWzHtwkUyEJ8qJW8XZl0cTZQwJxnPcQYHyug-YcNn9lBumeKd-NnmgPDvAZYW81IYYugNRYxExn9pTmscFAe3z6sLLwg8XDnXYGOoGtMQ8bbcjc-CAmB0Ppb9Pmy_hF2rSvAfKgtqM59bxJT3yEKePY4LLXTSBWty-aGvuvnyGRN2yrQt4-N0hrGHtk9ZjsFCCOxaZuWQotJDOc8hMCh4YGhVvfuAvT-Z8uxIfiJj7vx4aR88zq3SDUae3zWsbPzQ4dUN5d7pBIK71Q7w', 'token_type': 'bearer', 'refresh_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJhdGkiOiIwOWJkZjdiYi0yNDU5LTQzMWQtYmQyNy1jOWQ0MDNkMmY1ZTkiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxNzkzNzQ5LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiYzk5ZDRmOTktZmNmMS00YzkyLThmMmQtYTRmY2JjYjAyMjE2Iiwic3RhdHVzIjoiYWN0aXZlIn0.WAYJK0CJtF1lJZcU4APZMllGn7mL5UKWKAgQEHbmbleGw2vcC8_mG0l1UkYqa2FCJ20AjLuLwEeo2LctfXecSnkuEegTV4_uICr1Uay4EjSCfvQYc4co-ztGPczBiNvHbW3SqMJ8XSOEtDilJPTaHti28Fb9gYwUdhki11rpnqFZkrx900gkr57WqA20VB2yEtQc1OG8Eb64FLqsC-2YURzz4yoCmxlCIo3t6b49YyuLJOoHTgY7lwPKyVdH9IleICPeUYsHSF0rCh3sYKfKkmKOLODhXDZynRaf0nHUr9nC8y0fVhKpD3N_6-RI563UCc9KUFyX8qEE0e3CiwrW8Q', 'expires_in': 35999, 'scope': 'all', 'tenantType': '', 'brokerId': '', 'hroUserToken': None, 'authStatus': '', 'authenticationIdentity': 'login', 'type': 'teacher', 'userId': '1519959208529866753', 'studentId': '', 'teacherId': '1519959209276452865', 'tenantName': '', 'phone': '17301249975', 'schoolId': '1519958566130257922', 'tenantId': '', 'name': '校长', 'studentStatus': '', 'schoolName': '测试大学', 'status': 'active', 'jti': '09bdf7bb-2459-431d-bd27-c9d403d2f5e9'}} | |
282 | 284 | test_login_1 (test_01_login.TestLogin)执行——>【通过】 |
283 | 285 | </pre> |
284 | 286 | |
... | ... | @@ -291,7 +293,7 @@ test_login_1 (test_01_login.TestLogin)銵> |
291 | 293 | <td class="TestLogin">TestLogin</td> |
292 | 294 | <td>test_login_2</td> |
293 | 295 | <td>手机号填写错误的</td> |
294 | - <td>0.237s</td> | |
296 | + <td>0.22s</td> | |
295 | 297 | |
296 | 298 | <td class="text-warning">失败</td> |
297 | 299 | |
... | ... | @@ -331,12 +333,12 @@ test_login_2 (test_01_login.TestLogin)銵>仃韐乓 |
331 | 333 | </pre> |
332 | 334 | |
333 | 335 | |
334 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 56, in test_login | |
336 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | |
335 | 337 | raise e |
336 | 338 | </pre> |
337 | 339 | |
338 | 340 | |
339 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 48, in test_login | |
341 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | |
340 | 342 | self.assertEqual(expected['msg'], res['msg']) |
341 | 343 | </pre> |
342 | 344 | |
... | ... | @@ -371,7 +373,7 @@ test_login_2 (test_01_login.TestLogin)銵>仃韐乓 |
371 | 373 | <td class="TestLogin">TestLogin</td> |
372 | 374 | <td>test_login_3</td> |
373 | 375 | <td>手机号不进行填写</td> |
374 | - <td>0.235s</td> | |
376 | + <td>0.214s</td> | |
375 | 377 | |
376 | 378 | <td class="text-warning">失败</td> |
377 | 379 | |
... | ... | @@ -411,12 +413,12 @@ test_login_3 (test_01_login.TestLogin)銵>仃韐乓 |
411 | 413 | </pre> |
412 | 414 | |
413 | 415 | |
414 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 56, in test_login | |
416 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | |
415 | 417 | raise e |
416 | 418 | </pre> |
417 | 419 | |
418 | 420 | |
419 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 48, in test_login | |
421 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | |
420 | 422 | self.assertEqual(expected['msg'], res['msg']) |
421 | 423 | </pre> |
422 | 424 | |
... | ... | @@ -451,7 +453,7 @@ test_login_3 (test_01_login.TestLogin)銵>仃韐乓 |
451 | 453 | <td class="TestLogin">TestLogin</td> |
452 | 454 | <td>test_login_4</td> |
453 | 455 | <td>密码填写错误</td> |
454 | - <td>0.219s</td> | |
456 | + <td>0.199s</td> | |
455 | 457 | |
456 | 458 | <td class="text-warning">失败</td> |
457 | 459 | |
... | ... | @@ -491,12 +493,12 @@ test_login_4 (test_01_login.TestLogin)銵>仃韐乓 |
491 | 493 | </pre> |
492 | 494 | |
493 | 495 | |
494 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 56, in test_login | |
496 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | |
495 | 497 | raise e |
496 | 498 | </pre> |
497 | 499 | |
498 | 500 | |
499 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 48, in test_login | |
501 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | |
500 | 502 | self.assertEqual(expected['msg'], res['msg']) |
501 | 503 | </pre> |
502 | 504 | |
... | ... | @@ -531,7 +533,7 @@ test_login_4 (test_01_login.TestLogin)銵>仃韐乓 |
531 | 533 | <td class="TestLogin">TestLogin</td> |
532 | 534 | <td>test_login_5</td> |
533 | 535 | <td>密码不进行填写</td> |
534 | - <td>0.268s</td> | |
536 | + <td>0.217s</td> | |
535 | 537 | |
536 | 538 | <td class="text-warning">失败</td> |
537 | 539 | |
... | ... | @@ -571,12 +573,12 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 |
571 | 573 | </pre> |
572 | 574 | |
573 | 575 | |
574 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 56, in test_login | |
576 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | |
575 | 577 | raise e |
576 | 578 | </pre> |
577 | 579 | |
578 | 580 | |
579 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 48, in test_login | |
581 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | |
580 | 582 | self.assertEqual(expected['msg'], res['msg']) |
581 | 583 | </pre> |
582 | 584 | |
... | ... | @@ -611,7 +613,7 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 |
611 | 613 | <td class="Test01Department">Test01Department</td> |
612 | 614 | <td>test_add_department_1</td> |
613 | 615 | <td>新增院系成功</td> |
614 | - <td>0.297s</td> | |
616 | + <td>0.275s</td> | |
615 | 617 | |
616 | 618 | <td class="text-success">成功</td> |
617 | 619 | |
... | ... | @@ -625,7 +627,7 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 |
625 | 627 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
626 | 628 | |
627 | 629 | |
628 | - <pre>用例入参:{'name': 'py自动化院系20221221_23:10:57_1', 'code': 'py_code20221221_23:10:57_1'} | |
630 | + <pre>用例入参:{'name': 'py自动化院系20221222_23:09:11_1', 'code': 'py_code20221222_23:09:11_1'} | |
629 | 631 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
630 | 632 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
631 | 633 | test_add_department_1 (test_02_system_management.Test01Department)执行——>【通过】 |
... | ... | @@ -640,7 +642,7 @@ test_add_department_1 (test_02_system_management.Test01Department)銵> |
640 | 642 | <td class="Test01Department">Test01Department</td> |
641 | 643 | <td>test_add_department_2</td> |
642 | 644 | <td>院系名称未填写</td> |
643 | - <td>0.242s</td> | |
645 | + <td>0.225s</td> | |
644 | 646 | |
645 | 647 | <td class="text-warning">失败</td> |
646 | 648 | |
... | ... | @@ -654,7 +656,7 @@ test_add_department_1 (test_02_system_management.Test01Department)銵> |
654 | 656 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
655 | 657 | |
656 | 658 | |
657 | - <pre>用例入参:{'name': '', 'code': 'py_code20221221_23:10:57_2'} | |
659 | + <pre>用例入参:{'name': '', 'code': 'py_code20221222_23:09:11_2'} | |
658 | 660 | 预期结果: {'msg': '院系名称未填写', 'code': 500, 'data': None} |
659 | 661 | 实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} |
660 | 662 | test_add_department_2 (test_02_system_management.Test01Department)执行——>【失败】 |
... | ... | @@ -720,7 +722,7 @@ test_add_department_2 (test_02_system_management.Test01Department)銵> |
720 | 722 | <td class="Test01Department">Test01Department</td> |
721 | 723 | <td>test_add_department_3</td> |
722 | 724 | <td>院系名称重复</td> |
723 | - <td>0.27s</td> | |
725 | + <td>0.282s</td> | |
724 | 726 | |
725 | 727 | <td class="text-success">成功</td> |
726 | 728 | |
... | ... | @@ -734,7 +736,7 @@ test_add_department_2 (test_02_system_management.Test01Department)銵> |
734 | 736 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
735 | 737 | |
736 | 738 | |
737 | - <pre>用例入参:{'name': '院系1', 'code': 'py_code20221221_23:10:58_3'} | |
739 | + <pre>用例入参:{'name': '院系1', 'code': 'py_code20221222_23:09:11_3'} | |
738 | 740 | 预期结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} |
739 | 741 | 实际结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} |
740 | 742 | test_add_department_3 (test_02_system_management.Test01Department)执行——>【通过】 |
... | ... | @@ -749,7 +751,7 @@ test_add_department_3 (test_02_system_management.Test01Department)銵> |
749 | 751 | <td class="Test01Department">Test01Department</td> |
750 | 752 | <td>test_add_department_4</td> |
751 | 753 | <td>院系名称长度不可大于30位</td> |
752 | - <td>0.201s</td> | |
754 | + <td>0.222s</td> | |
753 | 755 | |
754 | 756 | <td class="text-warning">失败</td> |
755 | 757 | |
... | ... | @@ -763,7 +765,7 @@ test_add_department_3 (test_02_system_management.Test01Department)銵> |
763 | 765 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
764 | 766 | |
765 | 767 | |
766 | - <pre>用例入参:{'name': '院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试', 'code': 'py_code20221221_23:10:58_4'} | |
768 | + <pre>用例入参:{'name': '院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试', 'code': 'py_code20221222_23:09:11_4'} | |
767 | 769 | 预期结果: {'msg': '院系名称长度不可大于30', 'code': 500, 'data': None} |
768 | 770 | 实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} |
769 | 771 | test_add_department_4 (test_02_system_management.Test01Department)执行——>【失败】 |
... | ... | @@ -829,7 +831,7 @@ test_add_department_4 (test_02_system_management.Test01Department)銵> |
829 | 831 | <td class="Test01Department">Test01Department</td> |
830 | 832 | <td>test_add_department_5</td> |
831 | 833 | <td>院系代码不能为空</td> |
832 | - <td>0.241s</td> | |
834 | + <td>0.216s</td> | |
833 | 835 | |
834 | 836 | <td class="text-warning">失败</td> |
835 | 837 | |
... | ... | @@ -843,7 +845,7 @@ test_add_department_4 (test_02_system_management.Test01Department)銵> |
843 | 845 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
844 | 846 | |
845 | 847 | |
846 | - <pre>用例入参:{'name': 'py自动化院系20221221_23:10:58_5', 'code': ''} | |
848 | + <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_5', 'code': ''} | |
847 | 849 | 预期结果: {'msg': '院系代码不能为空', 'code': 500, 'data': None} |
848 | 850 | 实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} |
849 | 851 | test_add_department_5 (test_02_system_management.Test01Department)执行——>【失败】 |
... | ... | @@ -909,7 +911,7 @@ test_add_department_5 (test_02_system_management.Test01Department)銵> |
909 | 911 | <td class="Test01Department">Test01Department</td> |
910 | 912 | <td>test_add_department_6</td> |
911 | 913 | <td>院系代码长度不可大于30</td> |
912 | - <td>0.266s</td> | |
914 | + <td>0.271s</td> | |
913 | 915 | |
914 | 916 | <td class="text-warning">失败</td> |
915 | 917 | |
... | ... | @@ -923,7 +925,7 @@ test_add_department_5 (test_02_system_management.Test01Department)銵> |
923 | 925 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
924 | 926 | |
925 | 927 | |
926 | - <pre>用例入参:{'name': 'py自动化院系20221221_23:10:58_6', 'code': '院系代码长度大于30的测试院系代码长度大于30的测试院系代码长度大于30的测试'} | |
928 | + <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_6', 'code': '院系代码长度大于30的测试院系代码长度大于30的测试院系代码长度大于30的测试'} | |
927 | 929 | 预期结果: {'msg': '院系代码不可大于30', 'code': 500, 'data': None} |
928 | 930 | 实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} |
929 | 931 | test_add_department_6 (test_02_system_management.Test01Department)执行——>【失败】 |
... | ... | @@ -989,7 +991,7 @@ test_add_department_6 (test_02_system_management.Test01Department)銵> |
989 | 991 | <td class="Test01Department">Test01Department</td> |
990 | 992 | <td>test_add_department_7</td> |
991 | 993 | <td>新增院系成功</td> |
992 | - <td>0.295s</td> | |
994 | + <td>0.301s</td> | |
993 | 995 | |
994 | 996 | <td class="text-success">成功</td> |
995 | 997 | |
... | ... | @@ -1003,7 +1005,7 @@ test_add_department_6 (test_02_system_management.Test01Department)銵> |
1003 | 1005 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1004 | 1006 | |
1005 | 1007 | |
1006 | - <pre>用例入参:{'name': 'py自动化院系20221221_23:10:58_7', 'code': 'py_code20221221_23:10:58_7'} | |
1008 | + <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_7', 'code': 'py_code20221222_23:09:12_7'} | |
1007 | 1009 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
1008 | 1010 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1009 | 1011 | test_add_department_7 (test_02_system_management.Test01Department)执行——>【通过】 |
... | ... | @@ -1018,7 +1020,7 @@ test_add_department_7 (test_02_system_management.Test01Department)銵> |
1018 | 1020 | <td class="Test01Department">Test01Department</td> |
1019 | 1021 | <td>test_select_department_1</td> |
1020 | 1022 | <td>查看院系列表</td> |
1021 | - <td>0.348s</td> | |
1023 | + <td>0.337s</td> | |
1022 | 1024 | |
1023 | 1025 | <td class="text-success">成功</td> |
1024 | 1026 | |
... | ... | @@ -1034,7 +1036,7 @@ test_add_department_7 (test_02_system_management.Test01Department)銵> |
1034 | 1036 | |
1035 | 1037 | <pre>用例入参:{'pageNumber': '0', 'pageSize': '3'} |
1036 | 1038 | 预期结果: {'msg': 'success', 'code': 200} |
1037 | -实际结果: {'msg': 'success', 'code': 200, 'data': {'records': [{'id': '1605581603290345473', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_23:10:58_7', 'code': 'py_code20221221_23:10:58_7', 'createdBy': '1519959209276452865', 'createdTime': 1671635459000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605581596885643265', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_23:10:57_1', 'code': 'py_code20221221_23:10:57_1', 'createdBy': '1519959209276452865', 'createdTime': 1671635458000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605579433342005250', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_23:02:21_7', 'code': 'py_code20221221_23:02:21_7', 'createdBy': '1519959209276452865', 'createdTime': 1671634942000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605579427339956226', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_23:02:20_1', 'code': 'py_code20221221_23:02:20_1', 'createdBy': '1519959209276452865', 'createdTime': 1671634940000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605578250598608898', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_22:57:39_7', 'code': 'py_code20221221_22:57:39_7', 'createdBy': '1519959209276452865', 'createdTime': 1671634660000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605578245234094081', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_22:57:38_1', 'code': 'py_code20221221_22:57:38_1', 'createdBy': '1519959209276452865', 'createdTime': 1671634659000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605577836889239554', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_22:56:01_7', 'code': 'py_code20221221_22:56:01_7', 'createdBy': '1519959209276452865', 'createdTime': 1671634561000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605577831612805121', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_22:55:59_1', 'code': 'py_code20221221_22:55:59_1', 'createdBy': '1519959209276452865', 'createdTime': 1671634560000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605576985835597825', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_22:52:38_7', 'code': 'py_code20221221_22:52:38_7', 'createdBy': '1519959209276452865', 'createdTime': 1671634358000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605576980399779842', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_22:52:36_1', 'code': 'py_code20221221_22:52:36_1', 'createdBy': '1519959209276452865', 'createdTime': 1671634357000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605573916599119873', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_22:40:26_7', 'code': 'py_code20221221_22:40:26_7', 'createdBy': '1519959209276452865', 'createdTime': 1671633626000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605573911159107585', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_22:40:25_1', 'code': 'py_code20221221_22:40:25_1', 'createdBy': '1519959209276452865', 'createdTime': 1671633625000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605553566536560642', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_21:19:34_7', 'code': 'py_code20221221_21:19:34_7', 'createdBy': '1519959209276452865', 'createdTime': 1671628775000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605553558311530498', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_21:19:32_1', 'code': 'py_code20221221_21:19:32_1', 'createdBy': '1519959209276452865', 'createdTime': 1671628773000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605552693366353921', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221221_21:16:06_7', 'code': 'py_code20221221_21:16:06_7', 'createdBy': '1519959209276452865', 'createdTime': 1671628566000, 'updatedBy': None, 'updatedTime': None}], 'total': 376, 'size': 15, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'searchCount': True, 'countId': '', 'maxLimit': None, 'pages': 26}} | |
1039 | +实际结果: {'msg': 'success', 'code': 200, 'data': {'records': [{'id': '1605943544424820738', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_23:09:12_7', 'code': 'py_code20221222_23:09:12_7', 'createdBy': '1519959209276452865', 'createdTime': 1671721753000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605943538108198913', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_23:09:11_1', 'code': 'py_code20221222_23:09:11_1', 'createdBy': '1519959209276452865', 'createdTime': 1671721751000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605942164523970561', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_23:03:43_7', 'code': 'py_code20221222_23:03:43_7', 'createdBy': '1519959209276452865', 'createdTime': 1671721424000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605942157955690498', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_23:03:41_1', 'code': 'py_code20221222_23:03:41_1', 'createdBy': '1519959209276452865', 'createdTime': 1671721422000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605840585850482690', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_16:20:05_7', 'code': 'py_code20221222_16:20:05_7', 'createdBy': '1519959209276452865', 'createdTime': 1671697205000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605840579781324801', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_16:20:03_1', 'code': 'py_code20221222_16:20:03_1', 'createdBy': '1519959209276452865', 'createdTime': 1671697204000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605839199377158145', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_16:14:34_7', 'code': 'py_code20221222_16:14:34_7', 'createdBy': '1519959209276452865', 'createdTime': 1671696875000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605839193396080641', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_16:14:33_1', 'code': 'py_code20221222_16:14:33_1', 'createdBy': '1519959209276452865', 'createdTime': 1671696873000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605602173553864706', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:32:43_7', 'code': 'py_code20221222_00:32:43_7', 'createdBy': '1519959209276452865', 'createdTime': 1671640363000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605602164590637057', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:32:41_1', 'code': 'py_code20221222_00:32:41_1', 'createdBy': '1519959209276452865', 'createdTime': 1671640361000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605600586030772226', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:26:24_7', 'code': 'py_code20221222_00:26:24_7', 'createdBy': '1519959209276452865', 'createdTime': 1671639985000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605600579462492161', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:26:23_1', 'code': 'py_code20221222_00:26:23_1', 'createdBy': '1519959209276452865', 'createdTime': 1671639983000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605595424071479298', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:05:54_7', 'code': 'py_code20221222_00:05:54_7', 'createdBy': '1519959209276452865', 'createdTime': 1671638754000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605595417662582785', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:05:52_1', 'code': 'py_code20221222_00:05:52_1', 'createdBy': '1519959209276452865', 'createdTime': 1671638753000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605594240384364546', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:01:11_7', 'code': 'py_code20221222_00:01:11_7', 'createdBy': '1519959209276452865', 'createdTime': 1671638472000, 'updatedBy': None, 'updatedTime': None}], 'total': 392, 'size': 15, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'searchCount': True, 'countId': '', 'maxLimit': None, 'pages': 27}} | |
1038 | 1040 | test_select_department_1 (test_02_system_management.Test01Department)执行——>【通过】 |
1039 | 1041 | </pre> |
1040 | 1042 | |
... | ... | @@ -1047,7 +1049,7 @@ test_select_department_1 (test_02_system_management.Test01Department)銵 |
1047 | 1049 | <td class="Test02Specialty">Test02Specialty</td> |
1048 | 1050 | <td>test_add_specialty_01</td> |
1049 | 1051 | <td>新增专业成功</td> |
1050 | - <td>0.884s</td> | |
1052 | + <td>0.971s</td> | |
1051 | 1053 | |
1052 | 1054 | <td class="text-success">成功</td> |
1053 | 1055 | |
... | ... | @@ -1061,7 +1063,7 @@ test_select_department_1 (test_02_system_management.Test01Department)銵 |
1061 | 1063 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1062 | 1064 | |
1063 | 1065 | |
1064 | - <pre>用例入参:{'name': 'py专业23:11:00_1', 'code': 'py_code23:11:00_1', 'departmentId': '1605581603290345473', 'category': 'science'} | |
1066 | + <pre>用例入参:{'name': 'py专业23:09:13_1', 'code': 'py_code23:09:13_1', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1065 | 1067 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
1066 | 1068 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1067 | 1069 | test_add_specialty_01 (test_02_system_management.Test02Specialty)执行——>【通过】 |
... | ... | @@ -1076,7 +1078,7 @@ test_add_specialty_01 (test_02_system_management.Test02Specialty)銵> |
1076 | 1078 | <td class="Test02Specialty">Test02Specialty</td> |
1077 | 1079 | <td>test_add_specialty_02</td> |
1078 | 1080 | <td>新增专业失败,院系未填写</td> |
1079 | - <td>0.813s</td> | |
1081 | + <td>0.867s</td> | |
1080 | 1082 | |
1081 | 1083 | <td class="text-success">成功</td> |
1082 | 1084 | |
... | ... | @@ -1090,7 +1092,7 @@ test_add_specialty_01 (test_02_system_management.Test02Specialty)銵> |
1090 | 1092 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1091 | 1093 | |
1092 | 1094 | |
1093 | - <pre>用例入参:{'name': 'py专业23:11:00_2', 'code': 'py_code23:11:00_2', 'departmentId': '', 'category': 'science'} | |
1095 | + <pre>用例入参:{'name': 'py专业23:09:14_2', 'code': 'py_code23:09:14_2', 'departmentId': '', 'category': 'science'} | |
1094 | 1096 | 预期结果: {'msg': '院系不能为空', 'code': 500, 'data': None} |
1095 | 1097 | 实际结果: {'msg': '院系不能为空', 'code': 500, 'data': None} |
1096 | 1098 | test_add_specialty_02 (test_02_system_management.Test02Specialty)执行——>【通过】 |
... | ... | @@ -1105,7 +1107,7 @@ test_add_specialty_02 (test_02_system_management.Test02Specialty)銵> |
1105 | 1107 | <td class="Test02Specialty">Test02Specialty</td> |
1106 | 1108 | <td>test_add_specialty_03</td> |
1107 | 1109 | <td>新增专业失败,院系不存在</td> |
1108 | - <td>0.858s</td> | |
1110 | + <td>0.938s</td> | |
1109 | 1111 | |
1110 | 1112 | <td class="text-warning">失败</td> |
1111 | 1113 | |
... | ... | @@ -1119,7 +1121,7 @@ test_add_specialty_02 (test_02_system_management.Test02Specialty)銵> |
1119 | 1121 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1120 | 1122 | |
1121 | 1123 | |
1122 | - <pre>用例入参:{'name': 'py专业23:11:01_3', 'code': 'py_code23:11:01_3', 'departmentId': '1605581603290345473', 'category': 'science'} | |
1124 | + <pre>用例入参:{'name': 'py专业23:09:15_3', 'code': 'py_code23:09:15_3', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1123 | 1125 | 预期结果: {'msg': '院系不存在', 'code': 500, 'data': None} |
1124 | 1126 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1125 | 1127 | test_add_specialty_03 (test_02_system_management.Test02Specialty)执行——>【失败】 |
... | ... | @@ -1145,12 +1147,12 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> |
1145 | 1147 | </pre> |
1146 | 1148 | |
1147 | 1149 | |
1148 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 203, in test_add_specialty | |
1150 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1149 | 1151 | raise e |
1150 | 1152 | </pre> |
1151 | 1153 | |
1152 | 1154 | |
1153 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 197, in test_add_specialty | |
1155 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1154 | 1156 | self.assertEqual(expected["msg"], res["msg"]) |
1155 | 1157 | </pre> |
1156 | 1158 | |
... | ... | @@ -1185,7 +1187,7 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> |
1185 | 1187 | <td class="Test02Specialty">Test02Specialty</td> |
1186 | 1188 | <td>test_add_specialty_04</td> |
1187 | 1189 | <td>新增专业失败,专业名称未填写</td> |
1188 | - <td>0.804s</td> | |
1190 | + <td>0.867s</td> | |
1189 | 1191 | |
1190 | 1192 | <td class="text-warning">失败</td> |
1191 | 1193 | |
... | ... | @@ -1199,7 +1201,7 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> |
1199 | 1201 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1200 | 1202 | |
1201 | 1203 | |
1202 | - <pre>用例入参:{'name': '', 'code': 'py_code23:11:02_4', 'departmentId': '1605581603290345473', 'category': 'science'} | |
1204 | + <pre>用例入参:{'name': '', 'code': 'py_code23:09:16_4', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1203 | 1205 | 预期结果: {'msg': '专业名称未填写', 'code': 500, 'data': None} |
1204 | 1206 | 实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} |
1205 | 1207 | test_add_specialty_04 (test_02_system_management.Test02Specialty)执行——>【失败】 |
... | ... | @@ -1225,12 +1227,12 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> |
1225 | 1227 | </pre> |
1226 | 1228 | |
1227 | 1229 | |
1228 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 203, in test_add_specialty | |
1230 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1229 | 1231 | raise e |
1230 | 1232 | </pre> |
1231 | 1233 | |
1232 | 1234 | |
1233 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 197, in test_add_specialty | |
1235 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1234 | 1236 | self.assertEqual(expected["msg"], res["msg"]) |
1235 | 1237 | </pre> |
1236 | 1238 | |
... | ... | @@ -1265,7 +1267,7 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> |
1265 | 1267 | <td class="Test02Specialty">Test02Specialty</td> |
1266 | 1268 | <td>test_add_specialty_05</td> |
1267 | 1269 | <td>新增专业失败,专业名称长度不能大于30</td> |
1268 | - <td>0.948s</td> | |
1270 | + <td>0.871s</td> | |
1269 | 1271 | |
1270 | 1272 | <td class="text-warning">失败</td> |
1271 | 1273 | |
... | ... | @@ -1279,7 +1281,7 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> |
1279 | 1281 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1280 | 1282 | |
1281 | 1283 | |
1282 | - <pre>用例入参:{'name': '专业大于301234567890专业大于301234567890', 'code': 'py_code23:11:03_5', 'departmentId': '1605581603290345473', 'category': 'science'} | |
1284 | + <pre>用例入参:{'name': '专业大于301234567890专业大于301234567890', 'code': 'py_code23:09:17_5', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1283 | 1285 | 预期结果: {'msg': '专业名称不能大于30', 'code': 500, 'data': None} |
1284 | 1286 | 实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} |
1285 | 1287 | test_add_specialty_05 (test_02_system_management.Test02Specialty)执行——>【失败】 |
... | ... | @@ -1305,12 +1307,12 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> |
1305 | 1307 | </pre> |
1306 | 1308 | |
1307 | 1309 | |
1308 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 203, in test_add_specialty | |
1310 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1309 | 1311 | raise e |
1310 | 1312 | </pre> |
1311 | 1313 | |
1312 | 1314 | |
1313 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 197, in test_add_specialty | |
1315 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1314 | 1316 | self.assertEqual(expected["msg"], res["msg"]) |
1315 | 1317 | </pre> |
1316 | 1318 | |
... | ... | @@ -1345,7 +1347,7 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> |
1345 | 1347 | <td class="Test02Specialty">Test02Specialty</td> |
1346 | 1348 | <td>test_add_specialty_06</td> |
1347 | 1349 | <td>新增专业失败,专业名称重复</td> |
1348 | - <td>1.01s</td> | |
1350 | + <td>1.02s</td> | |
1349 | 1351 | |
1350 | 1352 | <td class="text-success">成功</td> |
1351 | 1353 | |
... | ... | @@ -1359,7 +1361,7 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> |
1359 | 1361 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1360 | 1362 | |
1361 | 1363 | |
1362 | - <pre>用例入参:{'name': '第二个专业-2-1', 'code': 'py_code23:11:04_6', 'departmentId': '1605581603290345473', 'category': 'science'} | |
1364 | + <pre>用例入参:{'name': '第二个专业-2-1', 'code': 'py_code23:09:18_6', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1363 | 1365 | 预期结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} |
1364 | 1366 | 实际结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} |
1365 | 1367 | test_add_specialty_06 (test_02_system_management.Test02Specialty)执行——>【通过】 |
... | ... | @@ -1374,7 +1376,7 @@ test_add_specialty_06 (test_02_system_management.Test02Specialty)銵> |
1374 | 1376 | <td class="Test02Specialty">Test02Specialty</td> |
1375 | 1377 | <td>test_add_specialty_07</td> |
1376 | 1378 | <td>新增专业失败,专业代码未填写</td> |
1377 | - <td>0.936s</td> | |
1379 | + <td>0.891s</td> | |
1378 | 1380 | |
1379 | 1381 | <td class="text-warning">失败</td> |
1380 | 1382 | |
... | ... | @@ -1388,7 +1390,7 @@ test_add_specialty_06 (test_02_system_management.Test02Specialty)銵> |
1388 | 1390 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1389 | 1391 | |
1390 | 1392 | |
1391 | - <pre>用例入参:{'name': 'py专业23:11:05_7', 'code': '', 'departmentId': '1605581603290345473', 'category': 'science'} | |
1393 | + <pre>用例入参:{'name': 'py专业23:09:19_7', 'code': '', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1392 | 1394 | 预期结果: {'msg': '专业代码不能为空', 'code': 500, 'data': None} |
1393 | 1395 | 实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} |
1394 | 1396 | test_add_specialty_07 (test_02_system_management.Test02Specialty)执行——>【失败】 |
... | ... | @@ -1414,12 +1416,12 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> |
1414 | 1416 | </pre> |
1415 | 1417 | |
1416 | 1418 | |
1417 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 203, in test_add_specialty | |
1419 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1418 | 1420 | raise e |
1419 | 1421 | </pre> |
1420 | 1422 | |
1421 | 1423 | |
1422 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 197, in test_add_specialty | |
1424 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1423 | 1425 | self.assertEqual(expected["msg"], res["msg"]) |
1424 | 1426 | </pre> |
1425 | 1427 | |
... | ... | @@ -1454,7 +1456,7 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> |
1454 | 1456 | <td class="Test02Specialty">Test02Specialty</td> |
1455 | 1457 | <td>test_add_specialty_08</td> |
1456 | 1458 | <td>新增专业失败,专业代码长度不能大于30</td> |
1457 | - <td>0.887s</td> | |
1459 | + <td>0.933s</td> | |
1458 | 1460 | |
1459 | 1461 | <td class="text-warning">失败</td> |
1460 | 1462 | |
... | ... | @@ -1468,7 +1470,7 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> |
1468 | 1470 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1469 | 1471 | |
1470 | 1472 | |
1471 | - <pre>用例入参:{'name': 'py专业23:11:06_8', 'code': '专业代码大于301234567890专业大于301234567890', 'departmentId': '1605581603290345473', 'category': 'science'} | |
1473 | + <pre>用例入参:{'name': 'py专业23:09:20_8', 'code': '专业代码大于301234567890专业大于301234567890', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1472 | 1474 | 预期结果: {'msg': '专业代码不能大于30', 'code': 500, 'data': None} |
1473 | 1475 | 实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} |
1474 | 1476 | test_add_specialty_08 (test_02_system_management.Test02Specialty)执行——>【失败】 |
... | ... | @@ -1494,12 +1496,12 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> |
1494 | 1496 | </pre> |
1495 | 1497 | |
1496 | 1498 | |
1497 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 203, in test_add_specialty | |
1499 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1498 | 1500 | raise e |
1499 | 1501 | </pre> |
1500 | 1502 | |
1501 | 1503 | |
1502 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 197, in test_add_specialty | |
1504 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1503 | 1505 | self.assertEqual(expected["msg"], res["msg"]) |
1504 | 1506 | </pre> |
1505 | 1507 | |
... | ... | @@ -1534,7 +1536,7 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> |
1534 | 1536 | <td class="Test02Specialty">Test02Specialty</td> |
1535 | 1537 | <td>test_add_specialty_09</td> |
1536 | 1538 | <td>新增专业失败,学科门类未填写</td> |
1537 | - <td>0.873s</td> | |
1539 | + <td>0.903s</td> | |
1538 | 1540 | |
1539 | 1541 | <td class="text-warning">失败</td> |
1540 | 1542 | |
... | ... | @@ -1548,9 +1550,9 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> |
1548 | 1550 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1549 | 1551 | |
1550 | 1552 | |
1551 | - <pre>用例入参:{'name': 'py专业23:11:07_9', 'code': 'py_code23:11:07_9', 'departmentId': '1605581603290345473', 'category': ''} | |
1553 | + <pre>用例入参:{'name': 'py专业23:09:20_9', 'code': 'py_code23:09:20_9', 'departmentId': '1605943544424820738', 'category': ''} | |
1552 | 1554 | 预期结果: {'msg': '学科门类不能为空', 'code': 500, 'data': None} |
1553 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1555 | +实际结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} | |
1554 | 1556 | test_add_specialty_09 (test_02_system_management.Test02Specialty)执行——>【失败】 |
1555 | 1557 | </pre> |
1556 | 1558 | |
... | ... | @@ -1574,12 +1576,12 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> |
1574 | 1576 | </pre> |
1575 | 1577 | |
1576 | 1578 | |
1577 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 203, in test_add_specialty | |
1579 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1578 | 1580 | raise e |
1579 | 1581 | </pre> |
1580 | 1582 | |
1581 | 1583 | |
1582 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 197, in test_add_specialty | |
1584 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1583 | 1585 | self.assertEqual(expected["msg"], res["msg"]) |
1584 | 1586 | </pre> |
1585 | 1587 | |
... | ... | @@ -1599,9 +1601,9 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> |
1599 | 1601 | </pre> |
1600 | 1602 | |
1601 | 1603 | |
1602 | - <pre>AssertionError: '学科门类不能为空' != 'success' | |
1604 | + <pre>AssertionError: '学科门类不能为空' != '学科门类不存在' | |
1603 | 1605 | - 学科门类不能为空 |
1604 | -+ success | |
1606 | ++ 学科门类不存在 | |
1605 | 1607 | |
1606 | 1608 | </pre> |
1607 | 1609 | |
... | ... | @@ -1614,9 +1616,9 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> |
1614 | 1616 | <td class="Test02Specialty">Test02Specialty</td> |
1615 | 1617 | <td>test_add_specialty_10</td> |
1616 | 1618 | <td>新增专业失败,学科门类填写错误</td> |
1617 | - <td>0.88s</td> | |
1619 | + <td>0.928s</td> | |
1618 | 1620 | |
1619 | - <td class="text-warning">失败</td> | |
1621 | + <td class="text-success">成功</td> | |
1620 | 1622 | |
1621 | 1623 | <td> |
1622 | 1624 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1628,10 +1630,68 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> |
1628 | 1630 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1629 | 1631 | |
1630 | 1632 | |
1631 | - <pre>用例入参:{'name': 'py专业23:11:08_10', 'code': 'py_code23:11:08_10', 'departmentId': '1605581603290345473', 'category': 'scienwce'} | |
1633 | + <pre>用例入参:{'name': 'py专业23:09:21_10', 'code': 'py_code23:09:21_10', 'departmentId': '1605943544424820738', 'category': 'scienwce'} | |
1632 | 1634 | 预期结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} |
1635 | +实际结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} | |
1636 | +test_add_specialty_10 (test_02_system_management.Test02Specialty)执行——>【通过】 | |
1637 | +</pre> | |
1638 | + | |
1639 | + | |
1640 | + </td> | |
1641 | + </tr> | |
1642 | + | |
1643 | + <tr> | |
1644 | + <td>24</td> | |
1645 | + <td class="Test03Year">Test03Year</td> | |
1646 | + <td>test_add_year_1</td> | |
1647 | + <td>新增学年学期成功</td> | |
1648 | + <td>0.288s</td> | |
1649 | + | |
1650 | + <td class="text-success">成功</td> | |
1651 | + | |
1652 | + <td> | |
1653 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1654 | + </td> | |
1655 | + </tr> | |
1656 | + | |
1657 | + <tr class="test_log"> | |
1658 | + | |
1659 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1660 | + | |
1661 | + | |
1662 | + <pre>用例入参:{'year': 'py学年23:09:23_1', 'remark': 'py_comment备注23:09:23_1', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
1663 | +预期结果: {'msg': 'success', 'code': 200, 'data': True} | |
1664 | +实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1665 | +test_add_year_1 (test_02_system_management.Test03Year)执行——>【通过】 | |
1666 | +</pre> | |
1667 | + | |
1668 | + | |
1669 | + </td> | |
1670 | + </tr> | |
1671 | + | |
1672 | + <tr> | |
1673 | + <td>25</td> | |
1674 | + <td class="Test03Year">Test03Year</td> | |
1675 | + <td>test_add_year_2</td> | |
1676 | + <td>学年学期开始时间和结束时间不可交叉</td> | |
1677 | + <td>0.231s</td> | |
1678 | + | |
1679 | + <td class="text-warning">失败</td> | |
1680 | + | |
1681 | + <td> | |
1682 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1683 | + </td> | |
1684 | + </tr> | |
1685 | + | |
1686 | + <tr class="test_log"> | |
1687 | + | |
1688 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1689 | + | |
1690 | + | |
1691 | + <pre>用例入参:{'year': 'py学年23:09:23_2', 'remark': 'py_comment备注23:09:23_2', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}, {'sort': 2, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
1692 | +预期结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} | |
1633 | 1693 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1634 | -test_add_specialty_10 (test_02_system_management.Test02Specialty)执行——>【失败】 | |
1694 | +test_add_year_2 (test_02_system_management.Test03Year)执行——>【失败】 | |
1635 | 1695 | </pre> |
1636 | 1696 | |
1637 | 1697 | |
... | ... | @@ -1654,12 +1714,12 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> |
1654 | 1714 | </pre> |
1655 | 1715 | |
1656 | 1716 | |
1657 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 203, in test_add_specialty | |
1717 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 272, in test_add_year | |
1658 | 1718 | raise e |
1659 | 1719 | </pre> |
1660 | 1720 | |
1661 | 1721 | |
1662 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 197, in test_add_specialty | |
1722 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 266, in test_add_year | |
1663 | 1723 | self.assertEqual(expected["msg"], res["msg"]) |
1664 | 1724 | </pre> |
1665 | 1725 | |
... | ... | @@ -1679,8 +1739,8 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> |
1679 | 1739 | </pre> |
1680 | 1740 | |
1681 | 1741 | |
1682 | - <pre>AssertionError: '学科门类不存在' != 'success' | |
1683 | -- 学科门类不存在 | |
1742 | + <pre>AssertionError: '学期起止时间不能交叉' != 'success' | |
1743 | +- 学期起止时间不能交叉 | |
1684 | 1744 | + success |
1685 | 1745 | |
1686 | 1746 | </pre> |
... | ... | @@ -1690,40 +1750,11 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> |
1690 | 1750 | </tr> |
1691 | 1751 | |
1692 | 1752 | <tr> |
1693 | - <td>24</td> | |
1694 | - <td class="Test03Year">Test03Year</td> | |
1695 | - <td>test_add_year_1</td> | |
1696 | - <td>新增学年学期成功</td> | |
1697 | - <td>0.235s</td> | |
1698 | - | |
1699 | - <td class="text-success">成功</td> | |
1700 | - | |
1701 | - <td> | |
1702 | - <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1703 | - </td> | |
1704 | - </tr> | |
1705 | - | |
1706 | - <tr class="test_log"> | |
1707 | - | |
1708 | - <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1709 | - | |
1710 | - | |
1711 | - <pre>用例入参:{'year': 'py学年23:11:09_1', 'remark': 'py_comment备注23:11:09_1', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
1712 | -预期结果: {'msg': 'success', 'code': 200, 'data': True} | |
1713 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1714 | -test_add_year_1 (test_02_system_management.Test03Year)执行——>【通过】 | |
1715 | -</pre> | |
1716 | - | |
1717 | - | |
1718 | - </td> | |
1719 | - </tr> | |
1720 | - | |
1721 | - <tr> | |
1722 | - <td>25</td> | |
1723 | - <td class="Test03Year">Test03Year</td> | |
1724 | - <td>test_add_year_2</td> | |
1725 | - <td>学年学期开始时间和结束时间不可交叉</td> | |
1726 | - <td>0.233s</td> | |
1753 | + <td>26</td> | |
1754 | + <td class="Test01CTeacher">Test01CTeacher</td> | |
1755 | + <td>test_add_class_info_1</td> | |
1756 | + <td>新增教师</td> | |
1757 | + <td>0.239s</td> | |
1727 | 1758 | |
1728 | 1759 | <td class="text-warning">失败</td> |
1729 | 1760 | |
... | ... | @@ -1737,10 +1768,10 @@ test_add_year_1 (test_02_system_management.Test03Year)銵> |
1737 | 1768 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1738 | 1769 | |
1739 | 1770 | |
1740 | - <pre>用例入参:{'year': 'py学年23:11:09_2', 'remark': 'py_comment备注23:11:09_2', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}, {'sort': 2, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
1741 | -预期结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} | |
1742 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1743 | -test_add_year_2 (test_02_system_management.Test03Year)执行——>【失败】 | |
1771 | + <pre>用例入参:{'name': 'py自动化教师20221222_23:09:24_1', 'number': '17398240152', 'departmentIds': ['1605942164523970561'], 'phone': '17398240152', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '660101198601061863', 'gender': 0, 'entryTime': 1663084800000, 'email': '34662811782@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1605942164523970561'} | |
1772 | +预期结果: {'msg': 'success', 'code': 200, 'data': True} | |
1773 | +实际结果: {'msg': '该身份证号不合法,请确认', 'code': 500, 'data': None} | |
1774 | +test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)执行——>【失败】 | |
1744 | 1775 | </pre> |
1745 | 1776 | |
1746 | 1777 | |
... | ... | @@ -1763,13 +1794,13 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 |
1763 | 1794 | </pre> |
1764 | 1795 | |
1765 | 1796 | |
1766 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 265, in test_add_year | |
1797 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_03_teaching_affairs.py", line 106, in test_add_class_info | |
1767 | 1798 | raise e |
1768 | 1799 | </pre> |
1769 | 1800 | |
1770 | 1801 | |
1771 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 259, in test_add_year | |
1772 | - self.assertEqual(expected["msg"], res["msg"]) | |
1802 | + <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_03_teaching_affairs.py", line 99, in test_add_class_info | |
1803 | + self.assertEqual(expected['msg'], res['msg']) | |
1773 | 1804 | </pre> |
1774 | 1805 | |
1775 | 1806 | |
... | ... | @@ -1788,9 +1819,9 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 |
1788 | 1819 | </pre> |
1789 | 1820 | |
1790 | 1821 | |
1791 | - <pre>AssertionError: '学期起止时间不能交叉' != 'success' | |
1792 | -- 学期起止时间不能交叉 | |
1793 | -+ success | |
1822 | + <pre>AssertionError: 'success' != '该身份证号不合法,请确认' | |
1823 | +- success | |
1824 | ++ 该身份证号不合法,请确认 | |
1794 | 1825 | |
1795 | 1826 | </pre> |
1796 | 1827 | |
... | ... | @@ -1923,7 +1954,7 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 |
1923 | 1954 | show: false |
1924 | 1955 | }, |
1925 | 1956 | data: [ |
1926 | - {value: 9, name: '通过'}, | |
1957 | + {value: 10, name: '通过'}, | |
1927 | 1958 | {value: 16, name: '失败'}, |
1928 | 1959 | {value: 0, name: '错误'}, |
1929 | 1960 | {value: 0, name: '跳过'} |
... | ... | @@ -1945,8 +1976,8 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 |
1945 | 1976 | { |
1946 | 1977 | name: '测试结果', |
1947 | 1978 | type: 'gauge', |
1948 | - detail: {formatter: '36.00%'}, | |
1949 | - data: [{value: '36.00', name: '用例通过率'}], | |
1979 | + detail: {formatter: '38.46%'}, | |
1980 | + data: [{value: '38.46', name: '用例通过率'}], | |
1950 | 1981 | axisLine: { |
1951 | 1982 | lineStyle: { |
1952 | 1983 | color: [ | ... | ... |
... | ... | @@ -36,9 +36,9 @@ runner.run() |
36 | 36 | # QQ邮箱SMTP服务器地址为“smtp.qq.com” |
37 | 37 | # 163邮箱smtp.163.com 465 |
38 | 38 | # 阿里云smtp.qiye.aliyun.com 465 |
39 | -runner.send_email(host="smtp.qiye.aliyun.com", | |
40 | - port=465, | |
41 | - user="shishut@workai.com.cn", | |
42 | - password="mKh50p89DqvqJ7pd", | |
43 | - to_addrs=["1171621168@qq.com", "shishut@workai.com.cn"] | |
44 | - ) | |
39 | +# runner.send_email(host="smtp.qiye.aliyun.com", | |
40 | +# port=465, | |
41 | +# user="shishut@workai.com.cn", | |
42 | +# password="mKh50p89DqvqJ7pd", | |
43 | +# to_addrs=["1171621168@qq.com", "shishut@workai.com.cn"] | |
44 | +# ) | ... | ... |
... | ... | @@ -27,6 +27,7 @@ headers = { |
27 | 27 | class TestLogin(unittest.TestCase): |
28 | 28 | open_excel = Excel(os.path.join(DataExcel_Path, "test_01_login.xlsx"), "login") |
29 | 29 | test_case = open_excel.read_excel() |
30 | + | |
30 | 31 | @myddt.data(*test_case) |
31 | 32 | def test_login(self, case): |
32 | 33 | |
... | ... | @@ -36,8 +37,8 @@ class TestLogin(unittest.TestCase): |
36 | 37 | # 请求接口 |
37 | 38 | url = conf.get("url", "url_ip") + case['url'] |
38 | 39 | method = case['method'] |
39 | - # req = requests.request(method=method, url=url, json=data, headers=headers) | |
40 | - req = requests.post(url=url, json=data, headers=headers) | |
40 | + req = requests.request(method=method, url=url, json=data, headers=headers) | |
41 | + # req = requests.post(url=url, json=data, headers=headers) | |
41 | 42 | res = req.json() |
42 | 43 | # 将数据在测试报告中进行展示 |
43 | 44 | print("用例入参:{}".format(data)) |
... | ... | @@ -58,4 +59,3 @@ class TestLogin(unittest.TestCase): |
58 | 59 | # 结果写入到excel中 |
59 | 60 | self.open_excel.write_excel(row=case['id'] + 1, column=7, value="通过") |
60 | 61 | HandleLog.log.error("用例标题{},通过".format(case['title'])) |
61 | - | ... | ... |
... | ... | @@ -19,7 +19,7 @@ from common.handle_log import HandleLog |
19 | 19 | from common.handle_path import DataExcel_Path |
20 | 20 | from common.handle_config import conf |
21 | 21 | from tools.handle_token import LoginToken |
22 | -from tools.fixture import SystemManagement | |
22 | +from tools.fixture import SelectData | |
23 | 23 | from jsonpath import jsonpath |
24 | 24 | |
25 | 25 | # 系统管理相关的用例目录 |
... | ... | @@ -138,11 +138,12 @@ class Test01Department(unittest.TestCase): |
138 | 138 | HandleLog.log.info("用例{},执行通过".format(select_case["title"])) |
139 | 139 | |
140 | 140 | |
141 | + | |
141 | 142 | # ==================专业相关的用例================== |
142 | 143 | @myddt.ddt |
143 | 144 | class Test02Specialty(unittest.TestCase): |
144 | 145 | """专业相关的用例""" |
145 | - open_speciality_excel = Excel(os.path.join(System_path, "test_03_specialty.xlsx"), "add_specialty") | |
146 | + open_speciality_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), "add_specialty") | |
146 | 147 | test_data = open_speciality_excel.read_excel() |
147 | 148 | |
148 | 149 | @classmethod |
... | ... | @@ -169,14 +170,17 @@ class Test02Specialty(unittest.TestCase): |
169 | 170 | """新增专业""" |
170 | 171 | # 准备数据 |
171 | 172 | # --写入数据 |
173 | + # 查看获取院系Excel表格的url | |
174 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), "select_department") | |
175 | + select_url = select_department_excel.read_excel_location("C2") | |
176 | + department_list = SelectData(str(select_url)) | |
177 | + department_json = department_list.select_list() | |
172 | 178 | # 获取院系id |
173 | - department_list = SystemManagement.department_list() | |
174 | - department_id = jsonpath(department_list, "$..id")[0] | |
179 | + department_id = jsonpath(department_json, "$..id")[0] | |
175 | 180 | if "#specialty_name#" in case["data"]: |
176 | 181 | case["data"] = case["data"].replace("#specialty_name#", self.specialty_name + "_" + str(case["id"])) |
177 | 182 | if "#specialty_code#" in case["data"]: |
178 | 183 | case["data"] = case["data"].replace("#specialty_code#", self.specialty_code + "_" + str(case["id"])) |
179 | - | |
180 | 184 | if "#departmentId#" in case["data"]: |
181 | 185 | case["data"] = case["data"].replace("#departmentId#", department_id) |
182 | 186 | data = json.loads(case["data"]) |
... | ... | @@ -203,6 +207,9 @@ class Test02Specialty(unittest.TestCase): |
203 | 207 | raise e |
204 | 208 | else: |
205 | 209 | self.open_speciality_excel.write_excel(row=case["id"] + 1, column=7, value="通过") |
210 | + # 将创建使用的数据写入到excel表格中 | |
211 | + self.open_speciality_excel.write_excel(row=case["id"] + 1, column=9, | |
212 | + value=case["data"]) | |
206 | 213 | HandleLog.log.info("用例{},执行通过".format(case["title"])) |
207 | 214 | |
208 | 215 | |
... | ... | @@ -210,7 +217,7 @@ class Test02Specialty(unittest.TestCase): |
210 | 217 | @myddt.ddt |
211 | 218 | class Test03Year(unittest.TestCase): |
212 | 219 | """校历(学年学期)相关的用例""" |
213 | - open_year_excel = Excel(os.path.join(System_path, "test_04_term.xlsx"), "add_term") | |
220 | + open_year_excel = Excel(os.path.join(System_path, "test_02_term.xlsx"), "add_term") | |
214 | 221 | test_data = open_year_excel.read_excel() |
215 | 222 | |
216 | 223 | @classmethod |
... | ... | @@ -265,4 +272,7 @@ class Test03Year(unittest.TestCase): |
265 | 272 | raise e |
266 | 273 | else: |
267 | 274 | self.open_year_excel.write_excel(row=case["id"] + 1, column=7, value="通过") |
275 | + # 将创建使用的数据写入到excel表格中 | |
276 | + self.open_year_excel.write_excel(row=case["id"] + 1, column=9, | |
277 | + value=case["data"]) | |
268 | 278 | HandleLog.log.info("用例{},执行通过".format(case["title"])) | ... | ... |
1 | 1 | # -*- coding: utf-8 -*- |
2 | -"""====================================== | |
3 | -@Software: PyCharm | |
4 | -@Author : Shitou ✊ | |
5 | -@Time : 2022/12/17 22:10 | |
6 | -@FileName: test_03_teaching_affairs.py | |
7 | -=====================================""" | |
2 | +# """====================================== | |
3 | +# @Software: PyCharm | |
4 | +# @Author : Shitou ✊ | |
5 | +# @Time : 2022/12/17 22:10 | |
6 | +# @FileName: test_03_teaching_affairs.py | |
7 | +# =====================================""" | |
8 | 8 | """ |
9 | 9 | 实习教务管理菜单 |
10 | -""" | |
\ No newline at end of file | ||
10 | +""" | |
11 | +import json | |
12 | +import time | |
13 | +import unittest | |
14 | +import os | |
15 | +import requests | |
16 | +from jsonpath import jsonpath | |
17 | +from common.handle_log import HandleLog | |
18 | +from common.handle_path import DataExcel_Path | |
19 | +from common.myddt import ddt, data | |
20 | +from common.handle_excel import Excel | |
21 | +from common.handle_config import conf | |
22 | +from tools.fixture import SelectData | |
23 | +from tools.handle_token import LoginToken | |
24 | +from tools.fixture import RandomPhone, RandomIdentification, RandomEmail | |
25 | + | |
26 | +TeachingAffairs_path = os.path.join(DataExcel_Path, "teaching_affairs") | |
27 | + | |
28 | + | |
29 | +# ==================教师相关的用例================== | |
30 | +@ddt | |
31 | +class Test01CTeacher(unittest.TestCase): | |
32 | + """教师相关""" | |
33 | + # ---获取添加教师用例 | |
34 | + add_teacher = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), "add_teacher") | |
35 | + add_teacher_case = add_teacher.read_excel() | |
36 | + # ---获取添加院系Excel表格 | |
37 | + select_department_excel = Excel(os.path.join(os.path.join(DataExcel_Path, "system"), "test_02_department.xlsx"), | |
38 | + "select_department") | |
39 | + select_url = select_department_excel.read_excel_location("C2") | |
40 | + department_list = SelectData(str(select_url)) | |
41 | + department_json = department_list.select_list() | |
42 | + # 获取院系id | |
43 | + department_id = jsonpath(department_json, "$..id")[0] | |
44 | + | |
45 | + @classmethod | |
46 | + def setUpClass(cls): | |
47 | + """ | |
48 | + 用例类执行前执行的函数 | |
49 | + :return:token | |
50 | + """ | |
51 | + # 获取token | |
52 | + cls.token = LoginToken.login_token() | |
53 | + | |
54 | + def setUp(self): | |
55 | + """单条用例执行前执行的函数""" | |
56 | + new_time = time.strftime("%Y%m%d_%H:%M:%S") | |
57 | + # 随机教师名称 | |
58 | + self.teacher_name = "py自动化教师" + new_time | |
59 | + # # 随机院系代码 | |
60 | + # self.department_code = "py_code" + new_time | |
61 | + | |
62 | + # ==================================================================== | |
63 | + # 新增教师 | |
64 | + # ==================================================================== | |
65 | + @data(*add_teacher_case) | |
66 | + def test_add_class_info(self, case): | |
67 | + | |
68 | + """新增教师用例""" | |
69 | + url = conf.get("url", "url_ip") + case['url'] | |
70 | + # 准备数据 | |
71 | + # ------判断教师姓名 | |
72 | + if "#name#" in case["data"]: | |
73 | + case["data"] = case["data"].replace("#name#", str(self.teacher_name + "_" + str(case["id"]))) | |
74 | + # ------判断教师姓名 | |
75 | + if "#departmentId#" in case["data"]: | |
76 | + case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) | |
77 | + # ------判断教师手机号 | |
78 | + if "#phone#" in case["data"]: | |
79 | + case["data"] = case["data"].replace("#phone#", RandomPhone.random_phone()) | |
80 | + # ------判断教师身份证号 | |
81 | + if "#idNumber#" in case["data"]: | |
82 | + case["data"] = case["data"].replace("#idNumber#", RandomIdentification().ran_end()) | |
83 | + # ------判断教师身份证号 | |
84 | + if "#email#" in case["data"]: | |
85 | + case["data"] = case["data"].replace("#email#", RandomEmail.rand_email()) | |
86 | + data = json.loads(case["data"]) | |
87 | + expected = json.loads(case["expected"]) | |
88 | + herders = {} | |
89 | + herders["Authorization"] = self.token | |
90 | + # 调用接口 | |
91 | + response = requests.request(url=url, method=case["method"], json=data, headers=herders) | |
92 | + res = response.json() | |
93 | + print("用例入参:{}".format(data)) | |
94 | + print("预期结果:", expected) | |
95 | + print("实际结果:", res) | |
96 | + # 断言 | |
97 | + # 断言 | |
98 | + try: | |
99 | + self.assertEqual(expected['msg'], res['msg']) | |
100 | + self.assertEqual(expected['code'], res['code']) | |
101 | + except AssertionError as e: | |
102 | + # 写入Excel | |
103 | + self.add_teacher.write_excel(row=case["id"] + 1, column=7, value="不通过") | |
104 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | |
105 | + HandleLog.log.exception(e) | |
106 | + raise e | |
107 | + else: | |
108 | + self.add_teacher.write_excel(row=case["id"] + 1, column=7, value="通过") | |
109 | + # 将创建使用的数据写入到excel表格中 | |
110 | + self.add_teacher.write_excel(row=case["id"] + 1, column=9, | |
111 | + value=case["data"]) | |
112 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | |
113 | + | |
114 | + | |
115 | +''' | |
116 | +# ==================班级相关的用例================== | |
117 | +@ddt | |
118 | +class Test02Class(unittest.TestCase): | |
119 | + """班级相关""" | |
120 | + add_class = Excel(os.path.join(TeachingAffairs_path, "test_03_class.xlsx"), "add_class") | |
121 | + add_class_case = add_class.read_excel() | |
122 | + | |
123 | + # ==================================================================== | |
124 | + # 新增班级 | |
125 | + # ==================================================================== | |
126 | + @data(*add_class_case) | |
127 | + def test_add_class_info(self, case): | |
128 | + """新增班级用例""" | |
129 | +''' | ... | ... |
... | ... | @@ -6,38 +6,117 @@ |
6 | 6 | # @FileName: fixture.py |
7 | 7 | # ====================================== |
8 | 8 | """ |
9 | -获取数据 | |
9 | +获取查看数据 | |
10 | 10 | """ |
11 | +import random | |
12 | +import string | |
11 | 13 | |
12 | 14 | import requests |
13 | 15 | from common.handle_config import conf |
14 | 16 | from tools.handle_token import LoginToken |
15 | -from jsonpath import jsonpath | |
16 | - | |
17 | - | |
18 | -# ==================院系相关的数据================== | |
19 | -class SystemManagement(object): | |
20 | - """系统管理""" | |
21 | - | |
22 | - # ==================================================================== | |
23 | - # 查看院系列表获取数据 | |
24 | - # ==================================================================== | |
25 | - @classmethod | |
26 | - def department_list(cls): | |
27 | - """ | |
28 | - 查看院系列表 | |
29 | - """ | |
30 | - url = conf.get('url', 'url_ip') + "/basic/v1/department/list" | |
17 | +from common.handle_excel import Excel | |
18 | +import os | |
19 | +import time | |
20 | +import random | |
21 | + | |
22 | +""" | |
23 | +获取json字符串 | |
24 | +""" | |
25 | + | |
26 | + | |
27 | +class SelectData(object): | |
28 | + def __init__(self, url): | |
29 | + self.url = url | |
30 | + | |
31 | + def select_list(self): | |
32 | + self.url = conf.get('url', 'url_ip') + self.url | |
31 | 33 | headers = {} |
32 | 34 | headers["Authorization"] = LoginToken.login_token() |
33 | 35 | data = { |
34 | 36 | "pageNumber": "0", |
35 | 37 | "pageSize": "3" |
36 | 38 | } |
37 | - response = requests.request(url=url, method="get", json=data, headers=headers) | |
39 | + response = requests.request(url=self.url, method="get", json=data, headers=headers) | |
38 | 40 | res = response.json() |
39 | 41 | return res |
40 | 42 | |
41 | 43 | |
44 | +""" | |
45 | +随机生成手机号 | |
46 | +""" | |
47 | + | |
48 | + | |
49 | +class RandomPhone: | |
50 | + | |
51 | + # 随机生成手机号 | |
52 | + @staticmethod | |
53 | + def random_phone(): | |
54 | + for k in range(1): | |
55 | + prelist = ["155", "136", "173", "133"] | |
56 | + return random.choice(prelist) + "".join(random.choice("0123456789") for i in range(8)) | |
57 | + | |
58 | + | |
59 | +""" | |
60 | +随机生成身份证号 | |
61 | +""" | |
62 | + | |
63 | + | |
64 | +class RandomIdentification(object): | |
65 | + | |
66 | + def ran(self): | |
67 | + # 随机生成年月日 | |
68 | + yea = random.randint(1933, int(time.strftime("%Y"))) # 生成年 | |
69 | + # 生成月 | |
70 | + mon = random.randint(1, 12) | |
71 | + ran_mon = '0' + str(mon) if mon < 10 else mon | |
72 | + # 生成日 | |
73 | + day = random.randint(1, 27) | |
74 | + ran_day = '0' + str(day) if day < 10 else day | |
75 | + return str(yea) + str(ran_mon) + str(ran_day) | |
76 | + | |
77 | + def ran_value(self): | |
78 | + # 生成年月日后的三位数 | |
79 | + value = random.randint(10, 199) | |
80 | + if value < 100: | |
81 | + return "0" + str(value) | |
82 | + else: | |
83 | + return str(value) | |
84 | + | |
85 | + def ran_area(self): | |
86 | + # 随机取生成前六位 | |
87 | + province = ( | |
88 | + '11', '12', '13', '14', '15', '21', '22', '23', '31', '32', '33', '34', '35', '36', '37', '41', '42', | |
89 | + '43', '44', '45', '46', '50', '51', '52', '53', '54', '61', '62', '63', '64', '65', '66') | |
90 | + return str(province[random.randint(0, len(province))] + '0101') | |
91 | + | |
92 | + def ran_end(self): | |
93 | + # 组成前17位数字 | |
94 | + ran = self.ran_area() + self.ran() + self.ran_value() | |
95 | + # 前17位每位需要乘上的系数,用字典表示,比如第一位需要乘上7,最后一位需要乘上2 | |
96 | + coe = {1: 7, 2: 9, 3: 10, 4: 5, 5: 8, 6: 4, 7: 2, 8: 1, 9: 6, 10: 3, 11: 7, 12: 9, 13: 10, 14: 5, 15: 8, 16: 4, | |
97 | + 17: 2} | |
98 | + summat = 0 | |
99 | + # 循环计算前17位每位乘上系数之后的和 | |
100 | + for i in range(17): | |
101 | + summat = summat + int(ran[i:i + 1]) * coe[i + 1] | |
102 | + # 前17位每位乘上系数之后的和除以11得到的余数对照表,比如余数是0,那第18位就是1 | |
103 | + mat = {0: '1', 1: '0', 2: 'X', 3: '9', 4: '8', 5: '7', 6: '6', 7: '5', 8: '4', 9: '3', 10: '2'} | |
104 | + return ran + mat[summat % 11] | |
105 | + | |
106 | + | |
107 | +""" | |
108 | +随机生成邮箱 | |
109 | +""" | |
110 | + | |
111 | + | |
112 | +class RandomEmail(object): | |
113 | + @staticmethod | |
114 | + def rand_email(): | |
115 | + email_len = random.randint(1, 99999999999) | |
116 | + # print(str(email_len) + "@163.com") | |
117 | + return str(email_len) + "@163.com" | |
118 | + | |
42 | 119 | if __name__ == '__main__': |
43 | - SystemManagement.department_list() | |
120 | + print(RandomIdentification().ran_end()) | |
121 | + # Val(Ran().ran_end()) | |
122 | + # RandomEmail.rand_email() | ... | ... |
请
注册
或
登录
后发表评论