正在显示
20 个修改的文件
包含
243 行增加
和
51 行删除
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <project version="4"> | 2 | <project version="4"> |
3 | <component name="ChangeListManager"> | 3 | <component name="ChangeListManager"> |
4 | - <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="版本:1.0.6 1.需求院系名称由倒序改成正序排列,代码优化"> | 4 | + <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="版本:1.0.7 1.新增实习计划用例 2.优化教师用例"> |
5 | + <change afterPath="$PROJECT_DIR$/data/Internship_preparation/test_05_internship_project.xlsx" afterDir="false" /> | ||
5 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | 6 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |
6 | - <change beforePath="$PROJECT_DIR$/common/handle_path.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/handle_path.py" afterDir="false" /> | ||
7 | <change beforePath="$PROJECT_DIR$/conf/config.ini" beforeDir="false" afterPath="$PROJECT_DIR$/conf/config.ini" afterDir="false" /> | 7 | <change beforePath="$PROJECT_DIR$/conf/config.ini" beforeDir="false" afterPath="$PROJECT_DIR$/conf/config.ini" afterDir="false" /> |
8 | <change beforePath="$PROJECT_DIR$/data/Internship_preparation/test_04_internship_plan.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/Internship_preparation/test_04_internship_plan.xlsx" afterDir="false" /> | 8 | <change beforePath="$PROJECT_DIR$/data/Internship_preparation/test_04_internship_plan.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/Internship_preparation/test_04_internship_plan.xlsx" afterDir="false" /> |
9 | <change beforePath="$PROJECT_DIR$/data/system/test_02_department.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_department.xlsx" afterDir="false" /> | 9 | <change beforePath="$PROJECT_DIR$/data/system/test_02_department.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_department.xlsx" afterDir="false" /> |
@@ -14,12 +14,14 @@ | @@ -14,12 +14,14 @@ | ||
14 | <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" afterDir="false" /> | 14 | <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" afterDir="false" /> |
15 | <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" /> | 15 | <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" /> |
16 | <change beforePath="$PROJECT_DIR$/data/test_01_login.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/test_01_login.xlsx" afterDir="false" /> | 16 | <change beforePath="$PROJECT_DIR$/data/test_01_login.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/test_01_login.xlsx" afterDir="false" /> |
17 | + <change beforePath="$PROJECT_DIR$/instruction_book.md" beforeDir="false" afterPath="$PROJECT_DIR$/instruction_book.md" afterDir="false" /> | ||
17 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> | 18 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> |
18 | <change beforePath="$PROJECT_DIR$/report/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report.html" afterDir="false" /> | 19 | <change beforePath="$PROJECT_DIR$/report/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report.html" afterDir="false" /> |
20 | + <change beforePath="$PROJECT_DIR$/report/report2.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report2.html" afterDir="false" /> | ||
19 | <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> | 21 | <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> |
20 | - <change beforePath="$PROJECT_DIR$/testcase/test_02_system_management.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_02_system_management.py" afterDir="false" /> | ||
21 | <change beforePath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" afterDir="false" /> | 22 | <change beforePath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" afterDir="false" /> |
22 | <change beforePath="$PROJECT_DIR$/testcase/test_04_Internship_preparation.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_04_Internship_preparation.py" afterDir="false" /> | 23 | <change beforePath="$PROJECT_DIR$/testcase/test_04_Internship_preparation.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_04_Internship_preparation.py" afterDir="false" /> |
24 | + <change beforePath="$PROJECT_DIR$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> | ||
23 | </list> | 25 | </list> |
24 | <option name="SHOW_DIALOG" value="false" /> | 26 | <option name="SHOW_DIALOG" value="false" /> |
25 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> | 27 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
@@ -173,9 +175,9 @@ | @@ -173,9 +175,9 @@ | ||
173 | <list> | 175 | <list> |
174 | <item itemvalue="Python.run" /> | 176 | <item itemvalue="Python.run" /> |
175 | <item itemvalue="Python tests.Unittests in test_04_Internship_preparation.py" /> | 177 | <item itemvalue="Python tests.Unittests in test_04_Internship_preparation.py" /> |
178 | + <item itemvalue="Python.fixture (1)" /> | ||
176 | <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | 179 | <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> |
177 | <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> | 180 | <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> |
178 | - <item itemvalue="Python.fixture (1)" /> | ||
179 | </list> | 181 | </list> |
180 | </recent_temporary> | 182 | </recent_temporary> |
181 | </component> | 183 | </component> |
@@ -200,7 +202,11 @@ | @@ -200,7 +202,11 @@ | ||
200 | <workItem from="1672191767788" duration="18977000" /> | 202 | <workItem from="1672191767788" duration="18977000" /> |
201 | <workItem from="1672235367588" duration="1605000" /> | 203 | <workItem from="1672235367588" duration="1605000" /> |
202 | <workItem from="1672280816359" duration="17752000" /> | 204 | <workItem from="1672280816359" duration="17752000" /> |
203 | - <workItem from="1672364796746" duration="19951000" /> | 205 | + <workItem from="1672364796746" duration="23589000" /> |
206 | + <workItem from="1672653433404" duration="597000" /> | ||
207 | + <workItem from="1672710986058" duration="13244000" /> | ||
208 | + <workItem from="1672796896009" duration="13130000" /> | ||
209 | + <workItem from="1672883098112" duration="3311000" /> | ||
204 | </task> | 210 | </task> |
205 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> | 211 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> |
206 | <created>1671544396986</created> | 212 | <created>1671544396986</created> |
@@ -286,7 +292,14 @@ | @@ -286,7 +292,14 @@ | ||
286 | <option name="project" value="LOCAL" /> | 292 | <option name="project" value="LOCAL" /> |
287 | <updated>1672305081053</updated> | 293 | <updated>1672305081053</updated> |
288 | </task> | 294 | </task> |
289 | - <option name="localTasksCounter" value="13" /> | 295 | + <task id="LOCAL-00013" summary="版本:1.0.7 1.新增实习计划用例 2.优化教师用例"> |
296 | + <created>1672396098298</created> | ||
297 | + <option name="number" value="00013" /> | ||
298 | + <option name="presentableId" value="LOCAL-00013" /> | ||
299 | + <option name="project" value="LOCAL" /> | ||
300 | + <updated>1672396098298</updated> | ||
301 | + </task> | ||
302 | + <option name="localTasksCounter" value="14" /> | ||
290 | <servers /> | 303 | <servers /> |
291 | </component> | 304 | </component> |
292 | <component name="TypeScriptGeneratedFilesManager"> | 305 | <component name="TypeScriptGeneratedFilesManager"> |
@@ -329,7 +342,8 @@ | @@ -329,7 +342,8 @@ | ||
329 | <MESSAGE value="版本:1.0.5 1.优化" /> | 342 | <MESSAGE value="版本:1.0.5 1.优化" /> |
330 | <MESSAGE value="版本:1.0.6 1.支持单独模块用例的执行" /> | 343 | <MESSAGE value="版本:1.0.6 1.支持单独模块用例的执行" /> |
331 | <MESSAGE value="版本:1.0.6 1.需求院系名称由倒序改成正序排列,代码优化" /> | 344 | <MESSAGE value="版本:1.0.6 1.需求院系名称由倒序改成正序排列,代码优化" /> |
332 | - <option name="LAST_COMMIT_MESSAGE" value="版本:1.0.6 1.需求院系名称由倒序改成正序排列,代码优化" /> | 345 | + <MESSAGE value="版本:1.0.7 1.新增实习计划用例 2.优化教师用例" /> |
346 | + <option name="LAST_COMMIT_MESSAGE" value="版本:1.0.7 1.新增实习计划用例 2.优化教师用例" /> | ||
333 | </component> | 347 | </component> |
334 | <component name="XDebuggerManager"> | 348 | <component name="XDebuggerManager"> |
335 | <breakpoint-manager> | 349 | <breakpoint-manager> |
@@ -381,7 +395,7 @@ | @@ -381,7 +395,7 @@ | ||
381 | </line-breakpoint> | 395 | </line-breakpoint> |
382 | <line-breakpoint suspend="THREAD" type="python-line"> | 396 | <line-breakpoint suspend="THREAD" type="python-line"> |
383 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> | 397 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> |
384 | - <line>29</line> | 398 | + <line>31</line> |
385 | <option name="timeStamp" value="33" /> | 399 | <option name="timeStamp" value="33" /> |
386 | </line-breakpoint> | 400 | </line-breakpoint> |
387 | <line-breakpoint suspend="THREAD" type="python-line"> | 401 | <line-breakpoint suspend="THREAD" type="python-line"> |
@@ -401,7 +415,7 @@ | @@ -401,7 +415,7 @@ | ||
401 | </line-breakpoint> | 415 | </line-breakpoint> |
402 | <line-breakpoint suspend="THREAD" type="python-line"> | 416 | <line-breakpoint suspend="THREAD" type="python-line"> |
403 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> | 417 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> |
404 | - <line>38</line> | 418 | + <line>37</line> |
405 | <option name="timeStamp" value="39" /> | 419 | <option name="timeStamp" value="39" /> |
406 | </line-breakpoint> | 420 | </line-breakpoint> |
407 | <line-breakpoint suspend="THREAD" type="python-line"> | 421 | <line-breakpoint suspend="THREAD" type="python-line"> |
@@ -411,29 +425,54 @@ | @@ -411,29 +425,54 @@ | ||
411 | </line-breakpoint> | 425 | </line-breakpoint> |
412 | <line-breakpoint suspend="THREAD" type="python-line"> | 426 | <line-breakpoint suspend="THREAD" type="python-line"> |
413 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> | 427 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> |
414 | - <line>36</line> | 428 | + <line>35</line> |
415 | <option name="timeStamp" value="47" /> | 429 | <option name="timeStamp" value="47" /> |
416 | </line-breakpoint> | 430 | </line-breakpoint> |
417 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 431 | + <line-breakpoint suspend="THREAD" type="python-line"> |
418 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | 432 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
419 | <line>174</line> | 433 | <line>174</line> |
420 | <option name="timeStamp" value="49" /> | 434 | <option name="timeStamp" value="49" /> |
421 | </line-breakpoint> | 435 | </line-breakpoint> |
422 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 436 | + <line-breakpoint suspend="THREAD" type="python-line"> |
423 | <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | 437 | <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> |
424 | - <line>114</line> | 438 | + <line>127</line> |
425 | <option name="timeStamp" value="50" /> | 439 | <option name="timeStamp" value="50" /> |
426 | </line-breakpoint> | 440 | </line-breakpoint> |
427 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 441 | + <line-breakpoint suspend="THREAD" type="python-line"> |
428 | <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | 442 | <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> |
429 | - <line>62</line> | 443 | + <line>66</line> |
430 | <option name="timeStamp" value="51" /> | 444 | <option name="timeStamp" value="51" /> |
431 | </line-breakpoint> | 445 | </line-breakpoint> |
432 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 446 | + <line-breakpoint suspend="THREAD" type="python-line"> |
433 | <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | 447 | <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> |
434 | - <line>76</line> | 448 | + <line>80</line> |
435 | <option name="timeStamp" value="52" /> | 449 | <option name="timeStamp" value="52" /> |
436 | </line-breakpoint> | 450 | </line-breakpoint> |
451 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
452 | + <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | ||
453 | + <line>89</line> | ||
454 | + <option name="timeStamp" value="56" /> | ||
455 | + </line-breakpoint> | ||
456 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
457 | + <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | ||
458 | + <line>86</line> | ||
459 | + <option name="timeStamp" value="57" /> | ||
460 | + </line-breakpoint> | ||
461 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
462 | + <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | ||
463 | + <line>87</line> | ||
464 | + <option name="timeStamp" value="58" /> | ||
465 | + </line-breakpoint> | ||
466 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
467 | + <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | ||
468 | + <line>220</line> | ||
469 | + <option name="timeStamp" value="59" /> | ||
470 | + </line-breakpoint> | ||
471 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
472 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
473 | + <line>69</line> | ||
474 | + <option name="timeStamp" value="60" /> | ||
475 | + </line-breakpoint> | ||
437 | </breakpoints> | 476 | </breakpoints> |
438 | <default-breakpoints> | 477 | <default-breakpoints> |
439 | <breakpoint type="python-exception"> | 478 | <breakpoint type="python-exception"> |
@@ -445,14 +484,14 @@ | @@ -445,14 +484,14 @@ | ||
445 | </breakpoint-manager> | 484 | </breakpoint-manager> |
446 | </component> | 485 | </component> |
447 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> | 486 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> |
448 | - <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" /> | ||
449 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_02_system_management_py.coverage" NAME="Unittests in test_02_system_management.py Coverage Results" MODIFIED="1672304630144" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 487 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_02_system_management_py.coverage" NAME="Unittests in test_02_system_management.py Coverage Results" MODIFIED="1672304630144" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
488 | + <SUITE FILE_PATH="coverage/yxly$fixture__1_.coverage" NAME="fixture (1) Coverage Results" MODIFIED="1672814917701" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tools" /> | ||
450 | <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" /> | 489 | <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" /> |
451 | <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" /> | 490 | <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" /> |
452 | <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" /> | 491 | <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" /> |
453 | - <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_04_Internship_preparation_py.coverage" NAME="Unittests in test_04_Internship_preparation.py Coverage Results" MODIFIED="1672390869984" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 492 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_04_Internship_preparation_py.coverage" NAME="Unittests in test_04_Internship_preparation.py Coverage Results" MODIFIED="1672826983494" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
454 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_03_teaching_affairs_py.coverage" NAME="Unittests in test_03_teaching_affairs.py Coverage Results" MODIFIED="1672198781295" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 493 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_03_teaching_affairs_py.coverage" NAME="Unittests in test_03_teaching_affairs.py Coverage Results" MODIFIED="1672198781295" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
455 | <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" /> | 494 | <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" /> |
456 | - <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1672393153208" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | 495 | + <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1672886954882" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> |
457 | </component> | 496 | </component> |
458 | </project> | 497 | </project> |
@@ -41,7 +41,7 @@ type = teacher | @@ -41,7 +41,7 @@ type = teacher | ||
41 | ;============================================================================================ | 41 | ;============================================================================================ |
42 | [report] | 42 | [report] |
43 | ;报告名称 | 43 | ;报告名称 |
44 | -filename = report.html | 44 | +filename = report2.html |
45 | ;报告标题 | 45 | ;报告标题 |
46 | title = 优学乐业测试报告 | 46 | title = 优学乐业测试报告 |
47 | ;测试员 | 47 | ;测试员 |
@@ -49,7 +49,7 @@ tester = 石头 | @@ -49,7 +49,7 @@ tester = 石头 | ||
49 | ;报告描述 | 49 | ;报告描述 |
50 | desc = 优学乐业测试报告 | 50 | desc = 优学乐业测试报告 |
51 | ;报告样式 | 51 | ;报告样式 |
52 | -templates = 1 | 52 | +templates = 2 |
53 | 53 | ||
54 | 54 | ||
55 | 55 |
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
@@ -61,6 +61,17 @@ testcase:测试用例 | @@ -61,6 +61,17 @@ testcase:测试用例 | ||
61 | > | 61 | > |
62 | > 4.实践课程管理 | 62 | > 4.实践课程管理 |
63 | > | 63 | > |
64 | + | ||
65 | +#### 四.test_04_Internship_preparation.py: 实习准备 | ||
66 | + | ||
67 | +> 1.实习计划 | ||
68 | +> >1)新增计划 | ||
69 | +> > | ||
70 | +> >2)发布计划 | ||
71 | +> | ||
72 | +> 2.实习项目 | ||
73 | +> >1)新增项目 | ||
74 | +> | ||
64 | tools:工具 | 75 | tools:工具 |
65 | ---------- | 76 | ---------- |
66 | > 1.fixture: 获取json数据 | 77 | > 1.fixture: 获取json数据 |
@@ -70,4 +81,11 @@ tools:工具 | @@ -70,4 +81,11 @@ tools:工具 | ||
70 | run.py:运行文件 | 81 | run.py:运行文件 |
71 | ---------- | 82 | ---------- |
72 | 83 | ||
84 | +遇到的问题: | ||
85 | +---------- | ||
86 | +>1.由于小程序学生报名需要进行根据正确的手机号登陆小程序才可以进行报名成功 | ||
87 | +> >1)每次都在某个院系/专业/班级下进行创建一个重复正确的手机号学生 | ||
88 | +> >2)创建计划的时候计划执行范围直接写死,这样就可实现方便后期学生报名 | ||
89 | + | ||
90 | + | ||
73 | 91 |
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"}, {"success": 33, "all": 33, "fail": 0, "skip": 0, "error": 0, "runtime": "23.42 S", "begin_time": "2022-12-27 10:13:10", "pass_rate": "100.00"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "3.69 S", "begin_time": "2022-12-27 11:04:21", "pass_rate": "100.00"}, {"success": 1, "all": 15, "fail": 0, "skip": 0, "error": 14, "runtime": "6.81 S", "begin_time": "2022-12-27 11:24:50", "pass_rate": "6.67"}, {"success": 7, "all": 15, "fail": 4, "skip": 0, "error": 4, "runtime": "6.84 S", "begin_time": "2022-12-27 11:29:52", "pass_rate": "46.67"}, {"success": 8, "all": 15, "fail": 5, "skip": 0, "error": 2, "runtime": "7.09 S", "begin_time": "2022-12-27 11:30:59", "pass_rate": "53.33"}, {"success": 9, "all": 15, "fail": 5, "skip": 0, "error": 1, "runtime": "7.83 S", "begin_time": "2022-12-27 11:35:03", "pass_rate": "60.00"}, {"success": 10, "all": 15, "fail": 5, "skip": 0, "error": 0, "runtime": "7.92 S", "begin_time": "2022-12-27 11:36:43", "pass_rate": "66.67"}, {"success": 10, "all": 15, "fail": 5, "skip": 0, "error": 0, "runtime": "7.43 S", "begin_time": "2022-12-27 11:38:30", "pass_rate": "66.67"}, {"success": 15, "all": 20, "fail": 5, "skip": 0, "error": 0, "runtime": "17.49 S", "begin_time": "2022-12-27 13:13:59", "pass_rate": "75.00"}, {"success": 15, "all": 20, "fail": 5, "skip": 0, "error": 0, "runtime": "18.16 S", "begin_time": "2022-12-27 13:14:25", "pass_rate": "75.00"}, {"success": 48, "all": 77, "fail": 10, "skip": 0, "error": 19, "runtime": "164.06 S", "begin_time": "2022-12-27 14:17:07", "pass_rate": "62.34"}, {"success": 48, "all": 77, "fail": 10, "skip": 0, "error": 19, "runtime": "34.83 S", "begin_time": "2022-12-27 14:27:15", "pass_rate": "62.34"}, {"success": 16, "all": 45, "fail": 8, "skip": 0, "error": 21, "runtime": "16.68 S", "begin_time": "2022-12-27 14:37:20", "pass_rate": "35.56"}, {"success": 4, "all": 14, "fail": 3, "skip": 0, "error": 7, "runtime": "4.64 S", "begin_time": "2022-12-27 14:38:18", "pass_rate": "28.57"}, {"success": 4, "all": 14, "fail": 3, "skip": 0, "error": 7, "runtime": "4.41 S", "begin_time": "2022-12-27 14:38:36", "pass_rate": "28.57"}, {"success": 5, "all": 14, "fail": 3, "skip": 0, "error": 6, "runtime": "4.97 S", "begin_time": "2022-12-27 14:40:10", "pass_rate": "35.71"}, {"success": 5, "all": 14, "fail": 4, "skip": 0, "error": 5, "runtime": "5.20 S", "begin_time": "2022-12-27 14:41:31", "pass_rate": "35.71"}, {"success": 5, "all": 14, "fail": 9, "skip": 0, "error": 0, "runtime": "6.57 S", "begin_time": "2022-12-27 14:43:50", "pass_rate": "35.71"}, {"success": 20, "all": 45, "fail": 13, "skip": 0, "error": 12, "runtime": "19.22 S", "begin_time": "2022-12-27 14:45:55", "pass_rate": "44.44"}, {"success": 1, "all": 13, "fail": 1, "skip": 0, "error": 11, "runtime": "3.10 S", "begin_time": "2022-12-27 14:48:00", "pass_rate": "7.69"}, {"success": 1, "all": 13, "fail": 1, "skip": 0, "error": 11, "runtime": "3.07 S", "begin_time": "2022-12-27 14:48:31", "pass_rate": "7.69"}, {"success": 2, "all": 13, "fail": 11, "skip": 0, "error": 0, "runtime": "6.09 S", "begin_time": "2022-12-27 14:49:43", "pass_rate": "15.38"}, {"success": 21, "all": 45, "fail": 24, "skip": 0, "error": 0, "runtime": "25.36 S", "begin_time": "2022-12-27 14:51:21", "pass_rate": "46.67"}, {"success": 51, "all": 77, "fail": 26, "skip": 0, "error": 0, "runtime": "39.21 S", "begin_time": "2022-12-27 14:52:13", "pass_rate": "66.23"}, {"success": 50, "all": 77, "fail": 26, "skip": 0, "error": 1, "runtime": "38.96 S", "begin_time": "2022-12-27 15:07:27", "pass_rate": "64.94"}, {"success": 51, "all": 77, "fail": 26, "skip": 0, "error": 0, "runtime": "79.21 S", "begin_time": "2022-12-27 15:10:37", "pass_rate": "66.23"}, {"success": 53, "all": 77, "fail": 24, "skip": 0, "error": 0, "runtime": "76.66 S", "begin_time": "2022-12-27 15:15:12", "pass_rate": "68.83"}, {"success": 54, "all": 77, "fail": 23, "skip": 0, "error": 0, "runtime": "61.72 S", "begin_time": "2022-12-27 15:17:59", "pass_rate": "70.13"}, {"success": 53, "all": 77, "fail": 23, "skip": 0, "error": 1, "runtime": "39.40 S", "begin_time": "2022-12-27 15:38:19", "pass_rate": "68.83"}, {"success": 34, "all": 77, "fail": 42, "skip": 0, "error": 1, "runtime": "38.39 S", "begin_time": "2022-12-27 18:24:36", "pass_rate": "44.16"}, {"success": 35, "all": 77, "fail": 39, "skip": 0, "error": 3, "runtime": "36.32 S", "begin_time": "2022-12-27 18:30:32", "pass_rate": "45.45"}, {"success": 35, "all": 77, "fail": 42, "skip": 0, "error": 0, "runtime": "73.32 S", "begin_time": "2022-12-27 18:32:59", "pass_rate": "45.45"}, {"success": 63, "all": 77, "fail": 14, "skip": 0, "error": 0, "runtime": "66.47 S", "begin_time": "2022-12-28 09:43:06", "pass_rate": "81.82"}, {"success": 67, "all": 77, "fail": 10, "skip": 0, "error": 0, "runtime": "51.57 S", "begin_time": "2022-12-28 09:53:52", "pass_rate": "87.01"}, {"success": 4, "all": 5, "fail": 1, "skip": 0, "error": 0, "runtime": "7.77 S", "begin_time": "2022-12-28 10:21:49", "pass_rate": "80.00"}, {"success": 68, "all": 77, "fail": 9, "skip": 0, "error": 0, "runtime": "57.32 S", "begin_time": "2022-12-28 10:23:02", "pass_rate": "88.31"}, {"success": 0, "all": 5, "fail": 5, "skip": 0, "error": 0, "runtime": "8.49 S", "begin_time": "2022-12-28 11:00:34", "pass_rate": "0.00"}, {"success": 71, "all": 77, "fail": 6, "skip": 0, "error": 0, "runtime": "54.60 S", "begin_time": "2022-12-28 11:01:43", "pass_rate": "92.21"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "47.77 S", "begin_time": "2022-12-28 11:05:20", "pass_rate": "97.40"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "49.33 S", "begin_time": "2022-12-28 11:40:16", "pass_rate": "100.00"}, {"success": 76, "all": 77, "fail": 1, "skip": 0, "error": 0, "runtime": "40.79 S", "begin_time": "2022-12-28 15:13:17", "pass_rate": "98.70"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "41.11 S", "begin_time": "2022-12-28 15:18:51", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "40.24 S", "begin_time": "2022-12-28 15:21:34", "pass_rate": "100.00"}, {"success": 76, "all": 77, "fail": 1, "skip": 0, "error": 0, "runtime": "40.87 S", "begin_time": "2022-12-28 15:23:06", "pass_rate": "98.70"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "41.54 S", "begin_time": "2022-12-28 15:24:48", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "42.31 S", "begin_time": "2022-12-28 15:28:12", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "40.92 S", "begin_time": "2022-12-28 15:33:51", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "42.46 S", "begin_time": "2022-12-28 15:35:37", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "42.98 S", "begin_time": "2022-12-28 15:39:15", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "41.36 S", "begin_time": "2022-12-28 15:40:57", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "41.38 S", "begin_time": "2022-12-28 15:42:55", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "40.45 S", "begin_time": "2022-12-28 15:44:25", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "40.97 S", "begin_time": "2022-12-28 15:46:12", "pass_rate": "97.40"}, {"success": 73, "all": 77, "fail": 4, "skip": 0, "error": 0, "runtime": "42.81 S", "begin_time": "2022-12-28 15:47:07", "pass_rate": "94.81"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "39.53 S", "begin_time": "2022-12-28 15:50:11", "pass_rate": "100.00"}, {"success": 74, "all": 77, "fail": 3, "skip": 0, "error": 0, "runtime": "43.91 S", "begin_time": "2022-12-28 16:12:34", "pass_rate": "96.10"}, {"success": 74, "all": 77, "fail": 3, "skip": 0, "error": 0, "runtime": "42.36 S", "begin_time": "2022-12-28 16:13:35", "pass_rate": "96.10"}, {"success": 74, "all": 77, "fail": 3, "skip": 0, "error": 0, "runtime": "42.94 S", "begin_time": "2022-12-28 16:14:59", "pass_rate": "96.10"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "46.91 S", "begin_time": "2022-12-28 16:25:35", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "40.87 S", "begin_time": "2022-12-28 16:33:19", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "39.74 S", "begin_time": "2022-12-28 16:39:59", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "47.71 S", "begin_time": "2022-12-28 16:41:45", "pass_rate": "100.00"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "41.14 S", "begin_time": "2022-12-28 16:46:12", "pass_rate": "97.40"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "39.60 S", "begin_time": "2022-12-28 17:10:55", "pass_rate": "100.00"}, {"success": 76, "all": 77, "fail": 1, "skip": 0, "error": 0, "runtime": "44.19 S", "begin_time": "2022-12-28 17:37:41", "pass_rate": "98.70"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "42.35 S", "begin_time": "2022-12-28 17:38:44", "pass_rate": "100.00"}, {"success": 19, "all": 19, "fail": 0, "skip": 0, "error": 0, "runtime": "14.00 S", "begin_time": "2022-12-28 21:58:24", "pass_rate": "100.00"}, {"success": 11, "all": 11, "fail": 0, "skip": 0, "error": 0, "runtime": "11.19 S", "begin_time": "2022-12-28 22:00:20", "pass_rate": "100.00"}, {"success": 23, "all": 23, "fail": 0, "skip": 0, "error": 0, "runtime": "10.85 S", "begin_time": "2022-12-28 22:02:52", "pass_rate": "100.00"}, {"success": 15, "all": 15, "fail": 0, "skip": 0, "error": 0, "runtime": "7.90 S", "begin_time": "2022-12-28 22:05:34", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "41.16 S", "begin_time": "2022-12-29 10:31:09", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "41.76 S", "begin_time": "2022-12-29 11:06:47", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "43.37 S", "begin_time": "2022-12-29 11:36:25", "pass_rate": "100.00"}, {"success": 0, "all": 0, "fail": 0, "skip": 0, "error": 0, "runtime": "1.41 S", "begin_time": "2022-12-29 13:47:58", "pass_rate": 0}, {"success": 0, "all": 1, "fail": 0, "skip": 0, "error": 1, "runtime": "0.94 S", "begin_time": "2022-12-29 13:48:47", "pass_rate": "0.00"}, {"success": 0, "all": 1, "fail": 0, "skip": 0, "error": 1, "runtime": "0.94 S", "begin_time": "2022-12-29 13:49:44", "pass_rate": "0.00"}, {"success": 8, "all": 10, "fail": 2, "skip": 0, "error": 0, "runtime": "4.75 S", "begin_time": "2022-12-29 13:51:43", "pass_rate": "80.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "4.52 S", "begin_time": "2022-12-29 13:53:28", "pass_rate": "90.00"}, {"success": 5, "all": 5, "fail": 0, "skip": 0, "error": 0, "runtime": "1.63 S", "begin_time": "2022-12-29 13:58:16", "pass_rate": "100.00"}, {"success": 0, "all": 1, "fail": 0, "skip": 0, "error": 1, "runtime": "1.02 S", "begin_time": "2022-12-29 14:03:56", "pass_rate": "0.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "4.69 S", "begin_time": "2022-12-29 14:06:30", "pass_rate": "90.00"}, {"success": 0, "all": 1, "fail": 0, "skip": 0, "error": 1, "runtime": "0.01 S", "begin_time": "2022-12-29 14:11:02", "pass_rate": "0.00"}, {"success": 8, "all": 10, "fail": 1, "skip": 0, "error": 1, "runtime": "4.29 S", "begin_time": "2022-12-29 14:11:56", "pass_rate": "80.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "6.62 S", "begin_time": "2022-12-29 14:13:24", "pass_rate": "90.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "6.26 S", "begin_time": "2022-12-29 14:15:09", "pass_rate": "90.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "6.22 S", "begin_time": "2022-12-29 14:19:08", "pass_rate": "90.00"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "47.59 S", "begin_time": "2022-12-29 14:20:20", "pass_rate": "98.81"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "47.76 S", "begin_time": "2022-12-29 14:35:17", "pass_rate": "98.81"}, {"success": 81, "all": 84, "fail": 3, "skip": 0, "error": 0, "runtime": "47.89 S", "begin_time": "2022-12-29 15:32:18", "pass_rate": "96.43"}, {"success": 82, "all": 84, "fail": 2, "skip": 0, "error": 0, "runtime": "50.49 S", "begin_time": "2022-12-29 17:06:12", "pass_rate": "97.62"}, {"success": 82, "all": 84, "fail": 2, "skip": 0, "error": 0, "runtime": "54.94 S", "begin_time": "2022-12-29 17:43:04", "pass_rate": "97.62"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "6.58 S", "begin_time": "2022-12-29 17:51:39", "pass_rate": "90.00"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "48.80 S", "begin_time": "2022-12-29 17:52:42", "pass_rate": "98.81"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "47.63 S", "begin_time": "2022-12-29 17:54:56", "pass_rate": "98.81"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "47.44 S", "begin_time": "2022-12-29 17:56:51", "pass_rate": "98.81"}, {"success": 90, "all": 91, "fail": 1, "skip": 0, "error": 0, "runtime": "50.78 S", "begin_time": "2022-12-29 18:06:22", "pass_rate": "98.90"}, {"success": 1, "all": 2, "fail": 1, "skip": 0, "error": 0, "runtime": "5.88 S", "begin_time": "2022-12-30 13:53:38", "pass_rate": "50.00"}, {"success": 1, "all": 2, "fail": 1, "skip": 0, "error": 0, "runtime": "5.85 S", "begin_time": "2022-12-30 13:53:54", "pass_rate": "50.00"}, {"success": 0, "all": 2, "fail": 0, "skip": 0, "error": 2, "runtime": "5.14 S", "begin_time": "2022-12-30 14:03:29", "pass_rate": "0.00"}, {"success": 1, "all": 2, "fail": 1, "skip": 0, "error": 0, "runtime": "6.51 S", "begin_time": "2022-12-30 14:05:52", "pass_rate": "50.00"}, {"success": 9, "all": 30, "fail": 14, "skip": 0, "error": 7, "runtime": "14.13 S", "begin_time": "2022-12-30 15:04:47", "pass_rate": "30.00"}, {"success": 9, "all": 30, "fail": 14, "skip": 0, "error": 7, "runtime": "13.47 S", "begin_time": "2022-12-30 15:10:08", "pass_rate": "30.00"}, {"success": 13, "all": 30, "fail": 10, "skip": 0, "error": 7, "runtime": "13.12 S", "begin_time": "2022-12-30 15:19:55", "pass_rate": "43.33"}, {"success": 13, "all": 30, "fail": 10, "skip": 0, "error": 7, "runtime": "13.59 S", "begin_time": "2022-12-30 15:23:43", "pass_rate": "43.33"}, {"success": 14, "all": 30, "fail": 16, "skip": 0, "error": 0, "runtime": "15.90 S", "begin_time": "2022-12-30 15:31:30", "pass_rate": "46.67"}, {"success": 4, "all": 30, "fail": 26, "skip": 0, "error": 0, "runtime": "13.36 S", "begin_time": "2022-12-30 15:53:15", "pass_rate": "13.33"}, {"success": 97, "all": 121, "fail": 24, "skip": 0, "error": 0, "runtime": "97.81 S", "begin_time": "2022-12-30 15:59:28", "pass_rate": "80.17"}, {"success": 9, "all": 30, "fail": 21, "skip": 0, "error": 0, "runtime": "19.76 S", "begin_time": "2022-12-30 16:21:24", "pass_rate": "30.00"}, {"success": 9, "all": 30, "fail": 21, "skip": 0, "error": 0, "runtime": "16.73 S", "begin_time": "2022-12-30 16:23:19", "pass_rate": "30.00"}, {"success": 9, "all": 30, "fail": 21, "skip": 0, "error": 0, "runtime": "12.78 S", "begin_time": "2022-12-30 16:25:42", "pass_rate": "30.00"}, {"success": 99, "all": 121, "fail": 22, "skip": 0, "error": 0, "runtime": "67.08 S", "begin_time": "2022-12-30 17:11:04", "pass_rate": "81.82"}, {"success": 9, "all": 30, "fail": 21, "skip": 0, "error": 0, "runtime": "12.29 S", "begin_time": "2022-12-30 17:21:00", "pass_rate": "30.00"}, {"success": 24, "all": 30, "fail": 6, "skip": 0, "error": 0, "runtime": "18.88 S", "begin_time": "2022-12-30 17:35:31", "pass_rate": "80.00"}, {"success": 27, "all": 30, "fail": 3, "skip": 0, "error": 0, "runtime": "15.16 S", "begin_time": "2022-12-30 17:39:14", "pass_rate": "90.00"}] | ||
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"}, {"success": 33, "all": 33, "fail": 0, "skip": 0, "error": 0, "runtime": "23.42 S", "begin_time": "2022-12-27 10:13:10", "pass_rate": "100.00"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "3.69 S", "begin_time": "2022-12-27 11:04:21", "pass_rate": "100.00"}, {"success": 1, "all": 15, "fail": 0, "skip": 0, "error": 14, "runtime": "6.81 S", "begin_time": "2022-12-27 11:24:50", "pass_rate": "6.67"}, {"success": 7, "all": 15, "fail": 4, "skip": 0, "error": 4, "runtime": "6.84 S", "begin_time": "2022-12-27 11:29:52", "pass_rate": "46.67"}, {"success": 8, "all": 15, "fail": 5, "skip": 0, "error": 2, "runtime": "7.09 S", "begin_time": "2022-12-27 11:30:59", "pass_rate": "53.33"}, {"success": 9, "all": 15, "fail": 5, "skip": 0, "error": 1, "runtime": "7.83 S", "begin_time": "2022-12-27 11:35:03", "pass_rate": "60.00"}, {"success": 10, "all": 15, "fail": 5, "skip": 0, "error": 0, "runtime": "7.92 S", "begin_time": "2022-12-27 11:36:43", "pass_rate": "66.67"}, {"success": 10, "all": 15, "fail": 5, "skip": 0, "error": 0, "runtime": "7.43 S", "begin_time": "2022-12-27 11:38:30", "pass_rate": "66.67"}, {"success": 15, "all": 20, "fail": 5, "skip": 0, "error": 0, "runtime": "17.49 S", "begin_time": "2022-12-27 13:13:59", "pass_rate": "75.00"}, {"success": 15, "all": 20, "fail": 5, "skip": 0, "error": 0, "runtime": "18.16 S", "begin_time": "2022-12-27 13:14:25", "pass_rate": "75.00"}, {"success": 48, "all": 77, "fail": 10, "skip": 0, "error": 19, "runtime": "164.06 S", "begin_time": "2022-12-27 14:17:07", "pass_rate": "62.34"}, {"success": 48, "all": 77, "fail": 10, "skip": 0, "error": 19, "runtime": "34.83 S", "begin_time": "2022-12-27 14:27:15", "pass_rate": "62.34"}, {"success": 16, "all": 45, "fail": 8, "skip": 0, "error": 21, "runtime": "16.68 S", "begin_time": "2022-12-27 14:37:20", "pass_rate": "35.56"}, {"success": 4, "all": 14, "fail": 3, "skip": 0, "error": 7, "runtime": "4.64 S", "begin_time": "2022-12-27 14:38:18", "pass_rate": "28.57"}, {"success": 4, "all": 14, "fail": 3, "skip": 0, "error": 7, "runtime": "4.41 S", "begin_time": "2022-12-27 14:38:36", "pass_rate": "28.57"}, {"success": 5, "all": 14, "fail": 3, "skip": 0, "error": 6, "runtime": "4.97 S", "begin_time": "2022-12-27 14:40:10", "pass_rate": "35.71"}, {"success": 5, "all": 14, "fail": 4, "skip": 0, "error": 5, "runtime": "5.20 S", "begin_time": "2022-12-27 14:41:31", "pass_rate": "35.71"}, {"success": 5, "all": 14, "fail": 9, "skip": 0, "error": 0, "runtime": "6.57 S", "begin_time": "2022-12-27 14:43:50", "pass_rate": "35.71"}, {"success": 20, "all": 45, "fail": 13, "skip": 0, "error": 12, "runtime": "19.22 S", "begin_time": "2022-12-27 14:45:55", "pass_rate": "44.44"}, {"success": 1, "all": 13, "fail": 1, "skip": 0, "error": 11, "runtime": "3.10 S", "begin_time": "2022-12-27 14:48:00", "pass_rate": "7.69"}, {"success": 1, "all": 13, "fail": 1, "skip": 0, "error": 11, "runtime": "3.07 S", "begin_time": "2022-12-27 14:48:31", "pass_rate": "7.69"}, {"success": 2, "all": 13, "fail": 11, "skip": 0, "error": 0, "runtime": "6.09 S", "begin_time": "2022-12-27 14:49:43", "pass_rate": "15.38"}, {"success": 21, "all": 45, "fail": 24, "skip": 0, "error": 0, "runtime": "25.36 S", "begin_time": "2022-12-27 14:51:21", "pass_rate": "46.67"}, {"success": 51, "all": 77, "fail": 26, "skip": 0, "error": 0, "runtime": "39.21 S", "begin_time": "2022-12-27 14:52:13", "pass_rate": "66.23"}, {"success": 50, "all": 77, "fail": 26, "skip": 0, "error": 1, "runtime": "38.96 S", "begin_time": "2022-12-27 15:07:27", "pass_rate": "64.94"}, {"success": 51, "all": 77, "fail": 26, "skip": 0, "error": 0, "runtime": "79.21 S", "begin_time": "2022-12-27 15:10:37", "pass_rate": "66.23"}, {"success": 53, "all": 77, "fail": 24, "skip": 0, "error": 0, "runtime": "76.66 S", "begin_time": "2022-12-27 15:15:12", "pass_rate": "68.83"}, {"success": 54, "all": 77, "fail": 23, "skip": 0, "error": 0, "runtime": "61.72 S", "begin_time": "2022-12-27 15:17:59", "pass_rate": "70.13"}, {"success": 53, "all": 77, "fail": 23, "skip": 0, "error": 1, "runtime": "39.40 S", "begin_time": "2022-12-27 15:38:19", "pass_rate": "68.83"}, {"success": 34, "all": 77, "fail": 42, "skip": 0, "error": 1, "runtime": "38.39 S", "begin_time": "2022-12-27 18:24:36", "pass_rate": "44.16"}, {"success": 35, "all": 77, "fail": 39, "skip": 0, "error": 3, "runtime": "36.32 S", "begin_time": "2022-12-27 18:30:32", "pass_rate": "45.45"}, {"success": 35, "all": 77, "fail": 42, "skip": 0, "error": 0, "runtime": "73.32 S", "begin_time": "2022-12-27 18:32:59", "pass_rate": "45.45"}, {"success": 63, "all": 77, "fail": 14, "skip": 0, "error": 0, "runtime": "66.47 S", "begin_time": "2022-12-28 09:43:06", "pass_rate": "81.82"}, {"success": 67, "all": 77, "fail": 10, "skip": 0, "error": 0, "runtime": "51.57 S", "begin_time": "2022-12-28 09:53:52", "pass_rate": "87.01"}, {"success": 4, "all": 5, "fail": 1, "skip": 0, "error": 0, "runtime": "7.77 S", "begin_time": "2022-12-28 10:21:49", "pass_rate": "80.00"}, {"success": 68, "all": 77, "fail": 9, "skip": 0, "error": 0, "runtime": "57.32 S", "begin_time": "2022-12-28 10:23:02", "pass_rate": "88.31"}, {"success": 0, "all": 5, "fail": 5, "skip": 0, "error": 0, "runtime": "8.49 S", "begin_time": "2022-12-28 11:00:34", "pass_rate": "0.00"}, {"success": 71, "all": 77, "fail": 6, "skip": 0, "error": 0, "runtime": "54.60 S", "begin_time": "2022-12-28 11:01:43", "pass_rate": "92.21"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "47.77 S", "begin_time": "2022-12-28 11:05:20", "pass_rate": "97.40"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "49.33 S", "begin_time": "2022-12-28 11:40:16", "pass_rate": "100.00"}, {"success": 76, "all": 77, "fail": 1, "skip": 0, "error": 0, "runtime": "40.79 S", "begin_time": "2022-12-28 15:13:17", "pass_rate": "98.70"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "41.11 S", "begin_time": "2022-12-28 15:18:51", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "40.24 S", "begin_time": "2022-12-28 15:21:34", "pass_rate": "100.00"}, {"success": 76, "all": 77, "fail": 1, "skip": 0, "error": 0, "runtime": "40.87 S", "begin_time": "2022-12-28 15:23:06", "pass_rate": "98.70"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "41.54 S", "begin_time": "2022-12-28 15:24:48", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "42.31 S", "begin_time": "2022-12-28 15:28:12", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "40.92 S", "begin_time": "2022-12-28 15:33:51", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "42.46 S", "begin_time": "2022-12-28 15:35:37", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "42.98 S", "begin_time": "2022-12-28 15:39:15", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "41.36 S", "begin_time": "2022-12-28 15:40:57", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "41.38 S", "begin_time": "2022-12-28 15:42:55", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "40.45 S", "begin_time": "2022-12-28 15:44:25", "pass_rate": "97.40"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "40.97 S", "begin_time": "2022-12-28 15:46:12", "pass_rate": "97.40"}, {"success": 73, "all": 77, "fail": 4, "skip": 0, "error": 0, "runtime": "42.81 S", "begin_time": "2022-12-28 15:47:07", "pass_rate": "94.81"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "39.53 S", "begin_time": "2022-12-28 15:50:11", "pass_rate": "100.00"}, {"success": 74, "all": 77, "fail": 3, "skip": 0, "error": 0, "runtime": "43.91 S", "begin_time": "2022-12-28 16:12:34", "pass_rate": "96.10"}, {"success": 74, "all": 77, "fail": 3, "skip": 0, "error": 0, "runtime": "42.36 S", "begin_time": "2022-12-28 16:13:35", "pass_rate": "96.10"}, {"success": 74, "all": 77, "fail": 3, "skip": 0, "error": 0, "runtime": "42.94 S", "begin_time": "2022-12-28 16:14:59", "pass_rate": "96.10"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "46.91 S", "begin_time": "2022-12-28 16:25:35", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "40.87 S", "begin_time": "2022-12-28 16:33:19", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "39.74 S", "begin_time": "2022-12-28 16:39:59", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "47.71 S", "begin_time": "2022-12-28 16:41:45", "pass_rate": "100.00"}, {"success": 75, "all": 77, "fail": 2, "skip": 0, "error": 0, "runtime": "41.14 S", "begin_time": "2022-12-28 16:46:12", "pass_rate": "97.40"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "39.60 S", "begin_time": "2022-12-28 17:10:55", "pass_rate": "100.00"}, {"success": 76, "all": 77, "fail": 1, "skip": 0, "error": 0, "runtime": "44.19 S", "begin_time": "2022-12-28 17:37:41", "pass_rate": "98.70"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "42.35 S", "begin_time": "2022-12-28 17:38:44", "pass_rate": "100.00"}, {"success": 19, "all": 19, "fail": 0, "skip": 0, "error": 0, "runtime": "14.00 S", "begin_time": "2022-12-28 21:58:24", "pass_rate": "100.00"}, {"success": 11, "all": 11, "fail": 0, "skip": 0, "error": 0, "runtime": "11.19 S", "begin_time": "2022-12-28 22:00:20", "pass_rate": "100.00"}, {"success": 23, "all": 23, "fail": 0, "skip": 0, "error": 0, "runtime": "10.85 S", "begin_time": "2022-12-28 22:02:52", "pass_rate": "100.00"}, {"success": 15, "all": 15, "fail": 0, "skip": 0, "error": 0, "runtime": "7.90 S", "begin_time": "2022-12-28 22:05:34", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "41.16 S", "begin_time": "2022-12-29 10:31:09", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "41.76 S", "begin_time": "2022-12-29 11:06:47", "pass_rate": "100.00"}, {"success": 77, "all": 77, "fail": 0, "skip": 0, "error": 0, "runtime": "43.37 S", "begin_time": "2022-12-29 11:36:25", "pass_rate": "100.00"}, {"success": 0, "all": 0, "fail": 0, "skip": 0, "error": 0, "runtime": "1.41 S", "begin_time": "2022-12-29 13:47:58", "pass_rate": 0}, {"success": 0, "all": 1, "fail": 0, "skip": 0, "error": 1, "runtime": "0.94 S", "begin_time": "2022-12-29 13:48:47", "pass_rate": "0.00"}, {"success": 0, "all": 1, "fail": 0, "skip": 0, "error": 1, "runtime": "0.94 S", "begin_time": "2022-12-29 13:49:44", "pass_rate": "0.00"}, {"success": 8, "all": 10, "fail": 2, "skip": 0, "error": 0, "runtime": "4.75 S", "begin_time": "2022-12-29 13:51:43", "pass_rate": "80.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "4.52 S", "begin_time": "2022-12-29 13:53:28", "pass_rate": "90.00"}, {"success": 5, "all": 5, "fail": 0, "skip": 0, "error": 0, "runtime": "1.63 S", "begin_time": "2022-12-29 13:58:16", "pass_rate": "100.00"}, {"success": 0, "all": 1, "fail": 0, "skip": 0, "error": 1, "runtime": "1.02 S", "begin_time": "2022-12-29 14:03:56", "pass_rate": "0.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "4.69 S", "begin_time": "2022-12-29 14:06:30", "pass_rate": "90.00"}, {"success": 0, "all": 1, "fail": 0, "skip": 0, "error": 1, "runtime": "0.01 S", "begin_time": "2022-12-29 14:11:02", "pass_rate": "0.00"}, {"success": 8, "all": 10, "fail": 1, "skip": 0, "error": 1, "runtime": "4.29 S", "begin_time": "2022-12-29 14:11:56", "pass_rate": "80.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "6.62 S", "begin_time": "2022-12-29 14:13:24", "pass_rate": "90.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "6.26 S", "begin_time": "2022-12-29 14:15:09", "pass_rate": "90.00"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "6.22 S", "begin_time": "2022-12-29 14:19:08", "pass_rate": "90.00"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "47.59 S", "begin_time": "2022-12-29 14:20:20", "pass_rate": "98.81"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "47.76 S", "begin_time": "2022-12-29 14:35:17", "pass_rate": "98.81"}, {"success": 81, "all": 84, "fail": 3, "skip": 0, "error": 0, "runtime": "47.89 S", "begin_time": "2022-12-29 15:32:18", "pass_rate": "96.43"}, {"success": 82, "all": 84, "fail": 2, "skip": 0, "error": 0, "runtime": "50.49 S", "begin_time": "2022-12-29 17:06:12", "pass_rate": "97.62"}, {"success": 82, "all": 84, "fail": 2, "skip": 0, "error": 0, "runtime": "54.94 S", "begin_time": "2022-12-29 17:43:04", "pass_rate": "97.62"}, {"success": 9, "all": 10, "fail": 1, "skip": 0, "error": 0, "runtime": "6.58 S", "begin_time": "2022-12-29 17:51:39", "pass_rate": "90.00"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "48.80 S", "begin_time": "2022-12-29 17:52:42", "pass_rate": "98.81"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "47.63 S", "begin_time": "2022-12-29 17:54:56", "pass_rate": "98.81"}, {"success": 83, "all": 84, "fail": 1, "skip": 0, "error": 0, "runtime": "47.44 S", "begin_time": "2022-12-29 17:56:51", "pass_rate": "98.81"}, {"success": 90, "all": 91, "fail": 1, "skip": 0, "error": 0, "runtime": "50.78 S", "begin_time": "2022-12-29 18:06:22", "pass_rate": "98.90"}, {"success": 1, "all": 2, "fail": 1, "skip": 0, "error": 0, "runtime": "5.88 S", "begin_time": "2022-12-30 13:53:38", "pass_rate": "50.00"}, {"success": 1, "all": 2, "fail": 1, "skip": 0, "error": 0, "runtime": "5.85 S", "begin_time": "2022-12-30 13:53:54", "pass_rate": "50.00"}, {"success": 0, "all": 2, "fail": 0, "skip": 0, "error": 2, "runtime": "5.14 S", "begin_time": "2022-12-30 14:03:29", "pass_rate": "0.00"}, {"success": 1, "all": 2, "fail": 1, "skip": 0, "error": 0, "runtime": "6.51 S", "begin_time": "2022-12-30 14:05:52", "pass_rate": "50.00"}, {"success": 9, "all": 30, "fail": 14, "skip": 0, "error": 7, "runtime": "14.13 S", "begin_time": "2022-12-30 15:04:47", "pass_rate": "30.00"}, {"success": 9, "all": 30, "fail": 14, "skip": 0, "error": 7, "runtime": "13.47 S", "begin_time": "2022-12-30 15:10:08", "pass_rate": "30.00"}, {"success": 13, "all": 30, "fail": 10, "skip": 0, "error": 7, "runtime": "13.12 S", "begin_time": "2022-12-30 15:19:55", "pass_rate": "43.33"}, {"success": 13, "all": 30, "fail": 10, "skip": 0, "error": 7, "runtime": "13.59 S", "begin_time": "2022-12-30 15:23:43", "pass_rate": "43.33"}, {"success": 14, "all": 30, "fail": 16, "skip": 0, "error": 0, "runtime": "15.90 S", "begin_time": "2022-12-30 15:31:30", "pass_rate": "46.67"}, {"success": 4, "all": 30, "fail": 26, "skip": 0, "error": 0, "runtime": "13.36 S", "begin_time": "2022-12-30 15:53:15", "pass_rate": "13.33"}, {"success": 97, "all": 121, "fail": 24, "skip": 0, "error": 0, "runtime": "97.81 S", "begin_time": "2022-12-30 15:59:28", "pass_rate": "80.17"}, {"success": 9, "all": 30, "fail": 21, "skip": 0, "error": 0, "runtime": "19.76 S", "begin_time": "2022-12-30 16:21:24", "pass_rate": "30.00"}, {"success": 9, "all": 30, "fail": 21, "skip": 0, "error": 0, "runtime": "16.73 S", "begin_time": "2022-12-30 16:23:19", "pass_rate": "30.00"}, {"success": 9, "all": 30, "fail": 21, "skip": 0, "error": 0, "runtime": "12.78 S", "begin_time": "2022-12-30 16:25:42", "pass_rate": "30.00"}, {"success": 99, "all": 121, "fail": 22, "skip": 0, "error": 0, "runtime": "67.08 S", "begin_time": "2022-12-30 17:11:04", "pass_rate": "81.82"}, {"success": 9, "all": 30, "fail": 21, "skip": 0, "error": 0, "runtime": "12.29 S", "begin_time": "2022-12-30 17:21:00", "pass_rate": "30.00"}, {"success": 24, "all": 30, "fail": 6, "skip": 0, "error": 0, "runtime": "18.88 S", "begin_time": "2022-12-30 17:35:31", "pass_rate": "80.00"}, {"success": 27, "all": 30, "fail": 3, "skip": 0, "error": 0, "runtime": "15.16 S", "begin_time": "2022-12-30 17:39:14", "pass_rate": "90.00"}, {"success": 119, "all": 121, "fail": 2, "skip": 0, "error": 0, "runtime": "69.70 S", "begin_time": "2022-12-30 18:34:27", "pass_rate": "98.35"}, {"success": 118, "all": 121, "fail": 2, "skip": 0, "error": 1, "runtime": "62.75 S", "begin_time": "2022-12-30 18:37:38", "pass_rate": "97.52"}, {"success": 21, "all": 32, "fail": 0, "skip": 0, "error": 11, "runtime": "94.84 S", "begin_time": "2022-12-30 18:39:42", "pass_rate": "65.62"}, {"success": 118, "all": 121, "fail": 2, "skip": 0, "error": 1, "runtime": "63.49 S", "begin_time": "2022-12-30 18:49:32", "pass_rate": "97.52"}, {"success": 117, "all": 121, "fail": 2, "skip": 0, "error": 2, "runtime": "60.90 S", "begin_time": "2022-12-30 18:57:05", "pass_rate": "96.69"}, {"success": 119, "all": 121, "fail": 2, "skip": 0, "error": 0, "runtime": "61.76 S", "begin_time": "2022-12-30 18:59:07", "pass_rate": "98.35"}, {"success": 29, "all": 30, "fail": 1, "skip": 0, "error": 0, "runtime": "16.23 S", "begin_time": "2022-12-30 19:03:57", "pass_rate": "96.67"}, {"success": 118, "all": 121, "fail": 3, "skip": 0, "error": 0, "runtime": "77.36 S", "begin_time": "2022-12-30 19:12:30", "pass_rate": "97.52"}, {"success": 120, "all": 121, "fail": 1, "skip": 0, "error": 0, "runtime": "64.02 S", "begin_time": "2023-01-03 09:58:12", "pass_rate": "99.17"}, {"success": 29, "all": 31, "fail": 2, "skip": 0, "error": 0, "runtime": "19.17 S", "begin_time": "2023-01-03 14:51:07", "pass_rate": "93.55"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "6.57 S", "begin_time": "2023-01-03 16:44:14", "pass_rate": "100.00"}, {"success": 120, "all": 123, "fail": 2, "skip": 0, "error": 1, "runtime": "72.88 S", "begin_time": "2023-01-04 14:33:09", "pass_rate": "97.56"}, {"success": 121, "all": 122, "fail": 1, "skip": 0, "error": 0, "runtime": "69.55 S", "begin_time": "2023-01-04 14:37:25", "pass_rate": "99.18"}, {"success": 121, "all": 124, "fail": 2, "skip": 0, "error": 1, "runtime": "69.43 S", "begin_time": "2023-01-04 14:51:24", "pass_rate": "97.58"}, {"success": 4, "all": 29, "fail": 1, "skip": 0, "error": 24, "runtime": "26.23 S", "begin_time": "2023-01-04 15:56:34", "pass_rate": "13.79"}, {"success": 10, "all": 29, "fail": 19, "skip": 0, "error": 0, "runtime": "39.22 S", "begin_time": "2023-01-04 15:58:49", "pass_rate": "34.48"}, {"success": 12, "all": 25, "fail": 13, "skip": 0, "error": 0, "runtime": "29.73 S", "begin_time": "2023-01-04 16:03:38", "pass_rate": "48.00"}, {"success": 133, "all": 147, "fail": 14, "skip": 0, "error": 0, "runtime": "100.91 S", "begin_time": "2023-01-04 16:05:00", "pass_rate": "90.48"}, {"success": 133, "all": 147, "fail": 14, "skip": 0, "error": 0, "runtime": "95.05 S", "begin_time": "2023-01-04 16:08:59", "pass_rate": "90.48"}, {"success": 31, "all": 31, "fail": 0, "skip": 0, "error": 0, "runtime": "15.34 S", "begin_time": "2023-01-04 16:38:21", "pass_rate": "100.00"}, {"success": 134, "all": 147, "fail": 13, "skip": 0, "error": 0, "runtime": "92.04 S", "begin_time": "2023-01-04 16:39:21", "pass_rate": "91.16"}, {"success": 135, "all": 147, "fail": 12, "skip": 0, "error": 0, "runtime": "98.78 S", "begin_time": "2023-01-04 16:55:38", "pass_rate": "91.84"}, {"success": 17, "all": 25, "fail": 8, "skip": 0, "error": 0, "runtime": "22.40 S", "begin_time": "2023-01-04 17:01:15", "pass_rate": "68.00"}, {"success": 17, "all": 25, "fail": 8, "skip": 0, "error": 0, "runtime": "28.06 S", "begin_time": "2023-01-04 17:48:20", "pass_rate": "68.00"}, {"success": 18, "all": 25, "fail": 7, "skip": 0, "error": 0, "runtime": "25.34 S", "begin_time": "2023-01-04 17:54:04", "pass_rate": "72.00"}, {"success": 18, "all": 25, "fail": 6, "skip": 0, "error": 1, "runtime": "20.50 S", "begin_time": "2023-01-04 17:55:48", "pass_rate": "72.00"}, {"success": 18, "all": 25, "fail": 7, "skip": 0, "error": 0, "runtime": "21.54 S", "begin_time": "2023-01-04 17:58:17", "pass_rate": "72.00"}, {"success": 18, "all": 25, "fail": 6, "skip": 0, "error": 1, "runtime": "20.76 S", "begin_time": "2023-01-04 18:00:04", "pass_rate": "72.00"}, {"success": 18, "all": 25, "fail": 6, "skip": 0, "error": 1, "runtime": "22.06 S", "begin_time": "2023-01-04 18:01:04", "pass_rate": "72.00"}, {"success": 0, "all": 1, "fail": 1, "skip": 0, "error": 0, "runtime": "4.37 S", "begin_time": "2023-01-04 18:03:58", "pass_rate": "0.00"}, {"success": 0, "all": 22, "fail": 1, "skip": 0, "error": 21, "runtime": "2.78 S", "begin_time": "2023-01-04 18:04:32", "pass_rate": "0.00"}, {"success": 0, "all": 22, "fail": 1, "skip": 0, "error": 21, "runtime": "5.08 S", "begin_time": "2023-01-04 18:04:48", "pass_rate": "0.00"}, {"success": 0, "all": 22, "fail": 1, "skip": 0, "error": 21, "runtime": "2.76 S", "begin_time": "2023-01-04 18:05:29", "pass_rate": "0.00"}, {"success": 0, "all": 22, "fail": 1, "skip": 0, "error": 21, "runtime": "17.05 S", "begin_time": "2023-01-04 18:05:48", "pass_rate": "0.00"}, {"success": 0, "all": 22, "fail": 1, "skip": 0, "error": 21, "runtime": "3.09 S", "begin_time": "2023-01-04 18:07:06", "pass_rate": "0.00"}, {"success": 0, "all": 22, "fail": 1, "skip": 0, "error": 21, "runtime": "2.75 S", "begin_time": "2023-01-04 18:07:44", "pass_rate": "0.00"}, {"success": 0, "all": 22, "fail": 1, "skip": 0, "error": 21, "runtime": "2.96 S", "begin_time": "2023-01-04 18:08:17", "pass_rate": "0.00"}, {"success": 0, "all": 1, "fail": 1, "skip": 0, "error": 0, "runtime": "7.34 S", "begin_time": "2023-01-04 18:14:28", "pass_rate": "0.00"}, {"success": 19, "all": 25, "fail": 6, "skip": 0, "error": 0, "runtime": "12.06 S", "begin_time": "2023-01-04 18:17:02", "pass_rate": "76.00"}, {"success": 19, "all": 25, "fail": 6, "skip": 0, "error": 0, "runtime": "11.88 S", "begin_time": "2023-01-04 18:18:52", "pass_rate": "76.00"}, {"success": 19, "all": 25, "fail": 6, "skip": 0, "error": 0, "runtime": "11.68 S", "begin_time": "2023-01-04 18:20:14", "pass_rate": "76.00"}, {"success": 19, "all": 25, "fail": 6, "skip": 0, "error": 0, "runtime": "12.14 S", "begin_time": "2023-01-04 18:22:05", "pass_rate": "76.00"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "79.46 S", "begin_time": "2023-01-05 10:13:52", "pass_rate": "97.28"}, {"success": 142, "all": 147, "fail": 5, "skip": 0, "error": 0, "runtime": "74.37 S", "begin_time": "2023-01-05 10:49:16", "pass_rate": "96.60"}] |
此 diff 太大无法显示。
此 diff 太大无法显示。
@@ -12,26 +12,24 @@ from common.handle_config import conf | @@ -12,26 +12,24 @@ from common.handle_config import conf | ||
12 | from testcase.test_01_login import TestLogin | 12 | from testcase.test_01_login import TestLogin |
13 | from testcase.test_02_system_management import Test01Department, Test02Specialty, Test03Year | 13 | from testcase.test_02_system_management import Test01Department, Test02Specialty, Test03Year |
14 | from testcase.test_03_teaching_affairs import Test01Teacher, Test02Class, Test03Course, Test04Student | 14 | from testcase.test_03_teaching_affairs import Test01Teacher, Test02Class, Test03Course, Test04Student |
15 | -from testcase.test_04_Internship_preparation import Test01InternshipPlan | ||
16 | - | ||
17 | - | 15 | +from testcase.test_04_Internship_preparation import Test01InternshipPlan, Test02InternshipProject |
18 | 16 | ||
19 | """ | 17 | """ |
20 | 执行所有用例 | 18 | 执行所有用例 |
21 | """ | 19 | """ |
22 | -# # 创建测试套件 | ||
23 | -# suite = unittest.TestSuite() | ||
24 | -# # 加载用例 | ||
25 | -# # ---创建加载器 | ||
26 | -# load = unittest.TestLoader() | ||
27 | -# # ---用例放到加载器 | ||
28 | -# suite.addTest(load.discover(TestCase_Path)) | 20 | +# 创建测试套件 |
21 | +suite = unittest.TestSuite() | ||
22 | +# 加载用例 | ||
23 | +# ---创建加载器 | ||
24 | +load = unittest.TestLoader() | ||
25 | +# ---用例放到加载器 | ||
26 | +suite.addTest(load.discover(TestCase_Path)) | ||
29 | """ | 27 | """ |
30 | 执行单独模块用例 | 28 | 执行单独模块用例 |
31 | """ | 29 | """ |
32 | -a = unittest.TestLoader().loadTestsFromTestCase(Test01InternshipPlan) | ||
33 | -# b = unittest.TestLoader().loadTestsFromTestCase(Test03Year) | ||
34 | -suite = unittest.TestSuite([a]) | 30 | +# a = unittest.TestLoader().loadTestsFromTestCase(Test02InternshipProject) |
31 | +# # b = unittest.TestLoader().loadTestsFromTestCase(Test03Year) | ||
32 | +# suite = unittest.TestSuite([a]) | ||
35 | 33 | ||
36 | # # 运行 | 34 | # # 运行 |
37 | runner = TestRunner(suite=suite, | 35 | runner = TestRunner(suite=suite, |
@@ -60,10 +58,10 @@ runner.run() | @@ -60,10 +58,10 @@ runner.run() | ||
60 | """ | 58 | """ |
61 | 发送邮件 | 59 | 发送邮件 |
62 | """ | 60 | """ |
63 | -# runner.send_email(host="smtp.qq.com", | ||
64 | -# port=465, | ||
65 | -# user="shishut@foxmail.com", | ||
66 | -# password="uwgmbvzjfscqbeeh", | ||
67 | -# to_addrs=["shishut@workai.com.cn"] | ||
68 | -# # to_addrs=["shishut@workai.com.cn", "wangf@workai.com.cn"] | ||
69 | -# ) | 61 | +runner.send_email(host="smtp.qq.com", |
62 | + port=465, | ||
63 | + user="shishut@foxmail.com", | ||
64 | + password="uwgmbvzjfscqbeeh", | ||
65 | + to_addrs=["shishut@workai.com.cn"] | ||
66 | + # to_addrs=["shishut@workai.com.cn", "wangf@workai.com.cn"] | ||
67 | + ) |
@@ -304,7 +304,7 @@ class Test04Student(unittest.TestCase): | @@ -304,7 +304,7 @@ class Test04Student(unittest.TestCase): | ||
304 | # 获取token | 304 | # 获取token |
305 | cls.token = LoginToken.login_token() | 305 | cls.token = LoginToken.login_token() |
306 | 306 | ||
307 | - # ---获取添加学生Excel表格 | 307 | + # ---获取添加院系Excel表格 |
308 | select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | 308 | select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), |
309 | "select_department") | 309 | "select_department") |
310 | read_department_excel = select_department_excel.read_excel_location("C2") | 310 | read_department_excel = select_department_excel.read_excel_location("C2") |
@@ -26,9 +26,13 @@ from tools.handle_token import LoginToken | @@ -26,9 +26,13 @@ from tools.handle_token import LoginToken | ||
26 | # ==================实习计划相关的用例================== | 26 | # ==================实习计划相关的用例================== |
27 | @ddt | 27 | @ddt |
28 | class Test01InternshipPlan(unittest.TestCase): | 28 | class Test01InternshipPlan(unittest.TestCase): |
29 | - add_plan = Excel(os.path.join(Internship_path, "test_04_internship_plan.xlsx"), "add_internship_plan") | 29 | + add_plan = Excel(os.path.join(Internship_path, "test_04_internship_plan.xlsx"), "add_internship_plan") # 新增计划Excel |
30 | add_plan_case = add_plan.read_excel() | 30 | add_plan_case = add_plan.read_excel() |
31 | 31 | ||
32 | + publish_plan = Excel(os.path.join(Internship_path, "test_04_internship_plan.xlsx"), | ||
33 | + "publish_internship_plan") # 发布计划Excel | ||
34 | + publish_plan_case = publish_plan.read_excel() | ||
35 | + | ||
32 | @classmethod | 36 | @classmethod |
33 | def setUpClass(cls): | 37 | def setUpClass(cls): |
34 | # 获取登陆token | 38 | # 获取登陆token |
@@ -75,6 +79,15 @@ class Test01InternshipPlan(unittest.TestCase): | @@ -75,6 +79,15 @@ class Test01InternshipPlan(unittest.TestCase): | ||
75 | term_list = SelectData(str(read_term_excel)) | 79 | term_list = SelectData(str(read_term_excel)) |
76 | term_json = term_list.select_list() | 80 | term_json = term_list.select_list() |
77 | cls.termsId = term_json["data"]["records"][0]["terms"][0]["id"] # 获取学年学期id | 81 | cls.termsId = term_json["data"]["records"][0]["terms"][0]["id"] # 获取学年学期id |
82 | + # ---获取计划id | ||
83 | + select_plan_excel = Excel(os.path.join(Internship_path, "test_04_internship_plan.xlsx"), | ||
84 | + "select_internship_plan") | ||
85 | + read_plan_excel = select_plan_excel.read_excel_location("C2") | ||
86 | + read_plan_excel_d = select_plan_excel.read_excel_location("E2") # 读取params | ||
87 | + plan_list = SelectData(str(read_plan_excel), json.loads(read_plan_excel_d)) | ||
88 | + plan_json = plan_list.select_list() | ||
89 | + # cls.planId = jsonpath(plan_json, "$..id")[:2] # 获取待发布计划id | ||
90 | + cls.planId = jsonpath(plan_json, "$..id")[0] # 获取待发布计划id | ||
78 | 91 | ||
79 | def setUp(self): | 92 | def setUp(self): |
80 | """单条用例执行前执行的函数""" | 93 | """单条用例执行前执行的函数""" |
@@ -132,3 +145,128 @@ class Test01InternshipPlan(unittest.TestCase): | @@ -132,3 +145,128 @@ class Test01InternshipPlan(unittest.TestCase): | ||
132 | # 将创建使用的数据写入到excel表格中 | 145 | # 将创建使用的数据写入到excel表格中 |
133 | self.add_plan.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | 146 | self.add_plan.write_excel(row=case["id"] + 1, column=9, value=case["data"]) |
134 | HandleLog.log.info("用例{},执行通过".format(case["title"])) | 147 | HandleLog.log.info("用例{},执行通过".format(case["title"])) |
148 | + | ||
149 | + # ==================================================================== | ||
150 | + # 发布计划 | ||
151 | + # ==================================================================== | ||
152 | + @data(*publish_plan_case) | ||
153 | + def test_publish_plan(self, case): | ||
154 | + """发布计划用例""" | ||
155 | + url = conf.get("url", "url_ip") + case["url"] | ||
156 | + | ||
157 | + # 准备数据 | ||
158 | + if "#ids#" in case["data"]: | ||
159 | + case["data"] = case["data"].replace("#ids#", str(self.planId)) # 计划id | ||
160 | + data = json.loads(case["data"]) | ||
161 | + expected = json.loads(case["expected"]) | ||
162 | + # 调用接口 | ||
163 | + herders = {} | ||
164 | + herders["Authorization"] = self.token | ||
165 | + # 调用接口 | ||
166 | + response = requests.request(url=url, method=case["method"], json=data, headers=herders) | ||
167 | + res = response.json() | ||
168 | + print("用例入参:{}".format(data)) | ||
169 | + print("预期结果:", expected) | ||
170 | + print("实际结果:", res) | ||
171 | + # 断言 | ||
172 | + try: | ||
173 | + self.assertEqual(expected['msg'], res['msg']) | ||
174 | + self.assertEqual(expected['code'], res['code']) | ||
175 | + except AssertionError as e: | ||
176 | + # 写入Excel | ||
177 | + self.publish_plan.write_excel(row=case["id"] + 1, column=7, value="不通过") | ||
178 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
179 | + HandleLog.log.exception(e) | ||
180 | + raise e | ||
181 | + else: | ||
182 | + self.publish_plan.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
183 | + # 将创建使用的数据写入到excel表格中 | ||
184 | + self.add_plan.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
185 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
186 | + | ||
187 | + | ||
188 | +# ==================实习项目相关的用例================== | ||
189 | +@ddt | ||
190 | +class Test02InternshipProject(unittest.TestCase): | ||
191 | + add_project = Excel(os.path.join(Internship_path, "test_05_internship_project.xlsx"), | ||
192 | + "add_internship_project") # 新增项目Excel | ||
193 | + add_project_case = add_project.read_excel() | ||
194 | + | ||
195 | + @classmethod | ||
196 | + def setUpClass(cls): | ||
197 | + # 获取登陆token | ||
198 | + cls.token = LoginToken.login_token() | ||
199 | + # ---获取已经发布的计划id | ||
200 | + select_plan_excel = Excel(os.path.join(Internship_path, "test_04_internship_plan.xlsx"), | ||
201 | + "select_internship_plan") | ||
202 | + read_plan_excel = select_plan_excel.read_excel_location("C3") | ||
203 | + plan_list = SelectData(str(read_plan_excel)) | ||
204 | + plan_json = plan_list.select_list() | ||
205 | + cls.planId = jsonpath(plan_json, "$..id")[0] # 获取已经发布的计划id | ||
206 | + | ||
207 | + # ---获取教师id | ||
208 | + select_teacher_excel = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), | ||
209 | + "select_teacher") | ||
210 | + read_teacher_excel = select_teacher_excel.read_excel_location("C2") | ||
211 | + teacher_list = SelectData(str(read_teacher_excel)) | ||
212 | + teacher_json = teacher_list.select_list() | ||
213 | + cls.teacherId = jsonpath(teacher_json, "$..id")[0] # 获取教师id | ||
214 | + | ||
215 | + # ---获取学生id | ||
216 | + select_student_excel = Excel(os.path.join(TeachingAffairs_path, "test_03_student.xlsx"), | ||
217 | + "select_student") | ||
218 | + read_student_excel = select_student_excel.read_excel_location("C2") | ||
219 | + student_list = SelectData(str(read_student_excel)) | ||
220 | + student_json = student_list.select_list() | ||
221 | + cls.studentId = jsonpath(student_json, "$..id")[0] # 获取学生id | ||
222 | + | ||
223 | + def setUp(self): | ||
224 | + """单条用例执行前执行的函数""" | ||
225 | + new_time = time.strftime("%Y%m%d_%H:%M:%S") | ||
226 | + # 随机计划名称 | ||
227 | + self.name = "py自动化项目" + new_time | ||
228 | + | ||
229 | + # ==================================================================== | ||
230 | + # 新增项目 | ||
231 | + # ==================================================================== | ||
232 | + @data(*add_project_case) | ||
233 | + def test_add_project(self, case): | ||
234 | + """新增项目用例""" | ||
235 | + url = conf.get("url", "url_ip") + case["url"] | ||
236 | + # 准备数据 | ||
237 | + if "#name#" in case["data"]: | ||
238 | + case["data"] = case["data"].replace("#name#", str(self.name + "_" + str(case["id"]))) # 名称 | ||
239 | + if "#planid#" in case["data"]: | ||
240 | + case["data"] = case["data"].replace("#planid#", str(self.planId)) # 已经发布的计划id | ||
241 | + if "#teacherId#" in case["data"]: | ||
242 | + case["data"] = case["data"].replace("#teacherId#", str(self.teacherId)) # 教师id | ||
243 | + if "#students#" in case["data"]: | ||
244 | + case["data"] = case["data"].replace("#students#", str(self.studentId)) # 学生id | ||
245 | + | ||
246 | + # 准备数据 | ||
247 | + data = json.loads(case["data"]) | ||
248 | + expected = json.loads(case["expected"]) | ||
249 | + # 调用接口 | ||
250 | + herders = {} | ||
251 | + herders["Authorization"] = self.token | ||
252 | + # 调用接口 | ||
253 | + response = requests.request(url=url, method=case["method"], json=data, headers=herders) | ||
254 | + res = response.json() | ||
255 | + print("用例入参:{}".format(data)) | ||
256 | + print("预期结果:", expected) | ||
257 | + print("实际结果:", res) | ||
258 | + # 断言 | ||
259 | + try: | ||
260 | + self.assertEqual(expected['msg'], res['msg']) | ||
261 | + self.assertEqual(expected['code'], res['code']) | ||
262 | + except AssertionError as e: | ||
263 | + # 写入Excel | ||
264 | + self.add_project.write_excel(row=case["id"] + 1, column=7, value="不通过") | ||
265 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
266 | + HandleLog.log.exception(e) | ||
267 | + raise e | ||
268 | + else: | ||
269 | + self.add_project.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
270 | + # 将创建使用的数据写入到excel表格中 | ||
271 | + self.add_project.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
272 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) |
@@ -8,6 +8,7 @@ | @@ -8,6 +8,7 @@ | ||
8 | """ | 8 | """ |
9 | 获取查看数据 | 9 | 获取查看数据 |
10 | """ | 10 | """ |
11 | +import json | ||
11 | import random | 12 | import random |
12 | import string | 13 | import string |
13 | 14 | ||
@@ -22,18 +23,16 @@ import random | @@ -22,18 +23,16 @@ import random | ||
22 | 23 | ||
23 | # ==================获取json字符串========== | 24 | # ==================获取json字符串========== |
24 | class SelectData(object): | 25 | class SelectData(object): |
25 | - def __init__(self, url): | 26 | + def __init__(self, url, data={"pageNumber": "1", "pageSize": "20"}): |
26 | self.url = url | 27 | self.url = url |
28 | + self.data = data | ||
27 | 29 | ||
28 | # 倒序查找返回json | 30 | # 倒序查找返回json |
29 | def select_list(self): | 31 | def select_list(self): |
30 | self.url = conf.get('url', 'url_ip') + self.url | 32 | self.url = conf.get('url', 'url_ip') + self.url |
31 | headers = {} | 33 | headers = {} |
32 | headers["Authorization"] = LoginToken.login_token() | 34 | headers["Authorization"] = LoginToken.login_token() |
33 | - data = { | ||
34 | - "pageNumber": "1", | ||
35 | - "pageSize": "20" | ||
36 | - } | 35 | + data = self.data |
37 | response = requests.request(url=self.url, method="get", params=data, headers=headers) | 36 | response = requests.request(url=self.url, method="get", params=data, headers=headers) |
38 | res = response.json() | 37 | res = response.json() |
39 | return res | 38 | return res |
@@ -117,6 +116,6 @@ class RandomEmail(object): | @@ -117,6 +116,6 @@ class RandomEmail(object): | ||
117 | 116 | ||
118 | 117 | ||
119 | if __name__ == '__main__': | 118 | if __name__ == '__main__': |
120 | - print(RandomIdentification().ran_end()) | 119 | + print(RandomIdentification().ran()) |
121 | # Val(Ran().ran_end()) | 120 | # Val(Ran().ran_end()) |
122 | # RandomEmail.rand_email() | 121 | # RandomEmail.rand_email() |
请
注册
或
登录
后发表评论