提交 9cadee9aebc7edfc1c3084a37d666fd04a21c8fb
1 个父辈
676ef25a
版本:1.0.3
1.新增班级逻辑判断 2.新增实践课程逻辑判断 3.补充Excel-班级 4.补充Excel-实践课程 4.补充Excel-教师
正在显示
20 个修改的文件
包含
685 行增加
和
1026 行删除
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.新增发送邮件"> | |
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" /> | |
4 | + <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="1.0.2 1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化"> | |
5 | + <change afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_course.xlsx" afterDir="false" /> | |
6 | + <change afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" afterDir="false" /> | |
8 | 7 | <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" /> | |
8 | + <change beforePath="$PROJECT_DIR$/conf/config.ini" beforeDir="false" afterPath="$PROJECT_DIR$/conf/config.ini" afterDir="false" /> | |
10 | 9 | <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" /> | |
10 | + <change beforePath="$PROJECT_DIR$/data/system/test_02_specialty.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_specialty.xlsx" afterDir="false" /> | |
11 | + <change beforePath="$PROJECT_DIR$/data/system/test_02_term.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_term.xlsx" afterDir="false" /> | |
12 | + <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_class.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_class.xlsx" afterDir="false" /> | |
13 | + <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" afterDir="false" /> | |
13 | 14 | <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$/instruction_book.md" beforeDir="false" afterPath="$PROJECT_DIR$/instruction_book.md" afterDir="false" /> | |
16 | + <change beforePath="$PROJECT_DIR$/logs/log.log" beforeDir="false" /> | |
17 | + <change beforePath="$PROJECT_DIR$/logs/log.log.2022-12-15" beforeDir="false" /> | |
15 | 18 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> |
16 | 19 | <change beforePath="$PROJECT_DIR$/report/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report.html" afterDir="false" /> |
17 | 20 | <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 | 21 | <change beforePath="$PROJECT_DIR$/testcase/test_02_system_management.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_02_system_management.py" afterDir="false" /> |
20 | 22 | <change beforePath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" afterDir="false" /> |
21 | 23 | <change beforePath="$PROJECT_DIR$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> |
24 | + <change beforePath="$PROJECT_DIR$/tools/handle_token.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/handle_token.py" afterDir="false" /> | |
22 | 25 | </list> |
23 | 26 | <option name="SHOW_DIALOG" value="false" /> |
24 | 27 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
... | ... | @@ -44,12 +47,6 @@ |
44 | 47 | </option> |
45 | 48 | </component> |
46 | 49 | <component name="Git.Settings"> |
47 | - <option name="PUSH_TAGS"> | |
48 | - <GitPushTagMode> | |
49 | - <option name="argument" value="--tags" /> | |
50 | - <option name="title" value="All" /> | |
51 | - </GitPushTagMode> | |
52 | - </option> | |
53 | 50 | <option name="RECENT_BRANCH_BY_REPOSITORY"> |
54 | 51 | <map> |
55 | 52 | <entry key="$PROJECT_DIR$" value="master" /> |
... | ... | @@ -168,16 +165,16 @@ |
168 | 165 | </configuration> |
169 | 166 | <list> |
170 | 167 | <item itemvalue="Python.run" /> |
171 | - <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | |
172 | - <item itemvalue="Python tests.Unittests in test_01_login.py" /> | |
173 | 168 | <item itemvalue="Python.fixture (1)" /> |
174 | 169 | <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> |
170 | + <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | |
171 | + <item itemvalue="Python tests.Unittests in test_01_login.py" /> | |
175 | 172 | </list> |
176 | 173 | <recent_temporary> |
177 | 174 | <list> |
178 | 175 | <item itemvalue="Python.run" /> |
179 | - <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | |
180 | 176 | <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> |
177 | + <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | |
181 | 178 | <item itemvalue="Python.fixture (1)" /> |
182 | 179 | <item itemvalue="Python tests.Unittests in test_01_login.py" /> |
183 | 180 | </list> |
... | ... | @@ -197,7 +194,8 @@ |
197 | 194 | <workItem from="1671612580435" duration="100000" /> |
198 | 195 | <workItem from="1671612709033" duration="18069000" /> |
199 | 196 | <workItem from="1671637473856" duration="5050000" /> |
200 | - <workItem from="1671683905863" duration="21393000" /> | |
197 | + <workItem from="1671683905863" duration="32432000" /> | |
198 | + <workItem from="1671858161931" duration="13359000" /> | |
201 | 199 | </task> |
202 | 200 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> |
203 | 201 | <created>1671544396986</created> |
... | ... | @@ -220,7 +218,14 @@ |
220 | 218 | <option name="project" value="LOCAL" /> |
221 | 219 | <updated>1671638407457</updated> |
222 | 220 | </task> |
223 | - <option name="localTasksCounter" value="4" /> | |
221 | + <task id="LOCAL-00004" summary="1.0.2 1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化"> | |
222 | + <created>1671721946433</created> | |
223 | + <option name="number" value="00004" /> | |
224 | + <option name="presentableId" value="LOCAL-00004" /> | |
225 | + <option name="project" value="LOCAL" /> | |
226 | + <updated>1671721946433</updated> | |
227 | + </task> | |
228 | + <option name="localTasksCounter" value="5" /> | |
224 | 229 | <servers /> |
225 | 230 | </component> |
226 | 231 | <component name="TypeScriptGeneratedFilesManager"> |
... | ... | @@ -254,19 +259,20 @@ |
254 | 259 | <MESSAGE value="1.0.0 首次提交" /> |
255 | 260 | <MESSAGE value="1.0.1 1.新增fixture.py 2.新增查看院系接口测试用例 4.新增整理Excel表格数据入参问题 3.代码优化" /> |
256 | 261 | <MESSAGE value="1.0.1 1.新增发送邮件" /> |
257 | - <option name="LAST_COMMIT_MESSAGE" value="1.0.1 1.新增发送邮件" /> | |
262 | + <MESSAGE value="1.0.2 1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化" /> | |
263 | + <option name="LAST_COMMIT_MESSAGE" value="1.0.2 1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化" /> | |
258 | 264 | </component> |
259 | 265 | <component name="XDebuggerManager"> |
260 | 266 | <breakpoint-manager> |
261 | 267 | <breakpoints> |
262 | 268 | <line-breakpoint suspend="THREAD" type="python-line"> |
263 | 269 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
264 | - <line>148</line> | |
270 | + <line>147</line> | |
265 | 271 | <option name="timeStamp" value="5" /> |
266 | 272 | </line-breakpoint> |
267 | 273 | <line-breakpoint suspend="THREAD" type="python-line"> |
268 | 274 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
269 | - <line>184</line> | |
275 | + <line>183</line> | |
270 | 276 | <option name="timeStamp" value="10" /> |
271 | 277 | </line-breakpoint> |
272 | 278 | <line-breakpoint suspend="THREAD" type="python-line"> |
... | ... | @@ -289,31 +295,41 @@ |
289 | 295 | <line>37</line> |
290 | 296 | <option name="timeStamp" value="14" /> |
291 | 297 | </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"> | |
298 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
303 | 299 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> |
304 | - <line>107</line> | |
300 | + <line>108</line> | |
305 | 301 | <option name="timeStamp" value="23" /> |
306 | 302 | </line-breakpoint> |
307 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
303 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
308 | 304 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
309 | - <line>178</line> | |
305 | + <line>177</line> | |
310 | 306 | <option name="timeStamp" value="24" /> |
311 | 307 | </line-breakpoint> |
312 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
308 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
313 | 309 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
314 | - <line>176</line> | |
310 | + <line>175</line> | |
315 | 311 | <option name="timeStamp" value="25" /> |
316 | 312 | </line-breakpoint> |
313 | + <line-breakpoint suspend="THREAD" type="python-line"> | |
314 | + <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | |
315 | + <line>258</line> | |
316 | + <option name="timeStamp" value="26" /> | |
317 | + </line-breakpoint> | |
318 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
319 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | |
320 | + <line>36</line> | |
321 | + <option name="timeStamp" value="30" /> | |
322 | + </line-breakpoint> | |
323 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
324 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | |
325 | + <line>28</line> | |
326 | + <option name="timeStamp" value="33" /> | |
327 | + </line-breakpoint> | |
328 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | |
329 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | |
330 | + <line>35</line> | |
331 | + <option name="timeStamp" value="34" /> | |
332 | + </line-breakpoint> | |
317 | 333 | </breakpoints> |
318 | 334 | <default-breakpoints> |
319 | 335 | <breakpoint type="python-exception"> |
... | ... | @@ -326,12 +342,12 @@ |
326 | 342 | </component> |
327 | 343 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> |
328 | 344 | <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" /> | |
345 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_02_system_management_py.coverage" NAME="Unittests in test_02_system_management.py Coverage Results" MODIFIED="1671781789426" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | |
330 | 346 | <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" /> |
331 | 347 | <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" /> |
332 | 348 | <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" /> | |
349 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_03_teaching_affairs_py.coverage" NAME="Unittests in test_03_teaching_affairs.py Coverage Results" MODIFIED="1671883540019" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | |
334 | 350 | <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" /> |
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$" /> | |
351 | + <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1671885036096" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | |
336 | 352 | </component> |
337 | 353 | </project> |
\ No newline at end of file | ... | ... |
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
data/teaching_affairs/test_03_course.xlsx
0 → 100644
不能预览此文件类型
data/teaching_affairs/test_03_student.xlsx
0 → 100644
不能预览此文件类型
不能预览此文件类型
... | ... | @@ -45,9 +45,20 @@ testcase:测试用例 |
45 | 45 | > 3.签章管理 |
46 | 46 | > |
47 | 47 | > 4.模版库 |
48 | -> | |
48 | +#### 三.test_03_teaching_affairs.py: 实习教务管理用例 | |
49 | +>1.学生信息管理 | |
50 | +> | |
51 | +> 2.教职员工管理 | |
52 | +> | |
53 | +> 3.班级管理 | |
54 | +> | |
55 | +> 4.实践课程管理 | |
56 | +> | |
49 | 57 | tools:工具 |
50 | 58 | ---------- |
59 | +>1.fixture: 获取json数据 | |
60 | +> | |
61 | +>2.handle_token: 登陆获取token | |
51 | 62 | |
52 | 63 | run.py:运行文件 |
53 | 64 | ---------- | ... | ... |
logs/log.log
已删除
100644 → 0
此 diff 太大无法显示。
logs/log.log.2022-12-15
已删除
100644 → 0
此 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"}, {"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 | ||
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"}, {"success": 11, "all": 26, "fail": 15, "skip": 0, "error": 0, "runtime": "17.06 S", "begin_time": "2022-12-23 11:04:53", "pass_rate": "42.31"}, {"success": 15, "all": 26, "fail": 11, "skip": 0, "error": 0, "runtime": "16.82 S", "begin_time": "2022-12-23 11:10:29", "pass_rate": "57.69"}, {"success": 14, "all": 31, "fail": 14, "skip": 0, "error": 3, "runtime": "16.68 S", "begin_time": "2022-12-23 11:24:23", "pass_rate": "45.16"}, {"success": 14, "all": 31, "fail": 14, "skip": 0, "error": 3, "runtime": "15.31 S", "begin_time": "2022-12-23 11:50:26", "pass_rate": "45.16"}, {"success": 14, "all": 31, "fail": 17, "skip": 0, "error": 0, "runtime": "19.41 S", "begin_time": "2022-12-23 11:53:02", "pass_rate": "45.16"}, {"success": 19, "all": 32, "fail": 13, "skip": 0, "error": 0, "runtime": "18.26 S", "begin_time": "2022-12-23 13:56:17", "pass_rate": "59.38"}, {"success": 21, "all": 32, "fail": 11, "skip": 0, "error": 0, "runtime": "19.63 S", "begin_time": "2022-12-23 14:54:12", "pass_rate": "65.62"}, {"success": 25, "all": 32, "fail": 7, "skip": 0, "error": 0, "runtime": "18.92 S", "begin_time": "2022-12-23 15:00:04", "pass_rate": "78.12"}, {"success": 26, "all": 32, "fail": 6, "skip": 0, "error": 0, "runtime": "18.33 S", "begin_time": "2022-12-23 15:01:19", "pass_rate": "81.25"}, {"success": 7, "all": 16, "fail": 0, "skip": 0, "error": 9, "runtime": "4.59 S", "begin_time": "2022-12-23 15:03:33", "pass_rate": "43.75"}, {"success": 4, "all": 9, "fail": 1, "skip": 0, "error": 4, "runtime": "2.53 S", "begin_time": "2022-12-23 15:04:12", "pass_rate": "44.44"}, {"success": 27, "all": 32, "fail": 5, "skip": 0, "error": 0, "runtime": "19.26 S", "begin_time": "2022-12-23 15:06:22", "pass_rate": "84.38"}, {"success": 27, "all": 32, "fail": 5, "skip": 0, "error": 0, "runtime": "18.92 S", "begin_time": "2022-12-23 15:07:58", "pass_rate": "84.38"}, {"success": 27, "all": 32, "fail": 5, "skip": 0, "error": 0, "runtime": "18.01 S", "begin_time": "2022-12-23 15:10:26", "pass_rate": "84.38"}, {"success": 28, "all": 32, "fail": 4, "skip": 0, "error": 0, "runtime": "19.33 S", "begin_time": "2022-12-23 15:31:35", "pass_rate": "87.50"}, {"success": 28, "all": 32, "fail": 4, "skip": 0, "error": 0, "runtime": "18.24 S", "begin_time": "2022-12-23 15:36:47", "pass_rate": "87.50"}, {"success": 29, "all": 32, "fail": 3, "skip": 0, "error": 0, "runtime": "21.94 S", "begin_time": "2022-12-23 16:20:37", "pass_rate": "90.62"}, {"success": 29, "all": 32, "fail": 3, "skip": 0, "error": 0, "runtime": "20.53 S", "begin_time": "2022-12-23 16:21:09", "pass_rate": "90.62"}, {"success": 31, "all": 32, "fail": 1, "skip": 0, "error": 0, "runtime": "19.00 S", "begin_time": "2022-12-23 16:25:20", "pass_rate": "96.88"}, {"success": 32, "all": 32, "fail": 0, "skip": 0, "error": 0, "runtime": "18.70 S", "begin_time": "2022-12-23 16:26:19", "pass_rate": "100.00"}, {"success": 32, "all": 32, "fail": 0, "skip": 0, "error": 0, "runtime": "18.82 S", "begin_time": "2022-12-23 16:43:23", "pass_rate": "100.00"}, {"success": 30, "all": 31, "fail": 0, "skip": 0, "error": 1, "runtime": "53.09 S", "begin_time": "2022-12-23 19:05:51", "pass_rate": "96.77"}, {"success": 31, "all": 31, "fail": 0, "skip": 0, "error": 0, "runtime": "18.21 S", "begin_time": "2022-12-23 19:09:09", "pass_rate": "100.00"}, {"success": 30, "all": 31, "fail": 1, "skip": 0, "error": 0, "runtime": "15.82 S", "begin_time": "2022-12-23 19:09:46", "pass_rate": "96.77"}, {"success": 3, "all": 3, "fail": 0, "skip": 0, "error": 0, "runtime": "1.54 S", "begin_time": "2022-12-24 17:34:33", "pass_rate": "100.00"}, {"success": 3, "all": 3, "fail": 0, "skip": 0, "error": 0, "runtime": "2.35 S", "begin_time": "2022-12-24 17:36:32", "pass_rate": "100.00"}, {"success": 5, "all": 5, "fail": 0, "skip": 0, "error": 0, "runtime": "8.45 S", "begin_time": "2022-12-24 20:26:29", "pass_rate": "100.00"}, {"success": 32, "all": 33, "fail": 1, "skip": 0, "error": 0, "runtime": "24.90 S", "begin_time": "2022-12-24 20:29:36", "pass_rate": "96.97"}, {"success": 33, "all": 33, "fail": 0, "skip": 0, "error": 0, "runtime": "24.88 S", "begin_time": "2022-12-24 20:30:36", "pass_rate": "100.00"}] | |
\ 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-22 23:09:09</span> | |
159 | + <span class="text-dark">2022-12-24 20:30:36</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">15.15 S</span> | |
163 | + <span class="text-dark">24.88 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">26</span> | |
167 | + <span class="text-dark">33</span> | |
168 | 168 | </li> |
169 | 169 | |
170 | 170 | |
... | ... | @@ -175,11 +175,11 @@ |
175 | 175 | |
176 | 176 | <li class="list-group-item"> |
177 | 177 | <button type="button" class="btn btn-success">成功用例</button> |
178 | - <span class="text-success">10</span> | |
178 | + <span class="text-success">33</span> | |
179 | 179 | </li> |
180 | 180 | <li class="list-group-item"> |
181 | 181 | <button type="button" class="btn btn-warning">失败用例</button> |
182 | - <span class="text-warning">16</span> | |
182 | + <span class="text-warning">0</span> | |
183 | 183 | </li> |
184 | 184 | <li class="list-group-item"> |
185 | 185 | <button type="button" class="btn btn-danger">错误用例</button> |
... | ... | @@ -225,9 +225,11 @@ |
225 | 225 | <select id="testClass"> |
226 | 226 | <option>所有</option> |
227 | 227 | |
228 | + <option>Test03Course</option> | |
229 | + | |
228 | 230 | <option>TestLogin</option> |
229 | 231 | |
230 | - <option>Test01CTeacher</option> | |
232 | + <option>Test02Class</option> | |
231 | 233 | |
232 | 234 | <option>Test02Specialty</option> |
233 | 235 | |
... | ... | @@ -235,6 +237,8 @@ |
235 | 237 | |
236 | 238 | <option>Test03Year</option> |
237 | 239 | |
240 | + <option>Test01CTeacher</option> | |
241 | + | |
238 | 242 | </select> |
239 | 243 | |
240 | 244 | </th> |
... | ... | @@ -264,7 +268,7 @@ |
264 | 268 | <td class="TestLogin">TestLogin</td> |
265 | 269 | <td>test_login_1</td> |
266 | 270 | <td>登陆成功</td> |
267 | - <td>0.522s</td> | |
271 | + <td>0.411s</td> | |
268 | 272 | |
269 | 273 | <td class="text-success">成功</td> |
270 | 274 | |
... | ... | @@ -280,7 +284,7 @@ |
280 | 284 | |
281 | 285 | <pre>用例入参:{'way': 'name', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher', 'username': '17301249975'} |
282 | 286 | 预期结果:{'msg': 'success', 'code': 200} |
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'}} | |
287 | +实际结果:{'msg': 'success', 'code': 200, 'data': {'access_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxOTIxMDM3LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiYmIxMjY3NWUtMWQ5NS00MzNjLThiY2UtNzI3Y2NiMjRiZGU5Iiwic3RhdHVzIjoiYWN0aXZlIn0.J68PkXm2fCncaIUm6bHn8vy5KS2F4NZVpqa3CV4enlJk_S7fcxlVykSDmWytmed_wO48cIPh25BCsRz3ZxrGebyYCUtTSQlywoMsOSJuu60MH0SKShu2FYxPHqfltGd09SRhQ53iXs7dS4FBB-eBqtvEatxUk3oCLTVmxvjGkvuf8mmdLodBarvi__5nGvZY10HV1AB5X30mZGQKKm2jSYdPVSrKzTXkq7dHqcnq9G3hT5t2JYpPxz9WRTuki47CL8mp8rT9cO8x1rNmn6ujRArUWJy9VevIzBrZx_ntz2alhWTHRUvKhVmTQ8PxxH-ci7bUe0qj46uI-GzeOsro2w', 'token_type': 'bearer', 'refresh_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJhdGkiOiJiYjEyNjc1ZS0xZDk1LTQzM2MtOGJjZS03MjdjY2IyNGJkZTkiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxOTU3MDM3LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiYjZiYTlhN2ItZDA3NS00Njk1LTllMTItOWVhMWJjMTQwNTJhIiwic3RhdHVzIjoiYWN0aXZlIn0.UAdfMPkTUyNtAtPtPftd2Cyt27K0zdouMIq_OS84o4hsxPtlRRigakiSUcLqbzau6O70K4qaGdT5OlRlw1LtHsU_xlLMmz8rFDxE3BxElh89o5gAFZRsPTR4hmpLnjupuOZNTpcUaH51b2yEH9w9-yJZcJjy1lE9Sc8r0qIge1Dgw6J41pfqAmCiegeDgE2fgiqC1aWtjXpuHlHkIg2Wfvz30iGC7LZgivxhuOvWkK4dnSHxnzcO6gm3K1QGlMhB-8F4S92ZzF8Ngj294sKOohW133uV43m6x2LKI-n0ds9YknBxC-gLV0-oxZtRmSKK_yWbOFwKc24wnPltIwEi5w', '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': 'bb12675e-1d95-433c-8bce-727ccb24bde9'}} | |
284 | 288 | test_login_1 (test_01_login.TestLogin)执行——>【通过】 |
285 | 289 | </pre> |
286 | 290 | |
... | ... | @@ -293,9 +297,9 @@ test_login_1 (test_01_login.TestLogin)銵> |
293 | 297 | <td class="TestLogin">TestLogin</td> |
294 | 298 | <td>test_login_2</td> |
295 | 299 | <td>手机号填写错误的</td> |
296 | - <td>0.22s</td> | |
300 | + <td>0.267s</td> | |
297 | 301 | |
298 | - <td class="text-warning">失败</td> | |
302 | + <td class="text-success">成功</td> | |
299 | 303 | |
300 | 304 | <td> |
301 | 305 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -307,61 +311,10 @@ test_login_1 (test_01_login.TestLogin)銵> |
307 | 311 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
308 | 312 | |
309 | 313 | |
310 | - <pre>用例入参:{'username': '17301149975', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} | |
314 | + <pre>用例入参:{'way': 'name', 'username': '17301149975', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} | |
311 | 315 | 预期结果:{'code': 500, 'data': None, 'msg': '用户不存在'} |
312 | -实际结果:{'code': 500, 'data': None, 'msg': '参数不正确'} | |
313 | -test_login_2 (test_01_login.TestLogin)执行——>【失败】 | |
314 | -</pre> | |
315 | - | |
316 | - | |
317 | - <pre>Traceback (most recent call last): | |
318 | -</pre> | |
319 | - | |
320 | - | |
321 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
322 | - yield | |
323 | -</pre> | |
324 | - | |
325 | - | |
326 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
327 | - testMethod() | |
328 | -</pre> | |
329 | - | |
330 | - | |
331 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
332 | - return func(self, *args, **kwargs) | |
333 | -</pre> | |
334 | - | |
335 | - | |
336 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | |
337 | - raise e | |
338 | -</pre> | |
339 | - | |
340 | - | |
341 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | |
342 | - self.assertEqual(expected['msg'], res['msg']) | |
343 | -</pre> | |
344 | - | |
345 | - | |
346 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
347 | - assertion_func(first, second, msg=msg) | |
348 | -</pre> | |
349 | - | |
350 | - | |
351 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
352 | - self.fail(self._formatMessage(msg, standardMsg)) | |
353 | -</pre> | |
354 | - | |
355 | - | |
356 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
357 | - raise self.failureException(msg) | |
358 | -</pre> | |
359 | - | |
360 | - | |
361 | - <pre>AssertionError: '用户不存在' != '参数不正确' | |
362 | -- 用户不存在 | |
363 | -+ 参数不正确 | |
364 | - | |
316 | +实际结果:{'code': 500, 'data': None, 'msg': '用户不存在'} | |
317 | +test_login_2 (test_01_login.TestLogin)执行——>【通过】 | |
365 | 318 | </pre> |
366 | 319 | |
367 | 320 | |
... | ... | @@ -373,9 +326,9 @@ test_login_2 (test_01_login.TestLogin)銵>仃韐乓 |
373 | 326 | <td class="TestLogin">TestLogin</td> |
374 | 327 | <td>test_login_3</td> |
375 | 328 | <td>手机号不进行填写</td> |
376 | - <td>0.214s</td> | |
329 | + <td>0.239s</td> | |
377 | 330 | |
378 | - <td class="text-warning">失败</td> | |
331 | + <td class="text-success">成功</td> | |
379 | 332 | |
380 | 333 | <td> |
381 | 334 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -387,61 +340,10 @@ test_login_2 (test_01_login.TestLogin)銵>仃韐乓 |
387 | 340 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
388 | 341 | |
389 | 342 | |
390 | - <pre>用例入参:{'username': '', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} | |
343 | + <pre>用例入参:{'way': 'name', 'username': '', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} | |
391 | 344 | 预期结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} |
392 | -实际结果:{'code': 500, 'data': None, 'msg': '参数不正确'} | |
393 | -test_login_3 (test_01_login.TestLogin)执行——>【失败】 | |
394 | -</pre> | |
395 | - | |
396 | - | |
397 | - <pre>Traceback (most recent call last): | |
398 | -</pre> | |
399 | - | |
400 | - | |
401 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
402 | - yield | |
403 | -</pre> | |
404 | - | |
405 | - | |
406 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
407 | - testMethod() | |
408 | -</pre> | |
409 | - | |
410 | - | |
411 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
412 | - return func(self, *args, **kwargs) | |
413 | -</pre> | |
414 | - | |
415 | - | |
416 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | |
417 | - raise e | |
418 | -</pre> | |
419 | - | |
420 | - | |
421 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | |
422 | - self.assertEqual(expected['msg'], res['msg']) | |
423 | -</pre> | |
424 | - | |
425 | - | |
426 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
427 | - assertion_func(first, second, msg=msg) | |
428 | -</pre> | |
429 | - | |
430 | - | |
431 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
432 | - self.fail(self._formatMessage(msg, standardMsg)) | |
433 | -</pre> | |
434 | - | |
435 | - | |
436 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
437 | - raise self.failureException(msg) | |
438 | -</pre> | |
439 | - | |
440 | - | |
441 | - <pre>AssertionError: '用户名和密码不能为空' != '参数不正确' | |
442 | -- 用户名和密码不能为空 | |
443 | -+ 参数不正确 | |
444 | - | |
345 | +实际结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} | |
346 | +test_login_3 (test_01_login.TestLogin)执行——>【通过】 | |
445 | 347 | </pre> |
446 | 348 | |
447 | 349 | |
... | ... | @@ -453,9 +355,9 @@ test_login_3 (test_01_login.TestLogin)銵>仃韐乓 |
453 | 355 | <td class="TestLogin">TestLogin</td> |
454 | 356 | <td>test_login_4</td> |
455 | 357 | <td>密码填写错误</td> |
456 | - <td>0.199s</td> | |
358 | + <td>0.355s</td> | |
457 | 359 | |
458 | - <td class="text-warning">失败</td> | |
360 | + <td class="text-success">成功</td> | |
459 | 361 | |
460 | 362 | <td> |
461 | 363 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -467,61 +369,10 @@ test_login_3 (test_01_login.TestLogin)銵>仃韐乓 |
467 | 369 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
468 | 370 | |
469 | 371 | |
470 | - <pre>用例入参:{'username': '17301249975', 'password': 'f85eea0e115e424aba8675f8848e2cb83', 'type': 'teacher'} | |
372 | + <pre>用例入参:{'way': 'name', 'username': '17301249975', 'password': 'f85eea0e115e424aba8675f8848e2cb83', 'type': 'teacher'} | |
471 | 373 | 预期结果:{'code': 500, 'data': None, 'msg': '密码不正确'} |
472 | -实际结果:{'code': 500, 'data': None, 'msg': '参数不正确'} | |
473 | -test_login_4 (test_01_login.TestLogin)执行——>【失败】 | |
474 | -</pre> | |
475 | - | |
476 | - | |
477 | - <pre>Traceback (most recent call last): | |
478 | -</pre> | |
479 | - | |
480 | - | |
481 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
482 | - yield | |
483 | -</pre> | |
484 | - | |
485 | - | |
486 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
487 | - testMethod() | |
488 | -</pre> | |
489 | - | |
490 | - | |
491 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
492 | - return func(self, *args, **kwargs) | |
493 | -</pre> | |
494 | - | |
495 | - | |
496 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | |
497 | - raise e | |
498 | -</pre> | |
499 | - | |
500 | - | |
501 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | |
502 | - self.assertEqual(expected['msg'], res['msg']) | |
503 | -</pre> | |
504 | - | |
505 | - | |
506 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
507 | - assertion_func(first, second, msg=msg) | |
508 | -</pre> | |
509 | - | |
510 | - | |
511 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
512 | - self.fail(self._formatMessage(msg, standardMsg)) | |
513 | -</pre> | |
514 | - | |
515 | - | |
516 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
517 | - raise self.failureException(msg) | |
518 | -</pre> | |
519 | - | |
520 | - | |
521 | - <pre>AssertionError: '密码不正确' != '参数不正确' | |
522 | -- 密码不正确 | |
523 | -+ 参数不正确 | |
524 | - | |
374 | +实际结果:{'code': 500, 'data': None, 'msg': '密码不正确'} | |
375 | +test_login_4 (test_01_login.TestLogin)执行——>【通过】 | |
525 | 376 | </pre> |
526 | 377 | |
527 | 378 | |
... | ... | @@ -533,9 +384,9 @@ test_login_4 (test_01_login.TestLogin)銵>仃韐乓 |
533 | 384 | <td class="TestLogin">TestLogin</td> |
534 | 385 | <td>test_login_5</td> |
535 | 386 | <td>密码不进行填写</td> |
536 | - <td>0.217s</td> | |
387 | + <td>0.243s</td> | |
537 | 388 | |
538 | - <td class="text-warning">失败</td> | |
389 | + <td class="text-success">成功</td> | |
539 | 390 | |
540 | 391 | <td> |
541 | 392 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -547,61 +398,10 @@ test_login_4 (test_01_login.TestLogin)銵>仃韐乓 |
547 | 398 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
548 | 399 | |
549 | 400 | |
550 | - <pre>用例入参:{'username': '17301249975', 'password': '', 'type': 'teacher'} | |
401 | + <pre>用例入参:{'way': 'name', 'username': '17301249975', 'password': '', 'type': 'teacher'} | |
551 | 402 | 预期结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} |
552 | -实际结果:{'code': 500, 'data': None, 'msg': '参数不正确'} | |
553 | -test_login_5 (test_01_login.TestLogin)执行——>【失败】 | |
554 | -</pre> | |
555 | - | |
556 | - | |
557 | - <pre>Traceback (most recent call last): | |
558 | -</pre> | |
559 | - | |
560 | - | |
561 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
562 | - yield | |
563 | -</pre> | |
564 | - | |
565 | - | |
566 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
567 | - testMethod() | |
568 | -</pre> | |
569 | - | |
570 | - | |
571 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
572 | - return func(self, *args, **kwargs) | |
573 | -</pre> | |
574 | - | |
575 | - | |
576 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | |
577 | - raise e | |
578 | -</pre> | |
579 | - | |
580 | - | |
581 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | |
582 | - self.assertEqual(expected['msg'], res['msg']) | |
583 | -</pre> | |
584 | - | |
585 | - | |
586 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
587 | - assertion_func(first, second, msg=msg) | |
588 | -</pre> | |
589 | - | |
590 | - | |
591 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
592 | - self.fail(self._formatMessage(msg, standardMsg)) | |
593 | -</pre> | |
594 | - | |
595 | - | |
596 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
597 | - raise self.failureException(msg) | |
598 | -</pre> | |
599 | - | |
600 | - | |
601 | - <pre>AssertionError: '用户名和密码不能为空' != '参数不正确' | |
602 | -- 用户名和密码不能为空 | |
603 | -+ 参数不正确 | |
604 | - | |
403 | +实际结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} | |
404 | +test_login_5 (test_01_login.TestLogin)执行——>【通过】 | |
605 | 405 | </pre> |
606 | 406 | |
607 | 407 | |
... | ... | @@ -613,7 +413,7 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 |
613 | 413 | <td class="Test01Department">Test01Department</td> |
614 | 414 | <td>test_add_department_1</td> |
615 | 415 | <td>新增院系成功</td> |
616 | - <td>0.275s</td> | |
416 | + <td>0.306s</td> | |
617 | 417 | |
618 | 418 | <td class="text-success">成功</td> |
619 | 419 | |
... | ... | @@ -627,7 +427,7 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 |
627 | 427 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
628 | 428 | |
629 | 429 | |
630 | - <pre>用例入参:{'name': 'py自动化院系20221222_23:09:11_1', 'code': 'py_code20221222_23:09:11_1'} | |
430 | + <pre>用例入参:{'name': 'py自动化院系20221224_20:30:38_1', 'code': 'py_code20221224_20:30:38_1'} | |
631 | 431 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
632 | 432 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
633 | 433 | test_add_department_1 (test_02_system_management.Test01Department)执行——>【通过】 |
... | ... | @@ -642,9 +442,9 @@ test_add_department_1 (test_02_system_management.Test01Department)銵> |
642 | 442 | <td class="Test01Department">Test01Department</td> |
643 | 443 | <td>test_add_department_2</td> |
644 | 444 | <td>院系名称未填写</td> |
645 | - <td>0.225s</td> | |
445 | + <td>0.306s</td> | |
646 | 446 | |
647 | - <td class="text-warning">失败</td> | |
447 | + <td class="text-success">成功</td> | |
648 | 448 | |
649 | 449 | <td> |
650 | 450 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -656,61 +456,10 @@ test_add_department_1 (test_02_system_management.Test01Department)銵> |
656 | 456 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
657 | 457 | |
658 | 458 | |
659 | - <pre>用例入参:{'name': '', 'code': 'py_code20221222_23:09:11_2'} | |
660 | -预期结果: {'msg': '院系名称未填写', 'code': 500, 'data': None} | |
661 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | |
662 | -test_add_department_2 (test_02_system_management.Test01Department)执行——>【失败】 | |
663 | -</pre> | |
664 | - | |
665 | - | |
666 | - <pre>Traceback (most recent call last): | |
667 | -</pre> | |
668 | - | |
669 | - | |
670 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
671 | - yield | |
672 | -</pre> | |
673 | - | |
674 | - | |
675 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
676 | - testMethod() | |
677 | -</pre> | |
678 | - | |
679 | - | |
680 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
681 | - return func(self, *args, **kwargs) | |
682 | -</pre> | |
683 | - | |
684 | - | |
685 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 92, in test_add_department | |
686 | - raise e | |
687 | -</pre> | |
688 | - | |
689 | - | |
690 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 85, in test_add_department | |
691 | - self.assertEqual(expected['msg'], res['msg']) | |
692 | -</pre> | |
693 | - | |
694 | - | |
695 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
696 | - assertion_func(first, second, msg=msg) | |
697 | -</pre> | |
698 | - | |
699 | - | |
700 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
701 | - self.fail(self._formatMessage(msg, standardMsg)) | |
702 | -</pre> | |
703 | - | |
704 | - | |
705 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
706 | - raise self.failureException(msg) | |
707 | -</pre> | |
708 | - | |
709 | - | |
710 | - <pre>AssertionError: '院系名称未填写' != 'size must be between 1 and 30' | |
711 | -- 院系名称未填写 | |
712 | -+ size must be between 1 and 30 | |
713 | - | |
459 | + <pre>用例入参:{'name': '', 'code': 'py_code20221224_20:30:39_2'} | |
460 | +预期结果: {'msg': '院系名称不能为空', 'code': 500, 'data': None} | |
461 | +实际结果: {'msg': '院系名称不能为空', 'code': 500, 'data': None} | |
462 | +test_add_department_2 (test_02_system_management.Test01Department)执行——>【通过】 | |
714 | 463 | </pre> |
715 | 464 | |
716 | 465 | |
... | ... | @@ -722,7 +471,7 @@ test_add_department_2 (test_02_system_management.Test01Department)銵> |
722 | 471 | <td class="Test01Department">Test01Department</td> |
723 | 472 | <td>test_add_department_3</td> |
724 | 473 | <td>院系名称重复</td> |
725 | - <td>0.282s</td> | |
474 | + <td>0.275s</td> | |
726 | 475 | |
727 | 476 | <td class="text-success">成功</td> |
728 | 477 | |
... | ... | @@ -736,7 +485,7 @@ test_add_department_2 (test_02_system_management.Test01Department)銵> |
736 | 485 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
737 | 486 | |
738 | 487 | |
739 | - <pre>用例入参:{'name': '院系1', 'code': 'py_code20221222_23:09:11_3'} | |
488 | + <pre>用例入参:{'name': '院系1', 'code': 'py_code20221224_20:30:39_3'} | |
740 | 489 | 预期结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} |
741 | 490 | 实际结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} |
742 | 491 | test_add_department_3 (test_02_system_management.Test01Department)执行——>【通过】 |
... | ... | @@ -751,9 +500,9 @@ test_add_department_3 (test_02_system_management.Test01Department)銵> |
751 | 500 | <td class="Test01Department">Test01Department</td> |
752 | 501 | <td>test_add_department_4</td> |
753 | 502 | <td>院系名称长度不可大于30位</td> |
754 | - <td>0.222s</td> | |
503 | + <td>0.297s</td> | |
755 | 504 | |
756 | - <td class="text-warning">失败</td> | |
505 | + <td class="text-success">成功</td> | |
757 | 506 | |
758 | 507 | <td> |
759 | 508 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -765,61 +514,10 @@ test_add_department_3 (test_02_system_management.Test01Department)銵> |
765 | 514 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
766 | 515 | |
767 | 516 | |
768 | - <pre>用例入参:{'name': '院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试', 'code': 'py_code20221222_23:09:11_4'} | |
769 | -预期结果: {'msg': '院系名称长度不可大于30', 'code': 500, 'data': None} | |
770 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | |
771 | -test_add_department_4 (test_02_system_management.Test01Department)执行——>【失败】 | |
772 | -</pre> | |
773 | - | |
774 | - | |
775 | - <pre>Traceback (most recent call last): | |
776 | -</pre> | |
777 | - | |
778 | - | |
779 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
780 | - yield | |
781 | -</pre> | |
782 | - | |
783 | - | |
784 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
785 | - testMethod() | |
786 | -</pre> | |
787 | - | |
788 | - | |
789 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
790 | - return func(self, *args, **kwargs) | |
791 | -</pre> | |
792 | - | |
793 | - | |
794 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 92, in test_add_department | |
795 | - raise e | |
796 | -</pre> | |
797 | - | |
798 | - | |
799 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 85, in test_add_department | |
800 | - self.assertEqual(expected['msg'], res['msg']) | |
801 | -</pre> | |
802 | - | |
803 | - | |
804 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
805 | - assertion_func(first, second, msg=msg) | |
806 | -</pre> | |
807 | - | |
808 | - | |
809 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
810 | - self.fail(self._formatMessage(msg, standardMsg)) | |
811 | -</pre> | |
812 | - | |
813 | - | |
814 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
815 | - raise self.failureException(msg) | |
816 | -</pre> | |
817 | - | |
818 | - | |
819 | - <pre>AssertionError: '院系名称长度不可大于30' != 'size must be between 1 and 30' | |
820 | -- 院系名称长度不可大于30 | |
821 | -+ size must be between 1 and 30 | |
822 | - | |
517 | + <pre>用例入参:{'name': '院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试', 'code': 'py_code20221224_20:30:39_4'} | |
518 | +预期结果: {'msg': '院系名称长度不可大于30位', 'code': 500, 'data': None} | |
519 | +实际结果: {'msg': '院系名称长度不可大于30位', 'code': 500, 'data': None} | |
520 | +test_add_department_4 (test_02_system_management.Test01Department)执行——>【通过】 | |
823 | 521 | </pre> |
824 | 522 | |
825 | 523 | |
... | ... | @@ -831,9 +529,9 @@ test_add_department_4 (test_02_system_management.Test01Department)銵> |
831 | 529 | <td class="Test01Department">Test01Department</td> |
832 | 530 | <td>test_add_department_5</td> |
833 | 531 | <td>院系代码不能为空</td> |
834 | - <td>0.216s</td> | |
532 | + <td>0.296s</td> | |
835 | 533 | |
836 | - <td class="text-warning">失败</td> | |
534 | + <td class="text-success">成功</td> | |
837 | 535 | |
838 | 536 | <td> |
839 | 537 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -845,61 +543,10 @@ test_add_department_4 (test_02_system_management.Test01Department)銵> |
845 | 543 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
846 | 544 | |
847 | 545 | |
848 | - <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_5', 'code': ''} | |
546 | + <pre>用例入参:{'name': 'py自动化院系20221224_20:30:39_5', 'code': ''} | |
849 | 547 | 预期结果: {'msg': '院系代码不能为空', 'code': 500, 'data': None} |
850 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | |
851 | -test_add_department_5 (test_02_system_management.Test01Department)执行——>【失败】 | |
852 | -</pre> | |
853 | - | |
854 | - | |
855 | - <pre>Traceback (most recent call last): | |
856 | -</pre> | |
857 | - | |
858 | - | |
859 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
860 | - yield | |
861 | -</pre> | |
862 | - | |
863 | - | |
864 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
865 | - testMethod() | |
866 | -</pre> | |
867 | - | |
868 | - | |
869 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
870 | - return func(self, *args, **kwargs) | |
871 | -</pre> | |
872 | - | |
873 | - | |
874 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 92, in test_add_department | |
875 | - raise e | |
876 | -</pre> | |
877 | - | |
878 | - | |
879 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 85, in test_add_department | |
880 | - self.assertEqual(expected['msg'], res['msg']) | |
881 | -</pre> | |
882 | - | |
883 | - | |
884 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
885 | - assertion_func(first, second, msg=msg) | |
886 | -</pre> | |
887 | - | |
888 | - | |
889 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
890 | - self.fail(self._formatMessage(msg, standardMsg)) | |
891 | -</pre> | |
892 | - | |
893 | - | |
894 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
895 | - raise self.failureException(msg) | |
896 | -</pre> | |
897 | - | |
898 | - | |
899 | - <pre>AssertionError: '院系代码不能为空' != 'size must be between 1 and 30' | |
900 | -- 院系代码不能为空 | |
901 | -+ size must be between 1 and 30 | |
902 | - | |
548 | +实际结果: {'msg': '院系代码不能为空', 'code': 500, 'data': None} | |
549 | +test_add_department_5 (test_02_system_management.Test01Department)执行——>【通过】 | |
903 | 550 | </pre> |
904 | 551 | |
905 | 552 | |
... | ... | @@ -911,9 +558,9 @@ test_add_department_5 (test_02_system_management.Test01Department)銵> |
911 | 558 | <td class="Test01Department">Test01Department</td> |
912 | 559 | <td>test_add_department_6</td> |
913 | 560 | <td>院系代码长度不可大于30</td> |
914 | - <td>0.271s</td> | |
561 | + <td>0.293s</td> | |
915 | 562 | |
916 | - <td class="text-warning">失败</td> | |
563 | + <td class="text-success">成功</td> | |
917 | 564 | |
918 | 565 | <td> |
919 | 566 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -925,90 +572,39 @@ test_add_department_5 (test_02_system_management.Test01Department)銵> |
925 | 572 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
926 | 573 | |
927 | 574 | |
928 | - <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_6', 'code': '院系代码长度大于30的测试院系代码长度大于30的测试院系代码长度大于30的测试'} | |
929 | -预期结果: {'msg': '院系代码不可大于30', 'code': 500, 'data': None} | |
930 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | |
931 | -test_add_department_6 (test_02_system_management.Test01Department)执行——>【失败】 | |
575 | + <pre>用例入参:{'name': 'py自动化院系20221224_20:30:40_6', 'code': '院系代码长度大于30的测试院系代码长度大于30的测试院系代码长度大于30的测试'} | |
576 | +预期结果: {'msg': '院系代码长度不可大于30', 'code': 500, 'data': None} | |
577 | +实际结果: {'msg': '院系代码长度不可大于30', 'code': 500, 'data': None} | |
578 | +test_add_department_6 (test_02_system_management.Test01Department)执行——>【通过】 | |
932 | 579 | </pre> |
933 | 580 | |
934 | - | |
935 | - <pre>Traceback (most recent call last): | |
936 | -</pre> | |
937 | 581 | |
582 | + </td> | |
583 | + </tr> | |
584 | + | |
585 | + <tr> | |
586 | + <td>12</td> | |
587 | + <td class="Test01Department">Test01Department</td> | |
588 | + <td>test_select_department_1</td> | |
589 | + <td>查看院系列表</td> | |
590 | + <td>0.333s</td> | |
591 | + | |
592 | + <td class="text-success">成功</td> | |
593 | + | |
594 | + <td> | |
595 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
596 | + </td> | |
597 | + </tr> | |
938 | 598 | |
939 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
940 | - yield | |
941 | -</pre> | |
599 | + <tr class="test_log"> | |
600 | + | |
601 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
942 | 602 | |
943 | 603 | |
944 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
945 | - testMethod() | |
946 | -</pre> | |
947 | - | |
948 | - | |
949 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
950 | - return func(self, *args, **kwargs) | |
951 | -</pre> | |
952 | - | |
953 | - | |
954 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 92, in test_add_department | |
955 | - raise e | |
956 | -</pre> | |
957 | - | |
958 | - | |
959 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 85, in test_add_department | |
960 | - self.assertEqual(expected['msg'], res['msg']) | |
961 | -</pre> | |
962 | - | |
963 | - | |
964 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
965 | - assertion_func(first, second, msg=msg) | |
966 | -</pre> | |
967 | - | |
968 | - | |
969 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
970 | - self.fail(self._formatMessage(msg, standardMsg)) | |
971 | -</pre> | |
972 | - | |
973 | - | |
974 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
975 | - raise self.failureException(msg) | |
976 | -</pre> | |
977 | - | |
978 | - | |
979 | - <pre>AssertionError: '院系代码不可大于30' != 'size must be between 1 and 30' | |
980 | -- 院系代码不可大于30 | |
981 | -+ size must be between 1 and 30 | |
982 | - | |
983 | -</pre> | |
984 | - | |
985 | - | |
986 | - </td> | |
987 | - </tr> | |
988 | - | |
989 | - <tr> | |
990 | - <td>12</td> | |
991 | - <td class="Test01Department">Test01Department</td> | |
992 | - <td>test_add_department_7</td> | |
993 | - <td>新增院系成功</td> | |
994 | - <td>0.301s</td> | |
995 | - | |
996 | - <td class="text-success">成功</td> | |
997 | - | |
998 | - <td> | |
999 | - <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1000 | - </td> | |
1001 | - </tr> | |
1002 | - | |
1003 | - <tr class="test_log"> | |
1004 | - | |
1005 | - <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1006 | - | |
1007 | - | |
1008 | - <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_7', 'code': 'py_code20221222_23:09:12_7'} | |
1009 | -预期结果: {'msg': 'success', 'code': 200, 'data': True} | |
1010 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1011 | -test_add_department_7 (test_02_system_management.Test01Department)执行——>【通过】 | |
604 | + <pre>用例入参:{'pageNumber': '0', 'pageSize': '3'} | |
605 | +预期结果: {'msg': 'success', 'code': 200} | |
606 | +实际结果: {'msg': 'success', 'code': 200, 'data': {'records': [{'id': '1606628416684421122', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221224_20:30:38_1', 'code': 'py_code20221224_20:30:38_1', 'createdBy': '1519959209276452865', 'createdTime': 1671885039000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606628162723508226', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221224_20:29:38_1', 'code': 'py_code20221224_20:29:38_1', 'createdBy': '1519959209276452865', 'createdTime': 1671884978000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606245531808821249', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_19:09:11_1', 'code': 'py_code20221223_19:09:11_1', 'createdBy': '1519959209276452865', 'createdTime': 1671793752000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606208847079665666', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:43:25_1', 'code': 'py_code20221223_16:43:25_1', 'createdBy': '1519959209276452865', 'createdTime': 1671785006000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606204552531800066', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:26:21_1', 'code': 'py_code20221223_16:26:21_1', 'createdBy': '1519959209276452865', 'createdTime': 1671783982000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606204305550209026', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:25:22_1', 'code': 'py_code20221223_16:25:22_1', 'createdBy': '1519959209276452865', 'createdTime': 1671783923000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606203250993131521', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:21:11_1', 'code': 'py_code20221223_16:21:11_1', 'createdBy': '1519959209276452865', 'createdTime': 1671783672000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606203118486679554', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:20:39_1', 'code': 'py_code20221223_16:20:39_1', 'createdBy': '1519959209276452865', 'createdTime': 1671783640000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606192084417900546', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:36:49_1', 'code': 'py_code20221223_15:36:49_1', 'createdBy': '1519959209276452865', 'createdTime': 1671781009000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606190781226676225', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:31:38_1', 'code': 'py_code20221223_15:31:38_1', 'createdBy': '1519959209276452865', 'createdTime': 1671780698000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606185455395926018', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:10:28_1', 'code': 'py_code20221223_15:10:28_1', 'createdBy': '1519959209276452865', 'createdTime': 1671779429000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606184834047537153', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:08:00_1', 'code': 'py_code20221223_15:08:00_1', 'createdBy': '1519959209276452865', 'createdTime': 1671779281000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606184430383525890', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:06:24_1', 'code': 'py_code20221223_15:06:24_1', 'createdBy': '1519959209276452865', 'createdTime': 1671779184000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606183724666712065', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:03:35_1', 'code': 'py_code20221223_15:03:35_1', 'createdBy': '1519959209276452865', 'createdTime': 1671779016000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606183161950498817', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:01:21_1', 'code': 'py_code20221223_15:01:21_1', 'createdBy': '1519959209276452865', 'createdTime': 1671778882000, 'updatedBy': None, 'updatedTime': None}], 'total': 417, 'size': 15, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'searchCount': True, 'countId': '', 'maxLimit': None, 'pages': 28}} | |
607 | +test_select_department_1 (test_02_system_management.Test01Department)执行——>【通过】 | |
1012 | 608 | </pre> |
1013 | 609 | |
1014 | 610 | |
... | ... | @@ -1017,39 +613,10 @@ test_add_department_7 (test_02_system_management.Test01Department)銵> |
1017 | 613 | |
1018 | 614 | <tr> |
1019 | 615 | <td>13</td> |
1020 | - <td class="Test01Department">Test01Department</td> | |
1021 | - <td>test_select_department_1</td> | |
1022 | - <td>查看院系列表</td> | |
1023 | - <td>0.337s</td> | |
1024 | - | |
1025 | - <td class="text-success">成功</td> | |
1026 | - | |
1027 | - <td> | |
1028 | - <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1029 | - </td> | |
1030 | - </tr> | |
1031 | - | |
1032 | - <tr class="test_log"> | |
1033 | - | |
1034 | - <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1035 | - | |
1036 | - | |
1037 | - <pre>用例入参:{'pageNumber': '0', 'pageSize': '3'} | |
1038 | -预期结果: {'msg': 'success', 'code': 200} | |
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}} | |
1040 | -test_select_department_1 (test_02_system_management.Test01Department)执行——>【通过】 | |
1041 | -</pre> | |
1042 | - | |
1043 | - | |
1044 | - </td> | |
1045 | - </tr> | |
1046 | - | |
1047 | - <tr> | |
1048 | - <td>14</td> | |
1049 | 616 | <td class="Test02Specialty">Test02Specialty</td> |
1050 | 617 | <td>test_add_specialty_01</td> |
1051 | 618 | <td>新增专业成功</td> |
1052 | - <td>0.971s</td> | |
619 | + <td>1.04s</td> | |
1053 | 620 | |
1054 | 621 | <td class="text-success">成功</td> |
1055 | 622 | |
... | ... | @@ -1063,7 +630,7 @@ test_select_department_1 (test_02_system_management.Test01Department)銵 |
1063 | 630 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1064 | 631 | |
1065 | 632 | |
1066 | - <pre>用例入参:{'name': 'py专业23:09:13_1', 'code': 'py_code23:09:13_1', 'departmentId': '1605943544424820738', 'category': 'science'} | |
633 | + <pre>用例入参:{'name': 'py专业20:30:41_1', 'code': 'py_code20:30:41_1', 'departmentId': '1606628416684421122', 'category': 'science'} | |
1067 | 634 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
1068 | 635 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1069 | 636 | test_add_specialty_01 (test_02_system_management.Test02Specialty)执行——>【通过】 |
... | ... | @@ -1074,11 +641,11 @@ test_add_specialty_01 (test_02_system_management.Test02Specialty)銵> |
1074 | 641 | </tr> |
1075 | 642 | |
1076 | 643 | <tr> |
1077 | - <td>15</td> | |
644 | + <td>14</td> | |
1078 | 645 | <td class="Test02Specialty">Test02Specialty</td> |
1079 | 646 | <td>test_add_specialty_02</td> |
1080 | 647 | <td>新增专业失败,院系未填写</td> |
1081 | - <td>0.867s</td> | |
648 | + <td>0.939s</td> | |
1082 | 649 | |
1083 | 650 | <td class="text-success">成功</td> |
1084 | 651 | |
... | ... | @@ -1092,7 +659,7 @@ test_add_specialty_01 (test_02_system_management.Test02Specialty)銵> |
1092 | 659 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1093 | 660 | |
1094 | 661 | |
1095 | - <pre>用例入参:{'name': 'py专业23:09:14_2', 'code': 'py_code23:09:14_2', 'departmentId': '', 'category': 'science'} | |
662 | + <pre>用例入参:{'name': 'py专业20:30:42_2', 'code': 'py_code20:30:42_2', 'departmentId': '', 'category': 'science'} | |
1096 | 663 | 预期结果: {'msg': '院系不能为空', 'code': 500, 'data': None} |
1097 | 664 | 实际结果: {'msg': '院系不能为空', 'code': 500, 'data': None} |
1098 | 665 | test_add_specialty_02 (test_02_system_management.Test02Specialty)执行——>【通过】 |
... | ... | @@ -1103,13 +670,13 @@ test_add_specialty_02 (test_02_system_management.Test02Specialty)銵> |
1103 | 670 | </tr> |
1104 | 671 | |
1105 | 672 | <tr> |
1106 | - <td>16</td> | |
673 | + <td>15</td> | |
1107 | 674 | <td class="Test02Specialty">Test02Specialty</td> |
1108 | 675 | <td>test_add_specialty_03</td> |
1109 | 676 | <td>新增专业失败,院系不存在</td> |
1110 | - <td>0.938s</td> | |
677 | + <td>1.03s</td> | |
1111 | 678 | |
1112 | - <td class="text-warning">失败</td> | |
679 | + <td class="text-success">成功</td> | |
1113 | 680 | |
1114 | 681 | <td> |
1115 | 682 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1121,61 +688,10 @@ test_add_specialty_02 (test_02_system_management.Test02Specialty)銵> |
1121 | 688 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1122 | 689 | |
1123 | 690 | |
1124 | - <pre>用例入参:{'name': 'py专业23:09:15_3', 'code': 'py_code23:09:15_3', 'departmentId': '1605943544424820738', 'category': 'science'} | |
691 | + <pre>用例入参:{'name': 'py专业20:30:43_3', 'code': 'py_code20:30:43_3', 'departmentId': '23232333333', 'category': 'science'} | |
1125 | 692 | 预期结果: {'msg': '院系不存在', 'code': 500, 'data': None} |
1126 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1127 | -test_add_specialty_03 (test_02_system_management.Test02Specialty)执行——>【失败】 | |
1128 | -</pre> | |
1129 | - | |
1130 | - | |
1131 | - <pre>Traceback (most recent call last): | |
1132 | -</pre> | |
1133 | - | |
1134 | - | |
1135 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
1136 | - yield | |
1137 | -</pre> | |
1138 | - | |
1139 | - | |
1140 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
1141 | - testMethod() | |
1142 | -</pre> | |
1143 | - | |
1144 | - | |
1145 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
1146 | - return func(self, *args, **kwargs) | |
1147 | -</pre> | |
1148 | - | |
1149 | - | |
1150 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1151 | - raise e | |
1152 | -</pre> | |
1153 | - | |
1154 | - | |
1155 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1156 | - self.assertEqual(expected["msg"], res["msg"]) | |
1157 | -</pre> | |
1158 | - | |
1159 | - | |
1160 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
1161 | - assertion_func(first, second, msg=msg) | |
1162 | -</pre> | |
1163 | - | |
1164 | - | |
1165 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
1166 | - self.fail(self._formatMessage(msg, standardMsg)) | |
1167 | -</pre> | |
1168 | - | |
1169 | - | |
1170 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
1171 | - raise self.failureException(msg) | |
1172 | -</pre> | |
1173 | - | |
1174 | - | |
1175 | - <pre>AssertionError: '院系不存在' != 'success' | |
1176 | -- 院系不存在 | |
1177 | -+ success | |
1178 | - | |
693 | +实际结果: {'msg': '院系不存在', 'code': 500, 'data': None} | |
694 | +test_add_specialty_03 (test_02_system_management.Test02Specialty)执行——>【通过】 | |
1179 | 695 | </pre> |
1180 | 696 | |
1181 | 697 | |
... | ... | @@ -1183,13 +699,13 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> |
1183 | 699 | </tr> |
1184 | 700 | |
1185 | 701 | <tr> |
1186 | - <td>17</td> | |
702 | + <td>16</td> | |
1187 | 703 | <td class="Test02Specialty">Test02Specialty</td> |
1188 | 704 | <td>test_add_specialty_04</td> |
1189 | 705 | <td>新增专业失败,专业名称未填写</td> |
1190 | - <td>0.867s</td> | |
706 | + <td>1.02s</td> | |
1191 | 707 | |
1192 | - <td class="text-warning">失败</td> | |
708 | + <td class="text-success">成功</td> | |
1193 | 709 | |
1194 | 710 | <td> |
1195 | 711 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1201,61 +717,10 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> |
1201 | 717 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1202 | 718 | |
1203 | 719 | |
1204 | - <pre>用例入参:{'name': '', 'code': 'py_code23:09:16_4', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1205 | -预期结果: {'msg': '专业名称未填写', 'code': 500, 'data': None} | |
1206 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | |
1207 | -test_add_specialty_04 (test_02_system_management.Test02Specialty)执行——>【失败】 | |
1208 | -</pre> | |
1209 | - | |
1210 | - | |
1211 | - <pre>Traceback (most recent call last): | |
1212 | -</pre> | |
1213 | - | |
1214 | - | |
1215 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
1216 | - yield | |
1217 | -</pre> | |
1218 | - | |
1219 | - | |
1220 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
1221 | - testMethod() | |
1222 | -</pre> | |
1223 | - | |
1224 | - | |
1225 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
1226 | - return func(self, *args, **kwargs) | |
1227 | -</pre> | |
1228 | - | |
1229 | - | |
1230 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1231 | - raise e | |
1232 | -</pre> | |
1233 | - | |
1234 | - | |
1235 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1236 | - self.assertEqual(expected["msg"], res["msg"]) | |
1237 | -</pre> | |
1238 | - | |
1239 | - | |
1240 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
1241 | - assertion_func(first, second, msg=msg) | |
1242 | -</pre> | |
1243 | - | |
1244 | - | |
1245 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
1246 | - self.fail(self._formatMessage(msg, standardMsg)) | |
1247 | -</pre> | |
1248 | - | |
1249 | - | |
1250 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
1251 | - raise self.failureException(msg) | |
1252 | -</pre> | |
1253 | - | |
1254 | - | |
1255 | - <pre>AssertionError: '专业名称未填写' != 'size must be between 1 and 30' | |
1256 | -- 专业名称未填写 | |
1257 | -+ size must be between 1 and 30 | |
1258 | - | |
720 | + <pre>用例入参:{'name': '', 'code': 'py_code20:30:44_4', 'departmentId': '1606628416684421122', 'category': 'science'} | |
721 | +预期结果: {'msg': '专业名称不能为空', 'code': 500, 'data': None} | |
722 | +实际结果: {'msg': '专业名称不能为空', 'code': 500, 'data': None} | |
723 | +test_add_specialty_04 (test_02_system_management.Test02Specialty)执行——>【通过】 | |
1259 | 724 | </pre> |
1260 | 725 | |
1261 | 726 | |
... | ... | @@ -1263,13 +728,13 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> |
1263 | 728 | </tr> |
1264 | 729 | |
1265 | 730 | <tr> |
1266 | - <td>18</td> | |
731 | + <td>17</td> | |
1267 | 732 | <td class="Test02Specialty">Test02Specialty</td> |
1268 | 733 | <td>test_add_specialty_05</td> |
1269 | 734 | <td>新增专业失败,专业名称长度不能大于30</td> |
1270 | - <td>0.871s</td> | |
735 | + <td>1.06s</td> | |
1271 | 736 | |
1272 | - <td class="text-warning">失败</td> | |
737 | + <td class="text-success">成功</td> | |
1273 | 738 | |
1274 | 739 | <td> |
1275 | 740 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1281,61 +746,10 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> |
1281 | 746 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1282 | 747 | |
1283 | 748 | |
1284 | - <pre>用例入参:{'name': '专业大于301234567890专业大于301234567890', 'code': 'py_code23:09:17_5', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1285 | -预期结果: {'msg': '专业名称不能大于30', 'code': 500, 'data': None} | |
1286 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | |
1287 | -test_add_specialty_05 (test_02_system_management.Test02Specialty)执行——>【失败】 | |
1288 | -</pre> | |
1289 | - | |
1290 | - | |
1291 | - <pre>Traceback (most recent call last): | |
1292 | -</pre> | |
1293 | - | |
1294 | - | |
1295 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
1296 | - yield | |
1297 | -</pre> | |
1298 | - | |
1299 | - | |
1300 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
1301 | - testMethod() | |
1302 | -</pre> | |
1303 | - | |
1304 | - | |
1305 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
1306 | - return func(self, *args, **kwargs) | |
1307 | -</pre> | |
1308 | - | |
1309 | - | |
1310 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1311 | - raise e | |
1312 | -</pre> | |
1313 | - | |
1314 | - | |
1315 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1316 | - self.assertEqual(expected["msg"], res["msg"]) | |
1317 | -</pre> | |
1318 | - | |
1319 | - | |
1320 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
1321 | - assertion_func(first, second, msg=msg) | |
1322 | -</pre> | |
1323 | - | |
1324 | - | |
1325 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
1326 | - self.fail(self._formatMessage(msg, standardMsg)) | |
1327 | -</pre> | |
1328 | - | |
1329 | - | |
1330 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
1331 | - raise self.failureException(msg) | |
1332 | -</pre> | |
1333 | - | |
1334 | - | |
1335 | - <pre>AssertionError: '专业名称不能大于30' != 'size must be between 1 and 30' | |
1336 | -- 专业名称不能大于30 | |
1337 | -+ size must be between 1 and 30 | |
1338 | - | |
749 | + <pre>用例入参:{'name': '专业大于301234567890专业大于301234567890', 'code': 'py_code20:30:45_5', 'departmentId': '1606628416684421122', 'category': 'science'} | |
750 | +预期结果: {'msg': '专业名称长度不能大于30', 'code': 500, 'data': None} | |
751 | +实际结果: {'msg': '专业名称长度不能大于30', 'code': 500, 'data': None} | |
752 | +test_add_specialty_05 (test_02_system_management.Test02Specialty)执行——>【通过】 | |
1339 | 753 | </pre> |
1340 | 754 | |
1341 | 755 | |
... | ... | @@ -1343,11 +757,11 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> |
1343 | 757 | </tr> |
1344 | 758 | |
1345 | 759 | <tr> |
1346 | - <td>19</td> | |
760 | + <td>18</td> | |
1347 | 761 | <td class="Test02Specialty">Test02Specialty</td> |
1348 | 762 | <td>test_add_specialty_06</td> |
1349 | 763 | <td>新增专业失败,专业名称重复</td> |
1350 | - <td>1.02s</td> | |
764 | + <td>0.959s</td> | |
1351 | 765 | |
1352 | 766 | <td class="text-success">成功</td> |
1353 | 767 | |
... | ... | @@ -1361,7 +775,7 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> |
1361 | 775 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1362 | 776 | |
1363 | 777 | |
1364 | - <pre>用例入参:{'name': '第二个专业-2-1', 'code': 'py_code23:09:18_6', 'departmentId': '1605943544424820738', 'category': 'science'} | |
778 | + <pre>用例入参:{'name': '第二个专业-2-1', 'code': 'py_code20:30:46_6', 'departmentId': '1606628416684421122', 'category': 'science'} | |
1365 | 779 | 预期结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} |
1366 | 780 | 实际结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} |
1367 | 781 | test_add_specialty_06 (test_02_system_management.Test02Specialty)执行——>【通过】 |
... | ... | @@ -1372,13 +786,13 @@ test_add_specialty_06 (test_02_system_management.Test02Specialty)銵> |
1372 | 786 | </tr> |
1373 | 787 | |
1374 | 788 | <tr> |
1375 | - <td>20</td> | |
789 | + <td>19</td> | |
1376 | 790 | <td class="Test02Specialty">Test02Specialty</td> |
1377 | 791 | <td>test_add_specialty_07</td> |
1378 | 792 | <td>新增专业失败,专业代码未填写</td> |
1379 | - <td>0.891s</td> | |
793 | + <td>0.959s</td> | |
1380 | 794 | |
1381 | - <td class="text-warning">失败</td> | |
795 | + <td class="text-success">成功</td> | |
1382 | 796 | |
1383 | 797 | <td> |
1384 | 798 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1390,61 +804,10 @@ test_add_specialty_06 (test_02_system_management.Test02Specialty)銵> |
1390 | 804 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1391 | 805 | |
1392 | 806 | |
1393 | - <pre>用例入参:{'name': 'py专业23:09:19_7', 'code': '', 'departmentId': '1605943544424820738', 'category': 'science'} | |
807 | + <pre>用例入参:{'name': 'py专业20:30:47_7', 'code': '', 'departmentId': '1606628416684421122', 'category': 'science'} | |
1394 | 808 | 预期结果: {'msg': '专业代码不能为空', 'code': 500, 'data': None} |
1395 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | |
1396 | -test_add_specialty_07 (test_02_system_management.Test02Specialty)执行——>【失败】 | |
1397 | -</pre> | |
1398 | - | |
1399 | - | |
1400 | - <pre>Traceback (most recent call last): | |
1401 | -</pre> | |
1402 | - | |
1403 | - | |
1404 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
1405 | - yield | |
1406 | -</pre> | |
1407 | - | |
1408 | - | |
1409 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
1410 | - testMethod() | |
1411 | -</pre> | |
1412 | - | |
1413 | - | |
1414 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
1415 | - return func(self, *args, **kwargs) | |
1416 | -</pre> | |
1417 | - | |
1418 | - | |
1419 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1420 | - raise e | |
1421 | -</pre> | |
1422 | - | |
1423 | - | |
1424 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1425 | - self.assertEqual(expected["msg"], res["msg"]) | |
1426 | -</pre> | |
1427 | - | |
1428 | - | |
1429 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
1430 | - assertion_func(first, second, msg=msg) | |
1431 | -</pre> | |
1432 | - | |
1433 | - | |
1434 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
1435 | - self.fail(self._formatMessage(msg, standardMsg)) | |
1436 | -</pre> | |
1437 | - | |
1438 | - | |
1439 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
1440 | - raise self.failureException(msg) | |
1441 | -</pre> | |
1442 | - | |
1443 | - | |
1444 | - <pre>AssertionError: '专业代码不能为空' != 'size must be between 1 and 30' | |
1445 | -- 专业代码不能为空 | |
1446 | -+ size must be between 1 and 30 | |
1447 | - | |
809 | +实际结果: {'msg': '专业代码不能为空', 'code': 500, 'data': None} | |
810 | +test_add_specialty_07 (test_02_system_management.Test02Specialty)执行——>【通过】 | |
1448 | 811 | </pre> |
1449 | 812 | |
1450 | 813 | |
... | ... | @@ -1452,13 +815,13 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> |
1452 | 815 | </tr> |
1453 | 816 | |
1454 | 817 | <tr> |
1455 | - <td>21</td> | |
818 | + <td>20</td> | |
1456 | 819 | <td class="Test02Specialty">Test02Specialty</td> |
1457 | 820 | <td>test_add_specialty_08</td> |
1458 | 821 | <td>新增专业失败,专业代码长度不能大于30</td> |
1459 | - <td>0.933s</td> | |
822 | + <td>0.918s</td> | |
1460 | 823 | |
1461 | - <td class="text-warning">失败</td> | |
824 | + <td class="text-success">成功</td> | |
1462 | 825 | |
1463 | 826 | <td> |
1464 | 827 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1470,61 +833,10 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> |
1470 | 833 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1471 | 834 | |
1472 | 835 | |
1473 | - <pre>用例入参:{'name': 'py专业23:09:20_8', 'code': '专业代码大于301234567890专业大于301234567890', 'departmentId': '1605943544424820738', 'category': 'science'} | |
1474 | -预期结果: {'msg': '专业代码不能大于30', 'code': 500, 'data': None} | |
1475 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | |
1476 | -test_add_specialty_08 (test_02_system_management.Test02Specialty)执行——>【失败】 | |
1477 | -</pre> | |
1478 | - | |
1479 | - | |
1480 | - <pre>Traceback (most recent call last): | |
1481 | -</pre> | |
1482 | - | |
1483 | - | |
1484 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
1485 | - yield | |
1486 | -</pre> | |
1487 | - | |
1488 | - | |
1489 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
1490 | - testMethod() | |
1491 | -</pre> | |
1492 | - | |
1493 | - | |
1494 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
1495 | - return func(self, *args, **kwargs) | |
1496 | -</pre> | |
1497 | - | |
1498 | - | |
1499 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1500 | - raise e | |
1501 | -</pre> | |
1502 | - | |
1503 | - | |
1504 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1505 | - self.assertEqual(expected["msg"], res["msg"]) | |
1506 | -</pre> | |
1507 | - | |
1508 | - | |
1509 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
1510 | - assertion_func(first, second, msg=msg) | |
1511 | -</pre> | |
1512 | - | |
1513 | - | |
1514 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
1515 | - self.fail(self._formatMessage(msg, standardMsg)) | |
1516 | -</pre> | |
1517 | - | |
1518 | - | |
1519 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
1520 | - raise self.failureException(msg) | |
1521 | -</pre> | |
1522 | - | |
1523 | - | |
1524 | - <pre>AssertionError: '专业代码不能大于30' != 'size must be between 1 and 30' | |
1525 | -- 专业代码不能大于30 | |
1526 | -+ size must be between 1 and 30 | |
1527 | - | |
836 | + <pre>用例入参:{'name': 'py专业20:30:48_8', 'code': '专业代码大于301234567890专业大于301234567890', 'departmentId': '1606628416684421122', 'category': 'science'} | |
837 | +预期结果: {'msg': '专业代码长度不能大于30', 'code': 500, 'data': None} | |
838 | +实际结果: {'msg': '专业代码长度不能大于30', 'code': 500, 'data': None} | |
839 | +test_add_specialty_08 (test_02_system_management.Test02Specialty)执行——>【通过】 | |
1528 | 840 | </pre> |
1529 | 841 | |
1530 | 842 | |
... | ... | @@ -1532,13 +844,13 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> |
1532 | 844 | </tr> |
1533 | 845 | |
1534 | 846 | <tr> |
1535 | - <td>22</td> | |
847 | + <td>21</td> | |
1536 | 848 | <td class="Test02Specialty">Test02Specialty</td> |
1537 | 849 | <td>test_add_specialty_09</td> |
1538 | 850 | <td>新增专业失败,学科门类未填写</td> |
1539 | - <td>0.903s</td> | |
851 | + <td>1.02s</td> | |
1540 | 852 | |
1541 | - <td class="text-warning">失败</td> | |
853 | + <td class="text-success">成功</td> | |
1542 | 854 | |
1543 | 855 | <td> |
1544 | 856 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1550,61 +862,10 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> |
1550 | 862 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1551 | 863 | |
1552 | 864 | |
1553 | - <pre>用例入参:{'name': 'py专业23:09:20_9', 'code': 'py_code23:09:20_9', 'departmentId': '1605943544424820738', 'category': ''} | |
865 | + <pre>用例入参:{'name': 'py专业20:30:49_9', 'code': 'py_code20:30:49_9', 'departmentId': '1606628416684421122', 'category': ''} | |
1554 | 866 | 预期结果: {'msg': '学科门类不能为空', 'code': 500, 'data': None} |
1555 | -实际结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} | |
1556 | -test_add_specialty_09 (test_02_system_management.Test02Specialty)执行——>【失败】 | |
1557 | -</pre> | |
1558 | - | |
1559 | - | |
1560 | - <pre>Traceback (most recent call last): | |
1561 | -</pre> | |
1562 | - | |
1563 | - | |
1564 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
1565 | - yield | |
1566 | -</pre> | |
1567 | - | |
1568 | - | |
1569 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
1570 | - testMethod() | |
1571 | -</pre> | |
1572 | - | |
1573 | - | |
1574 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
1575 | - return func(self, *args, **kwargs) | |
1576 | -</pre> | |
1577 | - | |
1578 | - | |
1579 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | |
1580 | - raise e | |
1581 | -</pre> | |
1582 | - | |
1583 | - | |
1584 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | |
1585 | - self.assertEqual(expected["msg"], res["msg"]) | |
1586 | -</pre> | |
1587 | - | |
1588 | - | |
1589 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
1590 | - assertion_func(first, second, msg=msg) | |
1591 | -</pre> | |
1592 | - | |
1593 | - | |
1594 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
1595 | - self.fail(self._formatMessage(msg, standardMsg)) | |
1596 | -</pre> | |
1597 | - | |
1598 | - | |
1599 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
1600 | - raise self.failureException(msg) | |
1601 | -</pre> | |
1602 | - | |
1603 | - | |
1604 | - <pre>AssertionError: '学科门类不能为空' != '学科门类不存在' | |
1605 | -- 学科门类不能为空 | |
1606 | -+ 学科门类不存在 | |
1607 | - | |
867 | +实际结果: {'msg': '学科门类不能为空', 'code': 500, 'data': None} | |
868 | +test_add_specialty_09 (test_02_system_management.Test02Specialty)执行——>【通过】 | |
1608 | 869 | </pre> |
1609 | 870 | |
1610 | 871 | |
... | ... | @@ -1612,11 +873,11 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> |
1612 | 873 | </tr> |
1613 | 874 | |
1614 | 875 | <tr> |
1615 | - <td>23</td> | |
876 | + <td>22</td> | |
1616 | 877 | <td class="Test02Specialty">Test02Specialty</td> |
1617 | 878 | <td>test_add_specialty_10</td> |
1618 | 879 | <td>新增专业失败,学科门类填写错误</td> |
1619 | - <td>0.928s</td> | |
880 | + <td>0.996s</td> | |
1620 | 881 | |
1621 | 882 | <td class="text-success">成功</td> |
1622 | 883 | |
... | ... | @@ -1630,7 +891,7 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> |
1630 | 891 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1631 | 892 | |
1632 | 893 | |
1633 | - <pre>用例入参:{'name': 'py专业23:09:21_10', 'code': 'py_code23:09:21_10', 'departmentId': '1605943544424820738', 'category': 'scienwce'} | |
894 | + <pre>用例入参:{'name': 'py专业20:30:50_10', 'code': 'py_code20:30:50_10', 'departmentId': '1606628416684421122', 'category': 'scienwce'} | |
1634 | 895 | 预期结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} |
1635 | 896 | 实际结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} |
1636 | 897 | test_add_specialty_10 (test_02_system_management.Test02Specialty)执行——>【通过】 |
... | ... | @@ -1641,11 +902,11 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> |
1641 | 902 | </tr> |
1642 | 903 | |
1643 | 904 | <tr> |
1644 | - <td>24</td> | |
905 | + <td>23</td> | |
1645 | 906 | <td class="Test03Year">Test03Year</td> |
1646 | 907 | <td>test_add_year_1</td> |
1647 | 908 | <td>新增学年学期成功</td> |
1648 | - <td>0.288s</td> | |
909 | + <td>0.325s</td> | |
1649 | 910 | |
1650 | 911 | <td class="text-success">成功</td> |
1651 | 912 | |
... | ... | @@ -1659,7 +920,7 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> |
1659 | 920 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1660 | 921 | |
1661 | 922 | |
1662 | - <pre>用例入参:{'year': 'py学年23:09:23_1', 'remark': 'py_comment备注23:09:23_1', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
923 | + <pre>用例入参:{'year': 'py学年20:30:51_1', 'remark': 'py_comment备注20:30:51_1', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
1663 | 924 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
1664 | 925 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1665 | 926 | test_add_year_1 (test_02_system_management.Test03Year)执行——>【通过】 |
... | ... | @@ -1670,13 +931,13 @@ test_add_year_1 (test_02_system_management.Test03Year)銵> |
1670 | 931 | </tr> |
1671 | 932 | |
1672 | 933 | <tr> |
1673 | - <td>25</td> | |
934 | + <td>24</td> | |
1674 | 935 | <td class="Test03Year">Test03Year</td> |
1675 | 936 | <td>test_add_year_2</td> |
1676 | 937 | <td>学年学期开始时间和结束时间不可交叉</td> |
1677 | - <td>0.231s</td> | |
938 | + <td>0.306s</td> | |
1678 | 939 | |
1679 | - <td class="text-warning">失败</td> | |
940 | + <td class="text-success">成功</td> | |
1680 | 941 | |
1681 | 942 | <td> |
1682 | 943 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1688,61 +949,126 @@ test_add_year_1 (test_02_system_management.Test03Year)銵> |
1688 | 949 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1689 | 950 | |
1690 | 951 | |
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}]} | |
952 | + <pre>用例入参:{'year': 'py学年20:30:51_2', 'remark': 'py_comment备注20:30:51_2', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}, {'sort': 2, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
1692 | 953 | 预期结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} |
1693 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1694 | -test_add_year_2 (test_02_system_management.Test03Year)执行——>【失败】 | |
954 | +实际结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} | |
955 | +test_add_year_2 (test_02_system_management.Test03Year)执行——>【通过】 | |
1695 | 956 | </pre> |
1696 | 957 | |
1697 | - | |
1698 | - <pre>Traceback (most recent call last): | |
1699 | -</pre> | |
1700 | 958 | |
959 | + </td> | |
960 | + </tr> | |
961 | + | |
962 | + <tr> | |
963 | + <td>25</td> | |
964 | + <td class="Test03Year">Test03Year</td> | |
965 | + <td>test_add_year_3</td> | |
966 | + <td>学年未填写</td> | |
967 | + <td>0.283s</td> | |
968 | + | |
969 | + <td class="text-success">成功</td> | |
970 | + | |
971 | + <td> | |
972 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
973 | + </td> | |
974 | + </tr> | |
1701 | 975 | |
1702 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
1703 | - yield | |
1704 | -</pre> | |
1705 | - | |
976 | + <tr class="test_log"> | |
1706 | 977 | |
1707 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
1708 | - testMethod() | |
1709 | -</pre> | |
978 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1710 | 979 | |
1711 | 980 | |
1712 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
1713 | - return func(self, *args, **kwargs) | |
981 | + <pre>用例入参:{'year': '', 'remark': 'py_comment备注20:30:52_3', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
982 | +预期结果: {'msg': '学年不能为空', 'code': 500, 'data': None} | |
983 | +实际结果: {'msg': '学年不能为空', 'code': 500, 'data': None} | |
984 | +test_add_year_3 (test_02_system_management.Test03Year)执行——>【通过】 | |
1714 | 985 | </pre> |
1715 | 986 | |
1716 | - | |
1717 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 272, in test_add_year | |
1718 | - raise e | |
1719 | -</pre> | |
1720 | 987 | |
988 | + </td> | |
989 | + </tr> | |
990 | + | |
991 | + <tr> | |
992 | + <td>26</td> | |
993 | + <td class="Test03Year">Test03Year</td> | |
994 | + <td>test_add_year_4</td> | |
995 | + <td>学期未填写</td> | |
996 | + <td>0.323s</td> | |
997 | + | |
998 | + <td class="text-success">成功</td> | |
999 | + | |
1000 | + <td> | |
1001 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1002 | + </td> | |
1003 | + </tr> | |
1721 | 1004 | |
1722 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 266, in test_add_year | |
1723 | - self.assertEqual(expected["msg"], res["msg"]) | |
1724 | -</pre> | |
1005 | + <tr class="test_log"> | |
1006 | + | |
1007 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1725 | 1008 | |
1726 | 1009 | |
1727 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
1728 | - assertion_func(first, second, msg=msg) | |
1010 | + <pre>用例入参:{'year': 'py学年20:30:52_4', 'remark': 'py_comment备注20:30:52_4', 'terms': [{'sort': '', 'startTime': 1667376499000, 'endTime': 1704115459000}]} | |
1011 | +预期结果: {'msg': '学期排序不能为空', 'code': 500, 'data': None} | |
1012 | +实际结果: {'msg': '学期排序不能为空', 'code': 500, 'data': None} | |
1013 | +test_add_year_4 (test_02_system_management.Test03Year)执行——>【通过】 | |
1729 | 1014 | </pre> |
1730 | 1015 | |
1016 | + | |
1017 | + </td> | |
1018 | + </tr> | |
1019 | + | |
1020 | + <tr> | |
1021 | + <td>27</td> | |
1022 | + <td class="Test03Year">Test03Year</td> | |
1023 | + <td>test_add_year_5</td> | |
1024 | + <td>学期开始时间未填写</td> | |
1025 | + <td>0.294s</td> | |
1026 | + | |
1027 | + <td class="text-success">成功</td> | |
1028 | + | |
1029 | + <td> | |
1030 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1031 | + </td> | |
1032 | + </tr> | |
1731 | 1033 | |
1732 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
1733 | - self.fail(self._formatMessage(msg, standardMsg)) | |
1734 | -</pre> | |
1034 | + <tr class="test_log"> | |
1035 | + | |
1036 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1735 | 1037 | |
1736 | 1038 | |
1737 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
1738 | - raise self.failureException(msg) | |
1039 | + <pre>用例入参:{'year': 'py学年20:30:52_5', 'remark': 'py_comment备注20:30:52_5', 'terms': [{'sort': 1, 'startTime': '', 'endTime': 1704115459000}]} | |
1040 | +预期结果: {'msg': '学期开始时间不能为空', 'code': 500, 'data': None} | |
1041 | +实际结果: {'msg': '学期开始时间不能为空', 'code': 500, 'data': None} | |
1042 | +test_add_year_5 (test_02_system_management.Test03Year)执行——>【通过】 | |
1739 | 1043 | </pre> |
1740 | 1044 | |
1045 | + | |
1046 | + </td> | |
1047 | + </tr> | |
1048 | + | |
1049 | + <tr> | |
1050 | + <td>28</td> | |
1051 | + <td class="Test03Year">Test03Year</td> | |
1052 | + <td>test_add_year_6</td> | |
1053 | + <td>学期结束时间未填写</td> | |
1054 | + <td>0.289s</td> | |
1055 | + | |
1056 | + <td class="text-success">成功</td> | |
1057 | + | |
1058 | + <td> | |
1059 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1060 | + </td> | |
1061 | + </tr> | |
1741 | 1062 | |
1742 | - <pre>AssertionError: '学期起止时间不能交叉' != 'success' | |
1743 | -- 学期起止时间不能交叉 | |
1744 | -+ success | |
1063 | + <tr class="test_log"> | |
1064 | + | |
1065 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1066 | + | |
1745 | 1067 | |
1068 | + <pre>用例入参:{'year': 'py学年20:30:53_6', 'remark': 'py_comment备注20:30:53_6', 'terms': [{'sort': 1, 'startTime': 1704115459000, 'endTime': ''}]} | |
1069 | +预期结果: {'msg': '学期结束时间不能为空', 'code': 500, 'data': None} | |
1070 | +实际结果: {'msg': '学期结束时间不能为空', 'code': 500, 'data': None} | |
1071 | +test_add_year_6 (test_02_system_management.Test03Year)执行——>【通过】 | |
1746 | 1072 | </pre> |
1747 | 1073 | |
1748 | 1074 | |
... | ... | @@ -1750,13 +1076,13 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 |
1750 | 1076 | </tr> |
1751 | 1077 | |
1752 | 1078 | <tr> |
1753 | - <td>26</td> | |
1079 | + <td>29</td> | |
1754 | 1080 | <td class="Test01CTeacher">Test01CTeacher</td> |
1755 | - <td>test_add_class_info_1</td> | |
1081 | + <td>test_add_teacher_info_1</td> | |
1756 | 1082 | <td>新增教师</td> |
1757 | - <td>0.239s</td> | |
1083 | + <td>0.543s</td> | |
1758 | 1084 | |
1759 | - <td class="text-warning">失败</td> | |
1085 | + <td class="text-success">成功</td> | |
1760 | 1086 | |
1761 | 1087 | <td> |
1762 | 1088 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
... | ... | @@ -1768,61 +1094,126 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 |
1768 | 1094 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1769 | 1095 | |
1770 | 1096 | |
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'} | |
1097 | + <pre>用例入参:{'name': 'py自动化教师20221224_20:30:54_1', 'number': '13366742080', 'departmentIds': ['1606628416684421122'], 'phone': '13366742080', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '110101198208191584', 'gender': 0, 'entryTime': 1663084800000, 'email': '57370113422@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1606628416684421122'} | |
1772 | 1098 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
1773 | -实际结果: {'msg': '该身份证号不合法,请确认', 'code': 500, 'data': None} | |
1774 | -test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)执行——>【失败】 | |
1099 | +实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1100 | +test_add_teacher_info_1 (test_03_teaching_affairs.Test01CTeacher)执行——>【通过】 | |
1775 | 1101 | </pre> |
1776 | 1102 | |
1777 | - | |
1778 | - <pre>Traceback (most recent call last): | |
1779 | -</pre> | |
1780 | 1103 | |
1104 | + </td> | |
1105 | + </tr> | |
1106 | + | |
1107 | + <tr> | |
1108 | + <td>30</td> | |
1109 | + <td class="Test01CTeacher">Test01CTeacher</td> | |
1110 | + <td>test_add_teacher_info_2</td> | |
1111 | + <td>教师姓名不能为空</td> | |
1112 | + <td>0.28s</td> | |
1113 | + | |
1114 | + <td class="text-success">成功</td> | |
1115 | + | |
1116 | + <td> | |
1117 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1118 | + </td> | |
1119 | + </tr> | |
1781 | 1120 | |
1782 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | |
1783 | - yield | |
1784 | -</pre> | |
1785 | - | |
1121 | + <tr class="test_log"> | |
1786 | 1122 | |
1787 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | |
1788 | - testMethod() | |
1789 | -</pre> | |
1123 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1790 | 1124 | |
1791 | 1125 | |
1792 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | |
1793 | - return func(self, *args, **kwargs) | |
1126 | + <pre>用例入参:{'name': '', 'number': '17320079916', 'departmentIds': ['1606628416684421122'], 'phone': '17320079916', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '620101194711091179', 'gender': 0, 'entryTime': 1663084800000, 'email': '19769147857@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1606628416684421122'} | |
1127 | +预期结果: {'msg': '教师姓名不能为空', 'code': 500, 'data': None} | |
1128 | +实际结果: {'msg': '教师姓名不能为空', 'code': 500, 'data': None} | |
1129 | +test_add_teacher_info_2 (test_03_teaching_affairs.Test01CTeacher)执行——>【通过】 | |
1794 | 1130 | </pre> |
1795 | 1131 | |
1796 | - | |
1797 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_03_teaching_affairs.py", line 106, in test_add_class_info | |
1798 | - raise e | |
1799 | -</pre> | |
1800 | 1132 | |
1133 | + </td> | |
1134 | + </tr> | |
1135 | + | |
1136 | + <tr> | |
1137 | + <td>31</td> | |
1138 | + <td class="Test01CTeacher">Test01CTeacher</td> | |
1139 | + <td>test_add_teacher_info_3</td> | |
1140 | + <td>教师手机号不能为空</td> | |
1141 | + <td>0.299s</td> | |
1142 | + | |
1143 | + <td class="text-success">成功</td> | |
1144 | + | |
1145 | + <td> | |
1146 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1147 | + </td> | |
1148 | + </tr> | |
1801 | 1149 | |
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']) | |
1804 | -</pre> | |
1150 | + <tr class="test_log"> | |
1151 | + | |
1152 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1805 | 1153 | |
1806 | 1154 | |
1807 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | |
1808 | - assertion_func(first, second, msg=msg) | |
1155 | + <pre>用例入参:{'name': 'py自动化教师20221224_20:30:55_3', 'number': '', 'departmentIds': ['1606628416684421122'], 'phone': '', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '500101194009260414', 'gender': 0, 'entryTime': 1663084800000, 'email': '86463050788@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1606628416684421122'} | |
1156 | +预期结果: {'msg': '教师手机号不能为空', 'code': 500, 'data': None} | |
1157 | +实际结果: {'msg': '教师手机号不能为空', 'code': 500, 'data': None} | |
1158 | +test_add_teacher_info_3 (test_03_teaching_affairs.Test01CTeacher)执行——>【通过】 | |
1809 | 1159 | </pre> |
1810 | 1160 | |
1161 | + | |
1162 | + </td> | |
1163 | + </tr> | |
1164 | + | |
1165 | + <tr> | |
1166 | + <td>32</td> | |
1167 | + <td class="Test02Class">Test02Class</td> | |
1168 | + <td>test_add_class_info_1</td> | |
1169 | + <td>新增班级</td> | |
1170 | + <td>0.33s</td> | |
1171 | + | |
1172 | + <td class="text-success">成功</td> | |
1173 | + | |
1174 | + <td> | |
1175 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1176 | + </td> | |
1177 | + </tr> | |
1811 | 1178 | |
1812 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | |
1813 | - self.fail(self._formatMessage(msg, standardMsg)) | |
1814 | -</pre> | |
1179 | + <tr class="test_log"> | |
1180 | + | |
1181 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1815 | 1182 | |
1816 | 1183 | |
1817 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | |
1818 | - raise self.failureException(msg) | |
1184 | + <pre>用例入参:{'name': 'py自动化班级20221224_20:30:58_1', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1606628430462709762', 'teacherId': '1606628483533238273', 'departmentId': '1606628416684421122'} | |
1185 | +预期结果: {'msg': 'success', 'code': 200, 'data': True} | |
1186 | +实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1187 | +test_add_class_info_1 (test_03_teaching_affairs.Test02Class)执行——>【通过】 | |
1819 | 1188 | </pre> |
1820 | 1189 | |
1190 | + | |
1191 | + </td> | |
1192 | + </tr> | |
1193 | + | |
1194 | + <tr> | |
1195 | + <td>33</td> | |
1196 | + <td class="Test03Course">Test03Course</td> | |
1197 | + <td>test_add_course_info_1</td> | |
1198 | + <td>新增课程</td> | |
1199 | + <td>0.352s</td> | |
1200 | + | |
1201 | + <td class="text-success">成功</td> | |
1202 | + | |
1203 | + <td> | |
1204 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | |
1205 | + </td> | |
1206 | + </tr> | |
1821 | 1207 | |
1822 | - <pre>AssertionError: 'success' != '该身份证号不合法,请确认' | |
1823 | -- success | |
1824 | -+ 该身份证号不合法,请确认 | |
1208 | + <tr class="test_log"> | |
1209 | + | |
1210 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | |
1211 | + | |
1825 | 1212 | |
1213 | + <pre>用例入参:{'name': 'py自动化课程20221224_20:31:01_1', 'practiceType': 'know', 'departmentId': '1606628416684421122', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1606628470845468674'], 'professionalIds': ['1606628430462709762'], 'yearId': '49'} | |
1214 | +预期结果: {'msg': 'success', 'code': 200, 'data': True} | |
1215 | +实际结果: {'msg': 'success', 'code': 200, 'data': True} | |
1216 | +test_add_course_info_1 (test_03_teaching_affairs.Test03Course)执行——>【通过】 | |
1826 | 1217 | </pre> |
1827 | 1218 | |
1828 | 1219 | |
... | ... | @@ -1954,8 +1345,8 @@ test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)銵> |
1954 | 1345 | show: false |
1955 | 1346 | }, |
1956 | 1347 | data: [ |
1957 | - {value: 10, name: '通过'}, | |
1958 | - {value: 16, name: '失败'}, | |
1348 | + {value: 33, name: '通过'}, | |
1349 | + {value: 0, name: '失败'}, | |
1959 | 1350 | {value: 0, name: '错误'}, |
1960 | 1351 | {value: 0, name: '跳过'} |
1961 | 1352 | ] |
... | ... | @@ -1976,8 +1367,8 @@ test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)銵> |
1976 | 1367 | { |
1977 | 1368 | name: '测试结果', |
1978 | 1369 | type: 'gauge', |
1979 | - detail: {formatter: '38.46%'}, | |
1980 | - data: [{value: '38.46', name: '用例通过率'}], | |
1370 | + detail: {formatter: '100.00%'}, | |
1371 | + data: [{value: '100.00', name: '用例通过率'}], | |
1981 | 1372 | axisLine: { |
1982 | 1373 | lineStyle: { |
1983 | 1374 | color: [ | ... | ... |
... | ... | @@ -40,5 +40,6 @@ runner.run() |
40 | 40 | # port=465, |
41 | 41 | # user="shishut@workai.com.cn", |
42 | 42 | # password="mKh50p89DqvqJ7pd", |
43 | -# to_addrs=["1171621168@qq.com", "shishut@workai.com.cn"] | |
43 | +# to_addrs=["shishut@workai.com.cn"] | |
44 | +# # to_addrs=["shishut@workai.com.cn", "wangf@workai.com.cn"] | |
44 | 45 | # ) | ... | ... |
... | ... | @@ -138,7 +138,6 @@ class Test01Department(unittest.TestCase): |
138 | 138 | HandleLog.log.info("用例{},执行通过".format(select_case["title"])) |
139 | 139 | |
140 | 140 | |
141 | - | |
142 | 141 | # ==================专业相关的用例================== |
143 | 142 | @myddt.ddt |
144 | 143 | class Test02Specialty(unittest.TestCase): |
... | ... | @@ -258,6 +257,7 @@ class Test03Year(unittest.TestCase): |
258 | 257 | headers["Authorization"] = self.token |
259 | 258 | req = requests.request(method=case["method"], url=url, json=data, headers=headers) |
260 | 259 | res = req.json() |
260 | + | |
261 | 261 | print("用例入参:{}".format(data)) |
262 | 262 | print("预期结果:", expected) |
263 | 263 | print("实际结果:", res) | ... | ... |
... | ... | @@ -23,7 +23,8 @@ from tools.fixture import SelectData |
23 | 23 | from tools.handle_token import LoginToken |
24 | 24 | from tools.fixture import RandomPhone, RandomIdentification, RandomEmail |
25 | 25 | |
26 | -TeachingAffairs_path = os.path.join(DataExcel_Path, "teaching_affairs") | |
26 | +TeachingAffairs_path = os.path.join(DataExcel_Path, "teaching_affairs") # 教务系统管理列表 | |
27 | +System_path = os.path.join(DataExcel_Path, "system") # 系统管理列表 | |
27 | 28 | |
28 | 29 | |
29 | 30 | # ==================教师相关的用例================== |
... | ... | @@ -33,14 +34,6 @@ class Test01CTeacher(unittest.TestCase): |
33 | 34 | # ---获取添加教师用例 |
34 | 35 | add_teacher = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), "add_teacher") |
35 | 36 | 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 | 37 | |
45 | 38 | @classmethod |
46 | 39 | def setUpClass(cls): |
... | ... | @@ -51,6 +44,15 @@ class Test01CTeacher(unittest.TestCase): |
51 | 44 | # 获取token |
52 | 45 | cls.token = LoginToken.login_token() |
53 | 46 | |
47 | + # ---获取添加院系Excel表格 | |
48 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | |
49 | + "select_department") | |
50 | + read_excel = select_department_excel.read_excel_location("C2") | |
51 | + department_list = SelectData(str(read_excel)) | |
52 | + department_json = department_list.select_list() | |
53 | + # 获取院系id | |
54 | + cls.department_id = jsonpath(department_json, "$..id")[0] | |
55 | + | |
54 | 56 | def setUp(self): |
55 | 57 | """单条用例执行前执行的函数""" |
56 | 58 | new_time = time.strftime("%Y%m%d_%H:%M:%S") |
... | ... | @@ -63,7 +65,7 @@ class Test01CTeacher(unittest.TestCase): |
63 | 65 | # 新增教师 |
64 | 66 | # ==================================================================== |
65 | 67 | @data(*add_teacher_case) |
66 | - def test_add_class_info(self, case): | |
68 | + def test_add_teacher_info(self, case): | |
67 | 69 | |
68 | 70 | """新增教师用例""" |
69 | 71 | url = conf.get("url", "url_ip") + case['url'] |
... | ... | @@ -94,7 +96,6 @@ class Test01CTeacher(unittest.TestCase): |
94 | 96 | print("预期结果:", expected) |
95 | 97 | print("实际结果:", res) |
96 | 98 | # 断言 |
97 | - # 断言 | |
98 | 99 | try: |
99 | 100 | self.assertEqual(expected['msg'], res['msg']) |
100 | 101 | self.assertEqual(expected['code'], res['code']) |
... | ... | @@ -112,7 +113,6 @@ class Test01CTeacher(unittest.TestCase): |
112 | 113 | HandleLog.log.info("用例{},执行通过".format(case["title"])) |
113 | 114 | |
114 | 115 | |
115 | -''' | |
116 | 116 | # ==================班级相关的用例================== |
117 | 117 | @ddt |
118 | 118 | class Test02Class(unittest.TestCase): |
... | ... | @@ -123,7 +123,259 @@ class Test02Class(unittest.TestCase): |
123 | 123 | # ==================================================================== |
124 | 124 | # 新增班级 |
125 | 125 | # ==================================================================== |
126 | + @classmethod | |
127 | + def setUpClass(cls): | |
128 | + """ | |
129 | + 用例类执行前执行的函数 | |
130 | + :return:token | |
131 | + """ | |
132 | + # 获取token | |
133 | + cls.token = LoginToken.login_token() | |
134 | + | |
135 | + # ---获取添加院系Excel表格 | |
136 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | |
137 | + "select_department") | |
138 | + read_department_excel = select_department_excel.read_excel_location("C2") | |
139 | + department_list = SelectData(str(read_department_excel)) | |
140 | + department_json = department_list.select_list() | |
141 | + cls.department_id = jsonpath(department_json, "$..id")[0] # 获取院系id | |
142 | + # 获取查看专业id | |
143 | + select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | |
144 | + "select_specialty") | |
145 | + read_specialty_excel = select_specialty_excel.read_excel_location("C2") | |
146 | + specialty_list = SelectData(str(read_specialty_excel)) | |
147 | + specialty_json = specialty_list.select_list() | |
148 | + cls.professionalId = jsonpath(specialty_json, "$..id")[0] # 获取专业id | |
149 | + # 获取查看教师id | |
150 | + select_teacher_excel = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), | |
151 | + "select_teacher") | |
152 | + read_teacher_excel = select_teacher_excel.read_excel_location("C2") | |
153 | + teacher_list = SelectData(str(read_teacher_excel)) | |
154 | + teacher_json = teacher_list.select_list() | |
155 | + cls.teacher_id = jsonpath(teacher_json, "$..id")[0] # 获取教师id | |
156 | + | |
157 | + def setUp(self): | |
158 | + """单条用例执行前执行的函数""" | |
159 | + new_time = time.strftime("%Y%m%d_%H:%M:%S") | |
160 | + # 随机班级名称 | |
161 | + self.class_name = "py自动化班级" + new_time | |
162 | + | |
126 | 163 | @data(*add_class_case) |
127 | 164 | def test_add_class_info(self, case): |
128 | 165 | """新增班级用例""" |
166 | + url = conf.get("url", "url_ip") + case["url"] | |
167 | + # 准备数据 | |
168 | + if "#name#" in case["data"]: | |
169 | + case["data"] = case["data"].replace("#name#", str(self.class_name + "_" + str(case["id"]))) | |
170 | + if "#professionalId#" in case["data"]: | |
171 | + case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) | |
172 | + if "#teacherId#" in case["data"]: | |
173 | + case["data"] = case["data"].replace("#teacherId#", str(self.teacher_id)) | |
174 | + if "#departmentId#" in case["data"]: | |
175 | + case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) | |
176 | + data = json.loads(case["data"]) | |
177 | + expected = json.loads(case["expected"]) | |
178 | + # 调用接口 | |
179 | + headers = {} | |
180 | + headers["Authorization"] = self.token | |
181 | + response = requests.request(url=url, method=case["method"], json=data, headers=headers) | |
182 | + res = response.json() | |
183 | + print("用例入参:{}".format(data)) | |
184 | + print("预期结果:", expected) | |
185 | + print("实际结果:", res) | |
186 | + # 断言 | |
187 | + try: | |
188 | + self.assertEqual(expected['msg'], res['msg']) | |
189 | + self.assertEqual(expected['code'], res['code']) | |
190 | + except AssertionError as e: | |
191 | + # 写入Excel | |
192 | + self.add_class.write_excel(row=case["id"] + 1, column=7, value="不通过") | |
193 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | |
194 | + HandleLog.log.exception(e) | |
195 | + raise e | |
196 | + else: | |
197 | + self.add_class.write_excel(row=case["id"] + 1, column=7, value="通过") | |
198 | + # 将创建使用的数据写入到excel表格中 | |
199 | + self.add_class.write_excel(row=case["id"] + 1, column=9, | |
200 | + value=case["data"]) | |
201 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | |
202 | + | |
203 | + | |
204 | +# ==================实践课程相关的用例================== | |
205 | +@ddt | |
206 | +class Test03Course(unittest.TestCase): | |
207 | + """班级相关""" | |
208 | + add_course = Excel(os.path.join(TeachingAffairs_path, "test_03_course.xlsx"), "add_course") | |
209 | + add_course_case = add_course.read_excel() | |
210 | + | |
211 | + # ==================================================================== | |
212 | + # 新增课程 | |
213 | + # ==================================================================== | |
214 | + @classmethod | |
215 | + def setUpClass(cls): | |
216 | + """ | |
217 | + 用例类执行前执行的函数 | |
218 | + :return:token | |
219 | + """ | |
220 | + # 获取token | |
221 | + cls.token = LoginToken.login_token() | |
222 | + | |
223 | + # ---获取添加院系Excel表格 | |
224 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | |
225 | + "select_department") | |
226 | + read_department_excel = select_department_excel.read_excel_location("C2") | |
227 | + department_list = SelectData(str(read_department_excel)) | |
228 | + department_json = department_list.select_list() | |
229 | + cls.department_id = jsonpath(department_json, "$..id")[0] # 获取院系id | |
230 | + # 获取查看专业id | |
231 | + select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | |
232 | + "select_specialty") | |
233 | + read_specialty_excel = select_specialty_excel.read_excel_location("C2") | |
234 | + specialty_list = SelectData(str(read_specialty_excel)) | |
235 | + specialty_json = specialty_list.select_list() | |
236 | + cls.professionalId = jsonpath(specialty_json, "$..id")[0] # 获取专业id | |
237 | + # 获取查看学期id | |
238 | + select_term_excel = Excel(os.path.join(System_path, "test_02_term.xlsx"), | |
239 | + "select_term") | |
240 | + read_term_excel = select_term_excel.read_excel_location("C2") | |
241 | + term_list = SelectData(str(read_term_excel)) | |
242 | + term_json = term_list.select_list() | |
243 | + cls.terms_id = jsonpath(term_json, "$..id")[0] # 获取学年学期id | |
244 | + | |
245 | + def setUp(self): | |
246 | + """单条用例执行前执行的函数""" | |
247 | + new_time = time.strftime("%Y%m%d_%H:%M:%S") | |
248 | + # 随机班级名称 | |
249 | + self.course_name = "py自动化课程" + new_time | |
250 | + | |
251 | + @data(*add_course_case) | |
252 | + def test_add_course_info(self, case): | |
253 | + """新增课程用例""" | |
254 | + url = conf.get("url", "url_ip") + case["url"] | |
255 | + # 准备数据 | |
256 | + if "#name#" in case["data"]: | |
257 | + case["data"] = case["data"].replace("#name#", str(self.course_name + "_" + str(case["id"]))) | |
258 | + if "#departmentId#" in case["data"]: | |
259 | + case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) | |
260 | + if "#professionalId#" in case["data"]: | |
261 | + case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) | |
262 | + if "#termIds#" in case["data"]: | |
263 | + case["data"] = case["data"].replace("#termIds#", str(self.terms_id)) | |
264 | + | |
265 | + data = json.loads(case["data"]) | |
266 | + expected = json.loads(case["expected"]) | |
267 | + # 调用接口 | |
268 | + headers = {} | |
269 | + headers["Authorization"] = self.token | |
270 | + response = requests.request(url=url, method=case["method"], json=data, headers=headers) | |
271 | + res = response.json() | |
272 | + print("用例入参:{}".format(data)) | |
273 | + print("预期结果:", expected) | |
274 | + print("实际结果:", res) | |
275 | + # 断言 | |
276 | + try: | |
277 | + self.assertEqual(expected['msg'], res['msg']) | |
278 | + self.assertEqual(expected['code'], res['code']) | |
279 | + except AssertionError as e: | |
280 | + # 写入Excel | |
281 | + self.add_course.write_excel(row=case["id"] + 1, column=7, value="不通过") | |
282 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | |
283 | + HandleLog.log.exception(e) | |
284 | + raise e | |
285 | + else: | |
286 | + self.add_course.write_excel(row=case["id"] + 1, column=7, value="通过") | |
287 | + # 将创建使用的数据写入到excel表格中 | |
288 | + self.add_course.write_excel(row=case["id"] + 1, column=9, | |
289 | + value=case["data"]) | |
290 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | |
291 | + | |
292 | + | |
293 | +''' | |
294 | +# ==================实践学生相关的用例================== | |
295 | +@ddt | |
296 | +class Test03Student(unittest.TestCase): | |
297 | + """班级相关""" | |
298 | + add_course = Excel(os.path.join(TeachingAffairs_path, "test_03_student.xlsx"), "add_course") | |
299 | + add_course_case = add_course.read_excel() | |
300 | + | |
301 | + # ==================================================================== | |
302 | + # 新增学生 | |
303 | + # ==================================================================== | |
304 | + @classmethod | |
305 | + def setUpClass(cls): | |
306 | + """ | |
307 | + 用例类执行前执行的函数 | |
308 | + :return:token | |
309 | + """ | |
310 | + # 获取token | |
311 | + cls.token = LoginToken.login_token() | |
312 | + | |
313 | + # ---获取添加院系Excel表格 | |
314 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | |
315 | + "select_department") | |
316 | + read_department_excel = select_department_excel.read_excel_location("C2") | |
317 | + department_list = SelectData(str(read_department_excel)) | |
318 | + department_json = department_list.select_list() | |
319 | + cls.department_id = jsonpath(department_json, "$..id")[0] # 获取院系id | |
320 | + # 获取查看专业id | |
321 | + select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | |
322 | + "select_specialty") | |
323 | + read_specialty_excel = select_specialty_excel.read_excel_location("C2") | |
324 | + specialty_list = SelectData(str(read_specialty_excel)) | |
325 | + specialty_json = specialty_list.select_list() | |
326 | + cls.professionalId = jsonpath(specialty_json, "$..id")[0] # 获取专业id | |
327 | + # 获取查看学期id | |
328 | + select_term_excel = Excel(os.path.join(System_path, "test_02_term.xlsx"), | |
329 | + "select_term") | |
330 | + read_term_excel = select_term_excel.read_excel_location("C2") | |
331 | + term_list = SelectData(str(read_term_excel)) | |
332 | + term_json = term_list.select_list() | |
333 | + cls.terms_id = jsonpath(term_json, "$..id")[0] # 获取学年学期id | |
334 | + | |
335 | + def setUp(self): | |
336 | + """单条用例执行前执行的函数""" | |
337 | + new_time = time.strftime("%Y%m%d_%H:%M:%S") | |
338 | + # 随机班级名称 | |
339 | + self.course_name = "py自动化课程" + new_time | |
340 | + | |
341 | + @data(*add_course_case) | |
342 | + def test_add_course_info(self, case): | |
343 | + """新增课程用例""" | |
344 | + url = conf.get("url", "url_ip") + case["url"] | |
345 | + # 准备数据 | |
346 | + if "#name#" in case["data"]: | |
347 | + case["data"] = case["data"].replace("#name#", str(self.course_name + "_" + str(case["id"]))) | |
348 | + if "#departmentId#" in case["data"]: | |
349 | + case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) | |
350 | + if "#professionalId#" in case["data"]: | |
351 | + case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) | |
352 | + if "#termIds#" in case["data"]: | |
353 | + case["data"] = case["data"].replace("#termIds#", str(self.terms_id)) | |
354 | + | |
355 | + data = json.loads(case["data"]) | |
356 | + expected = json.loads(case["expected"]) | |
357 | + # 调用接口 | |
358 | + headers = {} | |
359 | + headers["Authorization"] = self.token | |
360 | + response = requests.request(url=url, method=case["method"], json=data, headers=headers) | |
361 | + res = response.json() | |
362 | + print("用例入参:{}".format(data)) | |
363 | + print("预期结果:", expected) | |
364 | + print("实际结果:", res) | |
365 | + # 断言 | |
366 | + try: | |
367 | + self.assertEqual(expected['msg'], res['msg']) | |
368 | + self.assertEqual(expected['code'], res['code']) | |
369 | + except AssertionError as e: | |
370 | + # 写入Excel | |
371 | + self.add_course.write_excel(row=case["id"] + 1, column=7, value="不通过") | |
372 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | |
373 | + HandleLog.log.exception(e) | |
374 | + raise e | |
375 | + else: | |
376 | + self.add_course.write_excel(row=case["id"] + 1, column=7, value="通过") | |
377 | + # 将创建使用的数据写入到excel表格中 | |
378 | + self.add_course.write_excel(row=case["id"] + 1, column=9, | |
379 | + value=case["data"]) | |
380 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | |
129 | 381 | ''' | ... | ... |
... | ... | @@ -19,11 +19,8 @@ import os |
19 | 19 | import time |
20 | 20 | import random |
21 | 21 | |
22 | -""" | |
23 | -获取json字符串 | |
24 | -""" | |
25 | - | |
26 | 22 | |
23 | +# ==================获取json字符串========== | |
27 | 24 | class SelectData(object): |
28 | 25 | def __init__(self, url): |
29 | 26 | self.url = url |
... | ... | @@ -41,11 +38,7 @@ class SelectData(object): |
41 | 38 | return res |
42 | 39 | |
43 | 40 | |
44 | -""" | |
45 | -随机生成手机号 | |
46 | -""" | |
47 | - | |
48 | - | |
41 | +# ==================随机生成手机号========== | |
49 | 42 | class RandomPhone: |
50 | 43 | |
51 | 44 | # 随机生成手机号 |
... | ... | @@ -56,11 +49,7 @@ class RandomPhone: |
56 | 49 | return random.choice(prelist) + "".join(random.choice("0123456789") for i in range(8)) |
57 | 50 | |
58 | 51 | |
59 | -""" | |
60 | -随机生成身份证号 | |
61 | -""" | |
62 | - | |
63 | - | |
52 | +# ==================随机生成身份证号======== | |
64 | 53 | class RandomIdentification(object): |
65 | 54 | |
66 | 55 | def ran(self): |
... | ... | @@ -104,11 +93,7 @@ class RandomIdentification(object): |
104 | 93 | return ran + mat[summat % 11] |
105 | 94 | |
106 | 95 | |
107 | -""" | |
108 | -随机生成邮箱 | |
109 | -""" | |
110 | - | |
111 | - | |
96 | +# ==================随机生成邮箱号========== | |
112 | 97 | class RandomEmail(object): |
113 | 98 | @staticmethod |
114 | 99 | def rand_email(): |
... | ... | @@ -116,6 +101,7 @@ class RandomEmail(object): |
116 | 101 | # print(str(email_len) + "@163.com") |
117 | 102 | return str(email_len) + "@163.com" |
118 | 103 | |
104 | + | |
119 | 105 | if __name__ == '__main__': |
120 | 106 | print(RandomIdentification().ran_end()) |
121 | 107 | # Val(Ran().ran_end()) | ... | ... |
请
注册
或
登录
后发表评论