正在显示
26 个修改的文件
包含
598 行增加
和
93 行删除
| 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.13 1.封装生成身份证"年""> | 4 | + <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="1.项目维护"> |
| 5 | + <change afterPath="$PROJECT_DIR$/data/Internship_manage/test_08_log_marking.xlsx" afterDir="false" /> | ||
| 6 | + <change afterPath="$PROJECT_DIR$/data/Internship_manage/test_09_leave_record.xlsx" afterDir="false" /> | ||
| 5 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | 7 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |
| 8 | + <change beforePath="$PROJECT_DIR$/conf/config.ini" beforeDir="false" afterPath="$PROJECT_DIR$/conf/config.ini" afterDir="false" /> | ||
| 6 | <change beforePath="$PROJECT_DIR$/data/Internship_manage/test_07_apply_audit.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/Internship_manage/test_07_apply_audit.xlsx" afterDir="false" /> | 9 | <change beforePath="$PROJECT_DIR$/data/Internship_manage/test_07_apply_audit.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/Internship_manage/test_07_apply_audit.xlsx" 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" /> |
| @@ -15,9 +18,16 @@ | @@ -15,9 +18,16 @@ | ||
| 15 | <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" afterDir="false" /> | 18 | <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" afterDir="false" /> |
| 16 | <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" afterDir="false" /> | 19 | <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" afterDir="false" /> |
| 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$/logs/log.log.2022-12-24" beforeDir="false" /> | ||
| 19 | <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" /> |
| 22 | + <change beforePath="$PROJECT_DIR$/report/report2.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report2.html" afterDir="false" /> | ||
| 23 | + <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> | ||
| 24 | + <change beforePath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" afterDir="false" /> | ||
| 25 | + <change beforePath="$PROJECT_DIR$/testcase/test_04_Internship_preparation.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_04_Internship_preparation.py" afterDir="false" /> | ||
| 26 | + <change beforePath="$PROJECT_DIR$/testcase/test_05_student_practice.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_05_student_practice.py" afterDir="false" /> | ||
| 20 | <change beforePath="$PROJECT_DIR$/testcase/test_06_internship_manage.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_06_internship_manage.py" afterDir="false" /> | 27 | <change beforePath="$PROJECT_DIR$/testcase/test_06_internship_manage.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_06_internship_manage.py" afterDir="false" /> |
| 28 | + <change beforePath="$PROJECT_DIR$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> | ||
| 29 | + <change beforePath="$PROJECT_DIR$/tools/function.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/function.py" afterDir="false" /> | ||
| 30 | + <change beforePath="$PROJECT_DIR$/tools/handle_token.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/handle_token.py" afterDir="false" /> | ||
| 21 | </list> | 31 | </list> |
| 22 | <option name="SHOW_DIALOG" value="false" /> | 32 | <option name="SHOW_DIALOG" value="false" /> |
| 23 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> | 33 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
| @@ -68,19 +78,19 @@ | @@ -68,19 +78,19 @@ | ||
| 68 | <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> | 78 | <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> |
| 69 | <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> | 79 | <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> |
| 70 | <property name="WebServerToolWindowFactoryState" value="false" /> | 80 | <property name="WebServerToolWindowFactoryState" value="false" /> |
| 71 | - <property name="last_opened_file_path" value="$PROJECT_DIR$/data/Internship_manage" /> | 81 | + <property name="last_opened_file_path" value="$PROJECT_DIR$/data/Internship_preparation" /> |
| 72 | <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> | 82 | <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> |
| 73 | </component> | 83 | </component> |
| 74 | <component name="RecentsManager"> | 84 | <component name="RecentsManager"> |
| 75 | <key name="CopyFile.RECENT_KEYS"> | 85 | <key name="CopyFile.RECENT_KEYS"> |
| 86 | + <recent name="$PROJECT_DIR$/data/Internship_preparation" /> | ||
| 76 | <recent name="$PROJECT_DIR$/data/Internship_manage" /> | 87 | <recent name="$PROJECT_DIR$/data/Internship_manage" /> |
| 77 | <recent name="$PROJECT_DIR$/data/student_practice" /> | 88 | <recent name="$PROJECT_DIR$/data/student_practice" /> |
| 78 | - <recent name="$PROJECT_DIR$/data/Internship_preparation" /> | ||
| 79 | <recent name="$PROJECT_DIR$/data/teaching_affairs" /> | 89 | <recent name="$PROJECT_DIR$/data/teaching_affairs" /> |
| 80 | <recent name="$PROJECT_DIR$/tools" /> | 90 | <recent name="$PROJECT_DIR$/tools" /> |
| 81 | </key> | 91 | </key> |
| 82 | </component> | 92 | </component> |
| 83 | - <component name="RunManager" selected="Python tests.Unittests in test_06_internship_manage.py"> | 93 | + <component name="RunManager" selected="Python.run"> |
| 84 | <configuration name="aaa" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> | 94 | <configuration name="aaa" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> |
| 85 | <module name="yxly2" /> | 95 | <module name="yxly2" /> |
| 86 | <option name="INTERPRETER_OPTIONS" value="" /> | 96 | <option name="INTERPRETER_OPTIONS" value="" /> |
| @@ -186,11 +196,11 @@ | @@ -186,11 +196,11 @@ | ||
| 186 | </list> | 196 | </list> |
| 187 | <recent_temporary> | 197 | <recent_temporary> |
| 188 | <list> | 198 | <list> |
| 189 | - <item itemvalue="Python tests.Unittests in test_06_internship_manage.py" /> | ||
| 190 | <item itemvalue="Python.run" /> | 199 | <item itemvalue="Python.run" /> |
| 191 | - <item itemvalue="Python.aaa" /> | ||
| 192 | <item itemvalue="Python.handle_token" /> | 200 | <item itemvalue="Python.handle_token" /> |
| 201 | + <item itemvalue="Python tests.Unittests in test_06_internship_manage.py" /> | ||
| 193 | <item itemvalue="Python tests.Unittests in test_04_Internship_preparation.py" /> | 202 | <item itemvalue="Python tests.Unittests in test_04_Internship_preparation.py" /> |
| 203 | + <item itemvalue="Python.aaa" /> | ||
| 194 | </list> | 204 | </list> |
| 195 | </recent_temporary> | 205 | </recent_temporary> |
| 196 | </component> | 206 | </component> |
| @@ -239,7 +249,44 @@ | @@ -239,7 +249,44 @@ | ||
| 239 | <workItem from="1675923047370" duration="1840000" /> | 249 | <workItem from="1675923047370" duration="1840000" /> |
| 240 | <workItem from="1675993944948" duration="19838000" /> | 250 | <workItem from="1675993944948" duration="19838000" /> |
| 241 | <workItem from="1676352585519" duration="649000" /> | 251 | <workItem from="1676352585519" duration="649000" /> |
| 242 | - <workItem from="1676429711639" duration="13811000" /> | 252 | + <workItem from="1676429711639" duration="16558000" /> |
| 253 | + <workItem from="1676533277102" duration="8356000" /> | ||
| 254 | + <workItem from="1676598554552" duration="16514000" /> | ||
| 255 | + <workItem from="1676857239215" duration="17927000" /> | ||
| 256 | + <workItem from="1676943889754" duration="23167000" /> | ||
| 257 | + <workItem from="1677465101095" duration="3714000" /> | ||
| 258 | + <workItem from="1678066872906" duration="15833000" /> | ||
| 259 | + <workItem from="1678342329058" duration="349000" /> | ||
| 260 | + <workItem from="1678440283423" duration="3522000" /> | ||
| 261 | + <workItem from="1678670968785" duration="30552000" /> | ||
| 262 | + <workItem from="1679049143003" duration="2741000" /> | ||
| 263 | + <workItem from="1679302047492" duration="3219000" /> | ||
| 264 | + <workItem from="1679463110512" duration="4971000" /> | ||
| 265 | + <workItem from="1679635698276" duration="13882000" /> | ||
| 266 | + <workItem from="1679999876828" duration="52000" /> | ||
| 267 | + <workItem from="1680076840448" duration="16953000" /> | ||
| 268 | + <workItem from="1683256734428" duration="58000" /> | ||
| 269 | + <workItem from="1683265845967" duration="968000" /> | ||
| 270 | + <workItem from="1686724205755" duration="3232000" /> | ||
| 271 | + <workItem from="1686792679924" duration="2619000" /> | ||
| 272 | + <workItem from="1687138769856" duration="7331000" /> | ||
| 273 | + <workItem from="1687656975195" duration="6855000" /> | ||
| 274 | + <workItem from="1687743036927" duration="4715000" /> | ||
| 275 | + <workItem from="1687830426053" duration="2545000" /> | ||
| 276 | + <workItem from="1687847849541" duration="1370000" /> | ||
| 277 | + <workItem from="1687852053143" duration="1661000" /> | ||
| 278 | + <workItem from="1687855288373" duration="2781000" /> | ||
| 279 | + <workItem from="1687916234000" duration="3333000" /> | ||
| 280 | + <workItem from="1688003499790" duration="3404000" /> | ||
| 281 | + <workItem from="1688104723785" duration="2859000" /> | ||
| 282 | + <workItem from="1688362204086" duration="2377000" /> | ||
| 283 | + <workItem from="1689561559287" duration="2760000" /> | ||
| 284 | + <workItem from="1689644168358" duration="6421000" /> | ||
| 285 | + <workItem from="1689674572646" duration="1719000" /> | ||
| 286 | + <workItem from="1689730508198" duration="11129000" /> | ||
| 287 | + <workItem from="1689816981406" duration="4617000" /> | ||
| 288 | + <workItem from="1689903460923" duration="538000" /> | ||
| 289 | + <workItem from="1690180441280" duration="301000" /> | ||
| 243 | </task> | 290 | </task> |
| 244 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> | 291 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> |
| 245 | <created>1671544396986</created> | 292 | <created>1671544396986</created> |
| @@ -395,7 +442,14 @@ | @@ -395,7 +442,14 @@ | ||
| 395 | <option name="project" value="LOCAL" /> | 442 | <option name="project" value="LOCAL" /> |
| 396 | <updated>1675679274029</updated> | 443 | <updated>1675679274029</updated> |
| 397 | </task> | 444 | </task> |
| 398 | - <option name="localTasksCounter" value="23" /> | 445 | + <task id="LOCAL-00023" summary="版本:1.0.14 1.学生端进行选择开始实习时间 2.生成实习单,当前学生进入实习中"> |
| 446 | + <created>1676453939322</created> | ||
| 447 | + <option name="number" value="00023" /> | ||
| 448 | + <option name="presentableId" value="LOCAL-00023" /> | ||
| 449 | + <option name="project" value="LOCAL" /> | ||
| 450 | + <updated>1676453939322</updated> | ||
| 451 | + </task> | ||
| 452 | + <option name="localTasksCounter" value="24" /> | ||
| 399 | <servers /> | 453 | <servers /> |
| 400 | </component> | 454 | </component> |
| 401 | <component name="TypeScriptGeneratedFilesManager"> | 455 | <component name="TypeScriptGeneratedFilesManager"> |
| @@ -446,7 +500,8 @@ | @@ -446,7 +500,8 @@ | ||
| 446 | <MESSAGE value="版本:1.0.11 1.新增学校审核用例逻辑判断" /> | 500 | <MESSAGE value="版本:1.0.11 1.新增学校审核用例逻辑判断" /> |
| 447 | <MESSAGE value="版本:1.0.12 1.优化hr登陆问题" /> | 501 | <MESSAGE value="版本:1.0.12 1.优化hr登陆问题" /> |
| 448 | <MESSAGE value="版本:1.0.13 1.封装生成身份证"年"" /> | 502 | <MESSAGE value="版本:1.0.13 1.封装生成身份证"年"" /> |
| 449 | - <option name="LAST_COMMIT_MESSAGE" value="版本:1.0.13 1.封装生成身份证"年"" /> | 503 | + <MESSAGE value="版本:1.0.14 1.学生端进行选择开始实习时间 2.生成实习单,当前学生进入实习中" /> |
| 504 | + <option name="LAST_COMMIT_MESSAGE" value="版本:1.0.14 1.学生端进行选择开始实习时间 2.生成实习单,当前学生进入实习中" /> | ||
| 450 | </component> | 505 | </component> |
| 451 | <component name="XDebuggerManager"> | 506 | <component name="XDebuggerManager"> |
| 452 | <breakpoint-manager> | 507 | <breakpoint-manager> |
| @@ -503,17 +558,17 @@ | @@ -503,17 +558,17 @@ | ||
| 503 | </line-breakpoint> | 558 | </line-breakpoint> |
| 504 | <line-breakpoint suspend="THREAD" type="python-line"> | 559 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 505 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | 560 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> |
| 506 | - <line>291</line> | 561 | + <line>294</line> |
| 507 | <option name="timeStamp" value="35" /> | 562 | <option name="timeStamp" value="35" /> |
| 508 | </line-breakpoint> | 563 | </line-breakpoint> |
| 509 | <line-breakpoint suspend="THREAD" type="python-line"> | 564 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 510 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | 565 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> |
| 511 | - <line>319</line> | 566 | + <line>322</line> |
| 512 | <option name="timeStamp" value="37" /> | 567 | <option name="timeStamp" value="37" /> |
| 513 | </line-breakpoint> | 568 | </line-breakpoint> |
| 514 | <line-breakpoint suspend="THREAD" type="python-line"> | 569 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 515 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | 570 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> |
| 516 | - <line>363</line> | 571 | + <line>366</line> |
| 517 | <option name="timeStamp" value="38" /> | 572 | <option name="timeStamp" value="38" /> |
| 518 | </line-breakpoint> | 573 | </line-breakpoint> |
| 519 | <line-breakpoint suspend="THREAD" type="python-line"> | 574 | <line-breakpoint suspend="THREAD" type="python-line"> |
| @@ -562,23 +617,13 @@ | @@ -562,23 +617,13 @@ | ||
| 562 | <option name="timeStamp" value="78" /> | 617 | <option name="timeStamp" value="78" /> |
| 563 | </line-breakpoint> | 618 | </line-breakpoint> |
| 564 | <line-breakpoint suspend="THREAD" type="python-line"> | 619 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 565 | - <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | ||
| 566 | - <line>323</line> | ||
| 567 | - <option name="timeStamp" value="79" /> | ||
| 568 | - </line-breakpoint> | ||
| 569 | - <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 570 | - <url>file://$PROJECT_DIR$/tools/handle_token.py</url> | ||
| 571 | - <line>52</line> | ||
| 572 | - <option name="timeStamp" value="80" /> | ||
| 573 | - </line-breakpoint> | ||
| 574 | - <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 575 | <url>file://$PROJECT_DIR$/testcase/test_05_student_practice.py</url> | 620 | <url>file://$PROJECT_DIR$/testcase/test_05_student_practice.py</url> |
| 576 | - <line>109</line> | 621 | + <line>110</line> |
| 577 | <option name="timeStamp" value="98" /> | 622 | <option name="timeStamp" value="98" /> |
| 578 | </line-breakpoint> | 623 | </line-breakpoint> |
| 579 | <line-breakpoint suspend="THREAD" type="python-line"> | 624 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 580 | <url>file://$PROJECT_DIR$/testcase/test_05_student_practice.py</url> | 625 | <url>file://$PROJECT_DIR$/testcase/test_05_student_practice.py</url> |
| 581 | - <line>101</line> | 626 | + <line>102</line> |
| 582 | <option name="timeStamp" value="99" /> | 627 | <option name="timeStamp" value="99" /> |
| 583 | </line-breakpoint> | 628 | </line-breakpoint> |
| 584 | <line-breakpoint suspend="THREAD" type="python-line"> | 629 | <line-breakpoint suspend="THREAD" type="python-line"> |
| @@ -588,27 +633,27 @@ | @@ -588,27 +633,27 @@ | ||
| 588 | </line-breakpoint> | 633 | </line-breakpoint> |
| 589 | <line-breakpoint suspend="THREAD" type="python-line"> | 634 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 590 | <url>file://$PROJECT_DIR$/run.py</url> | 635 | <url>file://$PROJECT_DIR$/run.py</url> |
| 591 | - <line>56</line> | 636 | + <line>60</line> |
| 592 | <option name="timeStamp" value="101" /> | 637 | <option name="timeStamp" value="101" /> |
| 593 | </line-breakpoint> | 638 | </line-breakpoint> |
| 594 | <line-breakpoint suspend="THREAD" type="python-line"> | 639 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 595 | <url>file://$PROJECT_DIR$/run.py</url> | 640 | <url>file://$PROJECT_DIR$/run.py</url> |
| 596 | - <line>52</line> | 641 | + <line>56</line> |
| 597 | <option name="timeStamp" value="102" /> | 642 | <option name="timeStamp" value="102" /> |
| 598 | </line-breakpoint> | 643 | </line-breakpoint> |
| 599 | <line-breakpoint suspend="THREAD" type="python-line"> | 644 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 600 | <url>file://$PROJECT_DIR$/run.py</url> | 645 | <url>file://$PROJECT_DIR$/run.py</url> |
| 601 | - <line>50</line> | 646 | + <line>54</line> |
| 602 | <option name="timeStamp" value="103" /> | 647 | <option name="timeStamp" value="103" /> |
| 603 | </line-breakpoint> | 648 | </line-breakpoint> |
| 604 | <line-breakpoint suspend="THREAD" type="python-line"> | 649 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 605 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 650 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 606 | - <line>51</line> | 651 | + <line>52</line> |
| 607 | <option name="timeStamp" value="106" /> | 652 | <option name="timeStamp" value="106" /> |
| 608 | </line-breakpoint> | 653 | </line-breakpoint> |
| 609 | <line-breakpoint suspend="THREAD" type="python-line"> | 654 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 610 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 655 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 611 | - <line>83</line> | 656 | + <line>84</line> |
| 612 | <option name="timeStamp" value="111" /> | 657 | <option name="timeStamp" value="111" /> |
| 613 | </line-breakpoint> | 658 | </line-breakpoint> |
| 614 | <line-breakpoint suspend="THREAD" type="python-line"> | 659 | <line-breakpoint suspend="THREAD" type="python-line"> |
| @@ -618,7 +663,7 @@ | @@ -618,7 +663,7 @@ | ||
| 618 | </line-breakpoint> | 663 | </line-breakpoint> |
| 619 | <line-breakpoint suspend="THREAD" type="python-line"> | 664 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 620 | <url>file://$PROJECT_DIR$/tools/handle_token.py</url> | 665 | <url>file://$PROJECT_DIR$/tools/handle_token.py</url> |
| 621 | - <line>49</line> | 666 | + <line>50</line> |
| 622 | <option name="timeStamp" value="116" /> | 667 | <option name="timeStamp" value="116" /> |
| 623 | </line-breakpoint> | 668 | </line-breakpoint> |
| 624 | <line-breakpoint suspend="THREAD" type="python-line"> | 669 | <line-breakpoint suspend="THREAD" type="python-line"> |
| @@ -628,27 +673,27 @@ | @@ -628,27 +673,27 @@ | ||
| 628 | </line-breakpoint> | 673 | </line-breakpoint> |
| 629 | <line-breakpoint suspend="THREAD" type="python-line"> | 674 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 630 | <url>file://$PROJECT_DIR$/tools/handle_token.py</url> | 675 | <url>file://$PROJECT_DIR$/tools/handle_token.py</url> |
| 631 | - <line>85</line> | 676 | + <line>86</line> |
| 632 | <option name="timeStamp" value="122" /> | 677 | <option name="timeStamp" value="122" /> |
| 633 | </line-breakpoint> | 678 | </line-breakpoint> |
| 634 | <line-breakpoint suspend="THREAD" type="python-line"> | 679 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 635 | <url>file://$PROJECT_DIR$/tools/handle_token.py</url> | 680 | <url>file://$PROJECT_DIR$/tools/handle_token.py</url> |
| 636 | - <line>92</line> | 681 | + <line>93</line> |
| 637 | <option name="timeStamp" value="123" /> | 682 | <option name="timeStamp" value="123" /> |
| 638 | </line-breakpoint> | 683 | </line-breakpoint> |
| 639 | <line-breakpoint suspend="THREAD" type="python-line"> | 684 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 640 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 685 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 641 | - <line>205</line> | 686 | + <line>208</line> |
| 642 | <option name="timeStamp" value="124" /> | 687 | <option name="timeStamp" value="124" /> |
| 643 | </line-breakpoint> | 688 | </line-breakpoint> |
| 644 | <line-breakpoint suspend="THREAD" type="python-line"> | 689 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 645 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 690 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 646 | - <line>208</line> | 691 | + <line>211</line> |
| 647 | <option name="timeStamp" value="125" /> | 692 | <option name="timeStamp" value="125" /> |
| 648 | </line-breakpoint> | 693 | </line-breakpoint> |
| 649 | <line-breakpoint suspend="THREAD" type="python-line"> | 694 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 650 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 695 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 651 | - <line>50</line> | 696 | + <line>51</line> |
| 652 | <option name="timeStamp" value="126" /> | 697 | <option name="timeStamp" value="126" /> |
| 653 | </line-breakpoint> | 698 | </line-breakpoint> |
| 654 | <line-breakpoint suspend="THREAD" type="python-line"> | 699 | <line-breakpoint suspend="THREAD" type="python-line"> |
| @@ -658,12 +703,12 @@ | @@ -658,12 +703,12 @@ | ||
| 658 | </line-breakpoint> | 703 | </line-breakpoint> |
| 659 | <line-breakpoint suspend="THREAD" type="python-line"> | 704 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 660 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 705 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 661 | - <line>153</line> | 706 | + <line>156</line> |
| 662 | <option name="timeStamp" value="129" /> | 707 | <option name="timeStamp" value="129" /> |
| 663 | </line-breakpoint> | 708 | </line-breakpoint> |
| 664 | <line-breakpoint suspend="THREAD" type="python-line"> | 709 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 665 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 710 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 666 | - <line>210</line> | 711 | + <line>213</line> |
| 667 | <option name="timeStamp" value="130" /> | 712 | <option name="timeStamp" value="130" /> |
| 668 | </line-breakpoint> | 713 | </line-breakpoint> |
| 669 | <line-breakpoint suspend="THREAD" type="python-line"> | 714 | <line-breakpoint suspend="THREAD" type="python-line"> |
| @@ -673,22 +718,12 @@ | @@ -673,22 +718,12 @@ | ||
| 673 | </line-breakpoint> | 718 | </line-breakpoint> |
| 674 | <line-breakpoint suspend="THREAD" type="python-line"> | 719 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 675 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> | 720 | <url>file://$PROJECT_DIR$/tools/fixture.py</url> |
| 676 | - <line>38</line> | ||
| 677 | - <option name="timeStamp" value="138" /> | ||
| 678 | - </line-breakpoint> | ||
| 679 | - <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 680 | - <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
| 681 | - <line>36</line> | ||
| 682 | - <option name="timeStamp" value="139" /> | ||
| 683 | - </line-breakpoint> | ||
| 684 | - <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 685 | - <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
| 686 | <line>35</line> | 721 | <line>35</line> |
| 687 | <option name="timeStamp" value="140" /> | 722 | <option name="timeStamp" value="140" /> |
| 688 | </line-breakpoint> | 723 | </line-breakpoint> |
| 689 | <line-breakpoint suspend="THREAD" type="python-line"> | 724 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 690 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 725 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 691 | - <line>249</line> | 726 | + <line>253</line> |
| 692 | <option name="timeStamp" value="142" /> | 727 | <option name="timeStamp" value="142" /> |
| 693 | </line-breakpoint> | 728 | </line-breakpoint> |
| 694 | <line-breakpoint suspend="THREAD" type="python-line"> | 729 | <line-breakpoint suspend="THREAD" type="python-line"> |
| @@ -698,38 +733,113 @@ | @@ -698,38 +733,113 @@ | ||
| 698 | </line-breakpoint> | 733 | </line-breakpoint> |
| 699 | <line-breakpoint suspend="THREAD" type="python-line"> | 734 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 700 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 735 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 701 | - <line>274</line> | ||
| 702 | - <option name="timeStamp" value="148" /> | 736 | + <line>279</line> |
| 737 | + <option name="timeStamp" value="149" /> | ||
| 703 | </line-breakpoint> | 738 | </line-breakpoint> |
| 704 | <line-breakpoint suspend="THREAD" type="python-line"> | 739 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 705 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 740 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 706 | <line>275</line> | 741 | <line>275</line> |
| 707 | - <option name="timeStamp" value="149" /> | 742 | + <option name="timeStamp" value="150" /> |
| 708 | </line-breakpoint> | 743 | </line-breakpoint> |
| 709 | <line-breakpoint suspend="THREAD" type="python-line"> | 744 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 710 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 745 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 711 | - <line>271</line> | ||
| 712 | - <option name="timeStamp" value="150" /> | 746 | + <line>241</line> |
| 747 | + <option name="timeStamp" value="162" /> | ||
| 748 | + </line-breakpoint> | ||
| 749 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 750 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
| 751 | + <line>239</line> | ||
| 752 | + <option name="timeStamp" value="163" /> | ||
| 713 | </line-breakpoint> | 753 | </line-breakpoint> |
| 714 | <line-breakpoint suspend="THREAD" type="python-line"> | 754 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 715 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 755 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 756 | + <line>434</line> | ||
| 757 | + <option name="timeStamp" value="165" /> | ||
| 758 | + </line-breakpoint> | ||
| 759 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 760 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
| 761 | + <line>49</line> | ||
| 762 | + <option name="timeStamp" value="166" /> | ||
| 763 | + </line-breakpoint> | ||
| 764 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 765 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
| 766 | + <line>50</line> | ||
| 767 | + <option name="timeStamp" value="167" /> | ||
| 768 | + </line-breakpoint> | ||
| 769 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 770 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
| 771 | + <line>443</line> | ||
| 772 | + <option name="timeStamp" value="169" /> | ||
| 773 | + </line-breakpoint> | ||
| 774 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 775 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
| 776 | + <line>38</line> | ||
| 777 | + <option name="timeStamp" value="171" /> | ||
| 778 | + </line-breakpoint> | ||
| 779 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 780 | + <url>file://$PROJECT_DIR$/testcase/test_04_Internship_preparation.py</url> | ||
| 781 | + <line>323</line> | ||
| 782 | + <option name="timeStamp" value="174" /> | ||
| 783 | + </line-breakpoint> | ||
| 784 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 785 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
| 786 | + <line>114</line> | ||
| 787 | + <option name="timeStamp" value="175" /> | ||
| 788 | + </line-breakpoint> | ||
| 789 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 790 | + <url>file://$PROJECT_DIR$/testcase/test_05_student_practice.py</url> | ||
| 716 | <line>93</line> | 791 | <line>93</line> |
| 717 | - <option name="timeStamp" value="151" /> | 792 | + <option name="timeStamp" value="177" /> |
| 718 | </line-breakpoint> | 793 | </line-breakpoint> |
| 719 | <line-breakpoint suspend="THREAD" type="python-line"> | 794 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 720 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 795 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 721 | - <line>262</line> | ||
| 722 | - <option name="timeStamp" value="152" /> | 796 | + <line>314</line> |
| 797 | + <option name="timeStamp" value="182" /> | ||
| 723 | </line-breakpoint> | 798 | </line-breakpoint> |
| 724 | <line-breakpoint suspend="THREAD" type="python-line"> | 799 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 725 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 800 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 726 | - <line>237</line> | ||
| 727 | - <option name="timeStamp" value="162" /> | 801 | + <line>266</line> |
| 802 | + <option name="timeStamp" value="191" /> | ||
| 728 | </line-breakpoint> | 803 | </line-breakpoint> |
| 729 | <line-breakpoint suspend="THREAD" type="python-line"> | 804 | <line-breakpoint suspend="THREAD" type="python-line"> |
| 730 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | 805 | <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> |
| 731 | - <line>235</line> | ||
| 732 | - <option name="timeStamp" value="163" /> | 806 | + <line>315</line> |
| 807 | + <option name="timeStamp" value="193" /> | ||
| 808 | + </line-breakpoint> | ||
| 809 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 810 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
| 811 | + <line>265</line> | ||
| 812 | + <option name="timeStamp" value="194" /> | ||
| 813 | + </line-breakpoint> | ||
| 814 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 815 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
| 816 | + <line>268</line> | ||
| 817 | + <option name="timeStamp" value="195" /> | ||
| 818 | + </line-breakpoint> | ||
| 819 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 820 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
| 821 | + <line>257</line> | ||
| 822 | + <option name="timeStamp" value="198" /> | ||
| 823 | + </line-breakpoint> | ||
| 824 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 825 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
| 826 | + <line>263</line> | ||
| 827 | + <option name="timeStamp" value="199" /> | ||
| 828 | + </line-breakpoint> | ||
| 829 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
| 830 | + <url>file://$PROJECT_DIR$/testcase/test_06_internship_manage.py</url> | ||
| 831 | + <line>278</line> | ||
| 832 | + <option name="timeStamp" value="201" /> | ||
| 833 | + </line-breakpoint> | ||
| 834 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
| 835 | + <url>file://$PROJECT_DIR$/tools/handle_token.py</url> | ||
| 836 | + <line>53</line> | ||
| 837 | + <option name="timeStamp" value="203" /> | ||
| 838 | + </line-breakpoint> | ||
| 839 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
| 840 | + <url>file://$PROJECT_DIR$/tools/handle_token.py</url> | ||
| 841 | + <line>51</line> | ||
| 842 | + <option name="timeStamp" value="204" /> | ||
| 733 | </line-breakpoint> | 843 | </line-breakpoint> |
| 734 | </breakpoints> | 844 | </breakpoints> |
| 735 | <default-breakpoints> | 845 | <default-breakpoints> |
| @@ -740,19 +850,24 @@ | @@ -740,19 +850,24 @@ | ||
| 740 | </breakpoint> | 850 | </breakpoint> |
| 741 | </default-breakpoints> | 851 | </default-breakpoints> |
| 742 | </breakpoint-manager> | 852 | </breakpoint-manager> |
| 853 | + <watches-manager> | ||
| 854 | + <configuration name="tests"> | ||
| 855 | + <watch expression="select_daily_log_excel" /> | ||
| 856 | + </configuration> | ||
| 857 | + </watches-manager> | ||
| 743 | </component> | 858 | </component> |
| 744 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> | 859 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> |
| 745 | <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" /> | 860 | <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" /> |
| 746 | - <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_06_internship_manage_py.coverage" NAME="Unittests in test_06_internship_manage.py Coverage Results" MODIFIED="1676453107047" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 861 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_06_internship_manage_py.coverage" NAME="Unittests in test_06_internship_manage.py Coverage Results" MODIFIED="1678695618207" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
| 747 | <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" /> | 862 | <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" /> |
| 748 | <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" /> | 863 | <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" /> |
| 749 | - <SUITE FILE_PATH="coverage/yxly$handle_token.coverage" NAME="handle_token Coverage Results" MODIFIED="1674901030597" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tools" /> | 864 | + <SUITE FILE_PATH="coverage/yxly$handle_token.coverage" NAME="handle_token Coverage Results" MODIFIED="1687916804880" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tools" /> |
| 750 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_fixture_py.coverage" NAME="Unittests in fixture.py Coverage Results" MODIFIED="1671625806027" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 865 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_fixture_py.coverage" NAME="Unittests in fixture.py Coverage Results" MODIFIED="1671625806027" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
| 751 | <SUITE FILE_PATH="coverage/yxly$aaa.coverage" NAME="aaa Coverage Results" MODIFIED="1675678970517" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tools" /> | 866 | <SUITE FILE_PATH="coverage/yxly$aaa.coverage" NAME="aaa Coverage Results" MODIFIED="1675678970517" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tools" /> |
| 752 | - <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1676452765292" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | 867 | + <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1689843780840" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> |
| 753 | <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" /> | 868 | <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" /> |
| 754 | <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" /> | 869 | <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" /> |
| 755 | - <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_04_Internship_preparation_py.coverage" NAME="Unittests in test_04_Internship_preparation.py Coverage Results" MODIFIED="1674873836789" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 870 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_04_Internship_preparation_py.coverage" NAME="Unittests in test_04_Internship_preparation.py Coverage Results" MODIFIED="1678692199921" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
| 756 | <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" /> | 871 | <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" /> |
| 757 | <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" /> | 872 | <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" /> |
| 758 | </component> | 873 | </component> |
| @@ -43,6 +43,7 @@ phone = 17301249973 | @@ -43,6 +43,7 @@ phone = 17301249973 | ||
| 43 | code = 8888 | 43 | code = 8888 |
| 44 | type = student | 44 | type = student |
| 45 | way = code | 45 | way = code |
| 46 | +schoolId = 1519958566130257922 | ||
| 46 | ;============================================================================================ | 47 | ;============================================================================================ |
| 47 | ;hr用户数据 | 48 | ;hr用户数据 |
| 48 | ;============================================================================================ | 49 | ;============================================================================================ |
| @@ -55,6 +56,9 @@ password = a123456 | @@ -55,6 +56,9 @@ password = a123456 | ||
| 55 | [hr] | 56 | [hr] |
| 56 | ;岗位id | 57 | ;岗位id |
| 57 | hr_jobid = 1610468861604655106 | 58 | hr_jobid = 1610468861604655106 |
| 59 | +[school] | ||
| 60 | +;学校基地岗位id | ||
| 61 | +school_base_jobid = 1635095176676659202 | ||
| 58 | ;============================================================================================ | 62 | ;============================================================================================ |
| 59 | ;报告的相关配置 | 63 | ;报告的相关配置 |
| 60 | ;============================================================================================ | 64 | ;============================================================================================ |
| @@ -78,6 +82,7 @@ templates = 1 | @@ -78,6 +82,7 @@ templates = 1 | ||
| 78 | collect = DEBUG | 82 | collect = DEBUG |
| 79 | ;输出到控制台等级 | 83 | ;输出到控制台等级 |
| 80 | console = CRITICAL | 84 | console = CRITICAL |
| 85 | +;console = ERROR | ||
| 81 | ;输出到文件根据时间轮转等级 | 86 | ;输出到文件根据时间轮转等级 |
| 82 | file = DEBUG | 87 | file = DEBUG |
| 83 | ;文件轮转时长单位 | 88 | ;文件轮转时长单位 |
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
此 diff 太大无法显示。
此 diff 太大无法显示。
| @@ -20,10 +20,9 @@ from testcase.test_04_Internship_preparation import Test01addInternshipPlan, Tes | @@ -20,10 +20,9 @@ from testcase.test_04_Internship_preparation import Test01addInternshipPlan, Tes | ||
| 20 | # 学生查看实习、学生报名、 | 20 | # 学生查看实习、学生报名、 |
| 21 | from testcase.test_05_student_practice import Test01SelectAllPractice, Test02StudentApply | 21 | from testcase.test_05_student_practice import Test01SelectAllPractice, Test02StudentApply |
| 22 | # 查看报名审核、报名审核-学校端-进行审核、报名审核-hr端-待审核列表查看(实习申请列表)、 报名审核-hr端-进行审核 | 22 | # 查看报名审核、报名审核-学校端-进行审核、报名审核-hr端-待审核列表查看(实习申请列表)、 报名审核-hr端-进行审核 |
| 23 | -from testcase.test_06_internship_manage import Test01SelectApplyAuditList, Test02SchoolAudit, Test03HrSelectAuditList, \ | ||
| 24 | - Test04HrAudit | 23 | +from testcase.test_06_internship_manage import Test01SelectApplyAuditList, Test02SchoolAudit |
| 25 | 24 | ||
| 26 | -""" | 25 | +""" |
| 27 | 执行所有用例 | 26 | 执行所有用例 |
| 28 | """ | 27 | """ |
| 29 | # 创建测试套件 | 28 | # 创建测试套件 |
| @@ -33,18 +32,23 @@ suite_all = unittest.TestSuite() | @@ -33,18 +32,23 @@ suite_all = unittest.TestSuite() | ||
| 33 | load = unittest.TestLoader() | 32 | load = unittest.TestLoader() |
| 34 | # ---用例放到加载器 | 33 | # ---用例放到加载器 |
| 35 | suite_all.addTest(load.discover(TestCase_Path)) | 34 | suite_all.addTest(load.discover(TestCase_Path)) |
| 35 | + | ||
| 36 | """ | 36 | """ |
| 37 | -执行单独模块用例 | ||
| 38 | -""" | 37 | +# 执行单独模块用例 |
| 38 | +# """ | ||
| 39 | a1 = unittest.TestLoader().loadTestsFromTestCase(TestLogin) | 39 | a1 = unittest.TestLoader().loadTestsFromTestCase(TestLogin) |
| 40 | a2 = unittest.TestLoader().loadTestsFromTestCase(Test01Department) | 40 | a2 = unittest.TestLoader().loadTestsFromTestCase(Test01Department) |
| 41 | a3 = unittest.TestLoader().loadTestsFromTestCase(Test02Specialty) | 41 | a3 = unittest.TestLoader().loadTestsFromTestCase(Test02Specialty) |
| 42 | a4 = unittest.TestLoader().loadTestsFromTestCase(Test03Year) | 42 | a4 = unittest.TestLoader().loadTestsFromTestCase(Test03Year) |
| 43 | a5 = unittest.TestLoader().loadTestsFromTestCase(Test02Class) | 43 | a5 = unittest.TestLoader().loadTestsFromTestCase(Test02Class) |
| 44 | a6 = unittest.TestLoader().loadTestsFromTestCase(Test04Student) | 44 | a6 = unittest.TestLoader().loadTestsFromTestCase(Test04Student) |
| 45 | +bbbbbb = unittest.TestLoader().loadTestsFromTestCase(Test02SchoolAudit) | ||
| 46 | +cccc = unittest.TestLoader().loadTestsFromTestCase(Test01addInternshipPlan) | ||
| 45 | suite = unittest.TestSuite([a1, a2, a3, a4, a5, a6]) | 47 | suite = unittest.TestSuite([a1, a2, a3, a4, a5, a6]) |
| 48 | +suite_a = unittest.TestSuite([cccc]) | ||
| 46 | 49 | ||
| 47 | runner_test(suite_all) # 执行 | 50 | runner_test(suite_all) # 执行 |
| 51 | +# runner_test(suite_a) # 执行 | ||
| 48 | 52 | ||
| 49 | # input_case = input("请输入需要执行的用例:") | 53 | # input_case = input("请输入需要执行的用例:") |
| 50 | # try: | 54 | # try: |
| @@ -242,6 +242,8 @@ class Test03Course(unittest.TestCase): | @@ -242,6 +242,8 @@ class Test03Course(unittest.TestCase): | ||
| 242 | new_time = time.strftime("%Y%m%d_%H:%M:%S") | 242 | new_time = time.strftime("%Y%m%d_%H:%M:%S") |
| 243 | # 随机班级名称 | 243 | # 随机班级名称 |
| 244 | self.course_name = "py自动化课程" + new_time | 244 | self.course_name = "py自动化课程" + new_time |
| 245 | + # 随机课程代码 | ||
| 246 | + self.course_code = new_time | ||
| 245 | 247 | ||
| 246 | @data(*add_course_case) | 248 | @data(*add_course_case) |
| 247 | def test_add_course_info(self, case): | 249 | def test_add_course_info(self, case): |
| @@ -256,7 +258,8 @@ class Test03Course(unittest.TestCase): | @@ -256,7 +258,8 @@ class Test03Course(unittest.TestCase): | ||
| 256 | case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) | 258 | case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) |
| 257 | if "#termIds#" in case["data"]: | 259 | if "#termIds#" in case["data"]: |
| 258 | case["data"] = case["data"].replace("#termIds#", str(self.termsId)) | 260 | case["data"] = case["data"].replace("#termIds#", str(self.termsId)) |
| 259 | - | 261 | + if "#code#" in case["data"]: |
| 262 | + case["data"] = case["data"].replace("#code#", str(self.course_code)) | ||
| 260 | data = json.loads(case["data"]) | 263 | data = json.loads(case["data"]) |
| 261 | expected = json.loads(case["expected"]) | 264 | expected = json.loads(case["expected"]) |
| 262 | # 调用接口 | 265 | # 调用接口 |
| @@ -108,8 +108,8 @@ class Test01addInternshipPlan(unittest.TestCase): | @@ -108,8 +108,8 @@ class Test01addInternshipPlan(unittest.TestCase): | ||
| 108 | case["data"] = case["data"].replace("#courseId#", str(self.courseId)) # 课程 | 108 | case["data"] = case["data"].replace("#courseId#", str(self.courseId)) # 课程 |
| 109 | if "#departmentId#" in case["data"]: | 109 | if "#departmentId#" in case["data"]: |
| 110 | case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) # 院系id | 110 | case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) # 院系id |
| 111 | - if "#professionalId#" in case["data"]: | ||
| 112 | - case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) # 专业id | 111 | + if "#professionalIds#" in case["data"]: |
| 112 | + case["data"] = case["data"].replace("#professionalIds#", str(self.professionalId)) # 专业id | ||
| 113 | if "#classInfoId#" in case["data"]: | 113 | if "#classInfoId#" in case["data"]: |
| 114 | case["data"] = case["data"].replace("#classInfoId#", str(self.classId)) # 班级id | 114 | case["data"] = case["data"].replace("#classInfoId#", str(self.classId)) # 班级id |
| 115 | if "#teacherIds#" in case["data"]: | 115 | if "#teacherIds#" in case["data"]: |
| @@ -314,7 +314,7 @@ class Test04publishInternshipProject(unittest.TestCase): | @@ -314,7 +314,7 @@ class Test04publishInternshipProject(unittest.TestCase): | ||
| 314 | cls.token = LoginToken.login_token() | 314 | cls.token = LoginToken.login_token() |
| 315 | 315 | ||
| 316 | def setUp(self): | 316 | def setUp(self): |
| 317 | - # ---获取计划id | 317 | + # ---获取项目id |
| 318 | select_project_excel = Excel(os.path.join(Internship_path, "test_05_internship_project.xlsx"), | 318 | select_project_excel = Excel(os.path.join(Internship_path, "test_05_internship_project.xlsx"), |
| 319 | "select_internship_project") | 319 | "select_internship_project") |
| 320 | read_project_excel = select_project_excel.read_excel_location("C2") | 320 | read_project_excel = select_project_excel.read_excel_location("C2") |
| @@ -324,7 +324,7 @@ class Test04publishInternshipProject(unittest.TestCase): | @@ -324,7 +324,7 @@ class Test04publishInternshipProject(unittest.TestCase): | ||
| 324 | self.projectId = jsonpath(project_json, "$..id")[0] # 获取待发布项目id | 324 | self.projectId = jsonpath(project_json, "$..id")[0] # 获取待发布项目id |
| 325 | 325 | ||
| 326 | # ==================================================================== | 326 | # ==================================================================== |
| 327 | - # 发布计划 | 327 | + # 发布项目 |
| 328 | # ==================================================================== | 328 | # ==================================================================== |
| 329 | @data(*publish_project_case) | 329 | @data(*publish_project_case) |
| 330 | def test_publish_plan(self, case): | 330 | def test_publish_plan(self, case): |
| @@ -362,6 +362,3 @@ class Test04publishInternshipProject(unittest.TestCase): | @@ -362,6 +362,3 @@ class Test04publishInternshipProject(unittest.TestCase): | ||
| 362 | self.publish_project.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | 362 | self.publish_project.write_excel(row=case["id"] + 1, column=9, value=case["data"]) |
| 363 | HandleLog.log.info("用例{},执行通过".format(case["title"])) | 363 | HandleLog.log.info("用例{},执行通过".format(case["title"])) |
| 364 | 364 | ||
| 365 | - | ||
| 366 | -if __name__ == '__main__': | ||
| 367 | - Test03addInternshipProject |
| 1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
| 2 | # ====================================== | 2 | # ====================================== |
| 3 | # @Software: PyCharm | 3 | # @Software: PyCharm |
| 4 | -# @Author : Shitou ✊ | 4 | +# @Author : Shitou ✊、 |
| 5 | # @Time : 2023/1/9 16:32 | 5 | # @Time : 2023/1/9 16:32 |
| 6 | # @FileName: test_05_student_practice.py | 6 | # @FileName: test_05_student_practice.py |
| 7 | # ====================================== | 7 | # ====================================== |
| @@ -97,7 +97,8 @@ class Test02StudentApply(unittest.TestCase): | @@ -97,7 +97,8 @@ class Test02StudentApply(unittest.TestCase): | ||
| 97 | def test01student_apply(self, case): | 97 | def test01student_apply(self, case): |
| 98 | # 准备数据 | 98 | # 准备数据 |
| 99 | if "#jobId#" in case["data"]: | 99 | if "#jobId#" in case["data"]: |
| 100 | - case["data"] = case["data"].replace("#jobId#", str(conf.get("hr", "hr_jobid"))) | 100 | + # case["data"] = case["data"].replace("#jobId#", str(conf.get("hr", "hr_jobid")))----2023/03/13修改需求,修改为获取基地岗位 |
| 101 | + case["data"] = case["data"].replace("#jobId#", str(conf.get("school", "school_base_jobid"))) | ||
| 101 | data = json.loads(case["data"]) | 102 | data = json.loads(case["data"]) |
| 102 | expected = json.loads(case["expected"]) | 103 | expected = json.loads(case["expected"]) |
| 103 | if "{id}" in case["url"]: | 104 | if "{id}" in case["url"]: |
| @@ -10,6 +10,7 @@ | @@ -10,6 +10,7 @@ | ||
| 10 | """ | 10 | """ |
| 11 | import json | 11 | import json |
| 12 | import os | 12 | import os |
| 13 | +import time | ||
| 13 | import unittest | 14 | import unittest |
| 14 | 15 | ||
| 15 | import requests | 16 | import requests |
| @@ -27,7 +28,7 @@ from tools.handle_token import LoginToken, HrLoginToken, StudentLoginToken | @@ -27,7 +28,7 @@ from tools.handle_token import LoginToken, HrLoginToken, StudentLoginToken | ||
| 27 | # ==================实习管理菜单相关用例================== | 28 | # ==================实习管理菜单相关用例================== |
| 28 | 29 | ||
| 29 | # ==================================================================== | 30 | # ==================================================================== |
| 30 | -# 报名审核-待审核列表查看 | 31 | +# 报名审核-待审核列表查看--学校 |
| 31 | # ==================================================================== | 32 | # ==================================================================== |
| 32 | @ddt | 33 | @ddt |
| 33 | class Test01SelectApplyAuditList(unittest.TestCase): | 34 | class Test01SelectApplyAuditList(unittest.TestCase): |
| @@ -97,7 +98,6 @@ class Test02SchoolAudit(unittest.TestCase): | @@ -97,7 +98,6 @@ class Test02SchoolAudit(unittest.TestCase): | ||
| 97 | def test01audit(self, case): | 98 | def test01audit(self, case): |
| 98 | if "#formIds#" in case["data"]: | 99 | if "#formIds#" in case["data"]: |
| 99 | case["data"] = case["data"].replace("#formIds#", str(self.applyId)) # 待审核id | 100 | case["data"] = case["data"].replace("#formIds#", str(self.applyId)) # 待审核id |
| 100 | - | ||
| 101 | # 准备数据 | 101 | # 准备数据 |
| 102 | data = json.loads(case["data"]) | 102 | data = json.loads(case["data"]) |
| 103 | expected = json.loads(case["expected"]) | 103 | expected = json.loads(case["expected"]) |
| @@ -127,6 +127,9 @@ class Test02SchoolAudit(unittest.TestCase): | @@ -127,6 +127,9 @@ class Test02SchoolAudit(unittest.TestCase): | ||
| 127 | HandleLog.log.info("用例{},执行通过".format(case["title"])) | 127 | HandleLog.log.info("用例{},执行通过".format(case["title"])) |
| 128 | 128 | ||
| 129 | 129 | ||
| 130 | +""" | ||
| 131 | +需求改动,无需hr进行审核2023/03/13 | ||
| 132 | + | ||
| 130 | # ==================================================================== | 133 | # ==================================================================== |
| 131 | # 报名审核-hr端-待审核列表查看(实习申请列表) | 134 | # 报名审核-hr端-待审核列表查看(实习申请列表) |
| 132 | # ==================================================================== | 135 | # ==================================================================== |
| @@ -226,6 +229,7 @@ class Test04HrAudit(unittest.TestCase): | @@ -226,6 +229,7 @@ class Test04HrAudit(unittest.TestCase): | ||
| 226 | # 将创建使用的数据写入到excel表格中 | 229 | # 将创建使用的数据写入到excel表格中 |
| 227 | self.hr_audit.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | 230 | self.hr_audit.write_excel(row=case["id"] + 1, column=9, value=case["data"]) |
| 228 | HandleLog.log.info("用例{},执行通过".format(case["title"])) | 231 | HandleLog.log.info("用例{},执行通过".format(case["title"])) |
| 232 | +""" | ||
| 229 | 233 | ||
| 230 | 234 | ||
| 231 | # ==================================================================== | 235 | # ==================================================================== |
| @@ -234,7 +238,7 @@ class Test04HrAudit(unittest.TestCase): | @@ -234,7 +238,7 @@ class Test04HrAudit(unittest.TestCase): | ||
| 234 | @ddt | 238 | @ddt |
| 235 | class Test05StudentIntenship(unittest.TestCase): | 239 | class Test05StudentIntenship(unittest.TestCase): |
| 236 | student_start_internship = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), | 240 | student_start_internship = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), |
| 237 | - "student_start_internship") | 241 | + "student_start_internshipp") |
| 238 | student_start_internship_case = student_start_internship.read_excel() # 学生填写开始时间 | 242 | student_start_internship_case = student_start_internship.read_excel() # 学生填写开始时间 |
| 239 | 243 | ||
| 240 | # 登陆前置 | 244 | # 登陆前置 |
| @@ -286,6 +290,380 @@ class Test05StudentIntenship(unittest.TestCase): | @@ -286,6 +290,380 @@ class Test05StudentIntenship(unittest.TestCase): | ||
| 286 | HandleLog.log.info("用例{},执行通过".format(case["title"])) | 290 | HandleLog.log.info("用例{},执行通过".format(case["title"])) |
| 287 | 291 | ||
| 288 | 292 | ||
| 289 | -if __name__ == '__main__': | ||
| 290 | - Test04HrAudit() | ||
| 291 | - Test05StudentIntenship() | 293 | +# ==================================================================== |
| 294 | +# 学校端---实习申请审核通过 | ||
| 295 | +# ==================================================================== | ||
| 296 | +@ddt | ||
| 297 | +class Test06SchoolSelectApply(unittest.TestCase): | ||
| 298 | + student_internship_applic = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), | ||
| 299 | + "school_audit_internship_applic") | ||
| 300 | + student_internship_applic_case = student_internship_applic.read_excel() | ||
| 301 | + | ||
| 302 | + @classmethod | ||
| 303 | + def setUpClass(cls): | ||
| 304 | + # 获取token | ||
| 305 | + cls.token = LoginToken.login_token() | ||
| 306 | + | ||
| 307 | + def setUp(self): | ||
| 308 | + # ---获取实习申请id---待审核 | ||
| 309 | + select_internship_applic = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), | ||
| 310 | + "school_select_internship_applic") | ||
| 311 | + read_internship_applic_excel = select_internship_applic.read_excel_location("C2") | ||
| 312 | + read_internship_applic_excel_d = select_internship_applic.read_excel_location("E2") # 读取params | ||
| 313 | + internship_applic_list = SelectData(str(read_internship_applic_excel), | ||
| 314 | + json.loads(read_internship_applic_excel_d)) | ||
| 315 | + internship_applic_json = internship_applic_list.select_list() | ||
| 316 | + self.internship_applic = jsonpath(internship_applic_json, "$..id")[0] # 获取实习申请待审核id | ||
| 317 | + | ||
| 318 | + @data(*student_internship_applic_case) | ||
| 319 | + def test01audit(self, case): | ||
| 320 | + if f"#id#" in case["url"]: | ||
| 321 | + case["url"] = case["url"].replace("#id#", str(self.internship_applic)) # 待审核id | ||
| 322 | + | ||
| 323 | + # 准备数据 | ||
| 324 | + data = json.loads(case["data"]) | ||
| 325 | + expected = json.loads(case["expected"]) | ||
| 326 | + # 调用接口 | ||
| 327 | + url = conf.get("url", "url_ip") + case["url"] | ||
| 328 | + herders = {} | ||
| 329 | + herders["Authorization"] = self.token | ||
| 330 | + request = requests.request(url=url, method=case["method"], json=data, headers=herders) | ||
| 331 | + res = request.json() | ||
| 332 | + print("用例入参:{}".format(data)) | ||
| 333 | + print("预期结果:", expected) | ||
| 334 | + print("实际结果:", res) | ||
| 335 | + # 断言 | ||
| 336 | + try: | ||
| 337 | + self.assertEqual(expected['msg'], res['msg']) | ||
| 338 | + self.assertEqual(expected['code'], res['code']) | ||
| 339 | + except AssertionError as e: | ||
| 340 | + # 写入Excel | ||
| 341 | + self.student_internship_applic.write_excel(row=case["id"] + 1, column=7, value="不通过") | ||
| 342 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
| 343 | + HandleLog.log.exception(e) | ||
| 344 | + raise e | ||
| 345 | + else: | ||
| 346 | + self.student_internship_applic.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
| 347 | + # 将创建使用的数据写入到excel表格中 | ||
| 348 | + self.student_internship_applic.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
| 349 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
| 350 | + | ||
| 351 | + | ||
| 352 | +# ==================================================================== | ||
| 353 | +# 学生端---写周日志 | ||
| 354 | +# ==================================================================== | ||
| 355 | +@ddt | ||
| 356 | +class Test07StudentWriteLog(unittest.TestCase): | ||
| 357 | + student_write_log = Excel(os.path.join(Internship_manage, "test_08_log_marking.xlsx"), "write_log") | ||
| 358 | + student_write_log_case = student_write_log.read_excel() | ||
| 359 | + | ||
| 360 | + # 登陆前置 | ||
| 361 | + @classmethod | ||
| 362 | + def setUpClass(cls): | ||
| 363 | + cls.student_token = StudentLoginToken.login_token() | ||
| 364 | + | ||
| 365 | + def setUp(self): | ||
| 366 | + """单条用例执行前执行的函数""" | ||
| 367 | + self.new_time = time.strftime("%Y%m%d_%H:%M:%S") | ||
| 368 | + # 获取学生端实习中id | ||
| 369 | + student_select_intership_running_excle = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), | ||
| 370 | + "student_select_intership_wait") | ||
| 371 | + read_student_intership_excel = student_select_intership_running_excle.read_excel_location("C3") | ||
| 372 | + read_student_intership_excel_d = student_select_intership_running_excle.read_excel_location("E3") # 读取params | ||
| 373 | + student_intership_list = SelectData(str(read_student_intership_excel), | ||
| 374 | + json.loads(read_student_intership_excel_d)) | ||
| 375 | + student_intership_json = student_intership_list.student_select_list() # 正序查找 | ||
| 376 | + self.student_intership_id = jsonpath(student_intership_json, "$..id")[0] # 获取实习单实习中id | ||
| 377 | + | ||
| 378 | + @data(*student_write_log_case) | ||
| 379 | + def test01student_write_log(self, case): | ||
| 380 | + if "#formId#" in case["data"]: | ||
| 381 | + case["data"] = case["data"].replace("#formId#", str(self.student_intership_id)) | ||
| 382 | + if "#time#" in case["data"]: | ||
| 383 | + case["data"] = case["data"].replace("#time#", str(self.new_time)) | ||
| 384 | + # 准备数据 | ||
| 385 | + data = json.loads(case["data"]) | ||
| 386 | + expected = json.loads(case["expected"]) | ||
| 387 | + # 调用接口 | ||
| 388 | + url = conf.get("url", "url_ip") + case["url"] | ||
| 389 | + headers = {} | ||
| 390 | + headers["Authorization"] = self.student_token | ||
| 391 | + request = requests.request(url=url, method=case["method"], json=data, headers=headers) | ||
| 392 | + res = request.json() | ||
| 393 | + print("用例入参:{}".format(data)) | ||
| 394 | + print("预期结果:", expected) | ||
| 395 | + print("实际结果:", res) | ||
| 396 | + # 断言 | ||
| 397 | + try: | ||
| 398 | + self.assertEqual(expected['msg'], res['msg']) | ||
| 399 | + self.assertEqual(expected['code'], res['code']) | ||
| 400 | + except AssertionError as e: | ||
| 401 | + self.student_write_log.write_excel(row=case['id'] + 1, column=7, value="不通过") | ||
| 402 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
| 403 | + HandleLog.log.exception(e) | ||
| 404 | + raise e | ||
| 405 | + else: | ||
| 406 | + self.student_write_log.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
| 407 | + # 将创建使用的数据写入到excel表格中 | ||
| 408 | + self.student_write_log.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
| 409 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
| 410 | + | ||
| 411 | + | ||
| 412 | +# ==================================================================== | ||
| 413 | +# 教师端---批阅周日志 | ||
| 414 | +# ==================================================================== | ||
| 415 | +@ddt | ||
| 416 | +class Test08ApproveLog(unittest.TestCase): | ||
| 417 | + teacher_approve_log = Excel(os.path.join(Internship_manage, "test_08_log_marking.xlsx"), "approve_log") | ||
| 418 | + teacher_approve_log_case = teacher_approve_log.read_excel() | ||
| 419 | + | ||
| 420 | + # 登陆前置 | ||
| 421 | + @classmethod | ||
| 422 | + def setUpClass(cls): | ||
| 423 | + cls.teacher_token = LoginToken.login_token() | ||
| 424 | + | ||
| 425 | + def setUp(self): | ||
| 426 | + # 获取周日志id | ||
| 427 | + # ---------------获取日志id | ||
| 428 | + select_daily_log = Excel(os.path.join(Internship_manage, "test_08_log_marking.xlsx"), | ||
| 429 | + "select_log") | ||
| 430 | + select_daily_log_excel = select_daily_log.read_excel_location("C2") | ||
| 431 | + select_daily_log_excel_d = select_daily_log.read_excel_location("E2") # 读取params | ||
| 432 | + daily_log_list = SelectData(str(select_daily_log_excel), | ||
| 433 | + json.loads(select_daily_log_excel_d)) | ||
| 434 | + daily_log_json = daily_log_list.select_list() # 正序查找 | ||
| 435 | + self.daily_ids = jsonpath(daily_log_json, "$..id")[0] # 获取日志id | ||
| 436 | + # ---------------获取周志id | ||
| 437 | + select_weekly_log = Excel(os.path.join(Internship_manage, "test_08_log_marking.xlsx"), | ||
| 438 | + "select_log") | ||
| 439 | + select_weekly_log_excel = select_weekly_log.read_excel_location("C3") | ||
| 440 | + select_weekly_log_excel_d = select_weekly_log.read_excel_location("E3") # 读取params | ||
| 441 | + weekly_log_list = SelectData(str(select_weekly_log_excel), | ||
| 442 | + json.loads(select_weekly_log_excel_d)) | ||
| 443 | + weekly_log_json = weekly_log_list.select_list() # 正序查找 | ||
| 444 | + self.weekly_ids = jsonpath(weekly_log_json, "$..id")[0] # 获取周志id | ||
| 445 | + # ---------------获取月志id | ||
| 446 | + select_monthly_log = Excel(os.path.join(Internship_manage, "test_08_log_marking.xlsx"), | ||
| 447 | + "select_log") | ||
| 448 | + select_monthly_log_excel = select_monthly_log.read_excel_location("C4") | ||
| 449 | + select_monthly_log_excel_d = select_monthly_log.read_excel_location("E4") # 读取params | ||
| 450 | + monthly_log_list = SelectData(str(select_monthly_log_excel), | ||
| 451 | + json.loads(select_monthly_log_excel_d)) | ||
| 452 | + monthly_log_json = monthly_log_list.select_list() # 正序查找 | ||
| 453 | + self.monthly_ids = jsonpath(monthly_log_json, "$..id")[0] # 获取月志id | ||
| 454 | + | ||
| 455 | + @data(*teacher_approve_log_case) | ||
| 456 | + def test01approve_log(self, case): | ||
| 457 | + if "#daily_ids#" in case["data"]: | ||
| 458 | + case["data"] = case["data"].replace("#daily_ids#", str(self.daily_ids)) # 日志 | ||
| 459 | + if "#weekly_ids#" in case["data"]: | ||
| 460 | + case["data"] = case["data"].replace("#weekly_ids#", str(self.weekly_ids)) # 周志 | ||
| 461 | + if "#monthly_ids#" in case["data"]: | ||
| 462 | + case["data"] = case["data"].replace("#monthly_ids#", str(self.monthly_ids)) # 月志 | ||
| 463 | + | ||
| 464 | + # 准备数据 | ||
| 465 | + data = json.loads(case["data"]) | ||
| 466 | + expected = json.loads(case["expected"]) | ||
| 467 | + # 调用接口 | ||
| 468 | + url = conf.get("url", "url_ip") + case["url"] | ||
| 469 | + headers = {} | ||
| 470 | + headers["Authorization"] = self.teacher_token | ||
| 471 | + request = requests.request(url=url, method=case["method"], json=data, headers=headers) | ||
| 472 | + res = request.json() | ||
| 473 | + print("用例入参:{}".format(data)) | ||
| 474 | + print("预期结果:", expected) | ||
| 475 | + print("实际结果:", res) | ||
| 476 | + # 断言 | ||
| 477 | + try: | ||
| 478 | + self.assertEqual(expected['msg'], res['msg']) | ||
| 479 | + self.assertEqual(expected['code'], res['code']) | ||
| 480 | + except AssertionError as e: | ||
| 481 | + self.teacher_approve_log.write_excel(row=case['id'] + 1, column=7, value="不通过") | ||
| 482 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
| 483 | + HandleLog.log.exception(e) | ||
| 484 | + raise e | ||
| 485 | + else: | ||
| 486 | + self.teacher_approve_log.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
| 487 | + # 将创建使用的数据写入到excel表格中 | ||
| 488 | + self.teacher_approve_log.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
| 489 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
| 490 | + | ||
| 491 | + | ||
| 492 | +# ==================================================================== | ||
| 493 | +# 学生端---打卡签到 | ||
| 494 | +# ==================================================================== | ||
| 495 | +@ddt | ||
| 496 | +class Test09Attendance(unittest.TestCase): | ||
| 497 | + student_attendance = Excel(os.path.join(Internship_manage, "test_08_log_marking.xlsx"), "student_attendance") | ||
| 498 | + student_attendance_case = student_attendance.read_excel() | ||
| 499 | + | ||
| 500 | + # 登陆前置 | ||
| 501 | + @classmethod | ||
| 502 | + def setUpClass(cls): | ||
| 503 | + cls.student_token = StudentLoginToken.login_token() | ||
| 504 | + | ||
| 505 | + def setUp(self): | ||
| 506 | + # 获取学生端实习中id | ||
| 507 | + student_select_intership_running_excle = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), | ||
| 508 | + "student_select_intership_wait") | ||
| 509 | + read_student_intership_excel = student_select_intership_running_excle.read_excel_location("C3") | ||
| 510 | + read_student_intership_excel_d = student_select_intership_running_excle.read_excel_location("E3") # 读取params | ||
| 511 | + student_intership_list = SelectData(str(read_student_intership_excel), | ||
| 512 | + json.loads(read_student_intership_excel_d)) | ||
| 513 | + student_intership_json = student_intership_list.student_select_list() # 正序查找 | ||
| 514 | + self.student_intership_id = jsonpath(student_intership_json, "$..id")[0] # 获取实习单实习中id | ||
| 515 | + | ||
| 516 | + @data(*student_attendance_case) | ||
| 517 | + def test01student_attendance(self, case): | ||
| 518 | + if "#formId#" in case["data"]: | ||
| 519 | + case["data"] = case["data"].replace("#formId#", str(self.student_intership_id)) # 实习单 | ||
| 520 | + | ||
| 521 | + # 准备数据 | ||
| 522 | + data = json.loads(case["data"]) | ||
| 523 | + expected = json.loads(case["expected"]) | ||
| 524 | + # 调用接口 | ||
| 525 | + url = conf.get("url", "url_ip") + case["url"] | ||
| 526 | + headers = {} | ||
| 527 | + headers["Authorization"] = self.student_token | ||
| 528 | + request = requests.request(url=url, method=case["method"], json=data, headers=headers) | ||
| 529 | + res = request.json() | ||
| 530 | + print("用例入参:{}".format(data)) | ||
| 531 | + print("预期结果:", expected) | ||
| 532 | + print("实际结果:", res) | ||
| 533 | + # 断言 | ||
| 534 | + try: | ||
| 535 | + self.assertEqual(expected['msg'], res['msg']) | ||
| 536 | + self.assertEqual(expected['code'], res['code']) | ||
| 537 | + except AssertionError as e: | ||
| 538 | + self.student_attendance.write_excel(row=case['id'] + 1, column=7, value="不通过") | ||
| 539 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
| 540 | + HandleLog.log.exception(e) | ||
| 541 | + raise e | ||
| 542 | + else: | ||
| 543 | + self.student_attendance.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
| 544 | + # 将创建使用的数据写入到excel表格中 | ||
| 545 | + self.student_attendance.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
| 546 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
| 547 | + | ||
| 548 | + | ||
| 549 | +# ==================================================================== | ||
| 550 | +# 学生端---请假申请 | ||
| 551 | +# ==================================================================== | ||
| 552 | + | ||
| 553 | +@ddt | ||
| 554 | +class Test10LeaveRecord(unittest.TestCase): | ||
| 555 | + student_leave_record = Excel(os.path.join(Internship_manage, "test_09_leave_record.xlsx"), "student_leave_record") | ||
| 556 | + student_leave_record_case = student_leave_record.read_excel() | ||
| 557 | + | ||
| 558 | + # 登陆的前置 | ||
| 559 | + @classmethod | ||
| 560 | + def setUpClass(cls): | ||
| 561 | + cls.student_token = StudentLoginToken.login_token() # 获取学生登陆小程序的token | ||
| 562 | + | ||
| 563 | + def setUp(self): | ||
| 564 | + """单条用例执行前执行的函数""" | ||
| 565 | + self.new_time = time.strftime("%Y%m%d_%H:%M:%S") | ||
| 566 | + # 获取学生端实习中id | ||
| 567 | + student_select_intership_running_excle = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), | ||
| 568 | + "student_select_intership_wait") | ||
| 569 | + read_student_intership_excel = student_select_intership_running_excle.read_excel_location("C3") | ||
| 570 | + read_student_intership_excel_d = student_select_intership_running_excle.read_excel_location("E3") # 读取params | ||
| 571 | + student_intership_list = SelectData(str(read_student_intership_excel), | ||
| 572 | + json.loads(read_student_intership_excel_d)) | ||
| 573 | + student_intership_json = student_intership_list.student_select_list() # 正序查找 | ||
| 574 | + self.student_intership_id = jsonpath(student_intership_json, "$..id")[0] # 获取实习单实习中id | ||
| 575 | + | ||
| 576 | + @data(*student_leave_record_case) | ||
| 577 | + def test01student_leave_record(self, case): | ||
| 578 | + if "#formId#" in case["data"]: | ||
| 579 | + case["data"] = case["data"].replace("#formId#", str(self.student_intership_id)) # 实习单 | ||
| 580 | + if "#time#" in case["data"]: | ||
| 581 | + case["data"] = case["data"].replace("#time#", str(self.new_time)) # 请假原因 | ||
| 582 | + # 准备数据 | ||
| 583 | + data = json.loads(case["data"]) | ||
| 584 | + expected = json.loads(case["expected"]) | ||
| 585 | + # 调用接口 | ||
| 586 | + url = conf.get("url", "url_ip") + case["url"] | ||
| 587 | + headers = {} | ||
| 588 | + headers["Authorization"] = self.student_token | ||
| 589 | + request = requests.request(url=url, method=case["method"], json=data, headers=headers) | ||
| 590 | + res = request.json() | ||
| 591 | + print("用例入参:{}".format(data)) | ||
| 592 | + print("预期结果:", expected) | ||
| 593 | + print("实际结果:", res) | ||
| 594 | + # 断言 | ||
| 595 | + try: | ||
| 596 | + self.assertEqual(expected['msg'], res['msg']) | ||
| 597 | + self.assertEqual(expected['code'], res['code']) | ||
| 598 | + except AssertionError as e: | ||
| 599 | + self.student_leave_record.write_excel(row=case['id'] + 1, column=7, value="不通过") | ||
| 600 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
| 601 | + HandleLog.log.exception(e) | ||
| 602 | + raise e | ||
| 603 | + else: | ||
| 604 | + self.student_leave_record.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
| 605 | + # 将创建使用的数据写入到excel表格中 | ||
| 606 | + self.student_leave_record.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
| 607 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
| 608 | + | ||
| 609 | + | ||
| 610 | +# ==================================================================== | ||
| 611 | +# 教师端---请假审批--通过 | ||
| 612 | +# ==================================================================== | ||
| 613 | + | ||
| 614 | +@ddt | ||
| 615 | +class Test11TeacherAprove(unittest.TestCase): | ||
| 616 | + teacher_aprove = Excel(os.path.join(Internship_manage, "test_09_leave_record.xlsx"), "tacher_aprove") | ||
| 617 | + teacher_aprove_case = teacher_aprove.read_excel() | ||
| 618 | + | ||
| 619 | + # 登陆的前置 | ||
| 620 | + @classmethod | ||
| 621 | + def setUpClass(cls): | ||
| 622 | + cls.teacher_token = LoginToken.login_token() # 获取web教师端的token | ||
| 623 | + | ||
| 624 | + def setUp(self): | ||
| 625 | + """单条用例执行前执行的函数""" | ||
| 626 | + self.new_time = time.strftime("%Y%m%d_%H:%M:%S") | ||
| 627 | + # 获取请假批阅列表的id | ||
| 628 | + leave_record_excel = Excel(os.path.join(Internship_manage, "test_09_leave_record.xlsx"), | ||
| 629 | + "select_tacher_leave_record") | ||
| 630 | + read_leave_record = leave_record_excel.read_excel_location("C2") | ||
| 631 | + read_leave_record_d = leave_record_excel.read_excel_location("E2") | ||
| 632 | + teacher_leave_record_list = SelectData(str(read_leave_record), | ||
| 633 | + json.loads(read_leave_record_d)) | ||
| 634 | + teacher_leave_record_json = teacher_leave_record_list.select_list() # 正序查找 | ||
| 635 | + self.leave_record_id = jsonpath(teacher_leave_record_json, "$..id")[0] # 获取请假审批id | ||
| 636 | + | ||
| 637 | + @data(*teacher_aprove_case) | ||
| 638 | + def test01teacher_aprove(self, case): | ||
| 639 | + | ||
| 640 | + if "#time#" in case["data"]: | ||
| 641 | + case["data"] = case["data"].replace("#time#", str(self.new_time)) # 审批通过的回复 | ||
| 642 | + if "{id}" in case["url"]: | ||
| 643 | + case["url"] = case["url"].replace("{id}", str(self.leave_record_id)) | ||
| 644 | + # 准备数据 | ||
| 645 | + data = json.loads(case["data"]) | ||
| 646 | + expected = json.loads(case["expected"]) | ||
| 647 | + # 调用接口 | ||
| 648 | + url = conf.get("url", "url_ip") + case["url"] | ||
| 649 | + headers = {} | ||
| 650 | + headers["Authorization"] = self.teacher_token | ||
| 651 | + request = requests.request(url=url, method=case["method"], json=data, headers=headers) | ||
| 652 | + res = request.json() | ||
| 653 | + print("用例入参:{}".format(data)) | ||
| 654 | + print("预期结果:", expected) | ||
| 655 | + print("实际结果:", res) | ||
| 656 | + # 断言 | ||
| 657 | + try: | ||
| 658 | + self.assertEqual(expected['msg'], res['msg']) | ||
| 659 | + self.assertEqual(expected['code'], res['code']) | ||
| 660 | + except AssertionError as e: | ||
| 661 | + self.teacher_aprove.write_excel(row=case['id'] + 1, column=7, value="不通过") | ||
| 662 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
| 663 | + HandleLog.log.exception(e) | ||
| 664 | + raise e | ||
| 665 | + else: | ||
| 666 | + self.teacher_aprove.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
| 667 | + # 将创建使用的数据写入到excel表格中 | ||
| 668 | + self.teacher_aprove.write_excel(row=case["id"] + 1, column=9, value=case["data"]) | ||
| 669 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) |
| @@ -79,7 +79,7 @@ class RandomIdentification(object): | @@ -79,7 +79,7 @@ class RandomIdentification(object): | ||
| 79 | def ran(self): | 79 | def ran(self): |
| 80 | # 随机生成年月日 | 80 | # 随机生成年月日 |
| 81 | aaa = radar.random_date("1980", "2022") | 81 | aaa = radar.random_date("1980", "2022") |
| 82 | - yea = aaa.year # 生成年 | 82 | + yea = aaa.year # 生成年 |
| 83 | # yea = random.randint(1933, int(time.strftime("%Y"))) # 生成年 | 83 | # yea = random.randint(1933, int(time.strftime("%Y"))) # 生成年 |
| 84 | # 生成月 | 84 | # 生成月 |
| 85 | mon = random.randint(1, 12) | 85 | mon = random.randint(1, 12) |
| @@ -24,7 +24,7 @@ def runner_test(suite): | @@ -24,7 +24,7 @@ def runner_test(suite): | ||
| 24 | ) | 24 | ) |
| 25 | # runner.run() | 25 | # runner.run() |
| 26 | # 执行失败重新运行机制 | 26 | # 执行失败重新运行机制 |
| 27 | - runner.rerun_run(count=3, interval=0.2) | 27 | + runner.rerun_run(count=2, interval=0.2) |
| 28 | """ | 28 | """ |
| 29 | 发送钉钉 | 29 | 发送钉钉 |
| 30 | """ | 30 | """ |
| @@ -36,9 +36,9 @@ def runner_test(suite): | @@ -36,9 +36,9 @@ def runner_test(suite): | ||
| 36 | # isatall=False, # 是否@所有人,默认为False,设为True则会@所有人 | 36 | # isatall=False, # 是否@所有人,默认为False,设为True则会@所有人 |
| 37 | # except_info=True # 是否发送未通过用例的详细信息,默认为False | 37 | # except_info=True # 是否发送未通过用例的详细信息,默认为False |
| 38 | # ) | 38 | # ) |
| 39 | - """ | ||
| 40 | - 发送邮件 | ||
| 41 | - """ | 39 | + # """ |
| 40 | + # 发送邮件 | ||
| 41 | + # """ | ||
| 42 | # runner.send_email(host="smtp.qq.com", | 42 | # runner.send_email(host="smtp.qq.com", |
| 43 | # port=465, | 43 | # port=465, |
| 44 | # user="shishut@foxmail.com", | 44 | # user="shishut@foxmail.com", |
| @@ -45,7 +45,8 @@ class StudentLoginToken: | @@ -45,7 +45,8 @@ class StudentLoginToken: | ||
| 45 | "way": conf.get("student_user_data", "way"), | 45 | "way": conf.get("student_user_data", "way"), |
| 46 | "phone": conf.get("student_user_data", "phone"), | 46 | "phone": conf.get("student_user_data", "phone"), |
| 47 | "code": conf.get("student_user_data", "code"), | 47 | "code": conf.get("student_user_data", "code"), |
| 48 | - "type": conf.get("student_user_data", "type") | 48 | + "type": conf.get("student_user_data", "type"), |
| 49 | + "schoolId": conf.get("student_user_data", "schoolId") | ||
| 49 | } | 50 | } |
| 50 | response = requests.request(url=login_url, method="post", json=params, headers=headers) | 51 | response = requests.request(url=login_url, method="post", json=params, headers=headers) |
| 51 | res = response.json() | 52 | res = response.json() |
| @@ -98,5 +99,6 @@ class HrLoginToken: | @@ -98,5 +99,6 @@ class HrLoginToken: | ||
| 98 | 99 | ||
| 99 | 100 | ||
| 100 | if __name__ == '__main__': | 101 | if __name__ == '__main__': |
| 101 | - HrLoginToken.login_token() | 102 | + a = StudentLoginToken.login_token() |
| 103 | + print(a) | ||
| 102 | # HrLoginToken.login_token() | 104 | # HrLoginToken.login_token() |
请
注册
或
登录
后发表评论