正在显示
19 个修改的文件
包含
95 行增加
和
50 行删除
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.5 1.优化"> | 4 | + <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="版本:1.0.6 1.支持单独模块用例的执行"> |
5 | + <change afterPath="$PROJECT_DIR$/data/Internship_preparation/test_04_internship_plan.xlsx" afterDir="false" /> | ||
6 | + <change afterPath="$PROJECT_DIR$/testcase/test_04_Internship_preparation.py" afterDir="false" /> | ||
5 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | 7 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |
6 | <change beforePath="$PROJECT_DIR$/conf/config.ini" beforeDir="false" afterPath="$PROJECT_DIR$/conf/config.ini" afterDir="false" /> | 8 | <change beforePath="$PROJECT_DIR$/conf/config.ini" beforeDir="false" afterPath="$PROJECT_DIR$/conf/config.ini" afterDir="false" /> |
7 | <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" /> |
@@ -15,6 +17,10 @@ | @@ -15,6 +17,10 @@ | ||
15 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> | 17 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> |
16 | <change beforePath="$PROJECT_DIR$/report/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report.html" afterDir="false" /> | 18 | <change beforePath="$PROJECT_DIR$/report/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report.html" afterDir="false" /> |
17 | <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> | 19 | <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$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> | ||
23 | + <change beforePath="$PROJECT_DIR$/tools/handle_token.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/handle_token.py" afterDir="false" /> | ||
18 | </list> | 24 | </list> |
19 | <option name="SHOW_DIALOG" value="false" /> | 25 | <option name="SHOW_DIALOG" value="false" /> |
20 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> | 26 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
@@ -57,11 +63,12 @@ | @@ -57,11 +63,12 @@ | ||
57 | <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> | 63 | <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> |
58 | <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> | 64 | <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> |
59 | <property name="WebServerToolWindowFactoryState" value="false" /> | 65 | <property name="WebServerToolWindowFactoryState" value="false" /> |
60 | - <property name="last_opened_file_path" value="$PROJECT_DIR$/data/teaching_affairs" /> | 66 | + <property name="last_opened_file_path" value="$PROJECT_DIR$/data/Internship_preparation" /> |
61 | <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> | 67 | <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> |
62 | </component> | 68 | </component> |
63 | <component name="RecentsManager"> | 69 | <component name="RecentsManager"> |
64 | <key name="CopyFile.RECENT_KEYS"> | 70 | <key name="CopyFile.RECENT_KEYS"> |
71 | + <recent name="$PROJECT_DIR$/data/Internship_preparation" /> | ||
65 | <recent name="$PROJECT_DIR$/data/teaching_affairs" /> | 72 | <recent name="$PROJECT_DIR$/data/teaching_affairs" /> |
66 | <recent name="$PROJECT_DIR$/tools" /> | 73 | <recent name="$PROJECT_DIR$/tools" /> |
67 | </key> | 74 | </key> |
@@ -166,8 +173,8 @@ | @@ -166,8 +173,8 @@ | ||
166 | <recent_temporary> | 173 | <recent_temporary> |
167 | <list> | 174 | <list> |
168 | <item itemvalue="Python.run" /> | 175 | <item itemvalue="Python.run" /> |
169 | - <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> | ||
170 | <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | 176 | <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> |
177 | + <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> | ||
171 | <item itemvalue="Python.fixture (1)" /> | 178 | <item itemvalue="Python.fixture (1)" /> |
172 | <item itemvalue="Python tests.Unittests in test_01_login.py" /> | 179 | <item itemvalue="Python tests.Unittests in test_01_login.py" /> |
173 | </list> | 180 | </list> |
@@ -192,7 +199,8 @@ | @@ -192,7 +199,8 @@ | ||
192 | <workItem from="1672107155517" duration="12595000" /> | 199 | <workItem from="1672107155517" duration="12595000" /> |
193 | <workItem from="1672129396493" duration="4038000" /> | 200 | <workItem from="1672129396493" duration="4038000" /> |
194 | <workItem from="1672191767788" duration="18977000" /> | 201 | <workItem from="1672191767788" duration="18977000" /> |
195 | - <workItem from="1672235367588" duration="892000" /> | 202 | + <workItem from="1672235367588" duration="1605000" /> |
203 | + <workItem from="1672280816359" duration="13561000" /> | ||
196 | </task> | 204 | </task> |
197 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> | 205 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> |
198 | <created>1671544396986</created> | 206 | <created>1671544396986</created> |
@@ -264,7 +272,14 @@ | @@ -264,7 +272,14 @@ | ||
264 | <option name="project" value="LOCAL" /> | 272 | <option name="project" value="LOCAL" /> |
265 | <updated>1672219960514</updated> | 273 | <updated>1672219960514</updated> |
266 | </task> | 274 | </task> |
267 | - <option name="localTasksCounter" value="11" /> | 275 | + <task id="LOCAL-00011" summary="版本:1.0.6 1.支持单独模块用例的执行"> |
276 | + <created>1672236669681</created> | ||
277 | + <option name="number" value="00011" /> | ||
278 | + <option name="presentableId" value="LOCAL-00011" /> | ||
279 | + <option name="project" value="LOCAL" /> | ||
280 | + <updated>1672236669681</updated> | ||
281 | + </task> | ||
282 | + <option name="localTasksCounter" value="12" /> | ||
268 | <servers /> | 283 | <servers /> |
269 | </component> | 284 | </component> |
270 | <component name="TypeScriptGeneratedFilesManager"> | 285 | <component name="TypeScriptGeneratedFilesManager"> |
@@ -305,7 +320,8 @@ | @@ -305,7 +320,8 @@ | ||
305 | <MESSAGE value="版本:1.0.5 1.新增发送钉钉" /> | 320 | <MESSAGE value="版本:1.0.5 1.新增发送钉钉" /> |
306 | <MESSAGE value="版本:1.0.5 1.md文档更新" /> | 321 | <MESSAGE value="版本:1.0.5 1.md文档更新" /> |
307 | <MESSAGE value="版本:1.0.5 1.优化" /> | 322 | <MESSAGE value="版本:1.0.5 1.优化" /> |
308 | - <option name="LAST_COMMIT_MESSAGE" value="版本:1.0.5 1.优化" /> | 323 | + <MESSAGE value="版本:1.0.6 1.支持单独模块用例的执行" /> |
324 | + <option name="LAST_COMMIT_MESSAGE" value="版本:1.0.6 1.支持单独模块用例的执行" /> | ||
309 | </component> | 325 | </component> |
310 | <component name="XDebuggerManager"> | 326 | <component name="XDebuggerManager"> |
311 | <breakpoint-manager> | 327 | <breakpoint-manager> |
@@ -347,11 +363,6 @@ | @@ -347,11 +363,6 @@ | ||
347 | </line-breakpoint> | 363 | </line-breakpoint> |
348 | <line-breakpoint suspend="THREAD" type="python-line"> | 364 | <line-breakpoint suspend="THREAD" type="python-line"> |
349 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | 365 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
350 | - <line>177</line> | ||
351 | - <option name="timeStamp" value="24" /> | ||
352 | - </line-breakpoint> | ||
353 | - <line-breakpoint suspend="THREAD" type="python-line"> | ||
354 | - <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | ||
355 | <line>175</line> | 366 | <line>175</line> |
356 | <option name="timeStamp" value="25" /> | 367 | <option name="timeStamp" value="25" /> |
357 | </line-breakpoint> | 368 | </line-breakpoint> |
@@ -362,15 +373,10 @@ | @@ -362,15 +373,10 @@ | ||
362 | </line-breakpoint> | 373 | </line-breakpoint> |
363 | <line-breakpoint suspend="THREAD" type="python-line"> | 374 | <line-breakpoint suspend="THREAD" type="python-line"> |
364 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> | 375 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> |
365 | - <line>28</line> | 376 | + <line>29</line> |
366 | <option name="timeStamp" value="33" /> | 377 | <option name="timeStamp" value="33" /> |
367 | </line-breakpoint> | 378 | </line-breakpoint> |
368 | <line-breakpoint suspend="THREAD" type="python-line"> | 379 | <line-breakpoint suspend="THREAD" type="python-line"> |
369 | - <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
370 | - <line>35</line> | ||
371 | - <option name="timeStamp" value="34" /> | ||
372 | - </line-breakpoint> | ||
373 | - <line-breakpoint suspend="THREAD" type="python-line"> | ||
374 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | 380 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> |
375 | <line>297</line> | 381 | <line>297</line> |
376 | <option name="timeStamp" value="35" /> | 382 | <option name="timeStamp" value="35" /> |
@@ -387,19 +393,29 @@ | @@ -387,19 +393,29 @@ | ||
387 | </line-breakpoint> | 393 | </line-breakpoint> |
388 | <line-breakpoint suspend="THREAD" type="python-line"> | 394 | <line-breakpoint suspend="THREAD" type="python-line"> |
389 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> | 395 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> |
390 | - <line>37</line> | 396 | + <line>38</line> |
391 | <option name="timeStamp" value="39" /> | 397 | <option name="timeStamp" value="39" /> |
392 | </line-breakpoint> | 398 | </line-breakpoint> |
393 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 399 | + <line-breakpoint suspend="THREAD" type="python-line"> |
394 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | 400 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> |
395 | <line>243</line> | 401 | <line>243</line> |
396 | <option name="timeStamp" value="43" /> | 402 | <option name="timeStamp" value="43" /> |
397 | </line-breakpoint> | 403 | </line-breakpoint> |
398 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 404 | + <line-breakpoint suspend="THREAD" type="python-line"> |
399 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | 405 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> |
400 | <line>242</line> | 406 | <line>242</line> |
401 | <option name="timeStamp" value="44" /> | 407 | <option name="timeStamp" value="44" /> |
402 | </line-breakpoint> | 408 | </line-breakpoint> |
409 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
410 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
411 | + <line>36</line> | ||
412 | + <option name="timeStamp" value="47" /> | ||
413 | + </line-breakpoint> | ||
414 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
415 | + <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | ||
416 | + <line>177</line> | ||
417 | + <option name="timeStamp" value="49" /> | ||
418 | + </line-breakpoint> | ||
403 | </breakpoints> | 419 | </breakpoints> |
404 | <default-breakpoints> | 420 | <default-breakpoints> |
405 | <breakpoint type="python-exception"> | 421 | <breakpoint type="python-exception"> |
@@ -412,12 +428,12 @@ | @@ -412,12 +428,12 @@ | ||
412 | </component> | 428 | </component> |
413 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> | 429 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> |
414 | <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" /> | 430 | <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" /> |
415 | - <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" /> | 431 | + <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" /> |
416 | <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" /> | 432 | <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" /> |
417 | <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" /> | 433 | <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" /> |
418 | <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" /> | 434 | <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" /> |
419 | <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" /> | 435 | <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" /> |
420 | <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" /> | 436 | <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" /> |
421 | - <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1672236334044" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | 437 | + <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1672304771099" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> |
422 | </component> | 438 | </component> |
423 | </project> | 439 | </project> |
@@ -17,6 +17,8 @@ login_token = {"Authorization": "Basic"+" "+"d29ya2FpOjEyMzQ1Ng=="} | @@ -17,6 +17,8 @@ login_token = {"Authorization": "Basic"+" "+"d29ya2FpOjEyMzQ1Ng=="} | ||
17 | username = 17301249975 | 17 | username = 17301249975 |
18 | ;密码 | 18 | ;密码 |
19 | userpassword = f85eea0e15e424aba8675f8848e2cb83 | 19 | userpassword = f85eea0e15e424aba8675f8848e2cb83 |
20 | +;学校id | ||
21 | +schoolId = 1519958566130257922 | ||
20 | ;登录方式 | 22 | ;登录方式 |
21 | ;手机验证码登录code, | 23 | ;手机验证码登录code, |
22 | ;微信OpenId登录:wechat, | 24 | ;微信OpenId登录:wechat, |
@@ -47,7 +49,7 @@ tester = 石头 | @@ -47,7 +49,7 @@ tester = 石头 | ||
47 | ;报告描述 | 49 | ;报告描述 |
48 | desc = 优学乐业测试报告 | 50 | desc = 优学乐业测试报告 |
49 | ;报告样式 | 51 | ;报告样式 |
50 | -templates = 1 | 52 | +templates = 2 |
51 | 53 | ||
52 | 54 | ||
53 | 55 |
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
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"}] | ||
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"}] |
此 diff 太大无法显示。
@@ -9,25 +9,27 @@ import unittest | @@ -9,25 +9,27 @@ import unittest | ||
9 | from unittestreport import TestRunner | 9 | from unittestreport import TestRunner |
10 | from common.handle_path import TestCase_Path, Report_Path | 10 | from common.handle_path import TestCase_Path, Report_Path |
11 | from common.handle_config import conf | 11 | from common.handle_config import conf |
12 | +from testcase.test_01_login import TestLogin | ||
12 | from testcase.test_02_system_management import Test01Department, Test02Specialty, Test03Year | 13 | from testcase.test_02_system_management import Test01Department, Test02Specialty, Test03Year |
13 | -from testcase.test_03_teaching_affairs import Test01CTeacher, Test02Class, Test03Course, Test04Student | 14 | +from testcase.test_03_teaching_affairs import Test01Teacher, Test02Class, Test03Course, Test04Student |
15 | + | ||
14 | 16 | ||
15 | """ | 17 | """ |
16 | 执行所有用例 | 18 | 执行所有用例 |
17 | """ | 19 | """ |
18 | # 创建测试套件 | 20 | # 创建测试套件 |
19 | -# suite = unittest.TestSuite() | 21 | +suite = unittest.TestSuite() |
20 | # 加载用例 | 22 | # 加载用例 |
21 | # ---创建加载器 | 23 | # ---创建加载器 |
22 | -# load = unittest.TestLoader() | ||
23 | -# # ---用例放到加载器 | ||
24 | -# suite.addTest(load.discover(TestCase_Path)) | 24 | +load = unittest.TestLoader() |
25 | +# ---用例放到加载器 | ||
26 | +suite.addTest(load.discover(TestCase_Path)) | ||
25 | """ | 27 | """ |
26 | 执行单独模块用例 | 28 | 执行单独模块用例 |
27 | """ | 29 | """ |
28 | -a = unittest.TestLoader().loadTestsFromTestCase(Test04Student) | ||
29 | -b = unittest.TestLoader().loadTestsFromTestCase(Test03Year) | ||
30 | -suite = unittest.TestSuite([a]) | 30 | +# a = unittest.TestLoader().loadTestsFromTestCase(Test01Teacher) |
31 | +# # b = unittest.TestLoader().loadTestsFromTestCase(Test03Year) | ||
32 | +# suite = unittest.TestSuite([a]) | ||
31 | 33 | ||
32 | # 运行 | 34 | # 运行 |
33 | runner = TestRunner(suite=suite, | 35 | runner = TestRunner(suite=suite, |
@@ -38,16 +40,15 @@ runner = TestRunner(suite=suite, | @@ -38,16 +40,15 @@ runner = TestRunner(suite=suite, | ||
38 | desc=conf.get("report", "desc"), | 40 | desc=conf.get("report", "desc"), |
39 | templates=conf.getint("report", "templates") | 41 | templates=conf.getint("report", "templates") |
40 | ) | 42 | ) |
41 | -runner.run() | 43 | +# runner.run() |
42 | # 执行失败重新运行机制 | 44 | # 执行失败重新运行机制 |
43 | -# runner.rerun_run(count=2, interval=0.2) | ||
44 | - | 45 | +runner.rerun_run(count=3, interval=0.2) |
45 | 46 | ||
46 | """ | 47 | """ |
47 | 发送钉钉 | 48 | 发送钉钉 |
48 | """ | 49 | """ |
49 | # Webhook = "https://oapi.dingtalk.com/robot/send?access_token=cb3e40995683f06c5be06074e0cf617f2ea208156e3b4bf6247b56a212b8b7c3" | 50 | # Webhook = "https://oapi.dingtalk.com/robot/send?access_token=cb3e40995683f06c5be06074e0cf617f2ea208156e3b4bf6247b56a212b8b7c3" |
50 | -# # Webhook = "https://oapi.dingtalk.com/robot/send?access_token=054f620071c74d94c10ad556743aa5ff0600a2953bbce5529ca057f75ad2423e" # 优秀学乐业钉钉群 | 51 | +# Webhook = "https://oapi.dingtalk.com/robot/send?access_token=054f620071c74d94c10ad556743aa5ff0600a2953bbce5529ca057f75ad2423e" # 优秀学乐业钉钉群 |
51 | # runner.dingtalk_notice(url=Webhook, | 52 | # runner.dingtalk_notice(url=Webhook, |
52 | # key="石头测试", # 传入钉钉设置的对应关键字 | 53 | # key="石头测试", # 传入钉钉设置的对应关键字 |
53 | # atMobiles=["17301249973"], # 发送通知钉钉中要@人的手机号列表 | 54 | # atMobiles=["17301249973"], # 发送通知钉钉中要@人的手机号列表 |
@@ -173,9 +173,9 @@ class Test02Specialty(unittest.TestCase): | @@ -173,9 +173,9 @@ class Test02Specialty(unittest.TestCase): | ||
173 | select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), "select_department") | 173 | select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), "select_department") |
174 | select_url = select_department_excel.read_excel_location("C2") | 174 | select_url = select_department_excel.read_excel_location("C2") |
175 | department_list = SelectData(str(select_url)) | 175 | department_list = SelectData(str(select_url)) |
176 | - department_json = department_list.select_list() | 176 | + department_json = department_list.select_list_positive() |
177 | # 获取院系id | 177 | # 获取院系id |
178 | - department_id = jsonpath(department_json, "$..id")[0] | 178 | + department_id = jsonpath(department_json, "$..id")[-1] |
179 | if "#specialty_name#" in case["data"]: | 179 | if "#specialty_name#" in case["data"]: |
180 | case["data"] = case["data"].replace("#specialty_name#", self.specialty_name + "_" + str(case["id"])) | 180 | case["data"] = case["data"].replace("#specialty_name#", self.specialty_name + "_" + str(case["id"])) |
181 | if "#specialty_code#" in case["data"]: | 181 | if "#specialty_code#" in case["data"]: |
@@ -29,7 +29,7 @@ System_path = os.path.join(DataExcel_Path, "system") # 系统管理列表 | @@ -29,7 +29,7 @@ System_path = os.path.join(DataExcel_Path, "system") # 系统管理列表 | ||
29 | 29 | ||
30 | # ==================教师相关的用例================== | 30 | # ==================教师相关的用例================== |
31 | @ddt | 31 | @ddt |
32 | -class Test01CTeacher(unittest.TestCase): | 32 | +class Test01Teacher(unittest.TestCase): |
33 | """教师相关""" | 33 | """教师相关""" |
34 | # ---获取添加教师用例 | 34 | # ---获取添加教师用例 |
35 | add_teacher = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), "add_teacher") | 35 | add_teacher = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), "add_teacher") |
@@ -49,9 +49,9 @@ class Test01CTeacher(unittest.TestCase): | @@ -49,9 +49,9 @@ class Test01CTeacher(unittest.TestCase): | ||
49 | "select_department") | 49 | "select_department") |
50 | read_excel = select_department_excel.read_excel_location("C2") | 50 | read_excel = select_department_excel.read_excel_location("C2") |
51 | department_list = SelectData(str(read_excel)) | 51 | department_list = SelectData(str(read_excel)) |
52 | - department_json = department_list.select_list() | 52 | + department_json = department_list.select_list_positive() |
53 | # 获取院系id | 53 | # 获取院系id |
54 | - cls.department_id = jsonpath(department_json, "$..id")[0] | 54 | + cls.department_id = jsonpath(department_json, "$..id")[-1] |
55 | 55 | ||
56 | def setUp(self): | 56 | def setUp(self): |
57 | """单条用例执行前执行的函数""" | 57 | """单条用例执行前执行的函数""" |
@@ -137,8 +137,8 @@ class Test02Class(unittest.TestCase): | @@ -137,8 +137,8 @@ class Test02Class(unittest.TestCase): | ||
137 | "select_department") | 137 | "select_department") |
138 | read_department_excel = select_department_excel.read_excel_location("C2") | 138 | read_department_excel = select_department_excel.read_excel_location("C2") |
139 | department_list = SelectData(str(read_department_excel)) | 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 | 140 | + department_json = department_list.select_list_positive() |
141 | + cls.department_id = jsonpath(department_json, "$..id")[-1] # 获取院系id | ||
142 | # 获取查看专业id | 142 | # 获取查看专业id |
143 | select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | 143 | select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), |
144 | "select_specialty") | 144 | "select_specialty") |
@@ -225,8 +225,8 @@ class Test03Course(unittest.TestCase): | @@ -225,8 +225,8 @@ class Test03Course(unittest.TestCase): | ||
225 | "select_department") | 225 | "select_department") |
226 | read_department_excel = select_department_excel.read_excel_location("C2") | 226 | read_department_excel = select_department_excel.read_excel_location("C2") |
227 | department_list = SelectData(str(read_department_excel)) | 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 | 228 | + department_json = department_list.select_list_positive() |
229 | + cls.department_id = jsonpath(department_json, "$..id")[-1] # 获取院系id | ||
230 | # 获取查看专业id | 230 | # 获取查看专业id |
231 | select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | 231 | select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), |
232 | "select_specialty") | 232 | "select_specialty") |
@@ -315,8 +315,8 @@ class Test04Student(unittest.TestCase): | @@ -315,8 +315,8 @@ class Test04Student(unittest.TestCase): | ||
315 | "select_department") | 315 | "select_department") |
316 | read_department_excel = select_department_excel.read_excel_location("C2") | 316 | read_department_excel = select_department_excel.read_excel_location("C2") |
317 | department_list = SelectData(str(read_department_excel)) | 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 | 318 | + department_json = department_list.select_list_positive() |
319 | + cls.department_id = jsonpath(department_json, "$..id")[-1] # 获取院系id | ||
320 | # 获取查看专业id | 320 | # 获取查看专业id |
321 | select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | 321 | select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), |
322 | "select_specialty") | 322 | "select_specialty") |
testcase/test_04_Internship_preparation.py
0 → 100644
@@ -25,15 +25,29 @@ class SelectData(object): | @@ -25,15 +25,29 @@ class SelectData(object): | ||
25 | def __init__(self, url): | 25 | def __init__(self, url): |
26 | self.url = url | 26 | self.url = url |
27 | 27 | ||
28 | + # 倒序查找返回json | ||
28 | def select_list(self): | 29 | def select_list(self): |
29 | self.url = conf.get('url', 'url_ip') + self.url | 30 | self.url = conf.get('url', 'url_ip') + self.url |
30 | headers = {} | 31 | headers = {} |
31 | headers["Authorization"] = LoginToken.login_token() | 32 | headers["Authorization"] = LoginToken.login_token() |
32 | data = { | 33 | data = { |
33 | - "pageNumber": "0", | ||
34 | - "pageSize": "3" | 34 | + "pageNumber": "1", |
35 | + "pageSize": "20" | ||
35 | } | 36 | } |
36 | - response = requests.request(url=self.url, method="get", json=data, headers=headers) | 37 | + response = requests.request(url=self.url, method="get", params=data, headers=headers) |
38 | + res = response.json() | ||
39 | + return res | ||
40 | + | ||
41 | + # 正序查找返回json | ||
42 | + def select_list_positive(self): | ||
43 | + self.url = conf.get('url', 'url_ip') + self.url | ||
44 | + headers = {} | ||
45 | + headers["Authorization"] = LoginToken.login_token() | ||
46 | + data = { | ||
47 | + "pageNumber": "1", | ||
48 | + "pageSize": "1000000" | ||
49 | + } | ||
50 | + response = requests.request(url=self.url, method="get", params=data, headers=headers) | ||
37 | res = response.json() | 51 | res = response.json() |
38 | return res | 52 | return res |
39 | 53 |
@@ -24,6 +24,7 @@ class LoginToken: | @@ -24,6 +24,7 @@ class LoginToken: | ||
24 | "password": conf.get('user_data', 'userpassword'), | 24 | "password": conf.get('user_data', 'userpassword'), |
25 | "type": conf.get('user_data', 'type'), | 25 | "type": conf.get('user_data', 'type'), |
26 | "username": conf.get('user_data', 'username'), | 26 | "username": conf.get('user_data', 'username'), |
27 | + "schoolId": conf.get('user_data', 'schoolId'), | ||
27 | } | 28 | } |
28 | response = requests.request(url=login_url, method="post", json=params, headers=headers) | 29 | response = requests.request(url=login_url, method="post", json=params, headers=headers) |
29 | res = response.json() | 30 | res = response.json() |
请
注册
或
登录
后发表评论