Commit 67f8b81a authored by 王晓铜's avatar 王晓铜

场景修改添加字段

parent b96c0a87
...@@ -62,186 +62,149 @@ ...@@ -62,186 +62,149 @@
<!-- 编辑场景用例 --> <!-- 编辑场景用例 -->
<el-dialog title="编辑场景用例" :visible.sync="editDialogVisible" width="60%"> <el-dialog title="编辑场景用例" :visible.sync="editDialogVisible" width="60%">
<!-- <el-card> --> <!-- <el-card> -->
<el-form> <el-form>
<!-- <el-form-item label="用例名称:" style="width:310px;"> <el-form-item label="用例名称:" style="width:310px;">
<el-input v-model="caseForm.name" :disabled="true"></el-input> <el-input v-model="sceneCaseForm.name"></el-input>
</el-form-item> --> </el-form-item>
<el-collapse v-model="activeNames"> <el-collapse v-model="activeNames">
<!-- Headers --> <!-- Headers -->
<el-collapse-item name="1" title="请求头"> <el-collapse-item name="1" title="请求头">
<el-form-item> <el-form-item>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<div class="grid-content" style="margin-left:15px">参数名称</div> <div class="grid-content" style="margin-left:15px">参数名称</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="grid-content" style="margin-left:15px">参数值</div> <div class="grid-content" style="margin-left:15px">参数值</div>
</el-col> </el-col>
<el-col :span="2"> <el-col :span="2">
<div class="grid-content" style="margin-left:25px">操作</div> <div class="grid-content" style="margin-left:25px">操作</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-for="(item,index) in headersList" :key="index"> <el-row v-for="(item,index) in headersList" :key="index">
<el-col :span="6"> <el-col :span="6">
<div class="div-top"> <div class="div-top">
<el-input v-model.trim="item.paramsName" placeholder="请输入参数名称"></el-input> <el-input v-model.trim="item.paramsName" placeholder="请输入参数名称"></el-input>
</div> </div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="div-left"> <div class="div-left">
<el-input v-model.trim="item.paramsValue" placeholder="请输入参数值" type="textarea"></el-input> <el-input v-model.trim="item.paramsValue" placeholder="请输入参数值" type="textarea"></el-input>
</div> </div>
</el-col> </el-col>
<el-col :span="2"> <el-col :span="2">
<div class="div-operation"> <div class="div-operation">
<el-button size="mini" type="danger" @click="advanceDelss(index)" icon="el-icon-delete" style="height:40px;margin-left:20px">删除</el-button> <el-button size="mini" type="danger" @click="advanceDelss(index)" icon="el-icon-delete" style="height:40px;margin-left:20px">删除</el-button>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
<el-button type="success" plain @click="AddHeaderListRow()" class="el-icon-circle-plus">添加行</el-button> <el-button type="success" plain @click="AddHeaderListRow()" class="el-icon-circle-plus">添加行</el-button>
</el-collapse-item> </el-collapse-item>
<!-- 请求参数 --> <!-- 请求参数 -->
<el-collapse-item name="2" title="请求参数"> <el-collapse-item name="2" title="请求参数">
<el-form-item>
<el-form-item> <el-row>
<el-row> <el-col :span="6">
<el-col :span="6"> <div class="grid-content" style="margin-left:15px">参数名称</div>
<div class="grid-content" style="margin-left:15px">参数名称</div> </el-col>
</el-col> <el-col :span="10">
<el-col :span="10"> <div class="grid-content" style="margin-left:15px">参数值</div>
<div class="grid-content" style="margin-left:15px">参数值</div> </el-col>
</el-col> <el-col :span="2">
<el-col :span="2"> <div class="grid-content" style="margin-left:25px">操作</div>
<div class="grid-content" style="margin-left:25px">操作</div> </el-col>
</el-col> </el-row>
</el-row> <el-row v-for="(item,index) in requestParamsList" :key="index">
<el-row v-for="(item,index) in requestParamsList" :key="index"> <el-col :span="6">
<el-col :span="6"> <div class="div-top">
<div class="div-top"> <el-input v-model.trim="item.paramsName" placeholder="请输入参数名称"></el-input>
<el-input v-model.trim="item.paramsName" placeholder="请输入参数名称"></el-input> </div>
</div> </el-col>
</el-col> <el-col :span="10">
<el-col :span="10"> <div class="div-left">
<div class="div-left"> <el-input v-model.trim="item.paramsValue" placeholder="请输入参数值" type="textarea"></el-input>
<el-input v-model.trim="item.paramsValue" placeholder="请输入参数值" type="textarea"></el-input> </div>
</div> </el-col>
</el-col> <el-col :span="2">
<el-col :span="2"> <div class="div-operation">
<div class="div-operation"> <el-button size="mini" type="danger" @click="requestParamsDel(index)" icon="el-icon-delete" style="height:40px;margin-left:20px">删除</el-button>
<el-button size="mini" type="danger" @click="requestParamsDel(index)" icon="el-icon-delete" style="height:40px;margin-left:20px">删除</el-button> </div>
</div> </el-col>
</el-col> </el-row>
</el-row> </el-form-item>
</el-form-item> <el-button type="success" plain @click="AddRequestParamsListRow()" class="el-icon-circle-plus">添加行</el-button>
<el-button type="success" plain @click="AddRequestParamsListRow()" class="el-icon-circle-plus">添加行</el-button> </el-collapse-item>
</el-collapse-item> <!-- 响应解析列表 -->
<!-- 参数列表 --> <el-collapse-item name="3" title="响应提取">
<!-- <el-collapse-item name="3" title="参数变量"> <el-form-item>
<el-form-item> <el-row>
<el-row> <el-col :span="6">
<el-col :span="6"> <div class="grid-content" style="margin-left:15px">变量名称</div>
<div class="grid-content" style="margin-left:15px">参数名称</div> </el-col>
</el-col> <el-col :span="10">
<el-col :span="10"> <div class="grid-content" style="margin-left:15px">json路径表达式</div>
<div class="grid-content" style="margin-left:15px">参数值</div> </el-col>
</el-col> <el-col :span="2">
<el-col :span="2"> <div class="grid-content" style="margin-left:25px">操作</div>
<div class="grid-content" style="margin-left:25px">操作</div> </el-col>
</el-col> </el-row>
</el-row> <el-row v-for="(item,index) in responseList" :key="index">
<el-row v-for="(item,index) in paramsList" :key="index"> <el-col :span="6">
<el-col :span="6"> <div class="div-top">
<div class="div-top"> <el-input v-model.trim="item.paramsName" placeholder="请输入变量名称"></el-input>
<el-input v-model.trim="item.paramsName" placeholder="请输入参数名称"></el-input> </div>
</div> </el-col>
</el-col> <el-col :span="10">
<el-col :span="10"> <div class="div-left">
<div class="div-left"> <el-input v-model.trim="item.paramsValue" placeholder="请输入表达式" type="textarea"></el-input>
<el-input v-model.trim="item.paramsValue" placeholder="请输入参数值" type="textarea"></el-input> </div>
</div> </el-col>
</el-col> <el-col :span="2">
<el-col :span="2"> <div class="div-operation">
<div class="div-operation"> <el-button size="mini" type="danger" @click="responeDel(index)" icon="el-icon-delete" style="height:40px;margin-left:20px">删除</el-button>
<el-button size="mini" type="danger" @click="paramsDel(index)" icon="el-icon-delete" style="height:40px;margin-left:20px">删除</el-button> </div>
</div> </el-col>
</el-col> </el-row>
</el-row> </el-form-item>
</el-form-item> <el-button type="success" plain @click="AddResponseListRow()" class="el-icon-circle-plus">添加行</el-button>
<el-button type="success" plain @click="AddParamsListRow()" class="el-icon-circle-plus">添加行</el-button> </el-collapse-item>
</el-collapse-item> --> <!-- 断言 -->
<!-- 响应解析列表 --> <el-collapse-item name="4" title="结果断言">
<el-collapse-item name="3" title="响应提取"> <el-table :data="assertionList" border style="width:100%;margin-top: 15px;">
<el-table-column label="Json表达式" width="350">
<el-form-item> <template slot-scope="scope">
<el-row> <el-input v-model="scope.row.check">
<el-col :span="6"> </el-input>
<div class="grid-content" style="margin-left:15px">变量名称</div> </template>
</el-col> </el-table-column>
<el-col :span="10"> <el-table-column label="比较符" width="250">
<div class="grid-content" style="margin-left:15px">json路径表达式</div> <template slot-scope="scope">
</el-col> <el-select v-model="scope.row.comparator" placeholder="请选择">
<el-col :span="2"> <el-option v-for="item in selectAssertionList" :key="item.id" :label="item.name" :value="item.id"></el-option>
<div class="grid-content" style="margin-left:25px">操作</div> </el-select>
</el-col> </template>
</el-row> </el-table-column>
<el-row v-for="(item,index) in responseList" :key="index"> <el-table-column label="预期结果" width="350">
<el-col :span="6"> <template slot-scope="scope">
<div class="div-top"> <el-input v-model="scope.row.expect">
<el-input v-model.trim="item.paramsName" placeholder="请输入变量名称"></el-input> </el-input>
</div> </template>
</el-col> </el-table-column>
<el-col :span="10"> <el-table-column label="操作">
<div class="div-left"> <template slot-scope="scope">
<el-input v-model.trim="item.paramsValue" placeholder="请输入表达式" type="textarea"></el-input> <el-button size="mini" type="danger" icon="el-icon-delete" @click="AssertionDelete(scope.$index)">删除</el-button>
</div> </template>
</el-col> </el-table-column>
<el-col :span="2"> </el-table>
<div class="div-operation"> <el-button type="success" plain @click="AddAssertionListRow()" class="el-icon-circle-plus">添加行</el-button>
<el-button size="mini" type="danger" @click="responeDel(index)" icon="el-icon-delete" style="height:40px;margin-left:20px">删除</el-button> </el-collapse-item>
</div> </el-collapse>
</el-col> <div style="margin-top:20px;margin-left:400px">
</el-row> <el-button @click="cancelCaseFrom">取 消</el-button>
</el-form-item> <el-button type="primary" @click="addCaseFrom">确 定</el-button>
<el-button type="success" plain @click="AddResponseListRow()" class="el-icon-circle-plus">添加行</el-button> </div>
</el-collapse-item> </el-form>
<!-- 断言 -->
<el-collapse-item name="4" title="结果断言">
<el-table :data="assertionList" border style="width:100%;margin-top: 15px;">
<el-table-column label="Json表达式" width="350">
<template slot-scope="scope">
<el-input v-model="scope.row.check">
</el-input>
</template>
</el-table-column>
<el-table-column label="比较符" width="250">
<template slot-scope="scope">
<el-select v-model="scope.row.comparator" placeholder="请选择">
<el-option v-for="item in selectAssertionList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="预期结果" width="350">
<template slot-scope="scope">
<el-input v-model="scope.row.expect">
</el-input>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button size="mini" type="danger" icon="el-icon-delete" @click="AssertionDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-button type="success" plain @click="AddAssertionListRow()" class="el-icon-circle-plus">添加行</el-button>
</el-collapse-item>
</el-collapse>
<div style="margin-top:20px;margin-left:400px">
<el-button @click="cancelCaseFrom">取 消</el-button>
<el-button type="primary" @click="addCaseFrom">确 定</el-button>
</div>
</el-form>
<!-- </el-card> --> <!-- </el-card> -->
</el-dialog> </el-dialog>
</div> </div>
...@@ -259,7 +222,8 @@ export default { ...@@ -259,7 +222,8 @@ export default {
data() { data() {
return { return {
col: [ col: [
{ label: '接口名称', prop: 'interfaceName' }, { label: '用例名称', prop: 'name' },
{ label: '接口Url', prop: 'interfaceUrl' },
{ label: '模块名称', prop: 'moduleName' } { label: '模块名称', prop: 'moduleName' }
], ],
queryProjectList: { queryProjectList: {
...@@ -325,7 +289,7 @@ export default { ...@@ -325,7 +289,7 @@ export default {
}, },
sequence: 0, sequence: 0,
caseId: '', caseId: '',
caseName: '', name: '',
headers: '', headers: '',
parameters: '', parameters: '',
extract: '', extract: '',
...@@ -431,6 +395,7 @@ export default { ...@@ -431,6 +395,7 @@ export default {
// 获取场景用例列表 // 获取场景用例列表
getSceneCaseList() { getSceneCaseList() {
getSceneCaseList(this.sceneCaseInfo).then((resp) => { getSceneCaseList(this.sceneCaseInfo).then((resp) => {
console.log('333', this.sceneTestcaseList)
this.sceneTestcaseList = resp.data.data this.sceneTestcaseList = resp.data.data
}) })
}, },
...@@ -463,6 +428,7 @@ export default { ...@@ -463,6 +428,7 @@ export default {
this.sceneTestcaseList.push({ this.sceneTestcaseList.push({
moduleName: this.sceneCaseForm.moduleFrom.name, moduleName: this.sceneCaseForm.moduleFrom.name,
interfaceName: this.sceneCaseForm.interfaceFrom.name, interfaceName: this.sceneCaseForm.interfaceFrom.name,
interfaceUrl: this.sceneCaseForm.caseDetialList[0].interfaceUrl,
name: this.sceneCaseForm.caseDetialList[0].name, name: this.sceneCaseForm.caseDetialList[0].name,
headers: this.sceneCaseForm.caseDetialList[0].headers, headers: this.sceneCaseForm.caseDetialList[0].headers,
parameters: this.sceneCaseForm.caseDetialList[0].parameters, parameters: this.sceneCaseForm.caseDetialList[0].parameters,
...@@ -489,11 +455,12 @@ export default { ...@@ -489,11 +455,12 @@ export default {
// 编辑场景用例 // 编辑场景用例
editeSceneFrom(row) { editeSceneFrom(row) {
console.log('88', row)
this.editDialogVisible = true this.editDialogVisible = true
this.sceneCaseForm.sequence = row.sequence this.sceneCaseForm.sequence = row.sequence
this.sceneCaseForm.interfaceId = row.interfaceId this.sceneCaseForm.interfaceId = row.interfaceId
this.sceneCaseForm.caseId = row.id this.sceneCaseForm.caseId = row.id
this.sceneCaseForm.caseName = row.name this.sceneCaseForm.name = row.name
var newHeaders = JSON.parse(row.headers) var newHeaders = JSON.parse(row.headers)
// 请求头(将json字符串转化为对象) // 请求头(将json字符串转化为对象)
this.headersList = [] this.headersList = []
...@@ -641,6 +608,7 @@ export default { ...@@ -641,6 +608,7 @@ export default {
this.sceneTestcaseList[i].parameters = this.sceneCaseForm.parameters this.sceneTestcaseList[i].parameters = this.sceneCaseForm.parameters
this.sceneTestcaseList[i].extract = this.sceneCaseForm.extract this.sceneTestcaseList[i].extract = this.sceneCaseForm.extract
this.sceneTestcaseList[i].validate = this.sceneCaseForm.validate this.sceneTestcaseList[i].validate = this.sceneCaseForm.validate
this.sceneTestcaseList[i].name = this.sceneCaseForm.name
} }
} }
this.editDialogVisible = false this.editDialogVisible = false
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment