Kaynağa Gözat

fix: 修改一些bug

zhaoxingrui 5 yıl önce
ebeveyn
işleme
cbd9184f2b

+ 3 - 1
src/api/devcloud/autotest.ts

@@ -2,4 +2,6 @@ import axios from '@/utils/axios';
 
 import { AUTOTEST_PREFIX } from './prefix';
 
-export const getAutoTestResultByProjectId = (projectId: number) => axios.get(`${AUTOTEST_PREFIX}/list/${projectId}`);
+export const getAutoTestResultByProjectId = (projectId: number, testId: number) => axios.get(
+  `${AUTOTEST_PREFIX}/list?projectId=${projectId}&testId=${testId}`,
+);

+ 5 - 1
src/api/devcloud/functest.ts

@@ -4,7 +4,9 @@ import { FUNCTEST_PREFIX } from './prefix';
 
 export const getTestCases = (projectId: number) => axios.get(`${FUNCTEST_PREFIX}?projectId=${projectId}`);
 
-export const createTestCase = (projectId: number, title: string) => axios.post(`${FUNCTEST_PREFIX}?projectId=${projectId}&title=${title}`);
+export const createTestCase = (projectId: number, title: string, taskId: number) => axios.post(
+  `${FUNCTEST_PREFIX}?projectId=${projectId}&title=${title}&taskId=${taskId}`,
+);
 
 export const deleteTestCase = (testCaseId: number) => axios.delete(`${FUNCTEST_PREFIX}?testCaseId=${testCaseId}`);
 
@@ -31,3 +33,5 @@ export const updateTestCaseStepState = (testStepId: number, state: string) => ax
 export const deleteTestCaseStep = (testStepId: number) => axios.delete(`${FUNCTEST_PREFIX}/steps?testStepId=${testStepId}`);
 
 export const getLatestRecord = (projectId: number) => axios.get(`${FUNCTEST_PREFIX}/record/latest?projectId=${projectId}`);
+
+export const getTreeIdList = (projectId: number) => axios.get(`${FUNCTEST_PREFIX}/taskList?projectId=${projectId}`);

+ 6 - 0
src/components/GeneralTable.vue

@@ -17,6 +17,12 @@
       align="center"
       width="80"
     ></ElTableColumn>
+    <ElTableColumn
+      prop="projectId"
+      label="所属项目ID"
+      align="center"
+      width="100"
+    ></ElTableColumn>
     <ElTableColumn
       label="优先级"
       align="center"

+ 2 - 2
src/components/RequirementDrawer.vue

@@ -59,10 +59,10 @@
                             type="textarea"
                             maxlength="120"
                             show-word-limit
-                            :rows="3" style="width: 300px;" v-model="editedRequirement.description" />
+                            :rows="3" style="width: 500px;" v-model="editedRequirement.description" />
                   <br/>
                 </div>
-                <p v-else>{{description}}</p>
+                <p style="white-space: pre-wrap" v-else>{{description}}</p>
               </el-row>
               <!-- 状态、优先级等 -->
               <el-row class="entry-row" style="margin-top: 15px">

+ 92 - 69
src/views/Project/APITest.vue

@@ -164,6 +164,70 @@
                     </el-table-column>
                   </el-table>
                 </el-tab-pane>
+                <el-tab-pane label="自动化测试结果" name="autoTest_result">
+                  <h5>注:Max、Min、Average的单位均为ms</h5>
+                  <ElTable :data="autoTestResult" width="100%">
+                    <ElTableColumn
+                      prop="id"
+                      label="ID"
+                      align="center"
+                      width="60">
+                    </ElTableColumn>
+<!--                    <ElTableColumn-->
+<!--                      prop="testId"-->
+<!--                      label="所属测试ID"-->
+<!--                      align="center"-->
+<!--                      width="100">-->
+<!--                    </ElTableColumn>-->
+                    <ElTableColumn
+                      prop="executeTime"
+                      label="执行时间"
+                      align="center"
+                      width="100">
+                    </ElTableColumn>
+<!--                    <ElTableColumn-->
+<!--                      prop="timeList"-->
+<!--                      label="执行时间列表"-->
+<!--                      align="center">-->
+<!--                    </ElTableColumn>-->
+                    <ElTableColumn
+                      prop="success"
+                      label="成功"
+                      align="center"
+                      width="100">
+                    </ElTableColumn>
+                    <ElTableColumn
+                      prop="failure"
+                      label="失败"
+                      align="center"
+                      width="100">
+                    </ElTableColumn>
+                    <ElTableColumn
+                      prop="maxTime"
+                      label="Max"
+                      align="center"
+                      width="100">
+                    </ElTableColumn>
+                    <ElTableColumn
+                      prop="minTime"
+                      label="Min"
+                      align="center"
+                      width="100">
+                    </ElTableColumn>
+                    <ElTableColumn
+                      prop="averageTime"
+                      label="Average"
+                      align="center"
+                      width="100">
+                    </ElTableColumn>
+                    <ElTableColumn
+                      prop="pipelineHistoryId"
+                      label="流水线ID"
+                      align="center"
+                      width="100">
+                    </ElTableColumn>
+                  </ElTable>
+                </el-tab-pane>
               </el-tabs>
             </el-col>
           </el-row>
@@ -317,9 +381,15 @@
         </ElTableColumn>
         <ElTableColumn
           prop="title"
-          label="title"
+          label="标题"
           align="center">
         </ElTableColumn>
+        <ElTableColumn
+          prop="taskId"
+          label="关联的任务ID"
+          align="center"
+          width="150">
+        </ElTableColumn>
         <ElTableColumn
           prop="pass"
           label="执行状态"
@@ -344,7 +414,8 @@
         </ElTableColumn>
         <ElTableColumn
           label="详情"
-          align="center">
+          align="center"
+          width="120">
           <template #default="scope">
             <ElButton
               @click="handleTestCasesClick('steps', scope.row.id)"
@@ -435,7 +506,7 @@
           :model="createTestCaseForm"
           ref="createTestCaseForm"
           label-position="right"
-          label-width="60px"
+          label-width="70px"
           label-suffix=":"
           class="create-APITest-form">
           <el-form-item label="title" prop="title">
@@ -445,6 +516,14 @@
               :rows="5"
               placeholder="请输入测试用例的标题"></el-input>
           </el-form-item>
+          <el-form-item label="taskId" prop="taskId">
+            <el-select v-model="createTestCaseForm.taskId">
+              <el-option
+                v-for="item in taskIdList"
+                :key="item"
+                :value="item"></el-option>
+            </el-select>
+          </el-form-item>
         </el-form>
         <template #footer>
           <span class="dialog-footer">
@@ -478,7 +557,7 @@
             <el-col :span="20">
               <el-row class="entry-row" style="margin-top: 15px; margin-bottom: 30px">
                 <el-col :span="2">
-                  <h4>title: </h4>
+                  <h4>标题: </h4>
                 </el-col>
                 <el-col :span="18">
                   <div>{{detailTestCaseInfo.title}}</div>
@@ -638,69 +717,6 @@
         </template>
       </el-dialog>
     </ElTabPane>
-    <ElTabPane label="自动化测试结果" name="autotest">
-      <ElTable :data="autoTestResult" width="100%">
-        <ElTableColumn
-          prop="id"
-          label="ID"
-          align="center"
-          width="60">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="testId"
-          label="所属测试ID"
-          align="center"
-          width="100">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="executeTime"
-          label="执行时间"
-          align="center"
-          width="100">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="timeList"
-          label="执行时间列表"
-          align="center">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="success"
-          label="success"
-          align="center"
-          width="100">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="failure"
-          label="failure"
-          align="center"
-          width="100">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="maxTime"
-          label="Max"
-          align="center"
-          width="100">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="minTime"
-          label="Min"
-          align="center"
-          width="100">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="averageTime"
-          label="Average"
-          align="center"
-          width="100">
-        </ElTableColumn>
-        <ElTableColumn
-          prop="pipelineRecordId"
-          label="流水线ID"
-          align="center"
-          width="100">
-        </ElTableColumn>
-      </ElTable>
-    </ElTabPane>
   </ElTabs>
 </template>
 
@@ -744,6 +760,7 @@ export default {
       createTestCaseForm: {
         projectId: -1,
         title: '',
+        taskId: '',
       },
       stepsDrawer: false,
       detailTestCaseInfo: [],
@@ -757,13 +774,15 @@ export default {
       deployHistoryInfo: {},
       deployHistoryDrawer: false,
       autoTestResult: [],
+      taskIdList: [],
     };
   },
   async mounted() {
     this.currentProjectId = this.$store.state.workspace.currentProjectId;
     this.apitests = await APITestAPI.getAPITestInfosByProjectId(this.$store.state.workspace.currentProjectId);
     this.testcases = await FuncTestAPI.getTestCases(this.$store.state.workspace.currentProjectId);
-    this.autoTestResult = await AutoTestAPI.getAutoTestResultByProjectId(this.$store.state.workspace.currentProjectId);
+    this.taskIdList = await FuncTestAPI.getTreeIdList(this.$store.state.workspace.currentProjectId);
+    // this.autoTestResult = await AutoTestAPI.getAutoTestResultByProjectId(this.$store.state.workspace.currentProjectId);
   },
   methods: {
     async handleClick(action, id) {
@@ -800,6 +819,8 @@ export default {
             }
           });
           this.testResults = await APITestAPI.getAPITestResultByTestId(id);
+          this.autoTestResult = await AutoTestAPI.getAutoTestResultByProjectId(this.$store.state.workspace.currentProjectId, id);
+          console.log(this.autoTestResult);
           this.detailDrawer = true;
           break;
         }
@@ -1005,7 +1026,9 @@ export default {
       this.$refs.createTestCaseForm.validate(async (valid) => {
         if (valid) {
           this.createTestCaseForm.projectId = this.$store.state.workspace.currentProjectId;
-          await FuncTestAPI.createTestCase(this.createTestCaseForm.projectId, this.createTestCaseForm.title);
+          await FuncTestAPI.createTestCase(
+            this.createTestCaseForm.projectId, this.createTestCaseForm.title, this.createTestCaseForm.taskId,
+          );
           this.testcases = await FuncTestAPI.getTestCases(this.$store.state.workspace.currentProjectId);
           this.$refs.createTestCaseForm.resetFields();
           this.showTestCaseCreateModel = false;