正在显示
20 个修改的文件
包含
280 行增加
和
81 行删除
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.9 1.新增查看全部实习接口"> | 4 | + <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="版本:1.0.10 1.新增学生报名接口"> |
5 | + <change afterPath="$PROJECT_DIR$/data/Internship_manage/test_07_apply_audit.xlsx" afterDir="false" /> | ||
6 | + <change afterPath="$PROJECT_DIR$/testcase/test_06_internship_manage.py" afterDir="false" /> | ||
7 | + <change afterPath="$PROJECT_DIR$/tools/function.py" afterDir="false" /> | ||
5 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | 8 | <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" /> | 9 | + <change beforePath="$PROJECT_DIR$/common/handle_path.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/handle_path.py" afterDir="false" /> |
7 | <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" /> | 10 | <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_05_internship_project.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/Internship_preparation/test_05_internship_project.xlsx" afterDir="false" /> | 11 | <change beforePath="$PROJECT_DIR$/data/Internship_preparation/test_05_internship_project.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/Internship_preparation/test_05_internship_project.xlsx" afterDir="false" /> |
9 | <change beforePath="$PROJECT_DIR$/data/student_practice/test_06__practice.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/student_practice/test_06__practice.xlsx" afterDir="false" /> | 12 | <change beforePath="$PROJECT_DIR$/data/student_practice/test_06__practice.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/student_practice/test_06__practice.xlsx" afterDir="false" /> |
@@ -17,8 +20,8 @@ | @@ -17,8 +20,8 @@ | ||
17 | <change beforePath="$PROJECT_DIR$/data/test_01_login.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/test_01_login.xlsx" afterDir="false" /> | 20 | <change beforePath="$PROJECT_DIR$/data/test_01_login.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/test_01_login.xlsx" afterDir="false" /> |
18 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> | 21 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> |
19 | <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> | 22 | <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> |
20 | - <change beforePath="$PROJECT_DIR$/testcase/test_05_student_practice.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_05_student_practice.py" afterDir="false" /> | ||
21 | <change beforePath="$PROJECT_DIR$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> | 23 | <change beforePath="$PROJECT_DIR$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> |
24 | + <change beforePath="$PROJECT_DIR$/tools/handle_token.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/handle_token.py" afterDir="false" /> | ||
22 | </list> | 25 | </list> |
23 | <option name="SHOW_DIALOG" value="false" /> | 26 | <option name="SHOW_DIALOG" value="false" /> |
24 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> | 27 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
@@ -69,11 +72,12 @@ | @@ -69,11 +72,12 @@ | ||
69 | <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> | 72 | <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> |
70 | <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> | 73 | <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> |
71 | <property name="WebServerToolWindowFactoryState" value="false" /> | 74 | <property name="WebServerToolWindowFactoryState" value="false" /> |
72 | - <property name="last_opened_file_path" value="$PROJECT_DIR$/data/student_practice" /> | 75 | + <property name="last_opened_file_path" value="$PROJECT_DIR$/data/Internship_manage" /> |
73 | <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> | 76 | <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> |
74 | </component> | 77 | </component> |
75 | <component name="RecentsManager"> | 78 | <component name="RecentsManager"> |
76 | <key name="CopyFile.RECENT_KEYS"> | 79 | <key name="CopyFile.RECENT_KEYS"> |
80 | + <recent name="$PROJECT_DIR$/data/Internship_manage" /> | ||
77 | <recent name="$PROJECT_DIR$/data/student_practice" /> | 81 | <recent name="$PROJECT_DIR$/data/student_practice" /> |
78 | <recent name="$PROJECT_DIR$/data/Internship_preparation" /> | 82 | <recent name="$PROJECT_DIR$/data/Internship_preparation" /> |
79 | <recent name="$PROJECT_DIR$/data/teaching_affairs" /> | 83 | <recent name="$PROJECT_DIR$/data/teaching_affairs" /> |
@@ -81,7 +85,7 @@ | @@ -81,7 +85,7 @@ | ||
81 | </key> | 85 | </key> |
82 | </component> | 86 | </component> |
83 | <component name="RunManager" selected="Python.run"> | 87 | <component name="RunManager" selected="Python.run"> |
84 | - <configuration name="fixture (1)" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> | 88 | + <configuration name="handle_token" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> |
85 | <module name="yxly2" /> | 89 | <module name="yxly2" /> |
86 | <option name="INTERPRETER_OPTIONS" value="" /> | 90 | <option name="INTERPRETER_OPTIONS" value="" /> |
87 | <option name="PARENT_ENVS" value="true" /> | 91 | <option name="PARENT_ENVS" value="true" /> |
@@ -94,7 +98,7 @@ | @@ -94,7 +98,7 @@ | ||
94 | <option name="ADD_CONTENT_ROOTS" value="true" /> | 98 | <option name="ADD_CONTENT_ROOTS" value="true" /> |
95 | <option name="ADD_SOURCE_ROOTS" value="true" /> | 99 | <option name="ADD_SOURCE_ROOTS" value="true" /> |
96 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> | 100 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> |
97 | - <option name="SCRIPT_NAME" value="$PROJECT_DIR$/tools/fixture.py" /> | 101 | + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/tools/handle_token.py" /> |
98 | <option name="PARAMETERS" value="" /> | 102 | <option name="PARAMETERS" value="" /> |
99 | <option name="SHOW_COMMAND_LINE" value="false" /> | 103 | <option name="SHOW_COMMAND_LINE" value="false" /> |
100 | <option name="EMULATE_TERMINAL" value="false" /> | 104 | <option name="EMULATE_TERMINAL" value="false" /> |
@@ -103,7 +107,7 @@ | @@ -103,7 +107,7 @@ | ||
103 | <option name="INPUT_FILE" value="" /> | 107 | <option name="INPUT_FILE" value="" /> |
104 | <method v="2" /> | 108 | <method v="2" /> |
105 | </configuration> | 109 | </configuration> |
106 | - <configuration name="handle_token" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> | 110 | + <configuration name="run" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> |
107 | <module name="yxly2" /> | 111 | <module name="yxly2" /> |
108 | <option name="INTERPRETER_OPTIONS" value="" /> | 112 | <option name="INTERPRETER_OPTIONS" value="" /> |
109 | <option name="PARENT_ENVS" value="true" /> | 113 | <option name="PARENT_ENVS" value="true" /> |
@@ -111,12 +115,12 @@ | @@ -111,12 +115,12 @@ | ||
111 | <env name="PYTHONUNBUFFERED" value="1" /> | 115 | <env name="PYTHONUNBUFFERED" value="1" /> |
112 | </envs> | 116 | </envs> |
113 | <option name="SDK_HOME" value="" /> | 117 | <option name="SDK_HOME" value="" /> |
114 | - <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/tools" /> | 118 | + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> |
115 | <option name="IS_MODULE_SDK" value="true" /> | 119 | <option name="IS_MODULE_SDK" value="true" /> |
116 | <option name="ADD_CONTENT_ROOTS" value="true" /> | 120 | <option name="ADD_CONTENT_ROOTS" value="true" /> |
117 | <option name="ADD_SOURCE_ROOTS" value="true" /> | 121 | <option name="ADD_SOURCE_ROOTS" value="true" /> |
118 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> | 122 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> |
119 | - <option name="SCRIPT_NAME" value="$PROJECT_DIR$/tools/handle_token.py" /> | 123 | + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/run.py" /> |
120 | <option name="PARAMETERS" value="" /> | 124 | <option name="PARAMETERS" value="" /> |
121 | <option name="SHOW_COMMAND_LINE" value="false" /> | 125 | <option name="SHOW_COMMAND_LINE" value="false" /> |
122 | <option name="EMULATE_TERMINAL" value="false" /> | 126 | <option name="EMULATE_TERMINAL" value="false" /> |
@@ -125,29 +129,22 @@ | @@ -125,29 +129,22 @@ | ||
125 | <option name="INPUT_FILE" value="" /> | 129 | <option name="INPUT_FILE" value="" /> |
126 | <method v="2" /> | 130 | <method v="2" /> |
127 | </configuration> | 131 | </configuration> |
128 | - <configuration name="run" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> | 132 | + <configuration name="Unittests in test_04_Internship_preparation.py" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true"> |
129 | <module name="yxly2" /> | 133 | <module name="yxly2" /> |
130 | <option name="INTERPRETER_OPTIONS" value="" /> | 134 | <option name="INTERPRETER_OPTIONS" value="" /> |
131 | <option name="PARENT_ENVS" value="true" /> | 135 | <option name="PARENT_ENVS" value="true" /> |
132 | - <envs> | ||
133 | - <env name="PYTHONUNBUFFERED" value="1" /> | ||
134 | - </envs> | ||
135 | <option name="SDK_HOME" value="" /> | 136 | <option name="SDK_HOME" value="" /> |
136 | - <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> | 137 | + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/testcase" /> |
137 | <option name="IS_MODULE_SDK" value="true" /> | 138 | <option name="IS_MODULE_SDK" value="true" /> |
138 | <option name="ADD_CONTENT_ROOTS" value="true" /> | 139 | <option name="ADD_CONTENT_ROOTS" value="true" /> |
139 | <option name="ADD_SOURCE_ROOTS" value="true" /> | 140 | <option name="ADD_SOURCE_ROOTS" value="true" /> |
140 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> | 141 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> |
141 | - <option name="SCRIPT_NAME" value="$PROJECT_DIR$/run.py" /> | ||
142 | - <option name="PARAMETERS" value="" /> | ||
143 | - <option name="SHOW_COMMAND_LINE" value="false" /> | ||
144 | - <option name="EMULATE_TERMINAL" value="false" /> | ||
145 | - <option name="MODULE_MODE" value="false" /> | ||
146 | - <option name="REDIRECT_INPUT" value="false" /> | ||
147 | - <option name="INPUT_FILE" value="" /> | 142 | + <option name="_new_additionalArguments" value="""" /> |
143 | + <option name="_new_target" value=""$PROJECT_DIR$/testcase/test_04_Internship_preparation.py"" /> | ||
144 | + <option name="_new_targetType" value=""PATH"" /> | ||
148 | <method v="2" /> | 145 | <method v="2" /> |
149 | </configuration> | 146 | </configuration> |
150 | - <configuration name="Unittests in test_04_Internship_preparation.py" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true"> | 147 | + <configuration name="Unittests in test_05_student_practice.py" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true"> |
151 | <module name="yxly2" /> | 148 | <module name="yxly2" /> |
152 | <option name="INTERPRETER_OPTIONS" value="" /> | 149 | <option name="INTERPRETER_OPTIONS" value="" /> |
153 | <option name="PARENT_ENVS" value="true" /> | 150 | <option name="PARENT_ENVS" value="true" /> |
@@ -158,11 +155,11 @@ | @@ -158,11 +155,11 @@ | ||
158 | <option name="ADD_SOURCE_ROOTS" value="true" /> | 155 | <option name="ADD_SOURCE_ROOTS" value="true" /> |
159 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> | 156 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> |
160 | <option name="_new_additionalArguments" value="""" /> | 157 | <option name="_new_additionalArguments" value="""" /> |
161 | - <option name="_new_target" value=""$PROJECT_DIR$/testcase/test_04_Internship_preparation.py"" /> | 158 | + <option name="_new_target" value=""$PROJECT_DIR$/testcase/test_05_student_practice.py"" /> |
162 | <option name="_new_targetType" value=""PATH"" /> | 159 | <option name="_new_targetType" value=""PATH"" /> |
163 | <method v="2" /> | 160 | <method v="2" /> |
164 | </configuration> | 161 | </configuration> |
165 | - <configuration name="Unittests in test_05_student_practice.py" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true"> | 162 | + <configuration name="Unittests in test_06_internship_manage.py" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true"> |
166 | <module name="yxly2" /> | 163 | <module name="yxly2" /> |
167 | <option name="INTERPRETER_OPTIONS" value="" /> | 164 | <option name="INTERPRETER_OPTIONS" value="" /> |
168 | <option name="PARENT_ENVS" value="true" /> | 165 | <option name="PARENT_ENVS" value="true" /> |
@@ -173,24 +170,24 @@ | @@ -173,24 +170,24 @@ | ||
173 | <option name="ADD_SOURCE_ROOTS" value="true" /> | 170 | <option name="ADD_SOURCE_ROOTS" value="true" /> |
174 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> | 171 | <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> |
175 | <option name="_new_additionalArguments" value="""" /> | 172 | <option name="_new_additionalArguments" value="""" /> |
176 | - <option name="_new_target" value=""$PROJECT_DIR$/testcase/test_05_student_practice.py"" /> | 173 | + <option name="_new_target" value=""$PROJECT_DIR$/testcase/test_06_internship_manage.py"" /> |
177 | <option name="_new_targetType" value=""PATH"" /> | 174 | <option name="_new_targetType" value=""PATH"" /> |
178 | <method v="2" /> | 175 | <method v="2" /> |
179 | </configuration> | 176 | </configuration> |
180 | <list> | 177 | <list> |
181 | <item itemvalue="Python.run" /> | 178 | <item itemvalue="Python.run" /> |
182 | - <item itemvalue="Python.fixture (1)" /> | ||
183 | <item itemvalue="Python.handle_token" /> | 179 | <item itemvalue="Python.handle_token" /> |
184 | <item itemvalue="Python tests.Unittests in test_04_Internship_preparation.py" /> | 180 | <item itemvalue="Python tests.Unittests in test_04_Internship_preparation.py" /> |
185 | <item itemvalue="Python tests.Unittests in test_05_student_practice.py" /> | 181 | <item itemvalue="Python tests.Unittests in test_05_student_practice.py" /> |
182 | + <item itemvalue="Python tests.Unittests in test_06_internship_manage.py" /> | ||
186 | </list> | 183 | </list> |
187 | <recent_temporary> | 184 | <recent_temporary> |
188 | <list> | 185 | <list> |
189 | <item itemvalue="Python.run" /> | 186 | <item itemvalue="Python.run" /> |
187 | + <item itemvalue="Python tests.Unittests in test_06_internship_manage.py" /> | ||
190 | <item itemvalue="Python tests.Unittests in test_05_student_practice.py" /> | 188 | <item itemvalue="Python tests.Unittests in test_05_student_practice.py" /> |
191 | <item itemvalue="Python.handle_token" /> | 189 | <item itemvalue="Python.handle_token" /> |
192 | <item itemvalue="Python tests.Unittests in test_04_Internship_preparation.py" /> | 190 | <item itemvalue="Python tests.Unittests in test_04_Internship_preparation.py" /> |
193 | - <item itemvalue="Python.fixture (1)" /> | ||
194 | </list> | 191 | </list> |
195 | </recent_temporary> | 192 | </recent_temporary> |
196 | </component> | 193 | </component> |
@@ -225,7 +222,8 @@ | @@ -225,7 +222,8 @@ | ||
225 | <workItem from="1673317535549" duration="3322000" /> | 222 | <workItem from="1673317535549" duration="3322000" /> |
226 | <workItem from="1673401498540" duration="12457000" /> | 223 | <workItem from="1673401498540" duration="12457000" /> |
227 | <workItem from="1673487746420" duration="597000" /> | 224 | <workItem from="1673487746420" duration="597000" /> |
228 | - <workItem from="1673510209314" duration="2004000" /> | 225 | + <workItem from="1673510209314" duration="6109000" /> |
226 | + <workItem from="1673575819306" duration="13394000" /> | ||
229 | </task> | 227 | </task> |
230 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> | 228 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> |
231 | <created>1671544396986</created> | 229 | <created>1671544396986</created> |
@@ -346,7 +344,14 @@ | @@ -346,7 +344,14 @@ | ||
346 | <option name="project" value="LOCAL" /> | 344 | <option name="project" value="LOCAL" /> |
347 | <updated>1673346039046</updated> | 345 | <updated>1673346039046</updated> |
348 | </task> | 346 | </task> |
349 | - <option name="localTasksCounter" value="18" /> | 347 | + <task id="LOCAL-00018" summary="版本:1.0.10 1.新增学生报名接口"> |
348 | + <created>1673515846657</created> | ||
349 | + <option name="number" value="00018" /> | ||
350 | + <option name="presentableId" value="LOCAL-00018" /> | ||
351 | + <option name="project" value="LOCAL" /> | ||
352 | + <updated>1673515846658</updated> | ||
353 | + </task> | ||
354 | + <option name="localTasksCounter" value="19" /> | ||
350 | <servers /> | 355 | <servers /> |
351 | </component> | 356 | </component> |
352 | <component name="TypeScriptGeneratedFilesManager"> | 357 | <component name="TypeScriptGeneratedFilesManager"> |
@@ -393,7 +398,8 @@ | @@ -393,7 +398,8 @@ | ||
393 | <MESSAGE value="版本:1.0.8 1.新增发布实习计划用例 2.新增实习项目用例" /> | 398 | <MESSAGE value="版本:1.0.8 1.新增发布实习计划用例 2.新增实习项目用例" /> |
394 | <MESSAGE value="版本:1.0.9 1.新增发布项目用例" /> | 399 | <MESSAGE value="版本:1.0.9 1.新增发布项目用例" /> |
395 | <MESSAGE value="版本:1.0.9 1.新增查看全部实习接口" /> | 400 | <MESSAGE value="版本:1.0.9 1.新增查看全部实习接口" /> |
396 | - <option name="LAST_COMMIT_MESSAGE" value="版本:1.0.9 1.新增查看全部实习接口" /> | 401 | + <MESSAGE value="版本:1.0.10 1.新增学生报名接口" /> |
402 | + <option name="LAST_COMMIT_MESSAGE" value="版本:1.0.10 1.新增学生报名接口" /> | ||
397 | </component> | 403 | </component> |
398 | <component name="XDebuggerManager"> | 404 | <component name="XDebuggerManager"> |
399 | <breakpoint-manager> | 405 | <breakpoint-manager> |
@@ -500,7 +506,7 @@ | @@ -500,7 +506,7 @@ | ||
500 | </line-breakpoint> | 506 | </line-breakpoint> |
501 | <line-breakpoint suspend="THREAD" type="python-line"> | 507 | <line-breakpoint suspend="THREAD" type="python-line"> |
502 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> | 508 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> |
503 | - <line>78</line> | 509 | + <line>79</line> |
504 | <option name="timeStamp" value="60" /> | 510 | <option name="timeStamp" value="60" /> |
505 | </line-breakpoint> | 511 | </line-breakpoint> |
506 | <line-breakpoint suspend="THREAD" type="python-line"> | 512 | <line-breakpoint suspend="THREAD" type="python-line"> |
@@ -543,11 +549,46 @@ | @@ -543,11 +549,46 @@ | ||
543 | <line>101</line> | 549 | <line>101</line> |
544 | <option name="timeStamp" value="99" /> | 550 | <option name="timeStamp" value="99" /> |
545 | </line-breakpoint> | 551 | </line-breakpoint> |
546 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 552 | + <line-breakpoint suspend="THREAD" type="python-line"> |
547 | <url>file://$PROJECT_DIR$/testcase/test_05_student_practice.py</url> | 553 | <url>file://$PROJECT_DIR$/testcase/test_05_student_practice.py</url> |
548 | <line>99</line> | 554 | <line>99</line> |
549 | <option name="timeStamp" value="100" /> | 555 | <option name="timeStamp" value="100" /> |
550 | </line-breakpoint> | 556 | </line-breakpoint> |
557 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
558 | + <url>file://$PROJECT_DIR$/run.py</url> | ||
559 | + <line>44</line> | ||
560 | + <option name="timeStamp" value="101" /> | ||
561 | + </line-breakpoint> | ||
562 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
563 | + <url>file://$PROJECT_DIR$/run.py</url> | ||
564 | + <line>40</line> | ||
565 | + <option name="timeStamp" value="102" /> | ||
566 | + </line-breakpoint> | ||
567 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
568 | + <url>file://$PROJECT_DIR$/run.py</url> | ||
569 | + <line>38</line> | ||
570 | + <option name="timeStamp" value="103" /> | ||
571 | + </line-breakpoint> | ||
572 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
573 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
574 | + <line>50</line> | ||
575 | + <option name="timeStamp" value="104" /> | ||
576 | + </line-breakpoint> | ||
577 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
578 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
579 | + <line>51</line> | ||
580 | + <option name="timeStamp" value="106" /> | ||
581 | + </line-breakpoint> | ||
582 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
583 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
584 | + <line>93</line> | ||
585 | + <option name="timeStamp" value="108" /> | ||
586 | + </line-breakpoint> | ||
587 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
588 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
589 | + <line>83</line> | ||
590 | + <option name="timeStamp" value="111" /> | ||
591 | + </line-breakpoint> | ||
551 | </breakpoints> | 592 | </breakpoints> |
552 | <default-breakpoints> | 593 | <default-breakpoints> |
553 | <breakpoint type="python-exception"> | 594 | <breakpoint type="python-exception"> |
@@ -561,6 +602,7 @@ | @@ -561,6 +602,7 @@ | ||
561 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> | 602 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> |
562 | <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" /> | 603 | <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" /> |
563 | <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" /> | 604 | <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" /> |
605 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_06_internship_manage_py.coverage" NAME="Unittests in test_06_internship_manage.py Coverage Results" MODIFIED="1673598061737" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | ||
564 | <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" /> | 606 | <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" /> |
565 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_05_student_practice_py.coverage" NAME="Unittests in test_05_student_practice.py Coverage Results" MODIFIED="1673431777836" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 607 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_05_student_practice_py.coverage" NAME="Unittests in test_05_student_practice.py Coverage Results" MODIFIED="1673431777836" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
566 | <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" /> | 608 | <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" /> |
@@ -569,6 +611,6 @@ | @@ -569,6 +611,6 @@ | ||
569 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_04_Internship_preparation_py.coverage" NAME="Unittests in test_04_Internship_preparation.py Coverage Results" MODIFIED="1673229942283" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 611 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_04_Internship_preparation_py.coverage" NAME="Unittests in test_04_Internship_preparation.py Coverage Results" MODIFIED="1673229942283" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
570 | <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" /> | 612 | <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" /> |
571 | <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" /> | 613 | <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" /> |
572 | - <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1673515565480" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | 614 | + <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1673593580355" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> |
573 | </component> | 615 | </component> |
574 | </project> | 616 | </project> |
@@ -22,7 +22,8 @@ DataExcel_Path = os.path.join(Base_Path, "data") | @@ -22,7 +22,8 @@ DataExcel_Path = os.path.join(Base_Path, "data") | ||
22 | # 配置文件的路径 | 22 | # 配置文件的路径 |
23 | Config_Path = os.path.join(Base_Path, "conf") | 23 | Config_Path = os.path.join(Base_Path, "conf") |
24 | 24 | ||
25 | -TeachingAffairs_path = os.path.join(DataExcel_Path, "teaching_affairs") # 教务系统管理列表 | ||
26 | -System_path = os.path.join(DataExcel_Path, "system") # 系统管理列表 | ||
27 | -Internship_path = os.path.join(DataExcel_Path, "Internship_preparation") # 实习准备目录 | ||
28 | -Student_practice = os.path.join(DataExcel_Path, "student_practice") # 学生实习 | 25 | +TeachingAffairs_path = os.path.join(DataExcel_Path, "teaching_affairs") # 教务系统管理菜单(学校) |
26 | +System_path = os.path.join(DataExcel_Path, "system") # 系统管理菜单(学校) | ||
27 | +Internship_path = os.path.join(DataExcel_Path, "Internship_preparation") # 实习准备菜单(学校) | ||
28 | +Student_practice = os.path.join(DataExcel_Path, "student_practice") # 学生实习(学生小程序) | ||
29 | +Internship_manage = os.path.join(DataExcel_Path, "Internship_manage") # 实习管理(学校) |
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
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"}, {"success": 141, "all": 147, "fail": 4, "skip": 0, "error": 2, "runtime": "80.52 S", "begin_time": "2023-01-05 11:15:17", "pass_rate": "95.92"}, {"success": 142, "all": 147, "fail": 4, "skip": 0, "error": 1, "runtime": "81.42 S", "begin_time": "2023-01-05 13:34:47", "pass_rate": "96.60"}, {"success": 30, "all": 31, "fail": 0, "skip": 0, "error": 1, "runtime": "20.28 S", "begin_time": "2023-01-05 13:39:33", "pass_rate": "96.77"}, {"success": 141, "all": 147, "fail": 5, "skip": 0, "error": 1, "runtime": "88.84 S", "begin_time": "2023-01-05 13:57:02", "pass_rate": "95.92"}, {"success": 142, "all": 147, "fail": 4, "skip": 0, "error": 1, "runtime": "84.58 S", "begin_time": "2023-01-05 14:04:25", "pass_rate": "96.60"}, {"success": 142, "all": 147, "fail": 5, "skip": 0, "error": 0, "runtime": "81.07 S", "begin_time": "2023-01-05 14:09:05", "pass_rate": "96.60"}, {"success": 142, "all": 147, "fail": 4, "skip": 0, "error": 1, "runtime": "78.35 S", "begin_time": "2023-01-05 14:19:41", "pass_rate": "96.60"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "78.66 S", "begin_time": "2023-01-05 14:59:39", "pass_rate": "97.28"}, {"success": 0, "all": 25, "fail": 10, "skip": 0, "error": 15, "runtime": "42.49 S", "begin_time": "2023-01-05 16:35:10", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 25, "skip": 0, "error": 0, "runtime": "45.53 S", "begin_time": "2023-01-05 16:37:49", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.45 S", "begin_time": "2023-01-05 16:39:58", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 25, "skip": 0, "error": 0, "runtime": "10.28 S", "begin_time": "2023-01-05 16:40:37", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.77 S", "begin_time": "2023-01-05 16:42:20", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.48 S", "begin_time": "2023-01-05 16:45:55", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "3.48 S", "begin_time": "2023-01-05 16:47:00", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.33 S", "begin_time": "2023-01-05 16:51:46", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 25, "skip": 0, "error": 0, "runtime": "2.42 S", "begin_time": "2023-01-05 16:52:44", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 24, "skip": 0, "error": 1, "runtime": "2.36 S", "begin_time": "2023-01-05 16:55:52", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 25, "skip": 0, "error": 0, "runtime": "3.06 S", "begin_time": "2023-01-05 16:59:49", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.70 S", "begin_time": "2023-01-05 17:01:33", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.75 S", "begin_time": "2023-01-05 17:05:15", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.76 S", "begin_time": "2023-01-05 17:05:57", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.77 S", "begin_time": "2023-01-05 17:17:22", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.74 S", "begin_time": "2023-01-05 17:18:08", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "3.02 S", "begin_time": "2023-01-05 17:18:19", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.86 S", "begin_time": "2023-01-05 17:19:03", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.98 S", "begin_time": "2023-01-05 17:20:13", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.75 S", "begin_time": "2023-01-05 17:22:13", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.89 S", "begin_time": "2023-01-05 17:22:38", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.90 S", "begin_time": "2023-01-05 17:25:02", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.74 S", "begin_time": "2023-01-05 17:26:55", "pass_rate": "0.00"}, {"success": 21, "all": 25, "fail": 4, "skip": 0, "error": 0, "runtime": "12.07 S", "begin_time": "2023-01-05 17:30:24", "pass_rate": "84.00"}, {"success": 21, "all": 25, "fail": 4, "skip": 0, "error": 0, "runtime": "14.75 S", "begin_time": "2023-01-05 17:42:18", "pass_rate": "84.00"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "82.05 S", "begin_time": "2023-01-05 17:49:04", "pass_rate": "97.28"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "89.16 S", "begin_time": "2023-01-06 09:45:18", "pass_rate": "97.28"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "86.08 S", "begin_time": "2023-01-06 09:48:46", "pass_rate": "97.28"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "1.74 S", "begin_time": "2023-01-06 11:14:12", "pass_rate": "100.00"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "1.96 S", "begin_time": "2023-01-06 11:14:56", "pass_rate": "100.00"}, {"success": 136, "all": 151, "fail": 15, "skip": 0, "error": 0, "runtime": "101.48 S", "begin_time": "2023-01-06 13:52:19", "pass_rate": "90.07"}, {"success": 124, "all": 124, "fail": 0, "skip": 0, "error": 0, "runtime": "73.76 S", "begin_time": "2023-01-06 14:18:53", "pass_rate": "100.00"}, {"success": 124, "all": 124, "fail": 0, "skip": 0, "error": 0, "runtime": "74.13 S", "begin_time": "2023-01-06 14:22:35", "pass_rate": "100.00"}, {"success": 123, "all": 123, "fail": 0, "skip": 0, "error": 0, "runtime": "78.92 S", "begin_time": "2023-01-06 14:30:29", "pass_rate": "100.00"}, {"success": 145, "all": 149, "fail": 4, "skip": 0, "error": 0, "runtime": "86.12 S", "begin_time": "2023-01-06 14:43:34", "pass_rate": "97.32"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "93.42 S", "begin_time": "2023-01-06 14:47:07", "pass_rate": "97.35"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "103.07 S", "begin_time": "2023-01-06 17:27:19", "pass_rate": "97.35"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "87.89 S", "begin_time": "2023-01-09 09:41:33", "pass_rate": "97.35"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "84.33 S", "begin_time": "2023-01-09 09:45:02", "pass_rate": "97.35"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "84.31 S", "begin_time": "2023-01-09 10:11:44", "pass_rate": "97.35"}, {"success": 148, "all": 153, "fail": 4, "skip": 0, "error": 1, "runtime": "83.81 S", "begin_time": "2023-01-11 17:40:23", "pass_rate": "96.73"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "81.81 S", "begin_time": "2023-01-11 17:45:08", "pass_rate": "97.39"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "98.96 S", "begin_time": "2023-01-11 18:10:10", "pass_rate": "97.39"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "91.45 S", "begin_time": "2023-01-11 18:13:35", "pass_rate": "97.39"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "92.97 S", "begin_time": "2023-01-12 17:26:07", "pass_rate": "97.39"}] | ||
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"}, {"success": 141, "all": 147, "fail": 4, "skip": 0, "error": 2, "runtime": "80.52 S", "begin_time": "2023-01-05 11:15:17", "pass_rate": "95.92"}, {"success": 142, "all": 147, "fail": 4, "skip": 0, "error": 1, "runtime": "81.42 S", "begin_time": "2023-01-05 13:34:47", "pass_rate": "96.60"}, {"success": 30, "all": 31, "fail": 0, "skip": 0, "error": 1, "runtime": "20.28 S", "begin_time": "2023-01-05 13:39:33", "pass_rate": "96.77"}, {"success": 141, "all": 147, "fail": 5, "skip": 0, "error": 1, "runtime": "88.84 S", "begin_time": "2023-01-05 13:57:02", "pass_rate": "95.92"}, {"success": 142, "all": 147, "fail": 4, "skip": 0, "error": 1, "runtime": "84.58 S", "begin_time": "2023-01-05 14:04:25", "pass_rate": "96.60"}, {"success": 142, "all": 147, "fail": 5, "skip": 0, "error": 0, "runtime": "81.07 S", "begin_time": "2023-01-05 14:09:05", "pass_rate": "96.60"}, {"success": 142, "all": 147, "fail": 4, "skip": 0, "error": 1, "runtime": "78.35 S", "begin_time": "2023-01-05 14:19:41", "pass_rate": "96.60"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "78.66 S", "begin_time": "2023-01-05 14:59:39", "pass_rate": "97.28"}, {"success": 0, "all": 25, "fail": 10, "skip": 0, "error": 15, "runtime": "42.49 S", "begin_time": "2023-01-05 16:35:10", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 25, "skip": 0, "error": 0, "runtime": "45.53 S", "begin_time": "2023-01-05 16:37:49", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.45 S", "begin_time": "2023-01-05 16:39:58", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 25, "skip": 0, "error": 0, "runtime": "10.28 S", "begin_time": "2023-01-05 16:40:37", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.77 S", "begin_time": "2023-01-05 16:42:20", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.48 S", "begin_time": "2023-01-05 16:45:55", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "3.48 S", "begin_time": "2023-01-05 16:47:00", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.33 S", "begin_time": "2023-01-05 16:51:46", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 25, "skip": 0, "error": 0, "runtime": "2.42 S", "begin_time": "2023-01-05 16:52:44", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 24, "skip": 0, "error": 1, "runtime": "2.36 S", "begin_time": "2023-01-05 16:55:52", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 25, "skip": 0, "error": 0, "runtime": "3.06 S", "begin_time": "2023-01-05 16:59:49", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.70 S", "begin_time": "2023-01-05 17:01:33", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.75 S", "begin_time": "2023-01-05 17:05:15", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.76 S", "begin_time": "2023-01-05 17:05:57", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.77 S", "begin_time": "2023-01-05 17:17:22", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.74 S", "begin_time": "2023-01-05 17:18:08", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "3.02 S", "begin_time": "2023-01-05 17:18:19", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.86 S", "begin_time": "2023-01-05 17:19:03", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.98 S", "begin_time": "2023-01-05 17:20:13", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.75 S", "begin_time": "2023-01-05 17:22:13", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.89 S", "begin_time": "2023-01-05 17:22:38", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.90 S", "begin_time": "2023-01-05 17:25:02", "pass_rate": "0.00"}, {"success": 0, "all": 25, "fail": 0, "skip": 25, "error": 0, "runtime": "2.74 S", "begin_time": "2023-01-05 17:26:55", "pass_rate": "0.00"}, {"success": 21, "all": 25, "fail": 4, "skip": 0, "error": 0, "runtime": "12.07 S", "begin_time": "2023-01-05 17:30:24", "pass_rate": "84.00"}, {"success": 21, "all": 25, "fail": 4, "skip": 0, "error": 0, "runtime": "14.75 S", "begin_time": "2023-01-05 17:42:18", "pass_rate": "84.00"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "82.05 S", "begin_time": "2023-01-05 17:49:04", "pass_rate": "97.28"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "89.16 S", "begin_time": "2023-01-06 09:45:18", "pass_rate": "97.28"}, {"success": 143, "all": 147, "fail": 4, "skip": 0, "error": 0, "runtime": "86.08 S", "begin_time": "2023-01-06 09:48:46", "pass_rate": "97.28"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "1.74 S", "begin_time": "2023-01-06 11:14:12", "pass_rate": "100.00"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "1.96 S", "begin_time": "2023-01-06 11:14:56", "pass_rate": "100.00"}, {"success": 136, "all": 151, "fail": 15, "skip": 0, "error": 0, "runtime": "101.48 S", "begin_time": "2023-01-06 13:52:19", "pass_rate": "90.07"}, {"success": 124, "all": 124, "fail": 0, "skip": 0, "error": 0, "runtime": "73.76 S", "begin_time": "2023-01-06 14:18:53", "pass_rate": "100.00"}, {"success": 124, "all": 124, "fail": 0, "skip": 0, "error": 0, "runtime": "74.13 S", "begin_time": "2023-01-06 14:22:35", "pass_rate": "100.00"}, {"success": 123, "all": 123, "fail": 0, "skip": 0, "error": 0, "runtime": "78.92 S", "begin_time": "2023-01-06 14:30:29", "pass_rate": "100.00"}, {"success": 145, "all": 149, "fail": 4, "skip": 0, "error": 0, "runtime": "86.12 S", "begin_time": "2023-01-06 14:43:34", "pass_rate": "97.32"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "93.42 S", "begin_time": "2023-01-06 14:47:07", "pass_rate": "97.35"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "103.07 S", "begin_time": "2023-01-06 17:27:19", "pass_rate": "97.35"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "87.89 S", "begin_time": "2023-01-09 09:41:33", "pass_rate": "97.35"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "84.33 S", "begin_time": "2023-01-09 09:45:02", "pass_rate": "97.35"}, {"success": 147, "all": 151, "fail": 4, "skip": 0, "error": 0, "runtime": "84.31 S", "begin_time": "2023-01-09 10:11:44", "pass_rate": "97.35"}, {"success": 148, "all": 153, "fail": 4, "skip": 0, "error": 1, "runtime": "83.81 S", "begin_time": "2023-01-11 17:40:23", "pass_rate": "96.73"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "81.81 S", "begin_time": "2023-01-11 17:45:08", "pass_rate": "97.39"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "98.96 S", "begin_time": "2023-01-11 18:10:10", "pass_rate": "97.39"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "91.45 S", "begin_time": "2023-01-11 18:13:35", "pass_rate": "97.39"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "92.97 S", "begin_time": "2023-01-12 17:26:07", "pass_rate": "97.39"}, {"success": 11, "all": 11, "fail": 0, "skip": 0, "error": 0, "runtime": "5.43 S", "begin_time": "2023-01-12 17:53:12", "pass_rate": "100.00"}, {"success": 11, "all": 11, "fail": 0, "skip": 0, "error": 0, "runtime": "5.62 S", "begin_time": "2023-01-12 18:21:50", "pass_rate": "100.00"}, {"success": 11, "all": 11, "fail": 0, "skip": 0, "error": 0, "runtime": "5.45 S", "begin_time": "2023-01-12 18:25:02", "pass_rate": "100.00"}, {"success": 11, "all": 11, "fail": 0, "skip": 0, "error": 0, "runtime": "5.22 S", "begin_time": "2023-01-12 18:34:18", "pass_rate": "100.00"}, {"success": 149, "all": 153, "fail": 4, "skip": 0, "error": 0, "runtime": "90.89 S", "begin_time": "2023-01-13 10:31:34", "pass_rate": "97.39"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "0.99 S", "begin_time": "2023-01-13 15:02:59", "pass_rate": "100.00"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "0.90 S", "begin_time": "2023-01-13 15:04:26", "pass_rate": "100.00"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "0.92 S", "begin_time": "2023-01-13 15:04:54", "pass_rate": "100.00"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "0.84 S", "begin_time": "2023-01-13 15:06:22", "pass_rate": "100.00"}, {"success": 1, "all": 1, "fail": 0, "skip": 0, "error": 0, "runtime": "1.71 S", "begin_time": "2023-01-13 16:35:37", "pass_rate": "100.00"}] |
@@ -6,63 +6,43 @@ | @@ -6,63 +6,43 @@ | ||
6 | # @Software: PyCharm | 6 | # @Software: PyCharm |
7 | 7 | ||
8 | import unittest | 8 | import unittest |
9 | -from unittestreport import TestRunner | 9 | +from tools.function import runner_test |
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 | ||
12 | from testcase.test_01_login import TestLogin | 11 | from testcase.test_01_login import TestLogin |
13 | from testcase.test_02_system_management import Test01Department, Test02Specialty, Test03Year | 12 | from testcase.test_02_system_management import Test01Department, Test02Specialty, Test03Year |
14 | from testcase.test_03_teaching_affairs import Test01Teacher, Test02Class, Test03Course, Test04Student | 13 | from testcase.test_03_teaching_affairs import Test01Teacher, Test02Class, Test03Course, Test04Student |
15 | from testcase.test_04_Internship_preparation import Test01addInternshipPlan, Test02publishInternshipPlan, \ | 14 | from testcase.test_04_Internship_preparation import Test01addInternshipPlan, Test02publishInternshipPlan, \ |
16 | Test03addInternshipProject, Test04publishInternshipProject | 15 | Test03addInternshipProject, Test04publishInternshipProject |
16 | +from testcase.test_05_student_practice import Test01SelectAllPractice, Test02StudentApply | ||
17 | +from testcase.test_06_internship_manage import Test01SelectApplyAuditList, Test02Audit | ||
17 | 18 | ||
18 | """ | 19 | """ |
19 | 执行所有用例 | 20 | 执行所有用例 |
20 | -# # """ | 21 | +""" |
21 | # 创建测试套件 | 22 | # 创建测试套件 |
22 | -suite = unittest.TestSuite() | 23 | +suite_all = unittest.TestSuite() |
23 | # 加载用例 | 24 | # 加载用例 |
24 | # ---创建加载器 | 25 | # ---创建加载器 |
25 | load = unittest.TestLoader() | 26 | load = unittest.TestLoader() |
26 | # ---用例放到加载器 | 27 | # ---用例放到加载器 |
27 | -suite.addTest(load.discover(TestCase_Path)) | 28 | +suite_all.addTest(load.discover(TestCase_Path)) |
28 | """ | 29 | """ |
29 | 执行单独模块用例 | 30 | 执行单独模块用例 |
30 | """ | 31 | """ |
31 | -# a = unittest.TestLoader().loadTestsFromTestCase(Test04publishInternshipProject) | ||
32 | -# # # b = unittest.TestLoader().loadTestsFromTestCase(Test02publishInternshipPlan) | ||
33 | -# suite = unittest.TestSuite([a]) | 32 | +a = unittest.TestLoader().loadTestsFromTestCase(Test02Audit) |
33 | +suite = unittest.TestSuite([a]) | ||
34 | 34 | ||
35 | -# # 运行 | ||
36 | -runner = TestRunner(suite=suite, | ||
37 | - filename=conf.get("report", "filename"), | ||
38 | - report_dir=Report_Path, | ||
39 | - title=conf.get("report", "title"), | ||
40 | - tester=conf.get("report", "tester"), | ||
41 | - desc=conf.get("report", "desc"), | ||
42 | - templates=conf.getint("report", "templates") | ||
43 | - ) | ||
44 | -# runner.run() | ||
45 | -# 执行失败重新运行机制 | ||
46 | -runner.rerun_run(count=3, interval=0.2) | 35 | +runner_test(suite) # 执行 |
47 | 36 | ||
48 | -""" | ||
49 | -发送钉钉 | ||
50 | -""" | ||
51 | -# # Webhook = "https://oapi.dingtalk.com/robot/send?access_token=cb3e40995683f06c5be06074e0cf617f2ea208156e3b4bf6247b56a212b8b7c3" | ||
52 | -# Webhook = "https://oapi.dingtalk.com/robot/send?access_token=054f620071c74d94c10ad556743aa5ff0600a2953bbce5529ca057f75ad2423e" # 优秀学乐业钉钉群 | ||
53 | -# runner.dingtalk_notice(url=Webhook, | ||
54 | -# key="石头测试", # 传入钉钉设置的对应关键字 | ||
55 | -# atMobiles=["17301249973"], # 发送通知钉钉中要@人的手机号列表 | ||
56 | -# isatall=False, # 是否@所有人,默认为False,设为True则会@所有人 | ||
57 | -# except_info=True # 是否发送未通过用例的详细信息,默认为False | ||
58 | -# ) | ||
59 | -""" | ||
60 | -发送邮件 | ||
61 | -""" | ||
62 | -# runner.send_email(host="smtp.qq.com", | ||
63 | -# port=465, | ||
64 | -# user="shishut@foxmail.com", | ||
65 | -# password="uwgmbvzjfscqbeeh", | ||
66 | -# to_addrs=["shishut@workai.com.cn"] | ||
67 | -# # to_addrs=["shishut@workai.com.cn", "wangf@workai.com.cn"] | ||
68 | -# ) | 37 | +# input_case = input("请输入需要执行的用例:") |
38 | +# try: | ||
39 | +# if input_case in "全部": | ||
40 | +# suite = suite_all | ||
41 | +# elif input_case in "教师": | ||
42 | +# suite = suite_teacher | ||
43 | +# runner_test(suite) # 执行 | ||
44 | +# | ||
45 | +# except NameError as a: | ||
46 | +# print("输入错误") | ||
47 | +# else: | ||
48 | +# print("执行完毕,请确认") |
testcase/test_06_internship_manage.py
0 → 100644
1 | +# -*- coding: utf-8 -*- | ||
2 | +# ====================================== | ||
3 | +# @Software: PyCharm | ||
4 | +# @Author : Shitou ✊ | ||
5 | +# @Time : 2023/1/13 11:22 | ||
6 | +# @FileName: test_06_internship_manage.py | ||
7 | +# ====================================== | ||
8 | +""" | ||
9 | +实习管理菜单 | ||
10 | +""" | ||
11 | +import json | ||
12 | +import os | ||
13 | +import unittest | ||
14 | + | ||
15 | +import requests | ||
16 | +from jsonpath import jsonpath | ||
17 | + | ||
18 | +from common.handle_config import conf | ||
19 | +from common.handle_excel import Excel | ||
20 | +from common.handle_log import HandleLog | ||
21 | +from common.handle_path import Internship_manage | ||
22 | +from common.myddt import data, ddt | ||
23 | +from tools.fixture import SelectData | ||
24 | +from tools.handle_token import LoginToken | ||
25 | + | ||
26 | + | ||
27 | +# ==================实习管理菜单相关用例================== | ||
28 | + | ||
29 | +# ==================================================================== | ||
30 | +# 报名审核-待审核列表查看 | ||
31 | +# ==================================================================== | ||
32 | +@ddt | ||
33 | +class Test01SelectApplyAuditList(unittest.TestCase): | ||
34 | + select_apply_audit = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), "select_apply_audit") | ||
35 | + select_apply_audit_case = select_apply_audit.read_excel() # 查询报名审核Excel | ||
36 | + | ||
37 | + @classmethod | ||
38 | + def setUpClass(cls): | ||
39 | + # 获取token | ||
40 | + cls.token = LoginToken.login_token() | ||
41 | + | ||
42 | + @data(*select_apply_audit_case) | ||
43 | + def test01select_wait_list(self, case): | ||
44 | + # 准备数据 | ||
45 | + data = json.loads(case["data"]) | ||
46 | + expected = json.loads(case["expected"]) | ||
47 | + # 调用接口 | ||
48 | + url = conf.get("url", "url_ip") + case["url"] | ||
49 | + herders = {} | ||
50 | + herders["Authorization"] = self.token | ||
51 | + request = requests.request(url=url, method=case["method"], params=data, headers=herders) | ||
52 | + res = request.json() | ||
53 | + print("用例入参:{}".format(data)) | ||
54 | + print("预期结果:", expected) | ||
55 | + print("实际结果:", res) | ||
56 | + # 断言 | ||
57 | + try: | ||
58 | + self.assertEqual(expected['msg'], res['msg']) | ||
59 | + self.assertEqual(expected['code'], res['code']) | ||
60 | + except AssertionError as e: | ||
61 | + # 写入Excel | ||
62 | + self.select_apply_audit.write_excel(row=case["id"] + 1, column=7, value="不通过") | ||
63 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
64 | + HandleLog.log.exception(e) | ||
65 | + raise e | ||
66 | + else: | ||
67 | + self.select_apply_audit.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
68 | + # 将创建使用的数据写入到excel表格中 | ||
69 | + self.select_apply_audit.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
70 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
71 | + | ||
72 | + | ||
73 | +# ==================================================================== | ||
74 | +# 报名审核-进行审核 | ||
75 | +# ==================================================================== | ||
76 | +@ddt | ||
77 | +class Test02Audit(unittest.TestCase): | ||
78 | + audit = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), "audit") | ||
79 | + audit_case = audit.read_excel() # 查询报名审核Excel | ||
80 | + | ||
81 | + @classmethod | ||
82 | + def setUpClass(cls): | ||
83 | + # 获取token | ||
84 | + cls.token = LoginToken.login_token() | ||
85 | + | ||
86 | + def setUp(self): | ||
87 | + # ---获取报名审核id---待审核 | ||
88 | + select_apply_excel = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), | ||
89 | + "select_apply_audit") | ||
90 | + read_apply_excel = select_apply_excel.read_excel_location("C2") | ||
91 | + read_apply_excel_d = select_apply_excel.read_excel_location("E2") # 读取params | ||
92 | + apply_list = SelectData(str(read_apply_excel), json.loads(read_apply_excel_d)) | ||
93 | + apply_json = apply_list.select_list() | ||
94 | + self.applyId = jsonpath(apply_json, "$..id")[0] # 获取待审核id | ||
95 | + | ||
96 | + @data(*audit_case) | ||
97 | + def test01audit(self, case): | ||
98 | + if "#formIds#" in case["data"]: | ||
99 | + case["data"] = case["data"].replace("#formIds#", str(self.applyId)) # 待审核id | ||
100 | + | ||
101 | + # 准备数据 | ||
102 | + data = json.loads(case["data"]) | ||
103 | + expected = json.loads(case["expected"]) | ||
104 | + # 调用接口 | ||
105 | + url = conf.get("url", "url_ip") + case["url"] | ||
106 | + herders = {} | ||
107 | + herders["Authorization"] = self.token | ||
108 | + request = requests.request(url=url, method=case["method"], json=data, headers=herders) | ||
109 | + res = request.json() | ||
110 | + print("用例入参:{}".format(data)) | ||
111 | + print("预期结果:", expected) | ||
112 | + print("实际结果:", res) | ||
113 | + # 断言 | ||
114 | + try: | ||
115 | + self.assertEqual(expected['msg'], res['msg']) | ||
116 | + self.assertEqual(expected['code'], res['code']) | ||
117 | + except AssertionError as e: | ||
118 | + # 写入Excel | ||
119 | + self.audit.write_excel(row=case["id"] + 1, column=7, value="不通过") | ||
120 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
121 | + HandleLog.log.exception(e) | ||
122 | + raise e | ||
123 | + else: | ||
124 | + self.audit.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
125 | + # 将创建使用的数据写入到excel表格中 | ||
126 | + self.audit.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
127 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) |
@@ -49,8 +49,8 @@ class SelectData(object): | @@ -49,8 +49,8 @@ class SelectData(object): | ||
49 | response = requests.request(url=self.url, method="get", params=data, headers=headers) | 49 | response = requests.request(url=self.url, method="get", params=data, headers=headers) |
50 | res = response.json() | 50 | res = response.json() |
51 | return res | 51 | return res |
52 | - # 倒序查找返回json | ||
53 | 52 | ||
53 | + # 获取登陆学生端,返回json | ||
54 | def student_select_list(self): | 54 | def student_select_list(self): |
55 | self.url = conf.get('url', 'url_ip') + self.url | 55 | self.url = conf.get('url', 'url_ip') + self.url |
56 | headers = {} | 56 | headers = {} |
@@ -60,6 +60,7 @@ class SelectData(object): | @@ -60,6 +60,7 @@ class SelectData(object): | ||
60 | res = response.json() | 60 | res = response.json() |
61 | return res | 61 | return res |
62 | 62 | ||
63 | + | ||
63 | # ==================随机生成手机号========== | 64 | # ==================随机生成手机号========== |
64 | class RandomPhone: | 65 | class RandomPhone: |
65 | 66 |
tools/function.py
0 → 100644
1 | +# -*- coding: utf-8 -*- | ||
2 | +# ====================================== | ||
3 | +# @Software: PyCharm | ||
4 | +# @Author : Shitou ✊ | ||
5 | +# @Time : 2023/1/12 18:26 | ||
6 | +# @FileName: function.py | ||
7 | +# ====================================== | ||
8 | +""" | ||
9 | +""" | ||
10 | +from unittestreport import TestRunner | ||
11 | +from common.handle_config import conf | ||
12 | +from common.handle_path import TestCase_Path, Report_Path | ||
13 | + | ||
14 | + | ||
15 | +# 运行文件 | ||
16 | +def runner_test(suite): | ||
17 | + runner = TestRunner(suite=suite, | ||
18 | + filename=conf.get("report", "filename"), | ||
19 | + report_dir=Report_Path, | ||
20 | + title=conf.get("report", "title"), | ||
21 | + tester=conf.get("report", "tester"), | ||
22 | + desc=conf.get("report", "desc"), | ||
23 | + templates=conf.getint("report", "templates") | ||
24 | + ) | ||
25 | + # runner.run() | ||
26 | + # 执行失败重新运行机制 | ||
27 | + runner.rerun_run(count=3, interval=0.2) | ||
28 | + """ | ||
29 | + 发送钉钉 | ||
30 | + """ | ||
31 | + # # Webhook = "https://oapi.dingtalk.com/robot/send?access_token=cb3e40995683f06c5be06074e0cf617f2ea208156e3b4bf6247b56a212b8b7c3" | ||
32 | + # Webhook = "https://oapi.dingtalk.com/robot/send?access_token=054f620071c74d94c10ad556743aa5ff0600a2953bbce5529ca057f75ad2423e" # 优秀学乐业钉钉群 | ||
33 | + # runner.dingtalk_notice(url=Webhook, | ||
34 | + # key="石头测试", # 传入钉钉设置的对应关键字 | ||
35 | + # atMobiles=["17301249973"], # 发送通知钉钉中要@人的手机号列表 | ||
36 | + # isatall=False, # 是否@所有人,默认为False,设为True则会@所有人 | ||
37 | + # except_info=True # 是否发送未通过用例的详细信息,默认为False | ||
38 | + # ) | ||
39 | + """ | ||
40 | + 发送邮件 | ||
41 | + """ | ||
42 | + # runner.send_email(host="smtp.qq.com", | ||
43 | + # port=465, | ||
44 | + # user="shishut@foxmail.com", | ||
45 | + # password="uwgmbvzjfscqbeeh", | ||
46 | + # to_addrs=["shishut@workai.com.cn"] | ||
47 | + # # to_addrs=["shishut@workai.com.cn", "wangf@workai.com.cn"] | ||
48 | + # ) |
@@ -16,7 +16,7 @@ from jsonpath import jsonpath | @@ -16,7 +16,7 @@ from jsonpath import jsonpath | ||
16 | # ==================获取登陆token======== | 16 | # ==================获取登陆token======== |
17 | class LoginToken: | 17 | class LoginToken: |
18 | def login_token(): | 18 | def login_token(): |
19 | - # 登陆获取token | 19 | + # 登陆学校端获取token |
20 | login_url = conf.get("url", "url_ip") + "/auth/v1/login" | 20 | login_url = conf.get("url", "url_ip") + "/auth/v1/login" |
21 | headers = eval(conf.get('url', 'login_token')) | 21 | headers = eval(conf.get('url', 'login_token')) |
22 | params = { | 22 | params = { |
请
注册
或
登录
后发表评论