<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>优学乐业测试报告</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.5.0/css/bootstrap.min.css"> <script src=" https://cdn.staticfile.org/jquery/2.0.0/jquery.min.js"></script> <script src="https://cdn.staticfile.org/echarts/5.1.2/echarts.min.js"></script> <!-- 页面样式--> <style type="text/css"> /*标题样式*/ .main { background: rgba(7, 10, 88, 0.99); } .title { width: auto; height: 80px; text-align: center; font: bolder 30px/80px "Microsoft YaHei UI"; color: #fff; background: rgba(3, 14, 70, 0.5); border-bottom: solid 1px rgb(3, 14, 70); margin-bottom: 10px; } .content-box { height: 700px; width: 100%; display: flex; margin-bottom: 10px; } .box1 { flex: 3; } .box2 { flex: 5; margin: 0 10px; } .box3 { flex: 4; } .panel { position: relative; border: 1px solid rgba(25, 186, 139, 0.17); background: rgba(3, 14, 70, 0.5); padding: 0 10px 50px; margin-bottom: 10px; } .panel h2, .test_info h2 { height: 40px; line-height: 40px; text-align: center; color: #007bff; font-size: 20px; font-weight: bold; margin: 0; } .panel .chart { height: 250px; } .panel .chart2 { height: 350px; } .panel .desc { height: 150px; } .panel .desc .info { font: normal 18px/25px "Microsoft YaHei UI"; color: #fff; display: flex; } .panel .desc .info div { padding: 10px; border: solid 1px #6c757d; } .panel .desc .info div span { margin-left: 20px; } /* 执行信息样式 */ .test_info { width: 100%; padding: 20px 100px; background: rgba(3, 14, 70, 0.5); } .table td, .table th { border: solid 1px #5765a4 !important; padding: 0 !important; line-height: 40px; text-align: center; height: 40px; color: #fff; } select { border: 0; padding: 0; margin: 0; height: 2em; width: 8em; margin-left: 2em; } option { text-align: center; height: 36px; font: none 18px/36px "Microsoft YaHei UI"; color: #28a745 !important; } .test_log { background: rgba(163, 171, 189, 0.15); width: 100%; height: 50px; border-top: none; border-bottom: none; display: none; text-align: left; } .test_log td { text-align: left; height: 30px; margin: 0; padding-left: 3em; padding-right: 3em; font: none 18px/24px "Microsoft YaHei UI"; } pre { margin: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word; color: #fff; line-height: 22px; font-size: 14px } .chart4 { overflow: auto; width: 100%; height: 600px; } .chart4::-webkit-scrollbar { width: 10px; } .chart4::-webkit-scrollbar-thumb { /*滚动条里面小方块*/ border-radius: 5px; -webkit-box-shadow: inset 0 0 5px rgba(4, 0, 225, 0.62); background: #272789; height: 10px; } .chart4::-webkit-scrollbar-track { /*滚动条里面轨道*/ -webkit-box-shadow: inset 0 0 5px rgba(0, 21, 255, 0.54); border-radius: 10px; background: rgba(214, 214, 214, 0.64); } /*详细内容描述的小标题*/ .table_title { text-align: center; background: rgba(1, 2, 37, 0.72); font: bold 18px/30px 'Microsoft YaHei UI'; color: #fff; border-radius: 10px } </style> </head> <body> <div class="main"> <div class="title"> 优学乐业测试报告 </div> <div class="content-box"> <div class="box1"> <div class="panel"> <h2>执行结果</h2> <div class="chart" id="char3"></div> <div class="panel-footer"></div> </div> <div class="panel "> <h2>成功占比</h2> <div class="chart" id="char1"></div> <div class="panel-footer"></div> </div> </div> <div class="box2"> <div class="panel"> <h2>运行信息</h2> <div class="desc"> <div class="info"> <div style="flex:5"> <button type="button" class="btn btn-primary btn-sm">开始时间</button> <span>2023-01-05 11:15:17</span> </div> <div style="flex:5"> <button type="button" class="btn btn-primary btn-sm">用例总数</button> <span>147</span> </div> </div> <div class="info"> <div style="flex:5"> <button type="button" class="btn btn-primary btn-sm">运行时长</button> <span>80.52 S</span> </div> <div style="flex:5"> <button type="button" class="btn btn-primary btn-sm ">测试人员</button> <span>石头</span> </div> </div> <div class="info"> <div style="flex:5"> <button type="button" class="btn btn-primary btn-sm">成功用例</button> <span>141</span> </div> <div style="flex:5"> <button type="button" class="btn btn-primary btn-sm ">通过率</button> <span>95.92%</span> </div> </div> </div> </div> <div class="panel"> <h2>通过率趋势图</h2> <div class="chart2" id="char2"></div> </div> </div> <div class="box3"> <div class="panel"> <h2>历史构建结果</h2> <div class="chart4"> <table class="table" style="color: #d6d6d6;padding: 0"> <thead> <tr> <th scope="col">执行时间</th> <th scope="col">用例总数</th> <th scope="col">成功用例数</th> <th scope="col">通过率</th> </tr> </thead> <tbody> <tr> <th scope="row">2023-01-05 11:15:17</th> <td>147</td> <td>141</td> <td>95.92%</td> </tr> <tr> <th scope="row">2023-01-05 10:49:16</th> <td>147</td> <td>142</td> <td>96.60%</td> </tr> <tr> <th scope="row">2023-01-05 10:13:52</th> <td>147</td> <td>143</td> <td>97.28%</td> </tr> <tr> <th scope="row">2023-01-04 18:22:05</th> <td>25</td> <td>19</td> <td>76.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:20:14</th> <td>25</td> <td>19</td> <td>76.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:18:52</th> <td>25</td> <td>19</td> <td>76.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:17:02</th> <td>25</td> <td>19</td> <td>76.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:14:28</th> <td>1</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:08:17</th> <td>22</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:07:44</th> <td>22</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:07:06</th> <td>22</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:05:48</th> <td>22</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:05:29</th> <td>22</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:04:48</th> <td>22</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:04:32</th> <td>22</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:03:58</th> <td>1</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:01:04</th> <td>25</td> <td>18</td> <td>72.00%</td> </tr> <tr> <th scope="row">2023-01-04 18:00:04</th> <td>25</td> <td>18</td> <td>72.00%</td> </tr> <tr> <th scope="row">2023-01-04 17:58:17</th> <td>25</td> <td>18</td> <td>72.00%</td> </tr> <tr> <th scope="row">2023-01-04 17:55:48</th> <td>25</td> <td>18</td> <td>72.00%</td> </tr> <tr> <th scope="row">2023-01-04 17:54:04</th> <td>25</td> <td>18</td> <td>72.00%</td> </tr> <tr> <th scope="row">2023-01-04 17:48:20</th> <td>25</td> <td>17</td> <td>68.00%</td> </tr> <tr> <th scope="row">2023-01-04 17:01:15</th> <td>25</td> <td>17</td> <td>68.00%</td> </tr> <tr> <th scope="row">2023-01-04 16:55:38</th> <td>147</td> <td>135</td> <td>91.84%</td> </tr> <tr> <th scope="row">2023-01-04 16:39:21</th> <td>147</td> <td>134</td> <td>91.16%</td> </tr> <tr> <th scope="row">2023-01-04 16:38:21</th> <td>31</td> <td>31</td> <td>100.00%</td> </tr> <tr> <th scope="row">2023-01-04 16:08:59</th> <td>147</td> <td>133</td> <td>90.48%</td> </tr> <tr> <th scope="row">2023-01-04 16:05:00</th> <td>147</td> <td>133</td> <td>90.48%</td> </tr> <tr> <th scope="row">2023-01-04 16:03:38</th> <td>25</td> <td>12</td> <td>48.00%</td> </tr> <tr> <th scope="row">2023-01-04 15:58:49</th> <td>29</td> <td>10</td> <td>34.48%</td> </tr> <tr> <th scope="row">2023-01-04 15:56:34</th> <td>29</td> <td>4</td> <td>13.79%</td> </tr> <tr> <th scope="row">2023-01-04 14:51:24</th> <td>124</td> <td>121</td> <td>97.58%</td> </tr> <tr> <th scope="row">2023-01-04 14:37:25</th> <td>122</td> <td>121</td> <td>99.18%</td> </tr> <tr> <th scope="row">2023-01-04 14:33:09</th> <td>123</td> <td>120</td> <td>97.56%</td> </tr> <tr> <th scope="row">2023-01-03 16:44:14</th> <td>1</td> <td>1</td> <td>100.00%</td> </tr> <tr> <th scope="row">2023-01-03 14:51:07</th> <td>31</td> <td>29</td> <td>93.55%</td> </tr> <tr> <th scope="row">2023-01-03 09:58:12</th> <td>121</td> <td>120</td> <td>99.17%</td> </tr> <tr> <th scope="row">2022-12-30 19:12:30</th> <td>121</td> <td>118</td> <td>97.52%</td> </tr> <tr> <th scope="row">2022-12-30 19:03:57</th> <td>30</td> <td>29</td> <td>96.67%</td> </tr> <tr> <th scope="row">2022-12-30 18:59:07</th> <td>121</td> <td>119</td> <td>98.35%</td> </tr> <tr> <th scope="row">2022-12-30 18:57:05</th> <td>121</td> <td>117</td> <td>96.69%</td> </tr> <tr> <th scope="row">2022-12-30 18:49:32</th> <td>121</td> <td>118</td> <td>97.52%</td> </tr> <tr> <th scope="row">2022-12-30 18:39:42</th> <td>32</td> <td>21</td> <td>65.62%</td> </tr> <tr> <th scope="row">2022-12-30 18:37:38</th> <td>121</td> <td>118</td> <td>97.52%</td> </tr> <tr> <th scope="row">2022-12-30 18:34:27</th> <td>121</td> <td>119</td> <td>98.35%</td> </tr> <tr> <th scope="row">2022-12-30 17:39:14</th> <td>30</td> <td>27</td> <td>90.00%</td> </tr> <tr> <th scope="row">2022-12-30 17:35:31</th> <td>30</td> <td>24</td> <td>80.00%</td> </tr> <tr> <th scope="row">2022-12-30 17:21:00</th> <td>30</td> <td>9</td> <td>30.00%</td> </tr> <tr> <th scope="row">2022-12-30 17:11:04</th> <td>121</td> <td>99</td> <td>81.82%</td> </tr> <tr> <th scope="row">2022-12-30 16:25:42</th> <td>30</td> <td>9</td> <td>30.00%</td> </tr> <tr> <th scope="row">2022-12-30 16:23:19</th> <td>30</td> <td>9</td> <td>30.00%</td> </tr> <tr> <th scope="row">2022-12-30 16:21:24</th> <td>30</td> <td>9</td> <td>30.00%</td> </tr> <tr> <th scope="row">2022-12-30 15:59:28</th> <td>121</td> <td>97</td> <td>80.17%</td> </tr> <tr> <th scope="row">2022-12-30 15:53:15</th> <td>30</td> <td>4</td> <td>13.33%</td> </tr> <tr> <th scope="row">2022-12-30 15:31:30</th> <td>30</td> <td>14</td> <td>46.67%</td> </tr> <tr> <th scope="row">2022-12-30 15:23:43</th> <td>30</td> <td>13</td> <td>43.33%</td> </tr> <tr> <th scope="row">2022-12-30 15:19:55</th> <td>30</td> <td>13</td> <td>43.33%</td> </tr> <tr> <th scope="row">2022-12-30 15:10:08</th> <td>30</td> <td>9</td> <td>30.00%</td> </tr> <tr> <th scope="row">2022-12-30 15:04:47</th> <td>30</td> <td>9</td> <td>30.00%</td> </tr> <tr> <th scope="row">2022-12-30 14:05:52</th> <td>2</td> <td>1</td> <td>50.00%</td> </tr> <tr> <th scope="row">2022-12-30 14:03:29</th> <td>2</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2022-12-30 13:53:54</th> <td>2</td> <td>1</td> <td>50.00%</td> </tr> <tr> <th scope="row">2022-12-30 13:53:38</th> <td>2</td> <td>1</td> <td>50.00%</td> </tr> <tr> <th scope="row">2022-12-29 18:06:22</th> <td>91</td> <td>90</td> <td>98.90%</td> </tr> <tr> <th scope="row">2022-12-29 17:56:51</th> <td>84</td> <td>83</td> <td>98.81%</td> </tr> <tr> <th scope="row">2022-12-29 17:54:56</th> <td>84</td> <td>83</td> <td>98.81%</td> </tr> <tr> <th scope="row">2022-12-29 17:52:42</th> <td>84</td> <td>83</td> <td>98.81%</td> </tr> <tr> <th scope="row">2022-12-29 17:51:39</th> <td>10</td> <td>9</td> <td>90.00%</td> </tr> <tr> <th scope="row">2022-12-29 17:43:04</th> <td>84</td> <td>82</td> <td>97.62%</td> </tr> <tr> <th scope="row">2022-12-29 17:06:12</th> <td>84</td> <td>82</td> <td>97.62%</td> </tr> <tr> <th scope="row">2022-12-29 15:32:18</th> <td>84</td> <td>81</td> <td>96.43%</td> </tr> <tr> <th scope="row">2022-12-29 14:35:17</th> <td>84</td> <td>83</td> <td>98.81%</td> </tr> <tr> <th scope="row">2022-12-29 14:20:20</th> <td>84</td> <td>83</td> <td>98.81%</td> </tr> <tr> <th scope="row">2022-12-29 14:19:08</th> <td>10</td> <td>9</td> <td>90.00%</td> </tr> <tr> <th scope="row">2022-12-29 14:15:09</th> <td>10</td> <td>9</td> <td>90.00%</td> </tr> <tr> <th scope="row">2022-12-29 14:13:24</th> <td>10</td> <td>9</td> <td>90.00%</td> </tr> <tr> <th scope="row">2022-12-29 14:11:56</th> <td>10</td> <td>8</td> <td>80.00%</td> </tr> <tr> <th scope="row">2022-12-29 14:11:02</th> <td>1</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2022-12-29 14:06:30</th> <td>10</td> <td>9</td> <td>90.00%</td> </tr> <tr> <th scope="row">2022-12-29 14:03:56</th> <td>1</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2022-12-29 13:58:16</th> <td>5</td> <td>5</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-29 13:53:28</th> <td>10</td> <td>9</td> <td>90.00%</td> </tr> <tr> <th scope="row">2022-12-29 13:51:43</th> <td>10</td> <td>8</td> <td>80.00%</td> </tr> <tr> <th scope="row">2022-12-29 13:49:44</th> <td>1</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2022-12-29 13:48:47</th> <td>1</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2022-12-29 13:47:58</th> <td>0</td> <td>0</td> <td>0%</td> </tr> <tr> <th scope="row">2022-12-29 11:36:25</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-29 11:06:47</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-29 10:31:09</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 22:05:34</th> <td>15</td> <td>15</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 22:02:52</th> <td>23</td> <td>23</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 22:00:20</th> <td>11</td> <td>11</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 21:58:24</th> <td>19</td> <td>19</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 17:38:44</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 17:37:41</th> <td>77</td> <td>76</td> <td>98.70%</td> </tr> <tr> <th scope="row">2022-12-28 17:10:55</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 16:46:12</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 16:41:45</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 16:39:59</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 16:33:19</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 16:25:35</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 16:14:59</th> <td>77</td> <td>74</td> <td>96.10%</td> </tr> <tr> <th scope="row">2022-12-28 16:13:35</th> <td>77</td> <td>74</td> <td>96.10%</td> </tr> <tr> <th scope="row">2022-12-28 16:12:34</th> <td>77</td> <td>74</td> <td>96.10%</td> </tr> <tr> <th scope="row">2022-12-28 15:50:11</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 15:47:07</th> <td>77</td> <td>73</td> <td>94.81%</td> </tr> <tr> <th scope="row">2022-12-28 15:46:12</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:44:25</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:42:55</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:40:57</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:39:15</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:35:37</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:33:51</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:28:12</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:24:48</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 15:23:06</th> <td>77</td> <td>76</td> <td>98.70%</td> </tr> <tr> <th scope="row">2022-12-28 15:21:34</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 15:18:51</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 15:13:17</th> <td>77</td> <td>76</td> <td>98.70%</td> </tr> <tr> <th scope="row">2022-12-28 11:40:16</th> <td>77</td> <td>77</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-28 11:05:20</th> <td>77</td> <td>75</td> <td>97.40%</td> </tr> <tr> <th scope="row">2022-12-28 11:01:43</th> <td>77</td> <td>71</td> <td>92.21%</td> </tr> <tr> <th scope="row">2022-12-28 11:00:34</th> <td>5</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2022-12-28 10:23:02</th> <td>77</td> <td>68</td> <td>88.31%</td> </tr> <tr> <th scope="row">2022-12-28 10:21:49</th> <td>5</td> <td>4</td> <td>80.00%</td> </tr> <tr> <th scope="row">2022-12-28 09:53:52</th> <td>77</td> <td>67</td> <td>87.01%</td> </tr> <tr> <th scope="row">2022-12-28 09:43:06</th> <td>77</td> <td>63</td> <td>81.82%</td> </tr> <tr> <th scope="row">2022-12-27 18:32:59</th> <td>77</td> <td>35</td> <td>45.45%</td> </tr> <tr> <th scope="row">2022-12-27 18:30:32</th> <td>77</td> <td>35</td> <td>45.45%</td> </tr> <tr> <th scope="row">2022-12-27 18:24:36</th> <td>77</td> <td>34</td> <td>44.16%</td> </tr> <tr> <th scope="row">2022-12-27 15:38:19</th> <td>77</td> <td>53</td> <td>68.83%</td> </tr> <tr> <th scope="row">2022-12-27 15:17:59</th> <td>77</td> <td>54</td> <td>70.13%</td> </tr> <tr> <th scope="row">2022-12-27 15:15:12</th> <td>77</td> <td>53</td> <td>68.83%</td> </tr> <tr> <th scope="row">2022-12-27 15:10:37</th> <td>77</td> <td>51</td> <td>66.23%</td> </tr> <tr> <th scope="row">2022-12-27 15:07:27</th> <td>77</td> <td>50</td> <td>64.94%</td> </tr> <tr> <th scope="row">2022-12-27 14:52:13</th> <td>77</td> <td>51</td> <td>66.23%</td> </tr> <tr> <th scope="row">2022-12-27 14:51:21</th> <td>45</td> <td>21</td> <td>46.67%</td> </tr> <tr> <th scope="row">2022-12-27 14:49:43</th> <td>13</td> <td>2</td> <td>15.38%</td> </tr> <tr> <th scope="row">2022-12-27 14:48:31</th> <td>13</td> <td>1</td> <td>7.69%</td> </tr> <tr> <th scope="row">2022-12-27 14:48:00</th> <td>13</td> <td>1</td> <td>7.69%</td> </tr> <tr> <th scope="row">2022-12-27 14:45:55</th> <td>45</td> <td>20</td> <td>44.44%</td> </tr> <tr> <th scope="row">2022-12-27 14:43:50</th> <td>14</td> <td>5</td> <td>35.71%</td> </tr> <tr> <th scope="row">2022-12-27 14:41:31</th> <td>14</td> <td>5</td> <td>35.71%</td> </tr> <tr> <th scope="row">2022-12-27 14:40:10</th> <td>14</td> <td>5</td> <td>35.71%</td> </tr> <tr> <th scope="row">2022-12-27 14:38:36</th> <td>14</td> <td>4</td> <td>28.57%</td> </tr> <tr> <th scope="row">2022-12-27 14:38:18</th> <td>14</td> <td>4</td> <td>28.57%</td> </tr> <tr> <th scope="row">2022-12-27 14:37:20</th> <td>45</td> <td>16</td> <td>35.56%</td> </tr> <tr> <th scope="row">2022-12-27 14:27:15</th> <td>77</td> <td>48</td> <td>62.34%</td> </tr> <tr> <th scope="row">2022-12-27 14:17:07</th> <td>77</td> <td>48</td> <td>62.34%</td> </tr> <tr> <th scope="row">2022-12-27 13:14:25</th> <td>20</td> <td>15</td> <td>75.00%</td> </tr> <tr> <th scope="row">2022-12-27 13:13:59</th> <td>20</td> <td>15</td> <td>75.00%</td> </tr> <tr> <th scope="row">2022-12-27 11:38:30</th> <td>15</td> <td>10</td> <td>66.67%</td> </tr> <tr> <th scope="row">2022-12-27 11:36:43</th> <td>15</td> <td>10</td> <td>66.67%</td> </tr> <tr> <th scope="row">2022-12-27 11:35:03</th> <td>15</td> <td>9</td> <td>60.00%</td> </tr> <tr> <th scope="row">2022-12-27 11:30:59</th> <td>15</td> <td>8</td> <td>53.33%</td> </tr> <tr> <th scope="row">2022-12-27 11:29:52</th> <td>15</td> <td>7</td> <td>46.67%</td> </tr> <tr> <th scope="row">2022-12-27 11:24:50</th> <td>15</td> <td>1</td> <td>6.67%</td> </tr> <tr> <th scope="row">2022-12-27 11:04:21</th> <td>1</td> <td>1</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-27 10:13:10</th> <td>33</td> <td>33</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-24 20:30:36</th> <td>33</td> <td>33</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-24 20:29:36</th> <td>33</td> <td>32</td> <td>96.97%</td> </tr> <tr> <th scope="row">2022-12-24 20:26:29</th> <td>5</td> <td>5</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-24 17:36:32</th> <td>3</td> <td>3</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-24 17:34:33</th> <td>3</td> <td>3</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-23 19:09:46</th> <td>31</td> <td>30</td> <td>96.77%</td> </tr> <tr> <th scope="row">2022-12-23 19:09:09</th> <td>31</td> <td>31</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-23 19:05:51</th> <td>31</td> <td>30</td> <td>96.77%</td> </tr> <tr> <th scope="row">2022-12-23 16:43:23</th> <td>32</td> <td>32</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-23 16:26:19</th> <td>32</td> <td>32</td> <td>100.00%</td> </tr> <tr> <th scope="row">2022-12-23 16:25:20</th> <td>32</td> <td>31</td> <td>96.88%</td> </tr> <tr> <th scope="row">2022-12-23 16:21:09</th> <td>32</td> <td>29</td> <td>90.62%</td> </tr> <tr> <th scope="row">2022-12-23 16:20:37</th> <td>32</td> <td>29</td> <td>90.62%</td> </tr> <tr> <th scope="row">2022-12-23 15:36:47</th> <td>32</td> <td>28</td> <td>87.50%</td> </tr> <tr> <th scope="row">2022-12-23 15:31:35</th> <td>32</td> <td>28</td> <td>87.50%</td> </tr> <tr> <th scope="row">2022-12-23 15:10:26</th> <td>32</td> <td>27</td> <td>84.38%</td> </tr> <tr> <th scope="row">2022-12-23 15:07:58</th> <td>32</td> <td>27</td> <td>84.38%</td> </tr> <tr> <th scope="row">2022-12-23 15:06:22</th> <td>32</td> <td>27</td> <td>84.38%</td> </tr> <tr> <th scope="row">2022-12-23 15:04:12</th> <td>9</td> <td>4</td> <td>44.44%</td> </tr> <tr> <th scope="row">2022-12-23 15:03:33</th> <td>16</td> <td>7</td> <td>43.75%</td> </tr> <tr> <th scope="row">2022-12-23 15:01:19</th> <td>32</td> <td>26</td> <td>81.25%</td> </tr> <tr> <th scope="row">2022-12-23 15:00:04</th> <td>32</td> <td>25</td> <td>78.12%</td> </tr> <tr> <th scope="row">2022-12-23 14:54:12</th> <td>32</td> <td>21</td> <td>65.62%</td> </tr> <tr> <th scope="row">2022-12-23 13:56:17</th> <td>32</td> <td>19</td> <td>59.38%</td> </tr> <tr> <th scope="row">2022-12-23 11:53:02</th> <td>31</td> <td>14</td> <td>45.16%</td> </tr> <tr> <th scope="row">2022-12-23 11:50:26</th> <td>31</td> <td>14</td> <td>45.16%</td> </tr> <tr> <th scope="row">2022-12-23 11:24:23</th> <td>31</td> <td>14</td> <td>45.16%</td> </tr> <tr> <th scope="row">2022-12-23 11:10:29</th> <td>26</td> <td>15</td> <td>57.69%</td> </tr> <tr> <th scope="row">2022-12-23 11:04:53</th> <td>26</td> <td>11</td> <td>42.31%</td> </tr> <tr> <th scope="row">2022-12-22 23:09:09</th> <td>26</td> <td>10</td> <td>38.46%</td> </tr> <tr> <th scope="row">2022-12-22 23:08:12</th> <td>16</td> <td>6</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-22 23:03:40</th> <td>26</td> <td>7</td> <td>26.92%</td> </tr> <tr> <th scope="row">2022-12-22 15:59:15</th> <td>15</td> <td>4</td> <td>26.67%</td> </tr> <tr> <th scope="row">2022-12-22 15:54:09</th> <td>15</td> <td>4</td> <td>26.67%</td> </tr> <tr> <th scope="row">2022-12-22 00:54:19</th> <td>25</td> <td>8</td> <td>32.00%</td> </tr> <tr> <th scope="row">2022-12-22 00:47:52</th> <td>8</td> <td>0</td> <td>0.00%</td> </tr> <tr> <th scope="row">2022-12-22 00:32:39</th> <td>25</td> <td>9</td> <td>36.00%</td> </tr> <tr> <th scope="row">2022-12-22 00:26:21</th> <td>25</td> <td>5</td> <td>20.00%</td> </tr> <tr> <th scope="row">2022-12-22 00:05:50</th> <td>25</td> <td>9</td> <td>36.00%</td> </tr> <tr> <th scope="row">2022-12-21 23:10:55</th> <td>25</td> <td>9</td> <td>36.00%</td> </tr> <tr> <th scope="row">2022-12-21 23:02:18</th> <td>25</td> <td>9</td> <td>36.00%</td> </tr> <tr> <th scope="row">2022-12-21 22:57:36</th> <td>25</td> <td>9</td> <td>36.00%</td> </tr> <tr> <th scope="row">2022-12-21 22:55:57</th> <td>25</td> <td>9</td> <td>36.00%</td> </tr> <tr> <th scope="row">2022-12-21 22:52:34</th> <td>25</td> <td>8</td> <td>32.00%</td> </tr> <tr> <th scope="row">2022-12-21 22:40:23</th> <td>25</td> <td>8</td> <td>32.00%</td> </tr> <tr> <th scope="row">2022-12-20 21:35:13</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-20 21:34:11</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-20 12:06:06</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-19 20:35:55</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-19 19:32:22</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-19 18:19:47</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-19 18:17:28</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-19 17:58:06</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> <tr> <th scope="row">2022-12-19 17:56:09</th> <td>24</td> <td>9</td> <td>37.50%</td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="test_info"> <h2>本次运行详情</h2> <div class="table_data"> <table class="table" style="color: #fff"> <thead class="text-light" style="background: rgba(3, 14, 70, 0.5)"> <tr> <th scope="col" style="width: 5%;padding: 0">编号</th> <th scope="col" style="width: 20%;padding: 0"> <span>测试类</span> <select id="testClass"> <option>所有</option> <option>Test02Specialty</option> <option>Test02Class</option> <option>Test03Year</option> <option>Test04Student</option> <option>Test03Course</option> <option>Test01Department</option> <option>TestLogin</option> <option>Test01addInternshipPlan</option> <option>Test03InternshipProject</option> <option>Test01Teacher</option> <option>Test02publishInternshipPlan</option> </select> </th> <th scope="col" style="width: 15%;padding: 0">测试方法</th> <th scope="col" style="width: 20%;padding: 0">用例描述</th> <th scope="col" style="width: 15%;padding: 0">执行时间</th> <th scope="col" style="width: 20%;padding: 0"> <span>执行结果</span> <select id="testResult"> <option>所有</option> <option class="text-success">成功</option> <option class="text-danger">失败</option> <option class="text-warning">错误</option> <option class="text-info">跳过</option> </select> </th> <th scope="col" style="width: 10%;padding: 0">详细信息</th> </tr> </thead> <tbody> <tr class="case_"> <td>1</td> <td class="TestLogin">TestLogin</td> <td>test_login_1</td> <td>登陆成功</td> <td>0.63s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'way': 'name', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher', 'username': '17301249975', 'schoolId': '1519958566130257922'} 预期结果:{'msg': 'success', 'code': 200} 实际结果:{'msg': 'success', 'code': 200, 'data': {'access_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcyOTI0NTE2LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mX-iHquWKqOWMluS4k-eUqCIsImp0aSI6ImI0OTQxNWU0LTUxNDItNDE1My04NWVlLTg5NmEzMWRmYzI3MCIsInN0YXR1cyI6ImFjdGl2ZSJ9.W3CJIxZrAGIPYntyhH3UddZ40RpOQEYa6lqeV6IKmdQfP5-IHDoZy15cXhZqg6M5ZJ3J-4pLeQz55WVIGRZpymDMkFZc4MtbN6_kPXtcEU92mVpSRQgs_tvfqfJw2pMGV3vPGswIISIicuZKg4Ik9m-VlwhtsTEV4jlEQF81TtwfI-fDz8-0tchPufg3j_JoQrlW2FRmZEs6HlefckmaLGZ1S98OUKNnaOyXsyKwwCM_wFaY5ehgJpaohz6KvHGd77eSQ3a0vPs2eFbVuSf83BowtBVVaBCgODKLz44s9WLnGpWYVmM2CQ5tTimK25WLTbUETO6sDyxPOGQwR-vdvg', 'token_type': 'bearer', 'refresh_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJhdGkiOiJiNDk0MTVlNC01MTQyLTQxNTMtODVlZS04OTZhMzFkZmMyNzAiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcyOTYwNTE2LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mX-iHquWKqOWMluS4k-eUqCIsImp0aSI6IjQxZDYzZTYwLWZjNzgtNDE0ZC1hZjlkLWJmNmJjNWNmMzNhMyIsInN0YXR1cyI6ImFjdGl2ZSJ9.RSi4v7Pn4MoYdNuEJrIm0E1CAjPzs635V34BL8YaK6bMyZUzIfnGAjs5Q2gBeOOD6P34Wy8wqg2rqZvzrYomgUNKyojSWXLvwFz611FON9XoP3UPfpSZWimGKe9ONjTIUbEWyTlPHOo--PVVC2zu3anr-REUygzFJLKoWwCMy4xgF5uKtX-GYiPGayPQ7St_2rqETnhzsRzsDiaHkj8rYpTlxA8ExQd3IWSKuUYSaUWRMnH3d0PtGwTn6xJp34F_tUo2lX1Ab469VX_WHuIQ-de0lT0AIADyuFawaJY7FcyIz40QFjBR5KQ6leD4jDNOqYDSD-yxtfYRmalnmfXdOg', 'expires_in': 35999, 'scope': 'all', 'tenantType': '', 'brokerId': '', 'hroUserToken': None, 'authStatus': '', 'authenticationIdentity': 'login', 'type': 'teacher', 'userId': '1519959208529866753', 'studentId': '', 'teacherId': '1519959209276452865', 'tenantName': '', 'phone': '17301249975', 'schoolId': '1519958566130257922', 'tenantId': '', 'name': '校长', 'studentStatus': '', 'schoolName': '测试大学_自动化专用', 'status': 'active', 'jti': 'b49415e4-5142-4153-85ee-896a31dfc270'}} test_login_1 (test_01_login.TestLogin)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>2</td> <td class="TestLogin">TestLogin</td> <td>test_login_2</td> <td>手机号填写错误的</td> <td>0.224s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'way': 'name', 'username': '17301149975', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} 预期结果:{'code': 500, 'data': None, 'msg': '用户不存在'} 实际结果:{'code': 500, 'data': None, 'msg': '用户不存在'} test_login_2 (test_01_login.TestLogin)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>3</td> <td class="TestLogin">TestLogin</td> <td>test_login_3</td> <td>手机号不进行填写</td> <td>0.229s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'way': 'name', 'username': '', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} 预期结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} 实际结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} test_login_3 (test_01_login.TestLogin)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>4</td> <td class="TestLogin">TestLogin</td> <td>test_login_4</td> <td>密码填写错误</td> <td>0.375s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'way': 'name', 'username': '17301249975', 'password': 'f85eea0e115e424aba8675f8848e2cb83', 'type': 'teacher'} 预期结果:{'code': 500, 'data': None, 'msg': '密码不正确'} 实际结果:{'code': 500, 'data': None, 'msg': '密码不正确'} test_login_4 (test_01_login.TestLogin)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>5</td> <td class="TestLogin">TestLogin</td> <td>test_login_5</td> <td>密码不进行填写</td> <td>0.234s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'way': 'name', 'username': '17301249975', 'password': '', 'type': 'teacher'} 预期结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} 实际结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} test_login_5 (test_01_login.TestLogin)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>6</td> <td class="Test01Department">Test01Department</td> <td>test_add_department_1</td> <td>新增院系成功</td> <td>0.34s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化院系20230105_11:15:19_1', 'code': 'py_code20230105_11:15:19_1'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_department_1 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>7</td> <td class="Test01Department">Test01Department</td> <td>test_add_department_2</td> <td>院系名称未填写</td> <td>0.289s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '', 'code': 'py_code20230105_11:15:19_2'} 预期结果: {'msg': '院系名称不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '院系名称不能为空', 'code': 500, 'data': None} test_add_department_2 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>8</td> <td class="Test01Department">Test01Department</td> <td>test_add_department_3</td> <td>院系名称重复</td> <td>0.336s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '院系1', 'code': 'py_code20230105_11:15:19_3'} 预期结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} 实际结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} test_add_department_3 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>9</td> <td class="Test01Department">Test01Department</td> <td>test_add_department_4</td> <td>院系名称长度不可大于30位</td> <td>0.379s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试', 'code': 'py_code20230105_11:15:20_4'} 预期结果: {'msg': '院系名称长度不可大于30位', 'code': 500, 'data': None} 实际结果: {'msg': '院系名称长度不可大于30位', 'code': 500, 'data': None} test_add_department_4 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>10</td> <td class="Test01Department">Test01Department</td> <td>test_add_department_5</td> <td>院系代码重复</td> <td>0.298s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化院系20230105_11:15:20_5', 'code': '批量导入院系'} 预期结果: {'msg': '院系代码已存在,请确认', 'code': 500, 'data': None} 实际结果: {'msg': '院系代码已存在,请确认', 'code': 500, 'data': None} test_add_department_5 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>11</td> <td class="Test01Department">Test01Department</td> <td>test_add_department_6</td> <td>院系代码不能为空</td> <td>0.283s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化院系20230105_11:15:20_6', 'code': ''} 预期结果: {'msg': '院系代码不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '院系代码不能为空', 'code': 500, 'data': None} test_add_department_6 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>12</td> <td class="Test01Department">Test01Department</td> <td>test_add_department_7</td> <td>院系代码长度不可大于30</td> <td>0.303s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化院系20230105_11:15:21_7', 'code': '院系代码长度大于30的测试院系代码长度大于30的测试院系代码长度大于30的测试'} 预期结果: {'msg': '院系代码长度不可大于30', 'code': 500, 'data': None} 实际结果: {'msg': '院系代码长度不可大于30', 'code': 500, 'data': None} test_add_department_7 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>13</td> <td class="Test01Department">Test01Department</td> <td>test_add_department_8</td> <td>新增院系成功</td> <td>0.376s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化院系20230105_11:15:21_8', 'code': 'py_code20230105_11:15:21_8'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_department_8 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>14</td> <td class="Test01Department">Test01Department</td> <td>test_select_department_1</td> <td>查看院系列表</td> <td>0.352s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'pageNumber': '0', 'pageSize': '3'} 预期结果: {'msg': 'success', 'code': 200} 实际结果: {'msg': 'success', 'code': 200, 'data': {'records': [{'id': '1519960493236785154', 'schoolId': '1519958566130257922', 'name': '第一院系-1-修改1', 'code': '第一院系-1', 'createdBy': '1519959209276452865', 'createdTime': 1651221796000, 'updatedBy': '1519959209276452865', 'updatedTime': 1653018193000}, {'id': '1519960538489131009', 'schoolId': '1519958566130257922', 'name': '第二院系-22', 'code': '第二院系-22', 'createdBy': '1519959209276452865', 'createdTime': 1651221807000, 'updatedBy': '1519959209276452865', 'updatedTime': 1652281988000}, {'id': '1519960582474797058', 'schoolId': '1519958566130257922', 'name': '第三院系-3', 'code': '第三院系-3', 'createdBy': '1519959209276452865', 'createdTime': 1651221817000, 'updatedBy': None, 'updatedTime': None}, {'id': '1522126666221019137', 'schoolId': '1519958566130257922', 'name': '大_批量导入院系', 'code': '大_批量导入院系', 'createdBy': '1519959209276452865', 'createdTime': 1651738252000, 'updatedBy': None, 'updatedTime': None}, {'id': '1522150977187188738', 'schoolId': '1519958566130257922', 'name': '批量导入院系', 'code': '批量导入院系', 'createdBy': '1519959209276452865', 'createdTime': 1651744048000, 'updatedBy': None, 'updatedTime': None}, {'id': '1524276366210510849', 'schoolId': '1519958566130257922', 'name': '流程sss', 'code': '流程sss', 'createdBy': '1519959209276452865', 'createdTime': 1652250780000, 'updatedBy': None, 'updatedTime': None}, {'id': '1527478217726754818', 'schoolId': '1519958566130257922', 'name': '添加缓存后', 'code': '添加缓存后', 'createdBy': '1519959209276452865', 'createdTime': 1653014161000, 'updatedBy': None, 'updatedTime': None}, {'id': '1527479106566881282', 'schoolId': '1519958566130257922', 'name': 'ssss添加缓存后-院系-1-修改1', 'code': 'ssss添加缓存后-院系-1-修改1', 'createdBy': '1519959209276452865', 'createdTime': 1653014373000, 'updatedBy': '1519959209276452865', 'updatedTime': 1653015920000}, {'id': '1537365491176304642', 'schoolId': '1519958566130257922', 'name': '院系1', 'code': '院系1', 'createdBy': '1519959209276452865', 'createdTime': 1655371471000, 'updatedBy': None, 'updatedTime': None}, {'id': '1537365542577500162', 'schoolId': '1519958566130257922', 'name': '院系2', 'code': '院系2', 'createdBy': '1519959209276452865', 'createdTime': 1655371483000, 'updatedBy': None, 'updatedTime': None}, {'id': '1537365589180411906', 'schoolId': '1519958566130257922', 'name': '院系3', 'code': '院系3', 'createdBy': '1519959209276452865', 'createdTime': 1655371494000, 'updatedBy': None, 'updatedTime': None}, {'id': '1537365618314047490', 'schoolId': '1519958566130257922', 'name': '院系4', 'code': '院系4', 'createdBy': '1519959209276452865', 'createdTime': 1655371501000, 'updatedBy': None, 'updatedTime': None}, {'id': '1537365645191147521', 'schoolId': '1519958566130257922', 'name': '院系5', 'code': '院系5', 'createdBy': '1519959209276452865', 'createdTime': 1655371507000, 'updatedBy': None, 'updatedTime': None}, {'id': '1537365671829172225', 'schoolId': '1519958566130257922', 'name': '院系6', 'code': '院系6', 'createdBy': '1519959209276452865', 'createdTime': 1655371514000, 'updatedBy': None, 'updatedTime': None}, {'id': '1537365714241974274', 'schoolId': '1519958566130257922', 'name': '院系7', 'code': '院系7', 'createdBy': '1519959209276452865', 'createdTime': 1655371524000, 'updatedBy': None, 'updatedTime': None}], 'total': 534, 'size': 15, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'searchCount': True, 'countId': '', 'maxLimit': None, 'pages': 36}} test_select_department_1 (test_02_system_management.Test01Department)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>15</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_01</td> <td>新增专业成功</td> <td>1.31s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:22_1', 'code': 'py_code11:15:22_1', 'departmentId': '1610837321962614786', 'category': 'science'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_specialty_01 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>16</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_02</td> <td>新增专业失败,院系未填写</td> <td>1.21s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:23_2', 'code': 'py_code11:15:23_2', 'departmentId': '', 'category': 'science'} 预期结果: {'msg': '院系不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '院系不能为空', 'code': 500, 'data': None} test_add_specialty_02 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>17</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_03</td> <td>新增专业失败,院系不存在</td> <td>1.17s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:25_3', 'code': 'py_code11:15:25_3', 'departmentId': '23232333333', 'category': 'science'} 预期结果: {'msg': '院系不存在', 'code': 500, 'data': None} 实际结果: {'msg': '院系不存在', 'code': 500, 'data': None} test_add_specialty_03 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>18</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_04</td> <td>新增专业失败,专业名称未填写</td> <td>1.02s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '', 'code': 'py_code11:15:26_4', 'departmentId': '1610837321962614786', 'category': 'science'} 预期结果: {'msg': '专业名称不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '专业名称不能为空', 'code': 500, 'data': None} test_add_specialty_04 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>19</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_05</td> <td>专业名称长度不能大于30</td> <td>1.25s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '专业大于301234567890专业大于301234567890', 'code': 'py_code11:15:27_5', 'departmentId': '1610837321962614786', 'category': 'science'} 预期结果: {'msg': '专业名称长度不能大于30', 'code': 500, 'data': None} 实际结果: {'msg': '专业名称长度不能大于30', 'code': 500, 'data': None} test_add_specialty_05 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>20</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_06</td> <td>新增专业失败,专业名称重复</td> <td>1.1s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '第二个专业-2-1', 'code': 'py_code11:15:28_6', 'departmentId': '1610837321962614786', 'category': 'science'} 预期结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} 实际结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} test_add_specialty_06 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>21</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_07</td> <td>新增专业失败,专业代码重复</td> <td>1.35s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:29_7', 'code': '12', 'departmentId': '1610837321962614786', 'category': 'science'} 预期结果: {'msg': '专业代码已存在,请确认', 'code': 500, 'data': None} 实际结果: {'msg': '专业代码已存在,请确认', 'code': 500, 'data': None} test_add_specialty_07 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>22</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_08</td> <td>新增专业失败,专业代码未填写</td> <td>1.24s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:31_8', 'code': '', 'departmentId': '1610837321962614786', 'category': 'science'} 预期结果: {'msg': '专业代码不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '专业代码不能为空', 'code': 500, 'data': None} test_add_specialty_08 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>23</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_09</td> <td>新增专业失败,专业代码长度不能大于30</td> <td>1.11s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:32_9', 'code': '专业代码大于301234567890专业大于301234567890', 'departmentId': '1610837321962614786', 'category': 'science'} 预期结果: {'msg': '专业代码长度不能大于30', 'code': 500, 'data': None} 实际结果: {'msg': '专业代码长度不能大于30', 'code': 500, 'data': None} test_add_specialty_09 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>24</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_10</td> <td>新增专业失败,学科门类未填写</td> <td>1.49s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:33_10', 'code': 'py_code11:15:33_10', 'departmentId': '1610837321962614786', 'category': ''} 预期结果: {'msg': '学科门类不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学科门类不能为空', 'code': 500, 'data': None} test_add_specialty_10 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>25</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_11</td> <td>新增专业失败,学科门类填写错误</td> <td>1.35s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:34_11', 'code': 'py_code11:15:34_11', 'departmentId': '1610837321962614786', 'category': 'scienwce'} 预期结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} 实际结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} test_add_specialty_11 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>26</td> <td class="Test02Specialty">Test02Specialty</td> <td>test_add_specialty_12</td> <td>新增专业成功</td> <td>1.22s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py专业11:15:36_12', 'code': 'py_code11:15:36_12', 'departmentId': '1610837321962614786', 'category': 'science'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_specialty_12 (test_02_system_management.Test02Specialty)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>27</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_1</td> <td>新增学年学期成功</td> <td>0.32s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': 'py学年11:15:37_1', 'remark': 'py_comment备注11:15:37_1', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_year_1 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>28</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_2</td> <td>学年名称不可超过30字</td> <td>0.266s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': '1234567890123456789012345678901', 'remark': 'py_comment备注11:15:38_2', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} 预期结果: {'msg': '学年长度不可大于30位', 'code': 500, 'data': None} 实际结果: {'msg': '学年长度不可大于30位', 'code': 500, 'data': None} test_add_year_2 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>29</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_3</td> <td>学年学期开始时间和结束时间不可交叉</td> <td>0.285s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': 'py学年11:15:38_3', 'remark': 'py_comment备注11:15:38_3', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}, {'sort': 2, 'startTime': 1667376499000, 'endTime': 1704115459000}]} 预期结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} 实际结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} test_add_year_3 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>30</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_4</td> <td>学年未填写</td> <td>0.291s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': '', 'remark': 'py_comment备注11:15:38_4', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} 预期结果: {'msg': '学年不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学年不能为空', 'code': 500, 'data': None} test_add_year_4 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>31</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_5</td> <td>学期未填写</td> <td>0.31s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': 'py学年11:15:39_5', 'remark': 'py_comment备注11:15:39_5', 'terms': [{'sort': '', 'startTime': 1667376499000, 'endTime': 1704115459000}]} 预期结果: {'msg': '学期排序不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学期排序不能为空', 'code': 500, 'data': None} test_add_year_5 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>32</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_6</td> <td>学期开始时间未填写</td> <td>0.287s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': 'py学年11:15:39_6', 'remark': 'py_comment备注11:15:39_6', 'terms': [{'sort': 1, 'startTime': '', 'endTime': 1704115459000}]} 预期结果: {'msg': '学期开始时间不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学期开始时间不能为空', 'code': 500, 'data': None} test_add_year_6 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>33</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_7</td> <td>学期结束时间未填写</td> <td>0.294s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': 'py学年11:15:39_7', 'remark': 'py_comment备注11:15:39_7', 'terms': [{'sort': 1, 'startTime': 1704115459000, 'endTime': ''}]} 预期结果: {'msg': '学期结束时间不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学期结束时间不能为空', 'code': 500, 'data': None} test_add_year_7 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>34</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_8</td> <td>学期不可超过5个学期</td> <td>0.278s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': 'py学年11:15:40_8', 'remark': 'py_comment备注11:15:40_8', 'terms': [{'sort': 1, 'startTime': 154632003000, 'endTime': 154882563000}, {'sort': 2, 'startTime': 154899843000, 'endTime': 155150403000}, {'sort': 3, 'startTime': 155141763000, 'endTime': 155392323000}, {'sort': 4, 'startTime': 155668803000, 'endTime': 155936643000}, {'sort': 5, 'startTime': 156195843000, 'endTime': 156463683000}]} 预期结果: {'msg': '学期应填写1-4个', 'code': 500, 'data': None} 实际结果: {'msg': '学期应填写1-4个', 'code': 500, 'data': None} test_add_year_8 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>35</td> <td class="Test03Year">Test03Year</td> <td>test_add_year_9</td> <td>新增学年学期成功</td> <td>0.28s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'year': 'py学年11:15:40_9', 'remark': 'py_comment备注11:15:40_9', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_year_9 (test_02_system_management.Test03Year)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>36</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_01</td> <td>新增教师</td> <td>0.553s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:41_1', 'number': '13310349902', 'departmentIds': ['1610837321962614786'], 'phone': '13310349902', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '500101198409070335', 'gender': 0, 'entryTime': 1663084800000, 'email': '32728087753@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_teacher_info_01 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>37</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_02</td> <td>教师姓名不能为空</td> <td>0.277s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '', 'number': '15533995865', 'departmentIds': ['1610837321962614786'], 'phone': '15533995865', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '360101196507220610', 'gender': 0, 'entryTime': 1663084800000, 'email': '93668170856@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': '教师姓名不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '教师姓名不能为空', 'code': 500, 'data': None} test_add_teacher_info_02 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>38</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_03</td> <td>教师手机号不能为空</td> <td>0.252s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:42_3', 'number': '17306873803', 'departmentIds': ['1610837321962614786'], 'phone': '', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '650101201104020289', 'gender': 0, 'entryTime': 1663084800000, 'email': '43517147390@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': '教师手机号不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '教师手机号不能为空', 'code': 500, 'data': None} test_add_teacher_info_03 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>39</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_04</td> <td>教师证件类型不能为空</td> <td>0.264s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:42_4', 'number': '13606512072', 'departmentIds': ['1610837321962614786'], 'phone': '13606512072', 'classInfoId': '', 'idType': '', 'idNumber': '440101199910031784', 'gender': 0, 'entryTime': 1663084800000, 'email': '97139704716@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': '教师证件类别不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '教师证件类别不能为空', 'code': 500, 'data': None} test_add_teacher_info_04 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>40</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_05</td> <td>教师证件号码不能为空</td> <td>0.269s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:43_5', 'number': '13300546464', 'departmentIds': ['1610837321962614786'], 'phone': '13300546464', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '', 'gender': 0, 'entryTime': 1663084800000, 'email': '12614040594@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': '教师证件号码不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '教师证件号码不能为空', 'code': 500, 'data': None} test_add_teacher_info_05 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>41</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_06</td> <td>教师角色不能为空</td> <td>0.32s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:43_6', 'number': '13338548700', 'departmentIds': ['1610837321962614786'], 'phone': '13338548700', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '320101199911161145', 'gender': 0, 'entryTime': 1663084800000, 'email': '94979952647@163.com', 'professionalIds': [], 'roleIds': [''], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': '教师角色不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '教师角色不能为空', 'code': 500, 'data': None} test_add_teacher_info_06 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>42</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_07</td> <td>教师性别为空,添加成功</td> <td>0.463s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:43_7', 'number': '13348428847', 'departmentIds': ['1610837321962614786'], 'phone': '13348428847', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '140101200302151269', 'gender': '', 'entryTime': 1663084800000, 'email': '75258928968@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_teacher_info_07 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>43</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_08</td> <td>教师入职时间为空,添加成功</td> <td>0.516s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:44_8', 'number': '15538439853', 'departmentIds': ['1610837321962614786'], 'phone': '15538439853', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '510101201912110783', 'gender': 0, 'entryTime': '', 'email': '24817606383@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_teacher_info_08 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>44</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_09</td> <td>教师邮箱为空,添加成功</td> <td>0.00573s</td> <td class="text-danger">错误</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>Traceback (most recent call last): </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor yield </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run testMethod() </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper return func(self, *args, **kwargs) </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_03_teaching_affairs.py", line 79, in test_add_teacher_info case["data"] = case["data"].replace("#idNumber#", RandomIdentification().ran_end()) </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/tools/fixture.py", line 96, in ran_end ran = self.ran_area() + self.ran() + self.ran_value() </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/tools/fixture.py", line 92, in ran_area return str(province[random.randint(0, len(province))] + '0101') </pre> <pre>IndexError: tuple index out of range </pre> <pre>test_add_teacher_info_09 (test_03_teaching_affairs.Test01Teacher)执行——>【错误Error】 </pre> </td> </tr> <tr class="case_"> <td>45</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_10</td> <td>教师工号为空,添加成功</td> <td>0.498s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:44_10', 'number': '', 'departmentIds': ['1610837321962614786'], 'phone': '15511668123', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '61010119991027186X', 'gender': 0, 'entryTime': 1663084800000, 'email': '5431433025@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_teacher_info_10 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>46</td> <td class="Test01Teacher">Test01Teacher</td> <td>test_add_teacher_info_11</td> <td>新增教师</td> <td>0.429s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化教师20230105_11:15:45_11', 'number': '13648500869', 'departmentIds': ['1610837321962614786'], 'phone': '13648500869', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '530101193311021925', 'gender': 0, 'entryTime': 1663084800000, 'email': '13494979808@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1610837321962614786'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_teacher_info_11 (test_03_teaching_affairs.Test01Teacher)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>47</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_01</td> <td>新增班级</td> <td>0.323s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:48_1', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_class_info_01 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>48</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_02</td> <td>班级名称未填写</td> <td>0.288s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': '班级名称不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '班级名称不能为空', 'code': 500, 'data': None} test_add_class_info_02 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>49</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_03</td> <td>班级名称已存在</td> <td>0.299s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '权限测试第一个班级-1-修改1', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1607634271332593665', 'teacherId': '1607634326517051394', 'departmentId': '1607634257592053761'} 预期结果: {'msg': '该班级已存在,请确认', 'code': 500, 'data': None} 实际结果: {'msg': '该班级已存在,请确认', 'code': 500, 'data': None} test_add_class_info_03 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>50</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_04</td> <td>学制未填写</td> <td>0.309s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:49_4', 'educationalSystem': '', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': '学制不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学制不能为空', 'code': 500, 'data': None} test_add_class_info_04 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>51</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_05</td> <td>学制填写错误,最多为10年</td> <td>0.272s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:49_5', 'educationalSystem': '11', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': '学制最多为10年', 'code': 500, 'data': None} 实际结果: {'msg': '学制最多为10年', 'code': 500, 'data': None} test_add_class_info_05 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>52</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_06</td> <td>学制填写错误,最多为10年</td> <td>0.328s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:49_6', 'educationalSystem': '100', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': '学制最多为10年', 'code': 500, 'data': None} 实际结果: {'msg': '学制最多为10年', 'code': 500, 'data': None} test_add_class_info_06 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>53</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_07</td> <td>入学年份未填写</td> <td>0.27s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:50_7', 'educationalSystem': '3', 'startSchoolYear': '', 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': '入学年份不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '入学年份不能为空', 'code': 500, 'data': None} test_add_class_info_07 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>54</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_08</td> <td>专业未填写</td> <td>0.273s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:50_8', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': '所属专业不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '所属专业不能为空', 'code': 500, 'data': None} test_add_class_info_08 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>55</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_09</td> <td>专业填写错误</td> <td>0.311s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:50_9', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1607127381431545857', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': '专业不存在', 'code': 500, 'data': None} 实际结果: {'msg': '专业不存在', 'code': 500, 'data': None} test_add_class_info_09 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>56</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_10</td> <td>院系不能为空</td> <td>0.286s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:51_10', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': ''} 预期结果: {'msg': '所属院系不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '所属院系不能为空', 'code': 500, 'data': None} test_add_class_info_10 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>57</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_11</td> <td>院系填写错误</td> <td>0.285s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:51_11', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': '1607560129617769474'} 预期结果: {'msg': '院系不存在', 'code': 500, 'data': None} 实际结果: {'msg': '院系不存在', 'code': 500, 'data': None} test_add_class_info_11 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>58</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_12</td> <td>院系下没有该专业</td> <td>0.294s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:51_12', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1522136888155148289', 'teacherId': '1610837421766078465', 'departmentId': '1519960538489131009'} 预期结果: {'msg': '专业不存在', 'code': 500, 'data': None} 实际结果: {'msg': '专业不存在', 'code': 500, 'data': None} test_add_class_info_12 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>59</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_13</td> <td>教师未填写,添加成功</td> <td>0.288s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:51_13', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '', 'departmentId': '1610837321962614786'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_class_info_13 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>60</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_14</td> <td>教师填写错误</td> <td>0.347s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:52_14', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1607612806826909697', 'departmentId': '1610837321962614786'} 预期结果: {'msg': '教师不存在', 'code': 500, 'data': None} 实际结果: {'msg': '教师不存在', 'code': 500, 'data': None} test_add_class_info_14 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>61</td> <td class="Test02Class">Test02Class</td> <td>test_add_class_info_15</td> <td>新增班级</td> <td>0.308s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化班级20230105_11:15:52_15', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1610837387477643266', 'teacherId': '1610837421766078465', 'departmentId': '1610837321962614786'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_class_info_15 (test_03_teaching_affairs.Test02Class)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>62</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_01</td> <td>新增课程</td> <td>0.338s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:55_1', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '49'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_course_info_01 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>63</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_02</td> <td>课程名称不能为空</td> <td>0.28s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '50'} 预期结果: {'msg': '课程名称不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '课程名称不能为空', 'code': 500, 'data': None} test_add_course_info_02 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>64</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_03</td> <td>课程名称不能超过30字</td> <td>0.27s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '1234567890123456789012345678901', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '51'} 预期结果: {'msg': '课程名称不能超过30字', 'code': 500, 'data': None} 实际结果: {'msg': '课程名称不能超过30字', 'code': 500, 'data': None} test_add_course_info_03 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>65</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_04</td> <td>实践类型不能为空</td> <td>0.267s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:56_4', 'practiceType': '', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '52'} 预期结果: {'msg': '实践类型不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '实践类型不能为空', 'code': 500, 'data': None} test_add_course_info_04 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>66</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_05</td> <td>院系不能为空</td> <td>0.342s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:56_5', 'practiceType': 'know', 'departmentId': '', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '53'} 预期结果: {'msg': '院系不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '院系不能为空', 'code': 500, 'data': None} test_add_course_info_05 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>67</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_06</td> <td>院系不能为空</td> <td>0.389s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:56_6', 'practiceType': 'know', 'departmentId': '1519960228489131009', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '53'} 预期结果: {'msg': '院系不存在', 'code': 500, 'data': None} 实际结果: {'msg': '院系不存在', 'code': 500, 'data': None} test_add_course_info_06 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>68</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_07</td> <td>学分不能为空</td> <td>0.368s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:57_7', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': '', 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '54'} 预期结果: {'msg': '学分不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学分不能为空', 'code': 500, 'data': None} test_add_course_info_07 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>69</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_08</td> <td>修读性质不能为空</td> <td>0.271s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:57_8', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': '', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '55'} 预期结果: {'msg': '修读性质不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '修读性质不能为空', 'code': 500, 'data': None} test_add_course_info_08 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>70</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_09</td> <td>修读性质填写错误</td> <td>0.282s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:57_9', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'iiielectiveiiiii', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '56'} 预期结果: {'msg': '修读性质填写错误', 'code': 500, 'data': None} 实际结果: {'msg': '修读性质填写错误', 'code': 500, 'data': None} test_add_course_info_09 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>71</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_10</td> <td>学时(周数)不能为空</td> <td>0.283s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:58_10', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '57'} 预期结果: {'msg': '学时不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学时不能为空', 'code': 500, 'data': None} test_add_course_info_10 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>72</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_11</td> <td>学期不能为空</td> <td>0.306s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:58_11', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': [''], 'professionalIds': ['1610837387477643266'], 'yearId': '58'} 预期结果: {'msg': '学期不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学期不能为空', 'code': 500, 'data': None} test_add_course_info_11 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>73</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_12</td> <td>专业不能为空</td> <td>0.291s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:58_12', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': [''], 'yearId': '59'} 预期结果: {'msg': '部分专业信息不存在', 'code': 500, 'data': None} 实际结果: {'msg': '部分专业信息不存在', 'code': 500, 'data': None} test_add_course_info_12 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>74</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_13</td> <td>专业填写错误</td> <td>0.301s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:59_13', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1522136228155148289'], 'yearId': '60'} 预期结果: {'msg': '部分专业信息不存在', 'code': 500, 'data': None} 实际结果: {'msg': '部分专业信息不存在', 'code': 500, 'data': None} test_add_course_info_13 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>75</td> <td class="Test03Course">Test03Course</td> <td>test_add_course_info_14</td> <td>新增课程</td> <td>0.303s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化课程20230105_11:15:59_14', 'practiceType': 'know', 'departmentId': '1610837321962614786', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1610837400509345794'], 'professionalIds': ['1610837387477643266'], 'yearId': '49'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_course_info_14 (test_03_teaching_affairs.Test03Course)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>76</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_01</td> <td>新增学生成功</td> <td>0.526s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:02_1', 'number': '20230105_11:16:02_1', 'phone': '13600982879', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '610101197607170370', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '17329326914', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_student_info_01 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>77</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_02</td> <td>学生姓名未填写失败</td> <td>0.296s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '', 'number': '20230105_11:16:03_2', 'phone': '13649281509', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '330101201011080106', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '17380527817', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': '姓名不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '姓名不能为空', 'code': 500, 'data': None} test_add_student_info_02 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>78</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_03</td> <td>学生学号未填写失败</td> <td>0.297s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:03_3', 'number': '', 'phone': '13610725260', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '500101193706151294', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '13394293260', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': '学生学号不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学生学号不能为空', 'code': 500, 'data': None} test_add_student_info_03 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>79</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_04</td> <td>手机号未填写,添加成功</td> <td>0.349s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:04_4', 'number': '20230105_11:16:04_4', 'phone': '', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '640101199812211228', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '15542699736', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_student_info_04 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>80</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_05</td> <td>入学年份未填写,添加失败</td> <td>0.29s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:04_5', 'number': '20230105_11:16:04_5', 'phone': '13395203050', 'startSchoolYear': '', 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '140101193302220567', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '13615447402', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': '入学年份不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '入学年份不能为空', 'code': 500, 'data': None} test_add_student_info_05 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>81</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_06</td> <td>班级未填写,添加失败</td> <td>0.288s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:04_6', 'number': '20230105_11:16:04_6', 'phone': '17302791927', 'startSchoolYear': 2022, 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '110101198801161378', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '13326915266', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': '班级不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '班级不能为空', 'code': 500, 'data': None} test_add_student_info_06 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>82</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_07</td> <td>证件类型和证件号码都没填写,添加成功</td> <td>0.324s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:04_7', 'number': '20230105_11:16:04_7', 'phone': '17362801632', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': '', 'idNumber': '', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '13380410613', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_student_info_07 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>83</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_08</td> <td>证件类型未填,证件号码填写,添加失败</td> <td>0.313s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:05_8', 'number': '20230105_11:16:05_8', 'phone': '13373184358', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': '', 'idNumber': '420101197301210952', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '17359148398', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': '证件类型未填,证件号码填写', 'code': 500, 'data': None} 实际结果: {'msg': '证件类型未填,证件号码填写', 'code': 500, 'data': None} test_add_student_info_08 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>84</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_09</td> <td>证件类型填写,证件号码未填写,添加失败</td> <td>0.304s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:05_9', 'number': '20230105_11:16:05_9', 'phone': '17377118866', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '17338525389', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': '证件类型填写,证件号码未填写', 'code': 500, 'data': None} 实际结果: {'msg': '证件类型填写,证件号码未填写', 'code': 500, 'data': None} test_add_student_info_09 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>85</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_10</td> <td>性别未填写,添加成功</td> <td>0.323s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:05_10', 'number': '20230105_11:16:05_10', 'phone': '13350010108', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '130101196209051481', 'gender': '', 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '17311816452', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_student_info_10 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>86</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_11</td> <td>学籍状态未填写,添加成功</td> <td>0.326s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:06_11', 'number': '20230105_11:16:06_11', 'phone': '15584278353', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '510101194703230460', 'gender': 0, 'schoolCensusStatus': '', 'trainingOrientation': 'secondary', 'other': '15557432104', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_student_info_11 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>87</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_12</td> <td>培养方向未填写,添加成功</td> <td>0.349s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:06_12', 'number': '20230105_11:16:06_12', 'phone': '15535985781', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '340101196610010423', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': '', 'other': '13686237627', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_student_info_12 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>88</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_13</td> <td>其他-备注未填写,添加成功</td> <td>0.359s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:06_13', 'number': '20230105_11:16:06_13', 'phone': '17365407826', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '140101197706211577', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_student_info_13 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>89</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_14</td> <td>院系ID未填写,添加失败</td> <td>0.27s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:07_14', 'number': '20230105_11:16:07_14', 'phone': '13653825575', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '620101200403220256', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '13321445377', 'departmentId': '', 'professionalId': '1610837387477643266'} 预期结果: {'msg': '院系不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '院系不能为空', 'code': 500, 'data': None} test_add_student_info_14 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>90</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_15</td> <td>专业ID未填写添加失败</td> <td>0.295s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:07_15', 'number': '20230105_11:16:07_15', 'phone': '13341344445', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '370101201909130269', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '17339892204', 'departmentId': '1610837321962614786', 'professionalId': ''} 预期结果: {'msg': '专业不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '专业不能为空', 'code': 500, 'data': None} test_add_student_info_15 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>91</td> <td class="Test04Student">Test04Student</td> <td>test_add_student_info_16</td> <td>新增学生成功</td> <td>0.334s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化学生20230105_11:16:07_16', 'number': '20230105_11:16:07_16', 'phone': '13686959325', 'startSchoolYear': 2022, 'classInfoId': '1610837451885375490', 'idType': 'identity_card', 'idNumber': '640101198907171594', 'gender': 0, 'schoolCensusStatus': 'not_duty', 'trainingOrientation': 'secondary', 'other': '17398085533', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266'} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_student_info_16 (test_03_teaching_affairs.Test04Student)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>92</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_01</td> <td>新增计划成功</td> <td>0.567s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:14_1', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_01 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>93</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_02</td> <td>计划名称不能为空</td> <td>0.389s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '#purpose#', 'other': '#other#', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'markWay': 'hierarchy', 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '名称不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '名称不能为空', 'code': 500, 'data': None} test_add_plan_02 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>94</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_03</td> <td>计划名称不能大于30位</td> <td>0.318s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '123456789012345678901234567890111', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '名称不能超过30', 'code': 500, 'data': None} 实际结果: {'msg': '名称不能超过30', 'code': 500, 'data': None} test_add_plan_03 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>95</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_04</td> <td>课程不能为空</td> <td>0.3s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:15_4', 'courseId': '', 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '课程不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '课程不能为空', 'code': 500, 'data': None} test_add_plan_04 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>96</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_05</td> <td>课程不存在</td> <td>0.394s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:15_5', 'courseId': '1604221420761000', 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '课程不存在', 'code': 500, 'data': None} 实际结果: {'msg': '课程不存在', 'code': 500, 'data': None} test_add_plan_05 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>97</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_06</td> <td>班级不能为空</td> <td>0.383s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:16_6', 'courseId': 1610837480264036353, 'classInfoIds': [''], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '班级不匹配', 'code': 500, 'data': None} 实际结果: {'msg': '班级不匹配', 'code': 500, 'data': None} test_add_plan_06 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>98</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_07</td> <td>班级不存在</td> <td>0.385s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:16_7', 'courseId': 1610837480264036353, 'classInfoIds': ['1608192098381826'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '班级不匹配', 'code': 500, 'data': None} 实际结果: {'msg': '班级不匹配', 'code': 500, 'data': None} test_add_plan_07 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>99</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_08</td> <td>计划开始时间不能为空</td> <td>0.312s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:16_8', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': '', 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '开始时间不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '开始时间不能为空', 'code': 500, 'data': None} test_add_plan_08 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>100</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_09</td> <td>计划结束时间不能为空</td> <td>0.35s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:17_9', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': '', 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '结束时间不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '结束时间不能为空', 'code': 500, 'data': None} test_add_plan_09 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>101</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_10</td> <td>负责老师为空,添加成功</td> <td>0.339s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:17_10', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': [], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_10 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>102</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_11</td> <td>教师不存在,添加失败</td> <td>0.374s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:17_11', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['16084041590535938'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '教师不匹配', 'code': 500, 'data': None} 实际结果: {'msg': '教师不匹配', 'code': 500, 'data': None} test_add_plan_11 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>103</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_12</td> <td>实习目的为空,添加成功</td> <td>0.37s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:18_12', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_12 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>104</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_13</td> <td>实习目的不能超过100位</td> <td>0.304s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:18_13', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '实习目的不能超过100', 'code': 500, 'data': None} 实际结果: {'msg': '实习目的不能超过100', 'code': 500, 'data': None} test_add_plan_13 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>105</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_14</td> <td>其他(备注)未填写,添加成功</td> <td>0.387s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:18_14', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_14 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>106</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_15</td> <td>其他(备注)长度不能超过200位</td> <td>0.286s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:19_15', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789011', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '其他(备注)长度不能超过200位', 'code': 500, 'data': None} 实际结果: {'msg': '其他(备注)长度不能超过200位', 'code': 500, 'data': None} test_add_plan_15 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>107</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_16</td> <td>实习形式不能为空</td> <td>0.333s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:19_16', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': [''], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '实习形式不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '实习形式不能为空', 'code': 500, 'data': None} test_add_plan_16 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>108</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_17</td> <td>实习形式为集中,添加成功--集中</td> <td>0.374s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:19_17', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_17 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>109</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_18</td> <td>实习形式为自主,添加成功--自主</td> <td>0.479s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:20_18', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_18 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>110</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_19</td> <td>实习报告提交开始时间不能为空</td> <td>0.291s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:20_19', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': '', 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '报告提交开始日期不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '报告提交开始日期不能为空', 'code': 500, 'data': None} test_add_plan_19 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>111</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_20</td> <td>实习报告提交结束时间不能为空</td> <td>0.299s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:21_20', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': '', 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '报告提交结束日期不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '报告提交结束日期不能为空', 'code': 500, 'data': None} test_add_plan_20 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>112</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_21</td> <td>报告模块路径为空,添加成功</td> <td>0.367s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:21_21', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_21 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>113</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_22</td> <td>实习内容为空,添加成功</td> <td>0.365s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:21_22', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_22 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>114</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_23</td> <td>实习内容长度不能大于500位</td> <td>0.295s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:22_23', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '2345678901234567890123456789012345678901234567890123456789012345678901234567890234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789023456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890112345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901111', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '实习内容长度不能超过500位', 'code': 500, 'data': None} 实际结果: {'msg': '实习内容长度不能超过500位', 'code': 500, 'data': None} test_add_plan_23 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>115</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_24</td> <td>院系不能为空</td> <td>0.264s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:22_24', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '院系不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '院系不能为空', 'code': 500, 'data': None} test_add_plan_24 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>116</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_25</td> <td>院系填写错误</td> <td>0.306s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:22_25', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1608511347396610', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': '院系班级不匹配', 'code': 500, 'data': None} 实际结果: {'msg': '院系班级不匹配', 'code': 500, 'data': None} test_add_plan_25 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>117</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_26</td> <td>专业不能为空</td> <td>0.311s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:22_26', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '', 'termId': 1610837400509345794} 预期结果: {'msg': '专业不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '专业不能为空', 'code': 500, 'data': None} test_add_plan_26 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>118</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_27</td> <td>专业填写错误</td> <td>0.34s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:23_27', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1608402858811393', 'termId': 1610837400509345794} 预期结果: {'msg': '专业班级不匹配', 'code': 500, 'data': None} 实际结果: {'msg': '专业班级不匹配', 'code': 500, 'data': None} test_add_plan_27 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>119</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_28</td> <td>学期不能为空</td> <td>0.274s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:23_28', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': ''} 预期结果: {'msg': '学期不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '学期不能为空', 'code': 500, 'data': None} test_add_plan_28 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>120</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_29</td> <td>学期填写错误</td> <td>0.325s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:23_29', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': '16404135152316418'} 预期结果: {'msg': '学期填写错误', 'code': 500, 'data': None} 实际结果: {'msg': '学期填写错误', 'code': 500, 'data': None} test_add_plan_29 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>121</td> <td class="Test01addInternshipPlan">Test01addInternshipPlan</td> <td>test_add_plan_30</td> <td>新增计划成功</td> <td>0.404s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化计划20230105_11:16:24_30', 'courseId': 1610837480264036353, 'classInfoIds': ['1610837451885375490'], 'startTime': 1627747200000, 'endTime': 1735453543000, 'teacherIds': ['1610837421766078465'], 'purpose': '实习目的py自动化', 'other': '其他(备注)', 'practiceFormList': ['centralize', 'oneself'], 'reportSubmitStartTime': 1630512000000, 'reportSubmitEndTime': 1727884800000, 'reportTemplate': '', 'content': '实习内容#content#', 'departmentId': '1610837321962614786', 'professionalId': '1610837387477643266', 'termId': 1610837400509345794} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_plan_30 (test_04_Internship_preparation.Test01addInternshipPlan)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>122</td> <td class="Test02publishInternshipPlan">Test02publishInternshipPlan</td> <td>test_publish_plan_1</td> <td>发布计划</td> <td>1.1s</td> <td class="text-danger">错误</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>Traceback (most recent call last): </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor yield </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run testMethod() </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper return func(self, *args, **kwargs) </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 208, in test_publish_plan self.add_plan.write_excel(row=case["id"] + 1, column=9, value=case["data"]) </pre> <pre>AttributeError: 'Test02publishInternshipPlan' object has no attribute 'add_plan' </pre> <pre>用例入参:{'publishStatus': 'published', 'ids': [1610837585067110402]} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_publish_plan_1 (test_04_Internship_preparation.Test02publishInternshipPlan)执行——>【错误Error】 </pre> </td> </tr> <tr class="case_"> <td>123</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_01</td> <td>新增项目成功--自主-(需要报名审核-允许自行填报企业信息)</td> <td>0.427s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:28_1', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_01 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>124</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_02</td> <td>新增项目成功--自主-(需要报名审核-不允许自行填报企业信息)</td> <td>0.496s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:29_2', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'no', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_02 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>125</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_03</td> <td>新增项目成功--自主-(不需要报名审核-允许自行填报企业信息)</td> <td>0.436s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:29_3', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'no', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_03 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>126</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_04</td> <td>新增项目成功--自主-(不需要报名审核-不允许自行填报企业信息)</td> <td>0.43s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:30_4', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'no', 'oneselfFillCompanyInfo': 'no', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_04 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>127</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_05</td> <td>项目名称不能为空</td> <td>0.3s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '项目名称不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '项目名称不能为空', 'code': 500, 'data': None} test_add_project_05 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>128</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_06</td> <td>项目名称不能大于30位</td> <td>0.291s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': '1234567890123456789012345678901', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '名称不能超过30', 'code': 500, 'data': None} 实际结果: {'msg': '名称不能超过30', 'code': 500, 'data': None} test_add_project_06 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>129</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_07</td> <td>实习计划不能为空</td> <td>0.314s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:31_7', 'planId': '', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '计划不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '计划不能为空', 'code': 500, 'data': None} test_add_project_07 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>130</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_08</td> <td>实习计划不匹配</td> <td>0.295s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:31_8', 'planId': '1610468261604655106', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '计划信息不存在', 'code': 500, 'data': None} 实际结果: {'msg': '计划信息不存在', 'code': 500, 'data': None} test_add_project_08 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>131</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_09</td> <td>实习形式不能为空</td> <td>0.304s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:31_9', 'planId': '1610837585067110402', 'practiceForm': '', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '实习形式不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '实习形式不能为空', 'code': 500, 'data': None} test_add_project_09 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>132</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_10</td> <td>实习形式填写错误</td> <td>0.323s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:32_10', 'planId': '1610837585067110402', 'practiceForm': 'onelf', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '实习形式填写错误', 'code': 500, 'data': None} 实际结果: {'msg': '实习形式填写错误', 'code': 500, 'data': None} test_add_project_10 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>133</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_11</td> <td>实习要求不填写,添加成功</td> <td>0.459s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:32_11', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': '', 'requirement': '', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_11 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>134</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_12</td> <td>实习要求不能大于500</td> <td>0.33s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:32_12', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '实习要求不能超过500', 'code': 500, 'data': None} 实际结果: {'msg': '实习要求不能超过500', 'code': 500, 'data': None} test_add_project_12 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>135</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_13</td> <td>实习开始时间不能为空</td> <td>0.326s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:33_13', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': '', 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '实习开始时间不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '实习开始时间不能为空', 'code': 500, 'data': None} test_add_project_13 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>136</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_14</td> <td>实习结束时间不能为空</td> <td>0.275s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:33_14', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': '', 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '实习结束时间不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '实习结束时间不能为空', 'code': 500, 'data': None} test_add_project_14 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>137</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_15</td> <td>项目开始日期需早于项目结束日期</td> <td>0.318s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:33_15', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1693557598000, 'endTime': 1662021598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '项目开始日期需早于项目结束日期', 'code': 500, 'data': None} 实际结果: {'msg': '项目开始日期需早于项目结束日期', 'code': 500, 'data': None} test_add_project_15 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>138</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_16</td> <td>报名审核填写错误(后期在做修改,目前不做改动-0104)</td> <td>0.378s</td> <td class="text-warning">失败</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:34_16', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'nd', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '报名审核填写错误', 'code': 500, 'data': None} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_16 (test_04_Internship_preparation.Test03InternshipProject)执行——>【失败】 </pre> <pre>Traceback (most recent call last): </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor yield </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run testMethod() </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper return func(self, *args, **kwargs) </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 291, in test_add_project raise e </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 284, in test_add_project self.assertEqual(expected['msg'], res['msg']) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual assertion_func(first, second, msg=msg) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual self.fail(self._formatMessage(msg, standardMsg)) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail raise self.failureException(msg) </pre> <pre>AssertionError: '报名审核填写错误' != 'success' - 报名审核填写错误 + success </pre> </td> </tr> <tr class="case_"> <td>139</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_17</td> <td>报名审核不能为空(后期在做修改,目前不做改动-0104)</td> <td>0.343s</td> <td class="text-warning">失败</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:34_17', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': '', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '报名审核不能为空', 'code': 500, 'data': None} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_17 (test_04_Internship_preparation.Test03InternshipProject)执行——>【失败】 </pre> <pre>Traceback (most recent call last): </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor yield </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run testMethod() </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper return func(self, *args, **kwargs) </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 291, in test_add_project raise e </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 284, in test_add_project self.assertEqual(expected['msg'], res['msg']) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual assertion_func(first, second, msg=msg) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual self.fail(self._formatMessage(msg, standardMsg)) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail raise self.failureException(msg) </pre> <pre>AssertionError: '报名审核不能为空' != 'success' - 报名审核不能为空 + success </pre> </td> </tr> <tr class="case_"> <td>140</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_18</td> <td>自行填报企业信息填写错误(后期在做修改,目前不做改动-0104)</td> <td>0.383s</td> <td class="text-warning">失败</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:34_18', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'aow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '实习计划不匹配', 'code': 500, 'data': None} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_18 (test_04_Internship_preparation.Test03InternshipProject)执行——>【失败】 </pre> <pre>Traceback (most recent call last): </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor yield </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run testMethod() </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper return func(self, *args, **kwargs) </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 291, in test_add_project raise e </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 284, in test_add_project self.assertEqual(expected['msg'], res['msg']) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual assertion_func(first, second, msg=msg) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual self.fail(self._formatMessage(msg, standardMsg)) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail raise self.failureException(msg) </pre> <pre>AssertionError: '实习计划不匹配' != 'success' - 实习计划不匹配 + success </pre> </td> </tr> <tr class="case_"> <td>141</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_19</td> <td>自行填报企业信息不能为空(后期在做修改,目前不做改动-0104)</td> <td>0.369s</td> <td class="text-warning">失败</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:35_19', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': '', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '自行填报企业信息不能为空', 'code': 500, 'data': None} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_19 (test_04_Internship_preparation.Test03InternshipProject)执行——>【失败】 </pre> <pre>Traceback (most recent call last): </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor yield </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run testMethod() </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper return func(self, *args, **kwargs) </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 291, in test_add_project raise e </pre> <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_04_Internship_preparation.py", line 284, in test_add_project self.assertEqual(expected['msg'], res['msg']) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual assertion_func(first, second, msg=msg) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual self.fail(self._formatMessage(msg, standardMsg)) </pre> <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail raise self.failureException(msg) </pre> <pre>AssertionError: '自行填报企业信息不能为空' != 'success' - 自行填报企业信息不能为空 + success </pre> </td> </tr> <tr class="case_"> <td>142</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_20</td> <td>参与学生不能为空</td> <td>0.31s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:35_20', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': [], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '参与学生不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '参与学生不能为空', 'code': 500, 'data': None} test_add_project_20 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>143</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_21</td> <td>参与学生填写错误</td> <td>0.377s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:35_21', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['160468861604655106'], 'teacherId': 1610837421766078465}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '学生信息不正确', 'code': 500, 'data': None} 实际结果: {'msg': '学生信息不正确', 'code': 500, 'data': None} test_add_project_21 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>144</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_22</td> <td>关联指定老师不填写,添加成功</td> <td>0.38s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:36_22', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': ''}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': 'success', 'code': 200, 'data': True} 实际结果: {'msg': 'success', 'code': 200, 'data': True} test_add_project_22 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>145</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_23</td> <td>关联指定老师填写错误</td> <td>0.358s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:36_23', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 16104688616046551}], 'jobIds': ['1610468861604655106']} 预期结果: {'msg': '关联指定老师填写错误', 'code': 500, 'data': None} 实际结果: {'msg': '关联指定老师填写错误', 'code': 500, 'data': None} test_add_project_23 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>146</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_24</td> <td>推荐岗位不能为空</td> <td>0.337s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:37_24', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': []} 预期结果: {'msg': '岗位不能为空', 'code': 500, 'data': None} 实际结果: {'msg': '岗位不能为空', 'code': 500, 'data': None} test_add_project_24 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> <tr class="case_"> <td>147</td> <td class="Test03InternshipProject">Test03InternshipProject</td> <td>test_add_project_25</td> <td>推荐岗位填写错误</td> <td>0.415s</td> <td class="text-success">成功</td> <td> <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button> </td> </tr> <tr class="test_log"> <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> <pre>用例入参:{'name': 'py自动化项目20230105_11:16:37_25', 'planId': '1610837585067110402', 'practiceForm': 'oneself', 'joinWay': 'need', 'requirement': '实习要求', 'startTime': 1662021598000, 'endTime': 1693557598000, 'applyStartTime': '', 'applyEndTime': '', 'applyAudit': 'need', 'oneselfFillCompanyInfo': 'allow', 'participantList': [{'studentIds': ['1610837516293107713'], 'teacherId': 1610837421766078465}], 'jobIds': ['161046884655106']} 预期结果: {'msg': '推荐岗位填写错误', 'code': 500, 'data': None} 实际结果: {'msg': '推荐岗位填写错误', 'code': 500, 'data': None} test_add_project_25 (test_04_Internship_preparation.Test03InternshipProject)执行——>【通过】 </pre> </td> </tr> </table> </div> <div style="height: 200px"></div> </div> </div> <script type="text/javascript"> const resulte = { "success": `141`, "all": `147`, "fail": `4`, "skip": '0', "error": `2`, "runtime": '80.52 S', "begin_time": "80.52 S", "pass_rate": '95.92', } ; const history = [{'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'}]; var passRate = []; var dTime = []; history.forEach(function (item, index, array) { passRate.push(item.pass_rate); dTime.push(item.begin_time) }); if (passRate.length === 1) { passRate.unshift(0); dTime.unshift(0) } function char01() { let myChart = echarts.init(document.getElementById('char1')); let option = { color: ['#28a745', '#ffc107', '#dc3545', '#17a2b8'], tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)', backgroundColor: 'rgba(3, 14, 70, 0.5)', borderColor: '#333', textStyle: { color: '#fff', fontSize: "13" }, }, legend: { bottom: "0%", // 小图标的宽度和高度 itemWidth: 10, itemHeight: 10, data: ['通过', '失败', '错误', '跳过'], textStyle: { color: "rgba(255,255,255,.5)", fontSize: "12" }, }, series: [ { name: '测试结果', type: 'pie', radius: ['50%', '70%'], avoidLabelOverlap: false, label: { show: false, position: 'center' }, emphasis: { label: { show: true, fontSize: '20', fontWeight: 'bold', color: '#fff', } }, labelLine: { show: false }, data: [ {value: resulte.success, name: '通过'}, {value: resulte.fail, name: '失败'}, {value: resulte.error, name: '错误'}, {value: resulte.skip, name: '跳过'} ] } ] }; myChart.setOption(option) } char01(); // 大图 function char02() { // 基于准备好的dom,初始化echarts实例 let myChart = echarts.init(document.getElementById("char2")); // 2. 指定配置和数据 option = { tooltip: { trigger: 'axis', formatter: '{a} <br/>{b}: ({c}%)', backgroundColor: 'rgba(3, 14, 70, 0.5)', borderColor: '#333', textStyle: { color: '#fff', fontSize: "13" }, }, grid: { left: "10", top: "30", right: "10", bottom: "0", containLabel: true }, xAxis: [{ type: "category", boundaryGap: false, show: false, axisLabel: { textStyle: { color: "rgba(255,255,255,.6)", fontSize: 12 } }, axisLine: { lineStyle: { color: "rgba(255,255,255,.2)" } }, data: dTime }, { axisPointer: { show: false }, axisLine: { show: false }, position: "bottom", offset: 20 } ], yAxis: [{ type: "value", axisTick: { show: false }, axisLine: { lineStyle: { color: "rgba(255,255,255,.1)" } }, axisLabel: { textStyle: { color: "rgba(255,255,255,.6)", fontSize: 12 } }, splitLine: { lineStyle: { color: "rgba(255,255,255,.1)" } } }], series: [{ name: "通过率", type: "line", smooth: true, symbol: "circle", symbolSize: 5, showSymbol: true, lineStyle: { normal: { color: "#0184d5", width: 2 } }, areaStyle: { normal: { color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{ offset: 0, color: "rgba(1, 132, 213, 0.4)" }, { offset: 0.8, color: "rgba(1, 132, 213, 0.1)" } ], false ), shadowColor: "rgba(0, 0, 0, 0.1)" } }, itemStyle: { normal: { color: "#0184d5", borderColor: "rgba(221, 220, 107, .1)", borderWidth: 18 } }, data: passRate }, ] }; // 重新把配置好的新数据给实例对象 myChart.setOption(option); } char02(); function char03() { // 基于准备好的dom,初始化echarts实例 let myChart = echarts.init(document.getElementById("char3")); var data = [resulte.success, resulte.fail, resulte.error, resulte.skip]; var titlename = ["通过用例", "失败用例", "错误用例", "跳过用例",]; var valdata = [resulte.all, resulte.all, resulte.all, resulte.all]; var myColor = ['#28a745', '#ffc107', '#dc3545', '#17a2b8']; option = { //图标位置 grid: { top: "10%", left: "22%", bottom: "10%" }, xAxis: { show: false }, yAxis: [{ show: true, data: titlename, inverse: true, axisLine: { show: false }, splitLine: { show: false }, axisTick: { show: false }, axisLabel: { color: "#fff", rich: { lg: { backgroundColor: "#339911", color: "#fff", borderRadius: 15, align: "center", width: 15, height: 15 } } } }, { show: false, inverse: true, data: valdata, axisLabel: { textStyle: { fontSize: 12, color: "#fff" } }, axisTick: { show: false }, axisLine: { show: false }, } ], series: [{ type: "bar", yAxisIndex: 0, data: data, barCategoryGap: 50, barWidth: 18, itemStyle: { normal: { barBorderRadius: 20, color: function (params) { var num = myColor.length; return myColor[params.dataIndex % num]; } } }, label: { normal: { show: true, position: "right", formatter: "{c}条", color:"#fff", } } }, { type: "bar", yAxisIndex: 1, barCategoryGap: 50, data: valdata, barWidth: 20, itemStyle: { normal: { color: "none", borderColor: "#00c1de", borderWidth: 2, barBorderRadius: 15 } } } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); window.addEventListener("resize", function () { myChart.resize(); }); } char03() </script> <script> var tbodyTr = $('tbody .case_'); var testResult = $("#testResult"); var testClass = $("#testClass"); <!-- 用例执行详细信息显示切换--> $(".btn_info").click(function () { $(this).parent().parent().next().toggle(); }); // 当选择用例类之后触发 testClass.change(function () { $('.test_log').hide(); var cls = $(this).val(); var res = testResult.val(); elementDisplay(cls, res); sort() }); testResult.change(function () { var res = $(this).val(); var cls = testClass.val(); elementDisplay(cls, res); sort() }); function elementDisplay(cls, res) { // 用例数据的显示 if (cls === "所有") { if (res === "所有") { tbodyTr.has('button').show(); } else if (res === '成功') { tbodyTr.hide(); tbodyTr.has('button').has('.text-success').show() } else if (res === '错误') { tbodyTr.hide(); tbodyTr.has('button').has('.text-danger').show() } else if (res === '失败') { tbodyTr.hide(); tbodyTr.has('button').has('.text-warning').show() } else if (res === '跳过') { tbodyTr.hide(); tbodyTr.has('button').has('.text-info').show() } } else { if (res === "所有") { tbodyTr.hide(); tbodyTr.has('button').has('.' + cls + '').show() } else if (res === '成功') { tbodyTr.hide(); tbodyTr.has('button').has('.' + cls + '').has('.text-success').show() } else if (res === '错误') { tbodyTr.hide(); tbodyTr.has('button').has('.' + cls + '').has('.text-danger').show() } else if (res === '失败') { tbodyTr.hide(); tbodyTr.has('button').has('.' + cls + '').has('.text-warning').show() } else if (res === '跳过') { tbodyTr.hide(); tbodyTr.has('button').has('.' + cls + '').has('.text-info').show() } } } function sort() { //重新排列显示序号 // 选择所有可以见的tr var visibleTr = tbodyTr.filter(":visible"); visibleTr.each(function (index, element) { element.firstElementChild.innerHTML = index + 1; }) } $('.nav-tabs li').click(function () { $(this).find('a').addClass('active'); $(this).siblings().find('a').removeClass('active'); $(this).parent().next().children('.tab-content div').eq($(this).index()).addClass('active show').siblings().removeClass('active show') }); </script> </body> </html>