Merge remote-tracking branch 'remotes/origin/jmx-convert' into local-api-delimit
# Conflicts: # backend/src/main/java/io/metersphere/api/dto/scenario/KeyValue.java # backend/src/main/java/io/metersphere/api/dto/scenario/request/HttpRequest.java # frontend/src/business/components/api/test/ApiTestConfig.vue # frontend/src/business/components/api/test/model/ScenarioModel.js
This commit is contained in:
parent
fccabe6311
commit
1a7d70a142
|
@ -1,7 +1,5 @@
|
||||||
package io.metersphere.api.controller;
|
package io.metersphere.api.controller;
|
||||||
|
|
||||||
import static io.metersphere.commons.utils.JsonPathUtils.getListJson;
|
|
||||||
|
|
||||||
import com.github.pagehelper.Page;
|
import com.github.pagehelper.Page;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import io.metersphere.api.dto.*;
|
import io.metersphere.api.dto.*;
|
||||||
|
@ -21,10 +19,11 @@ import org.apache.shiro.authz.annotation.RequiresRoles;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import static io.metersphere.commons.utils.JsonPathUtils.getListJson;
|
||||||
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
|
|
|
@ -146,34 +146,34 @@
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="list" resultType="io.metersphere.api.dto.delimit.ApiTestCaseResult">
|
<select id="list" resultType="io.metersphere.api.dto.delimit.ApiTestCaseResult">
|
||||||
select api_test_case.id, api_test_case.project_id,
|
select atc.id, atc.project_id,
|
||||||
api_test_case.name,api_test_case.priority,api_test_case.api_delimit_id,T1.name as createUser ,T2.name as
|
atc.name,atc.priority,atc.api_delimit_id,T1.name as createUser ,T2.name as updateUser,
|
||||||
updateUser,
|
atc.description,atc.request,atc.response,atc.create_user_id,
|
||||||
api_test_case.description,api_test_case.request,api_test_case.response,api_test_case.create_user_id,
|
atc.create_time,atc.update_user_id, atc.update_time,ader.status execResult
|
||||||
api_test_case.create_time,api_test_case.update_user_id, api_test_case.update_time
|
from api_test_case atc left join user T1 on atc.create_user_id = T1.id left join user T2 on
|
||||||
from api_test_case left join user T1 on api_test_case.create_user_id = T1.id left join user T2 on
|
atc.update_user_id = T2.id left join api_delimit_exec_result ader on atc.id = ader.resource_id
|
||||||
api_test_case.update_user_id = T2.id
|
|
||||||
<where>
|
<where>
|
||||||
<if test="request.name != null and request.name!=''">
|
<if test="request.name != null and request.name!=''">
|
||||||
and api_test_case.name like CONCAT('%', #{request.name},'%')
|
|
||||||
|
and atc.name like CONCAT('%', #{request.name},'%')
|
||||||
</if>
|
</if>
|
||||||
<if test="request.id != null and request.id!=''">
|
<if test="request.id != null and request.id!=''">
|
||||||
AND api_test_case.id = #{request.id}
|
AND atc.id = #{request.id}
|
||||||
</if>
|
</if>
|
||||||
<if test="request.priority != null and request.priority!=''">
|
<if test="request.priority != null and request.priority!=''">
|
||||||
AND api_test_case.priority = #{request.priority}
|
AND atc.priority = #{request.priority}
|
||||||
</if>
|
</if>
|
||||||
<if test="request.projectId != null and request.projectId!=''">
|
<if test="request.projectId != null and request.projectId!=''">
|
||||||
AND api_test_case.project_id = #{request.projectId}
|
AND atc.project_id = #{request.projectId}
|
||||||
</if>
|
</if>
|
||||||
<if test="request.apiDelimitId != null and request.apiDelimitId!=''">
|
<if test="request.apiDelimitId != null and request.apiDelimitId!=''">
|
||||||
AND api_test_case.api_delimit_id = #{request.apiDelimitId}
|
AND atc.api_delimit_id = #{request.apiDelimitId}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
<if test="request.orders != null and request.orders.size() > 0">
|
<if test="request.orders != null and request.orders.size() > 0">
|
||||||
order by
|
order by
|
||||||
<foreach collection="request.orders" separator="," item="order">
|
<foreach collection="request.orders" separator="," item="order">
|
||||||
api_test_case.${order.name} ${order.type}
|
atc.${order.name} ${order.type}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
"vue-pdf": "^4.2.0",
|
"vue-pdf": "^4.2.0",
|
||||||
"diffable-html": "^4.0.0",
|
"diffable-html": "^4.0.0",
|
||||||
"xml-js": "^1.6.11",
|
"xml-js": "^1.6.11",
|
||||||
"jsoneditor": "^9.1.2",
|
"jsoneditor": "^9.1.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "^4.1.0",
|
"@vue/cli-plugin-babel": "^4.1.0",
|
||||||
|
|
|
@ -61,16 +61,27 @@
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="2">
|
<el-col :span="2">
|
||||||
<div class="ms-api-header-select">
|
<!--<div class="ms-api-header-select">-->
|
||||||
<el-button size="small" style="background-color: #783887;color: white" @click="createCase">
|
<!--<el-button size="small" style="background-color: #783887;color: white" @click="createCase">-->
|
||||||
|
<!--+{{$t('api_test.delimit.request.case')}}-->
|
||||||
|
<!--</el-button>-->
|
||||||
|
<!--</div>-->
|
||||||
|
|
||||||
|
<el-dropdown size="small" split-button type="primary" class="ms-api-header-select" @click="createCase"
|
||||||
|
@command="handleCommand">
|
||||||
+{{$t('api_test.delimit.request.case')}}
|
+{{$t('api_test.delimit.request.case')}}
|
||||||
</el-button>
|
<el-dropdown-menu slot="dropdown">
|
||||||
</div>
|
<el-dropdown-item command="run">{{$t('commons.test')}}</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
|
|
||||||
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="2">
|
<el-col :span="2">
|
||||||
<button type="button" aria-label="Close" class="el-card-btn" @click="apiCaseClose()"><i
|
<button type="button" aria-label="Close" class="el-card-btn" @click="apiCaseClose()"><i
|
||||||
class="el-dialog__close el-icon el-icon-close"></i></button>
|
class="el-dialog__close el-icon el-icon-close"></i></button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
|
@ -123,7 +134,7 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="4">
|
<el-col :span="4">
|
||||||
<div v-if="item.type!='create'">{{getResult(item.execute_result)}}</div>
|
<div v-if="item.type!='create'">{{getResult(item.execResult)}}</div>
|
||||||
<div v-if="item.type!='create'" style="color: #999999;font-size: 12px">
|
<div v-if="item.type!='create'" style="color: #999999;font-size: 12px">
|
||||||
<span> {{item.updateTime | timestampFormatDate }}</span>
|
<span> {{item.updateTime | timestampFormatDate }}</span>
|
||||||
{{item.updateUser}}
|
{{item.updateUser}}
|
||||||
|
@ -215,14 +226,19 @@
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getResult(data) {
|
getResult(data) {
|
||||||
if (data === 'PASS') {
|
if (data === 'success') {
|
||||||
return '执行结果:通过';
|
return '执行结果:通过';
|
||||||
} else if (data === 'UN_PASS') {
|
} else if (data === 'error') {
|
||||||
return '执行结果:未通过';
|
return '执行结果:未通过';
|
||||||
} else {
|
} else {
|
||||||
return '执行结果:未执行';
|
return '执行结果:未执行';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
handleCommand(e) {
|
||||||
|
if (e === "run") {
|
||||||
|
this.runCase();
|
||||||
|
}
|
||||||
|
},
|
||||||
showInput(row) {
|
showInput(row) {
|
||||||
row.type = "create";
|
row.type = "create";
|
||||||
row.active = true;
|
row.active = true;
|
||||||
|
@ -446,6 +462,7 @@
|
||||||
|
|
||||||
.ms-api-header-select {
|
.ms-api-header-select {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
|
min-width: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-card-btn {
|
.el-card-btn {
|
||||||
|
|
Loading…
Reference in New Issue