用例每个步骤下方需增加历史调用记录展现
This commit is contained in:
@@ -19,6 +19,15 @@ export function getCaseStep(id) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查询步骤日志详细
|
||||||
|
export function getCaseStepResultLog(id) {
|
||||||
|
return request({
|
||||||
|
url: '/test/testCaseStepResult/detail',
|
||||||
|
method: 'post',
|
||||||
|
data: {id}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 新增步骤
|
// 新增步骤
|
||||||
export function addCaseStep(data) {
|
export function addCaseStep(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -115,6 +115,27 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
<el-collapse v-model="activeNames" accordion v-if="form.testCaseResultList" @change="handleLogChange">
|
||||||
|
<el-collapse-item :title="itemSub.title" :name="itemSub.title" v-for="(itemSub, index) in form.testCaseResultList" :key="index">
|
||||||
|
<el-tabs v-model="activeTabs">
|
||||||
|
<el-tab-pane label="请求头" name="requestHeader">
|
||||||
|
<codemirror v-model="resultLog.requestHeader" :options="editorOptions" v-if="resultLog.requestHeader"/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="请求体" name="requestBody">
|
||||||
|
<codemirror v-model="resultLog.requestBody" :options="editorOptions" v-if="resultLog.requestBody"/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="响应头" name="responseHeader">
|
||||||
|
<codemirror v-model="resultLog.responseHeader" :options="editorOptions" v-if="resultLog.responseHeader"/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="响应体" name="responseBody">
|
||||||
|
<codemirror v-model="resultLog.responseBody" :options="editorOptions" v-if="resultLog.responseBody"/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="sql结果" name="sqlResult">
|
||||||
|
<codemirror v-model="resultLog.sqlResult" :options="editorOptions" v-if="resultLog.sqlResult"/>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</el-collapse-item>
|
||||||
|
</el-collapse>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="校验" name="assertion">
|
<el-tab-pane label="校验" name="assertion">
|
||||||
<el-table :data="form.assertion">
|
<el-table :data="form.assertion">
|
||||||
@@ -173,12 +194,18 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import JsonEditorVue from "json-editor-vue";
|
import JsonEditorVue from "json-editor-vue";
|
||||||
|
import { codemirror } from "vue-codemirror";
|
||||||
|
import "codemirror/lib/codemirror.css";
|
||||||
|
import "codemirror/mode/sql/sql"; // 语言模式
|
||||||
|
import "codemirror/theme/dracula.css";
|
||||||
|
import "codemirror/addon/display/autorefresh";
|
||||||
import {listHttp} from "@/api/test/http";
|
import {listHttp} from "@/api/test/http";
|
||||||
import FolderPage from "@/components/FolderPage/index.vue";
|
import FolderPage from "@/components/FolderPage/index.vue";
|
||||||
import {listApi} from "@/api/test/api";
|
import {listApi} from "@/api/test/api";
|
||||||
|
import {getCaseStepResultLog} from "@/api/test/caseStep";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {FolderPage, JsonEditorVue},
|
components: {FolderPage, JsonEditorVue, codemirror},
|
||||||
dicts: ['http_method', 'http_protocol','extract_type','extract_object','assert_condition'],
|
dicts: ['http_method', 'http_protocol','extract_type','extract_object','assert_condition'],
|
||||||
props: {
|
props: {
|
||||||
form: {
|
form: {
|
||||||
@@ -204,9 +231,34 @@ export default {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
groupId: null,
|
groupId: null,
|
||||||
},
|
},
|
||||||
|
resultLog: {
|
||||||
|
requestHeader: '',
|
||||||
|
requestBody: '',
|
||||||
|
responseHeader: '',
|
||||||
|
responseBody: '',
|
||||||
|
sqlResult: ''
|
||||||
|
},
|
||||||
|
title: '111111',
|
||||||
|
activeNames: 'requestHeader',
|
||||||
|
activeTabs: 'requestHeader',
|
||||||
|
editorOptions: {
|
||||||
|
autoRefresh: true,
|
||||||
|
mode: "sql", // 代码语言
|
||||||
|
theme: "dracula", // 主题
|
||||||
|
lineNumbers: true, // 显示行号
|
||||||
|
tabSize: 2
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleLogChange(val) {
|
||||||
|
const selectedItem = this.form.testCaseResultList.find(item => item.title === val);
|
||||||
|
if (selectedItem) {
|
||||||
|
getCaseStepResultLog(selectedItem.id).then(res => {
|
||||||
|
this.resultLog = res.data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
preProcessFormData() {
|
preProcessFormData() {
|
||||||
if (typeof this.form.requestHeader === 'string') {
|
if (typeof this.form.requestHeader === 'string') {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user