From 6edbd5af2761732fd1c2b47ddd81aaffbf7328dc Mon Sep 17 00:00:00 2001 From: wenyann <64353056+wenyann@users.noreply.github.com> Date: Fri, 25 Sep 2020 13:13:16 +0800 Subject: [PATCH 01/17] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E7=B1=BB?= =?UTF-8?q?=E7=9A=84=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/metersphere/api/jmeter/APIBackendListenerClient.java | 2 +- .../io/metersphere/notice/controller/NoticeController.java | 2 +- .../metersphere/notice/controller/request/NoticeRequest.java | 2 +- .../io/metersphere/{base => notice}/domain/NoticeDetail.java | 3 ++- .../main/java/io/metersphere/notice/service/MailService.java | 2 +- .../main/java/io/metersphere/notice/service/NoticeService.java | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) rename backend/src/main/java/io/metersphere/{base => notice}/domain/NoticeDetail.java (76%) diff --git a/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java b/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java index 8468d42b5e..db6e914c48 100644 --- a/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java +++ b/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java @@ -3,11 +3,11 @@ package io.metersphere.api.jmeter; import io.metersphere.api.service.APIReportService; import io.metersphere.api.service.APITestService; import io.metersphere.base.domain.ApiTestReport; -import io.metersphere.base.domain.NoticeDetail; import io.metersphere.commons.constants.APITestStatus; import io.metersphere.commons.constants.ApiRunMode; import io.metersphere.commons.utils.CommonBeanFactory; import io.metersphere.commons.utils.LogUtil; +import io.metersphere.notice.domain.NoticeDetail; import io.metersphere.notice.service.MailService; import io.metersphere.notice.service.NoticeService; import org.apache.commons.lang3.StringUtils; diff --git a/backend/src/main/java/io/metersphere/notice/controller/NoticeController.java b/backend/src/main/java/io/metersphere/notice/controller/NoticeController.java index 1d21066649..f0b816d633 100644 --- a/backend/src/main/java/io/metersphere/notice/controller/NoticeController.java +++ b/backend/src/main/java/io/metersphere/notice/controller/NoticeController.java @@ -1,7 +1,7 @@ package io.metersphere.notice.controller; -import io.metersphere.base.domain.NoticeDetail; import io.metersphere.notice.controller.request.NoticeRequest; +import io.metersphere.notice.domain.NoticeDetail; import io.metersphere.notice.service.NoticeService; import org.springframework.web.bind.annotation.*; diff --git a/backend/src/main/java/io/metersphere/notice/controller/request/NoticeRequest.java b/backend/src/main/java/io/metersphere/notice/controller/request/NoticeRequest.java index 9c2e9854a6..887c1fbcd3 100644 --- a/backend/src/main/java/io/metersphere/notice/controller/request/NoticeRequest.java +++ b/backend/src/main/java/io/metersphere/notice/controller/request/NoticeRequest.java @@ -1,6 +1,6 @@ package io.metersphere.notice.controller.request; -import io.metersphere.base.domain.NoticeDetail; +import io.metersphere.notice.domain.NoticeDetail; import lombok.Data; import java.util.List; diff --git a/backend/src/main/java/io/metersphere/base/domain/NoticeDetail.java b/backend/src/main/java/io/metersphere/notice/domain/NoticeDetail.java similarity index 76% rename from backend/src/main/java/io/metersphere/base/domain/NoticeDetail.java rename to backend/src/main/java/io/metersphere/notice/domain/NoticeDetail.java index cb40c74434..662187272f 100644 --- a/backend/src/main/java/io/metersphere/base/domain/NoticeDetail.java +++ b/backend/src/main/java/io/metersphere/notice/domain/NoticeDetail.java @@ -1,5 +1,6 @@ -package io.metersphere.base.domain; +package io.metersphere.notice.domain; +import io.metersphere.base.domain.Notice; import lombok.Data; @Data diff --git a/backend/src/main/java/io/metersphere/notice/service/MailService.java b/backend/src/main/java/io/metersphere/notice/service/MailService.java index 5a3c329a31..df2b3b9f2c 100644 --- a/backend/src/main/java/io/metersphere/notice/service/MailService.java +++ b/backend/src/main/java/io/metersphere/notice/service/MailService.java @@ -1,7 +1,6 @@ package io.metersphere.notice.service; import io.metersphere.api.dto.APIReportResult; -import io.metersphere.base.domain.NoticeDetail; import io.metersphere.base.domain.SystemParameter; import io.metersphere.base.domain.TestCaseWithBLOBs; import io.metersphere.commons.constants.ParamConstants; @@ -10,6 +9,7 @@ import io.metersphere.commons.utils.LogUtil; import io.metersphere.dto.BaseSystemConfigDTO; import io.metersphere.dto.LoadTestDTO; import io.metersphere.i18n.Translator; +import io.metersphere.notice.domain.NoticeDetail; import io.metersphere.service.SystemParameterService; import io.metersphere.service.UserService; import io.metersphere.track.request.testreview.SaveCommentRequest; diff --git a/backend/src/main/java/io/metersphere/notice/service/NoticeService.java b/backend/src/main/java/io/metersphere/notice/service/NoticeService.java index bfb1ae9b97..88c1156d21 100644 --- a/backend/src/main/java/io/metersphere/notice/service/NoticeService.java +++ b/backend/src/main/java/io/metersphere/notice/service/NoticeService.java @@ -1,10 +1,10 @@ package io.metersphere.notice.service; import io.metersphere.base.domain.Notice; -import io.metersphere.base.domain.NoticeDetail; import io.metersphere.base.domain.NoticeExample; import io.metersphere.base.mapper.NoticeMapper; import io.metersphere.notice.controller.request.NoticeRequest; +import io.metersphere.notice.domain.NoticeDetail; import org.springframework.stereotype.Service; import javax.annotation.Resource; From 3813cdc12055a8a105adf12f9c7e53fc0d6096ef Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Fri, 25 Sep 2020 13:59:45 +0800 Subject: [PATCH 02/17] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95)?= =?UTF-8?q?:=20=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=80=BC=E5=8B=BE=E9=80=89=E7=AD=89=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/dto/scenario/KeyValue.java | 1 + .../controller/TestController.java | 4 +- .../api/test/components/ApiKeyValue.vue | 31 ++---------- .../api/test/components/ApiVariable.vue | 49 ++++++++----------- .../test/components/ApiVariableAdvance.vue | 2 +- .../components/body/ApiBodyFileUpload.vue | 6 +-- .../components/request/ApiHttpRequestForm.vue | 2 +- .../business/components/api/test/model/JMX.js | 5 +- .../api/test/model/ScenarioModel.js | 43 +++++----------- frontend/src/business/components/xpack | 2 +- frontend/src/i18n/en-US.js | 1 + frontend/src/i18n/zh-CN.js | 1 + frontend/src/i18n/zh-TW.js | 1 + 13 files changed, 56 insertions(+), 92 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/dto/scenario/KeyValue.java b/backend/src/main/java/io/metersphere/api/dto/scenario/KeyValue.java index ed50eebd11..64ec5780c1 100644 --- a/backend/src/main/java/io/metersphere/api/dto/scenario/KeyValue.java +++ b/backend/src/main/java/io/metersphere/api/dto/scenario/KeyValue.java @@ -12,6 +12,7 @@ public class KeyValue { private String type; private List files; private String description; + private String contentType; private boolean enable; public KeyValue() { diff --git a/backend/src/main/java/io/metersphere/controller/TestController.java b/backend/src/main/java/io/metersphere/controller/TestController.java index 64051b7d73..c3b7c033af 100644 --- a/backend/src/main/java/io/metersphere/controller/TestController.java +++ b/backend/src/main/java/io/metersphere/controller/TestController.java @@ -1,6 +1,7 @@ package io.metersphere.controller; import com.alibaba.fastjson.JSONObject; +import io.metersphere.base.domain.User; import io.metersphere.commons.utils.SessionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; @@ -15,7 +16,8 @@ public class TestController { @PostMapping(value = "/upload", consumes = {"multipart/form-data"}) - public Object testUpload(@RequestPart(value = "id") String id, @RequestPart(value = "file") MultipartFile file, @RequestPart(value = "files") List bodyFiles) { + public Object testUpload(@RequestPart(value = "id") String id, @RequestPart(value = "file") MultipartFile file, @RequestPart(value = "files") List bodyFiles + , @RequestPart(value = "user") User user, @RequestParam(value = "name") String name) { JSONObject jsonObject = new JSONObject(); jsonObject.put("id", id); jsonObject.put("file", file.getOriginalFilename()); diff --git a/frontend/src/business/components/api/test/components/ApiKeyValue.vue b/frontend/src/business/components/api/test/components/ApiKeyValue.vue index ab0079d23e..1872d88f8b 100644 --- a/frontend/src/business/components/api/test/components/ApiKeyValue.vue +++ b/frontend/src/business/components/api/test/components/ApiKeyValue.vue @@ -6,8 +6,8 @@
- + @@ -52,7 +52,7 @@ }, data() { return { - checkedValues: [] + // checkedValues: [] } }, computed: { @@ -79,10 +79,6 @@ let isNeedCreate = true; let removeIndex = -1; this.items.forEach((item, index) => { - // 启用行赋值 - if (this.isShowEnable) { - item.enable = this.checkedValues.indexOf(item.uuid) != -1 ? true : false; - } if (!item.name && !item.value) { // 多余的空行 if (index !== this.items.length - 1) { @@ -93,13 +89,7 @@ } }); if (isNeedCreate) { - // 往后台送入的复选框值布尔值 - if (this.isShowEnable) { - this.items[this.items.length - 1].enable = true; - // v-model 选中状态 - this.checkedValues.push(this.items[this.items.length - 1].uuid); - } - this.items.push(new KeyValue()); + this.items.push(new KeyValue({enable: true})); } this.$emit('change', this.items); // TODO 检查key重复 @@ -112,9 +102,6 @@ let results = queryString ? suggestions.filter(this.createFilter(queryString)) : suggestions; cb(results); }, - uuid: function () { - return (((1 + Math.random()) * 0x100000) | 0).toString(16).substring(1); - }, createFilter(queryString) { return (restaurant) => { return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); @@ -123,15 +110,7 @@ }, created() { if (this.items.length === 0) { - this.items.push(new KeyValue()); - } else if (this.isShowEnable) { - this.items.forEach((item, index) => { - let uuid = this.uuid(); - item.uuid = uuid; - if (item.enable) { - this.checkedValues.push(uuid); - } - }) + this.items.push(new KeyValue({enable: true})); } } } diff --git a/frontend/src/business/components/api/test/components/ApiVariable.vue b/frontend/src/business/components/api/test/components/ApiVariable.vue index daa4f1956a..68d02ab625 100644 --- a/frontend/src/business/components/api/test/components/ApiVariable.vue +++ b/frontend/src/business/components/api/test/components/ApiVariable.vue @@ -3,26 +3,27 @@ {{ description }} +
- + - @@ -44,6 +45,13 @@ + + + + + + @@ -85,7 +93,6 @@ data() { return { currentItem: null, - checkedValues: [] } }, computed: { @@ -98,9 +105,6 @@ }, methods: { remove: function (index) { - // 移除勾选内容 - let checkIndex = this.checkedValues.indexOf(this.parameters[index].uuid); - checkIndex != -1 ? this.checkedValues.splice(checkIndex, 1) : this.checkedValues; // 移除整行输入控件及内容 this.parameters.splice(index, 1); this.$emit('change', this.parameters); @@ -109,9 +113,6 @@ let isNeedCreate = true; let removeIndex = -1; this.parameters.forEach((item, index) => { - // 启用行赋值 - item.enable = this.checkedValues.indexOf(item.uuid) != -1 ? true : false; - if (!item.name && !item.value) { // 多余的空行 if (index !== this.parameters.length - 1) { @@ -122,11 +123,7 @@ } }); if (isNeedCreate) { - // 往后台送入的复选框值布尔值 - this.parameters[this.parameters.length - 1].enable = true; - // v-model 选中状态 - this.checkedValues.push(this.parameters[this.parameters.length - 1].uuid); - this.parameters.push(new KeyValue(null, null, 'text', false, this.uuid())); + this.parameters.push(new KeyValue({type: 'text', enable: true, uuid: this.uuid(), contentType: 'text/plain'})); } this.$emit('change', this.parameters); // TODO 检查key重复 @@ -161,22 +158,18 @@ advanced(item) { this.$refs.variableAdvance.open(); this.currentItem = item; - this.itemValue = ''; - this.mockVariableFuncs = []; }, - + typeChange(item) { + if (item.type === 'file') { + item.contentType = 'application/octet-stream'; + } else { + item.contentType = 'text/plain'; + } + } }, created() { if (this.parameters.length === 0) { - this.parameters.push(new KeyValue(null, null, 'text', false, this.uuid())); - } else { - this.parameters.forEach((item, index) => { - let uuid = this.uuid(); - item.uuid = uuid; - if (item.enable) { - this.checkedValues.push(uuid); - } - }) + this.parameters.push(new KeyValue( {type: 'text', enable: true, uuid: this.uuid(), contentType: 'text/plain'})); } } } diff --git a/frontend/src/business/components/api/test/components/ApiVariableAdvance.vue b/frontend/src/business/components/api/test/components/ApiVariableAdvance.vue index 63d2893fa8..7249d4cb0a 100644 --- a/frontend/src/business/components/api/test/components/ApiVariableAdvance.vue +++ b/frontend/src/business/components/api/test/components/ApiVariableAdvance.vue @@ -173,7 +173,7 @@ export default { } ]; if (this.environment) { - let variables = JSON.parse(this.environment.variables); + let variables = this.environment.config.commonConfig.variables; this.environmentParams = [ { name: this.environment.name, diff --git a/frontend/src/business/components/api/test/components/body/ApiBodyFileUpload.vue b/frontend/src/business/components/api/test/components/body/ApiBodyFileUpload.vue index 81c13a6155..9d1a03730c 100644 --- a/frontend/src/business/components/api/test/components/body/ApiBodyFileUpload.vue +++ b/frontend/src/business/components/api/test/components/body/ApiBodyFileUpload.vue @@ -105,9 +105,9 @@ .api-body-upload { min-height: 32px; - /*border: 1px solid #EBEEF5;*/ - /*padding: 2px;*/ - /*border-radius: 4px;*/ + border: 1px solid #EBEEF5; + padding: 2px; + border-radius: 4px; } .upload-item { diff --git a/frontend/src/business/components/api/test/components/request/ApiHttpRequestForm.vue b/frontend/src/business/components/api/test/components/request/ApiHttpRequestForm.vue index 4d4333c5cd..6f90c3c308 100644 --- a/frontend/src/business/components/api/test/components/request/ApiHttpRequestForm.vue +++ b/frontend/src/business/components/api/test/components/request/ApiHttpRequestForm.vue @@ -156,7 +156,7 @@ export default { let url = new URL(urlStr); url.searchParams.forEach((value, key) => { if (key && value) { - this.request.parameters.splice(0, 0, new KeyValue(key, value)); + this.request.parameters.splice(0, 0, new KeyValue({name: name, value: value})); } }); return url; diff --git a/frontend/src/business/components/api/test/model/JMX.js b/frontend/src/business/components/api/test/model/JMX.js index 81c145f09d..96c43f635f 100644 --- a/frontend/src/business/components/api/test/model/JMX.js +++ b/frontend/src/business/components/api/test/model/JMX.js @@ -344,6 +344,9 @@ export class HTTPSamplerArguments extends Element { } elementProp.stringProp('Argument.value', arg.value); elementProp.stringProp('Argument.metadata', arg.metadata || "="); + if (arg.contentType) { + elementProp.stringProp('HTTPArgument.content_type', arg.contentType, ""); + } } }); } @@ -363,7 +366,7 @@ export class HTTPsamplerFiles extends Element { let elementProp = collectionProp.elementProp(arg.value, 'HTTPFileArg'); elementProp.stringProp('File.path', arg.value); elementProp.stringProp('File.paramname', arg.name); - elementProp.stringProp('File.mimetype', arg.metadata || "application/octet-stream"); + elementProp.stringProp('File.mimetype', arg.contentType || "application/octet-stream"); }); } } diff --git a/frontend/src/business/components/api/test/model/ScenarioModel.js b/frontend/src/business/components/api/test/model/ScenarioModel.js index 74d3f154c8..4c247d0874 100644 --- a/frontend/src/business/components/api/test/model/ScenarioModel.js +++ b/frontend/src/business/components/api/test/model/ScenarioModel.js @@ -656,35 +656,18 @@ export class Body extends BaseConfig { } export class KeyValue extends BaseConfig { - constructor() { - let options, key, value, type, enable, uuid; - if (arguments.length === 1) { - options = arguments[0]; - } + constructor(options) { + options = options || {}; + options.enable = options.enable != false ? true : false; - if (arguments.length === 2) { - key = arguments[0]; - value = arguments[1]; - } - if (arguments.length === 3) { - key = arguments[0]; - value = arguments[1]; - type = arguments[2]; - } - if (arguments.length === 5) { - key = arguments[0]; - value = arguments[1]; - type = arguments[2]; - enable = arguments[3]; - uuid = arguments[4]; - } super(); - this.name = key; - this.value = value; - this.type = type; + this.name = undefined; + this.value = undefined; + this.type = undefined; this.files = undefined; - this.enable = enable; - this.uuid = uuid; + this.enable = undefined; + this.uuid = undefined; + this.contentType = undefined; this.set(options); } @@ -956,7 +939,7 @@ class JMXHttpRequest { this.domain = environment.config.httpConfig.domain; this.port = environment.config.httpConfig.port; this.protocol = environment.config.httpConfig.protocol; - let url = new URL(environment.config.httpConfig.protocol + "://" + environment.config.commonConfig.socket); + let url = new URL(environment.config.httpConfig.protocol + "://" + environment.config.httpConfig.socket); this.path = this.getPostQueryParameters(request, decodeURIComponent(url.pathname + (request.path ? request.path : ''))); } this.connectTimeout = request.connectTimeout; @@ -1117,7 +1100,7 @@ class JMXGenerator { } envArray.forEach(item => { if (item.name && !keys.has(item.name)) { - target.push(new KeyValue(item.name, item.value)); + target.push(new KeyValue({name: item.name, value: item.value})); } }) } @@ -1294,7 +1277,7 @@ class JMXGenerator { } } } - request.headers.push(new KeyValue('Content-Type', type)); + request.headers.push(new KeyValue({name: 'Content-Type', value: type})); } addRequestArguments(httpSamplerProxy, request) { @@ -1323,7 +1306,7 @@ class JMXGenerator { let files = []; let kvs = this.filterKVFile(request.body.kvs); kvs.forEach(kv => { - if (kv.files) { + if ((kv.enable != false) && kv.files) { kv.files.forEach(file => { let arg = {}; arg.name = kv.name; diff --git a/frontend/src/business/components/xpack b/frontend/src/business/components/xpack index cc38137a69..06d935cd1d 160000 --- a/frontend/src/business/components/xpack +++ b/frontend/src/business/components/xpack @@ -1 +1 @@ -Subproject commit cc38137a69a0f20fadece9c0f9f50a9468c4ace9 +Subproject commit 06d935cd1d22ab36f09763745c2aff8ad3fb08c1 diff --git a/frontend/src/i18n/en-US.js b/frontend/src/i18n/en-US.js index 47ab407d69..19bd9f5b56 100644 --- a/frontend/src/i18n/en-US.js +++ b/frontend/src/i18n/en-US.js @@ -468,6 +468,7 @@ export default { input_url: "Please enter the request URL", input_path: "Please enter the request path", name: "Name", + content_type: "Content Type", method: "Method", url: "URL", path: "Path", diff --git a/frontend/src/i18n/zh-CN.js b/frontend/src/i18n/zh-CN.js index 1d2a03b7d3..d5c99d81b4 100644 --- a/frontend/src/i18n/zh-CN.js +++ b/frontend/src/i18n/zh-CN.js @@ -468,6 +468,7 @@ export default { input_url: "请输入请求URL", input_path: "请输入请求路径", name: "请求名称", + content_type: "请求类型", method: "请求方法", url: "请求URL", path: "请求路径", diff --git a/frontend/src/i18n/zh-TW.js b/frontend/src/i18n/zh-TW.js index c4ebeee253..3210781c7c 100644 --- a/frontend/src/i18n/zh-TW.js +++ b/frontend/src/i18n/zh-TW.js @@ -470,6 +470,7 @@ export default { name: "請求名稱", method: "請求方法", url: "請求URL", + content_type: "請求類型", path: "請求路徑", address: "請求地址", refer_to_environment: "引用環境", From cdfadc70912d2533df11305af652086b347f2b21 Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Fri, 25 Sep 2020 14:03:08 +0800 Subject: [PATCH 03/17] =?UTF-8?q?refactor:=20=E5=8E=BB=E6=8E=89=E4=B8=8D?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/metersphere/notice/domain/NoticeDTO.java | 9 --------- .../performance/service/PerformanceTestService.java | 1 + 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 backend/src/main/java/io/metersphere/notice/domain/NoticeDTO.java diff --git a/backend/src/main/java/io/metersphere/notice/domain/NoticeDTO.java b/backend/src/main/java/io/metersphere/notice/domain/NoticeDTO.java deleted file mode 100644 index 438e664650..0000000000 --- a/backend/src/main/java/io/metersphere/notice/domain/NoticeDTO.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.metersphere.notice.domain; - -import io.metersphere.base.domain.Notice; -import lombok.Data; - -@Data -public class NoticeDTO extends Notice { - private String[] names; -} diff --git a/backend/src/main/java/io/metersphere/performance/service/PerformanceTestService.java b/backend/src/main/java/io/metersphere/performance/service/PerformanceTestService.java index 04d5750b9a..16880b8bc4 100644 --- a/backend/src/main/java/io/metersphere/performance/service/PerformanceTestService.java +++ b/backend/src/main/java/io/metersphere/performance/service/PerformanceTestService.java @@ -19,6 +19,7 @@ import io.metersphere.dto.LoadTestDTO; import io.metersphere.dto.ScheduleDao; import io.metersphere.i18n.Translator; import io.metersphere.job.sechedule.PerformanceTestJob; +import io.metersphere.notice.domain.NoticeDetail; import io.metersphere.notice.service.MailService; import io.metersphere.notice.service.NoticeService; import io.metersphere.performance.engine.Engine; From 236e572d9b3b7867889e8fd8e70cec389b4d8de5 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Fri, 25 Sep 2020 14:46:43 +0800 Subject: [PATCH 04/17] =?UTF-8?q?fix(=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92)?= =?UTF-8?q?:=20=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=89=80=E5=B1=9E=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/metersphere/track/service/TestPlanService.java | 3 ++- backend/src/main/java/io/metersphere/xpack | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java index 70ca52c95b..ca2f5a5455 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java @@ -115,7 +115,8 @@ public class TestPlanService { return Optional.ofNullable(testPlanMapper.selectByPrimaryKey(testPlanId)).orElse(new TestPlan()); } - public int editTestPlan(TestPlan testPlan) { + public int editTestPlan(TestPlanDTO testPlan) { + editTestPlanProject(testPlan); testPlan.setUpdateTime(System.currentTimeMillis()); checkTestPlanExist(testPlan); //进行中状态,写入实际开始时间 diff --git a/backend/src/main/java/io/metersphere/xpack b/backend/src/main/java/io/metersphere/xpack index cf6b065263..c2dacf960c 160000 --- a/backend/src/main/java/io/metersphere/xpack +++ b/backend/src/main/java/io/metersphere/xpack @@ -1 +1 @@ -Subproject commit cf6b06526324326a563d933e07118fac014a63b4 +Subproject commit c2dacf960cdb1ed35664bdd3432120b1203b73d8 From 9e8a8d9cafef2ddd267db1ea6565a4ad1178208b Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Fri, 25 Sep 2020 14:59:45 +0800 Subject: [PATCH 05/17] =?UTF-8?q?fix(=E7=94=A8=E4=BE=8B=E8=AF=84=E5=AE=A1)?= =?UTF-8?q?:=20=E4=BF=AE=E5=A4=8D=E7=94=A8=E4=BE=8B=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AF=84=E8=AE=BA=E6=97=B6=E4=BC=9A=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E7=9A=84=E7=A9=BA=E6=8C=87=E9=92=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/metersphere/track/service/TestCaseCommentService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/io/metersphere/track/service/TestCaseCommentService.java b/backend/src/main/java/io/metersphere/track/service/TestCaseCommentService.java index ee314edf63..68922df0eb 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestCaseCommentService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestCaseCommentService.java @@ -61,7 +61,8 @@ public class TestCaseCommentService { testCaseComments.forEach(testCaseComment -> { String authorId = testCaseComment.getAuthor(); User user = userMapper.selectByPrimaryKey(authorId); - testCaseComment.setAuthor(user.getName()); + String author = user == null ? authorId : user.getName(); + testCaseComment.setAuthor(author); }); return testCaseComments; } From 3c6b839efd36f9d9771e56b4d034b8e252523610 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Fri, 25 Sep 2020 15:20:01 +0800 Subject: [PATCH 06/17] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95)?= =?UTF-8?q?:=20=E4=BF=AE=E5=A4=8D=E5=88=87=E6=8D=A2=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=8F=B3=E4=BE=A7=E6=B2=A1=E5=88=B7=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/business/components/api/report/ApiReportView.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/business/components/api/report/ApiReportView.vue b/frontend/src/business/components/api/report/ApiReportView.vue index acd3f6cc36..f5cd47688a 100644 --- a/frontend/src/business/components/api/report/ApiReportView.vue +++ b/frontend/src/business/components/api/report/ApiReportView.vue @@ -118,6 +118,7 @@ export default { } }, getFails() { + this.isRequestResult = false; if (this.isNotRunning) { this.fails = []; this.totalTime = 0 From 2b2ebb6823ffa78fbe4a216690cc9f27c4a07bb5 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Fri, 25 Sep 2020 15:26:39 +0800 Subject: [PATCH 07/17] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95)?= =?UTF-8?q?:=20=E4=BF=AE=E5=A4=8D=E5=88=87=E6=8D=A2=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=8F=B3=E4=BE=A7=E6=B2=A1=E5=88=B7=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/business/components/api/report/ApiReportView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/business/components/api/report/ApiReportView.vue b/frontend/src/business/components/api/report/ApiReportView.vue index f5cd47688a..ce2c8524d8 100644 --- a/frontend/src/business/components/api/report/ApiReportView.vue +++ b/frontend/src/business/components/api/report/ApiReportView.vue @@ -87,6 +87,7 @@ export default { this.report = {}; this.content = {}; this.fails = []; + this.isRequestResult = false; }, handleClick(tab, event) { this.isRequestResult = false @@ -118,7 +119,6 @@ export default { } }, getFails() { - this.isRequestResult = false; if (this.isNotRunning) { this.fails = []; this.totalTime = 0 From ea9a2cef59a9637795950c98af6d16b6013c173c Mon Sep 17 00:00:00 2001 From: wenyann <64353056+wenyann@users.noreply.github.com> Date: Fri, 25 Sep 2020 17:16:25 +0800 Subject: [PATCH 08/17] =?UTF-8?q?fix:switch=E9=A2=9C=E8=89=B2=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/common/components/MsScheduleEdit.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/business/components/common/components/MsScheduleEdit.vue b/frontend/src/business/components/common/components/MsScheduleEdit.vue index 526a04dc30..3a353d207f 100644 --- a/frontend/src/business/components/common/components/MsScheduleEdit.vue +++ b/frontend/src/business/components/common/components/MsScheduleEdit.vue @@ -63,10 +63,10 @@ > From dac8ef1e48d6080fa27b0fdf4d373ef7b0d6d12e Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Fri, 25 Sep 2020 17:17:30 +0800 Subject: [PATCH 09/17] =?UTF-8?q?feat(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95?= =?UTF-8?q?):=20=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E6=8C=89=20Ctrl+S?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes 481 --- .../components/api/head/ApiHeaderMenus.vue | 4 ++++ .../components/api/test/ApiTestConfig.vue | 18 ++++++++++++++++-- .../head/PerformanceHeaderMenus.vue | 4 ++++ .../components/track/head/TrackHeaderMenus.vue | 4 ++++ 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/frontend/src/business/components/api/head/ApiHeaderMenus.vue b/frontend/src/business/components/api/head/ApiHeaderMenus.vue index 9748c38f50..1bc88dc6b9 100644 --- a/frontend/src/business/components/api/head/ApiHeaderMenus.vue +++ b/frontend/src/business/components/api/head/ApiHeaderMenus.vue @@ -90,6 +90,10 @@ export default { methods: { registerEvents() { ApiEvent.$on(LIST_CHANGE, () => { + // todo 这里偶尔会有 refs 为空的情况 + if (!this.$refs.projectRecent) { + return; + } this.$refs.projectRecent.recent(); this.$refs.testRecent.recent(); this.$refs.reportRecent.recent(); diff --git a/frontend/src/business/components/api/test/ApiTestConfig.vue b/frontend/src/business/components/api/test/ApiTestConfig.vue index d0284773cb..87215775a1 100644 --- a/frontend/src/business/components/api/test/ApiTestConfig.vue +++ b/frontend/src/business/components/api/test/ApiTestConfig.vue @@ -67,7 +67,7 @@ diff --git a/frontend/src/business/components/performance/head/PerformanceHeaderMenus.vue b/frontend/src/business/components/performance/head/PerformanceHeaderMenus.vue index 4590a5638a..5d56c24562 100644 --- a/frontend/src/business/components/performance/head/PerformanceHeaderMenus.vue +++ b/frontend/src/business/components/performance/head/PerformanceHeaderMenus.vue @@ -98,6 +98,10 @@ export default { methods: { registerEvents() { PerformanceEvent.$on(LIST_CHANGE, () => { + // todo 这里偶尔会有 refs 为空的情况 + if (!this.$refs.projectRecent) { + return; + } this.$refs.projectRecent.recent(); this.$refs.testRecent.recent(); this.$refs.reportRecent.recent(); diff --git a/frontend/src/business/components/track/head/TrackHeaderMenus.vue b/frontend/src/business/components/track/head/TrackHeaderMenus.vue index 341bb490bd..fe47829171 100644 --- a/frontend/src/business/components/track/head/TrackHeaderMenus.vue +++ b/frontend/src/business/components/track/head/TrackHeaderMenus.vue @@ -150,6 +150,10 @@ export default { }, registerEvents() { TrackEvent.$on(LIST_CHANGE, () => { + // todo 这里偶尔会有 refs 为空的情况 + if (!this.$refs.projectRecent) { + return; + } this.$refs.projectRecent.recent(); this.$refs.planRecent.recent(); this.$refs.caseRecent.recent(); From e7f8c25a7049eea72a0dcfb5ee390ab2f278257f Mon Sep 17 00:00:00 2001 From: q4speed Date: Fri, 25 Sep 2020 17:25:13 +0800 Subject: [PATCH 10/17] =?UTF-8?q?feat(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95?= =?UTF-8?q?):=20=E6=8A=A5=E5=91=8A=E9=87=8C=E5=A2=9E=E5=8A=A0=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E5=BC=80=E5=A7=8B=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/jmeter/APIBackendListenerClient.java | 1 + .../io/metersphere/api/jmeter/RequestResult.java | 2 ++ .../api/report/components/RequestResultTail.vue | 12 +++++++++--- frontend/src/common/js/filter.js | 11 +++++++++-- frontend/src/i18n/en-US.js | 1 + frontend/src/i18n/zh-CN.js | 1 + frontend/src/i18n/zh-TW.js | 1 + 7 files changed, 24 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java b/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java index db6e914c48..729c9d8ebd 100644 --- a/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java +++ b/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java @@ -141,6 +141,7 @@ public class APIBackendListenerClient extends AbstractBackendListenerClient impl requestResult.setBody(result.getSamplerData()); requestResult.setHeaders(result.getRequestHeaders()); requestResult.setRequestSize(result.getSentBytes()); + requestResult.setStartTime(result.getStartTime()); requestResult.setTotalAssertions(result.getAssertionResults().length); requestResult.setSuccess(result.isSuccessful()); requestResult.setError(result.getErrorCount()); diff --git a/backend/src/main/java/io/metersphere/api/jmeter/RequestResult.java b/backend/src/main/java/io/metersphere/api/jmeter/RequestResult.java index ed756d9f0a..d3c20cac4e 100644 --- a/backend/src/main/java/io/metersphere/api/jmeter/RequestResult.java +++ b/backend/src/main/java/io/metersphere/api/jmeter/RequestResult.java @@ -16,6 +16,8 @@ public class RequestResult { private long requestSize; + private long startTime; + private int error; private boolean success; diff --git a/frontend/src/business/components/api/report/components/RequestResultTail.vue b/frontend/src/business/components/api/report/components/RequestResultTail.vue index cd32477807..097c60c008 100644 --- a/frontend/src/business/components/api/report/components/RequestResultTail.vue +++ b/frontend/src/business/components/api/report/components/RequestResultTail.vue @@ -2,10 +2,13 @@
- + {{scenarioName}} + + {{$t('api_report.start_time')}} + {{$t('api_report.response_time')}} @@ -20,17 +23,20 @@ - +
{{request.method}}
- +
{{request.name}}
{{request.url}}
+ + {{request.startTime | timestampFormatDate(true) }} +
{{request.responseResult.responseTime}} diff --git a/frontend/src/common/js/filter.js b/frontend/src/common/js/filter.js index c0d5cf8bbf..9de3b91a8a 100644 --- a/frontend/src/common/js/filter.js +++ b/frontend/src/common/js/filter.js @@ -10,7 +10,7 @@ const options = function (value, array) { return value; }; -const timestampFormatDate = function (timestamp) { +const timestampFormatDate = function (timestamp, showMs) { if (!timestamp) { return timestamp } @@ -34,7 +34,14 @@ const timestampFormatDate = function (timestamp) { let s = date.getSeconds(); s = s < 10 ? ('0' + s) : s; - return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s + let format = y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s; + + if (showMs === true) { + let ms = date.getMilliseconds(); + format += ':' + ms + } + + return format }; const filters = { diff --git a/frontend/src/i18n/en-US.js b/frontend/src/i18n/en-US.js index 19bd9f5b56..790533e1f2 100644 --- a/frontend/src/i18n/en-US.js +++ b/frontend/src/i18n/en-US.js @@ -598,6 +598,7 @@ export default { scenario_name: "Scenario name", response_time: "Response time(ms)", latency: "Latency", + start_time: "Start Time", request_size: "Request Size", response_size: "Response Size", response_code: "Response Code", diff --git a/frontend/src/i18n/zh-CN.js b/frontend/src/i18n/zh-CN.js index d5c99d81b4..b42ff6f175 100644 --- a/frontend/src/i18n/zh-CN.js +++ b/frontend/src/i18n/zh-CN.js @@ -598,6 +598,7 @@ export default { delete_confirm: '确认删除报告: ', delete_batch_confirm: '确认批量删除报告', scenario_name: "场景名称", + start_time: "开始时间", response_time: "响应时间(ms)", latency: "网络延迟", request_size: "请求大小", diff --git a/frontend/src/i18n/zh-TW.js b/frontend/src/i18n/zh-TW.js index 3210781c7c..ef3ad4e77f 100644 --- a/frontend/src/i18n/zh-TW.js +++ b/frontend/src/i18n/zh-TW.js @@ -598,6 +598,7 @@ export default { delete_confirm: '確認刪除報告: ', delete_batch_confirm: '確認批量刪除報告', scenario_name: "場景名稱", + start_time: "開始時間", response_time: "響應時間(ms)", latency: "網絡延遲", request_size: "請求大小", From 315bd841185594c089927c9865c5915b1a1e74c3 Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Fri, 25 Sep 2020 17:45:44 +0800 Subject: [PATCH 11/17] =?UTF-8?q?refactor(=E6=8E=A5=E5=8F=A3=E6=B5=8B?= =?UTF-8?q?=E8=AF=95):=20=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=8C=89=E9=92=AE=E4=B8=8A=E5=8A=A0=E4=B8=8ATips=20Ct?= =?UTF-8?q?rl=20+=20S?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/business/components/api/test/ApiTestConfig.vue | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/src/business/components/api/test/ApiTestConfig.vue b/frontend/src/business/components/api/test/ApiTestConfig.vue index 87215775a1..e76812463e 100644 --- a/frontend/src/business/components/api/test/ApiTestConfig.vue +++ b/frontend/src/business/components/api/test/ApiTestConfig.vue @@ -14,9 +14,13 @@ - - {{ $t('commons.save') }} - + + + {{ $t('commons.save') }} + + From 5275a708b3100509a7b9ad58636ed24dac26a682 Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Fri, 25 Sep 2020 20:39:18 +0800 Subject: [PATCH 12/17] =?UTF-8?q?fix(=E6=B5=8B=E8=AF=95=E8=B7=9F=E8=B8=AA)?= =?UTF-8?q?:=20=E5=85=B3=E8=81=94=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../metersphere/job/sechedule/ApiTestJob.java | 1 - .../service/PerformanceTestService.java | 1 + .../components/api/report/ApiReportView.vue | 211 +---------------- .../api/report/ApiReportViewDetail.vue | 222 ++++++++++++++++++ .../api/report/ApiReportViewHeader.vue | 52 ++++ .../view/comonents/TestPlanTestCaseEdit.vue | 1 + .../view/comonents/test/ApiTestDetail.vue | 2 +- .../view/comonents/test/ApiTestResult.vue | 132 +---------- 8 files changed, 289 insertions(+), 333 deletions(-) create mode 100644 frontend/src/business/components/api/report/ApiReportViewDetail.vue create mode 100644 frontend/src/business/components/api/report/ApiReportViewHeader.vue diff --git a/backend/src/main/java/io/metersphere/job/sechedule/ApiTestJob.java b/backend/src/main/java/io/metersphere/job/sechedule/ApiTestJob.java index bb855d77e7..ae0c872574 100644 --- a/backend/src/main/java/io/metersphere/job/sechedule/ApiTestJob.java +++ b/backend/src/main/java/io/metersphere/job/sechedule/ApiTestJob.java @@ -14,7 +14,6 @@ import org.quartz.TriggerKey; public class ApiTestJob extends MsScheduleJob { private APITestService apiTestService; - private MailService mailService; public ApiTestJob() { apiTestService = (APITestService) CommonBeanFactory.getBean(APITestService.class); } diff --git a/backend/src/main/java/io/metersphere/performance/service/PerformanceTestService.java b/backend/src/main/java/io/metersphere/performance/service/PerformanceTestService.java index 04d5750b9a..16880b8bc4 100644 --- a/backend/src/main/java/io/metersphere/performance/service/PerformanceTestService.java +++ b/backend/src/main/java/io/metersphere/performance/service/PerformanceTestService.java @@ -19,6 +19,7 @@ import io.metersphere.dto.LoadTestDTO; import io.metersphere.dto.ScheduleDao; import io.metersphere.i18n.Translator; import io.metersphere.job.sechedule.PerformanceTestJob; +import io.metersphere.notice.domain.NoticeDetail; import io.metersphere.notice.service.MailService; import io.metersphere.notice.service.NoticeService; import io.metersphere.performance.engine.Engine; diff --git a/frontend/src/business/components/api/report/ApiReportView.vue b/frontend/src/business/components/api/report/ApiReportView.vue index acd3f6cc36..7d5d41ed8c 100644 --- a/frontend/src/business/components/api/report/ApiReportView.vue +++ b/frontend/src/business/components/api/report/ApiReportView.vue @@ -1,231 +1,26 @@ - diff --git a/frontend/src/business/components/api/report/ApiReportViewDetail.vue b/frontend/src/business/components/api/report/ApiReportViewDetail.vue new file mode 100644 index 0000000000..af287ffeac --- /dev/null +++ b/frontend/src/business/components/api/report/ApiReportViewDetail.vue @@ -0,0 +1,222 @@ + + + + + + diff --git a/frontend/src/business/components/api/report/ApiReportViewHeader.vue b/frontend/src/business/components/api/report/ApiReportViewHeader.vue new file mode 100644 index 0000000000..faddf00722 --- /dev/null +++ b/frontend/src/business/components/api/report/ApiReportViewHeader.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/frontend/src/business/components/track/plan/view/comonents/TestPlanTestCaseEdit.vue b/frontend/src/business/components/track/plan/view/comonents/TestPlanTestCaseEdit.vue index 550f1deb29..f9c8082d53 100644 --- a/frontend/src/business/components/track/plan/view/comonents/TestPlanTestCaseEdit.vue +++ b/frontend/src/business/components/track/plan/view/comonents/TestPlanTestCaseEdit.vue @@ -449,6 +449,7 @@ testRun(reportId) { this.testCase.reportId = reportId; this.saveReport(reportId); + this.activeTab = 'result'; }, testTabChange(data) { if (this.testCase.type == 'performance' && data.paneName == 'result') { diff --git a/frontend/src/business/components/track/plan/view/comonents/test/ApiTestDetail.vue b/frontend/src/business/components/track/plan/view/comonents/test/ApiTestDetail.vue index 10f7b30e93..73dbe99f39 100644 --- a/frontend/src/business/components/track/plan/view/comonents/test/ApiTestDetail.vue +++ b/frontend/src/business/components/track/plan/view/comonents/test/ApiTestDetail.vue @@ -16,7 +16,7 @@ - + diff --git a/frontend/src/business/components/track/plan/view/comonents/test/ApiTestResult.vue b/frontend/src/business/components/track/plan/view/comonents/test/ApiTestResult.vue index a9ea83c46a..d5ac28aa8a 100644 --- a/frontend/src/business/components/track/plan/view/comonents/test/ApiTestResult.vue +++ b/frontend/src/business/components/track/plan/view/comonents/test/ApiTestResult.vue @@ -1,136 +1,22 @@ From fd03ecc57bba53aef98c4e1452eacc24fb48af69 Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Sun, 27 Sep 2020 09:50:34 +0800 Subject: [PATCH 13/17] =?UTF-8?q?fix:=20=E6=B5=8B=E8=AF=95=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E6=8A=A5=E5=91=8A=E5=AF=BC=E5=87=BA=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../track/plan/view/comonents/report/TestCaseReportView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/business/components/track/plan/view/comonents/report/TestCaseReportView.vue b/frontend/src/business/components/track/plan/view/comonents/report/TestCaseReportView.vue index d3723b12e2..e1bd5d3cd3 100644 --- a/frontend/src/business/components/track/plan/view/comonents/report/TestCaseReportView.vue +++ b/frontend/src/business/components/track/plan/view/comonents/report/TestCaseReportView.vue @@ -36,12 +36,12 @@
-
+
From 23867d8a390b6c127be17ef5d23251e24376dae5 Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Sun, 27 Sep 2020 10:43:13 +0800 Subject: [PATCH 14/17] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95)?= =?UTF-8?q?:=20python=20=E5=90=8E=E7=BD=AE=E5=A4=84=E7=90=86=E5=99=A8?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E5=8E=BB=E6=8E=89=E5=88=86=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/test/components/processor/Jsr233Processor.vue | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/frontend/src/business/components/api/test/components/processor/Jsr233Processor.vue b/frontend/src/business/components/api/test/components/processor/Jsr233Processor.vue index 08d97579e0..3991e120fc 100644 --- a/frontend/src/business/components/api/test/components/processor/Jsr233Processor.vue +++ b/frontend/src/business/components/api/test/components/processor/Jsr233Processor.vue @@ -34,7 +34,7 @@ codeTemplates: [ { title: this.$t('api_test.request.processor.code_template_get_variable'), - value: 'vars.get("variable_name");', + value: 'vars.get("variable_name")', }, { title: this.$t('api_test.request.processor.code_template_set_variable'), @@ -42,17 +42,17 @@ }, { title: this.$t('api_test.request.processor.code_template_get_response_header'), - value: 'prev.getResponseHeaders();', + value: 'prev.getResponseHeaders()', disabled: this.isPreProcessor }, { title: this.$t('api_test.request.processor.code_template_get_response_code'), - value: 'prev.getResponseCode();', + value: 'prev.getResponseCode()', disabled: this.isPreProcessor }, { title: this.$t('api_test.request.processor.code_template_get_response_result'), - value: 'prev.getResponseDataAsString();', + value: 'prev.getResponseDataAsString()', disabled: this.isPreProcessor } ], @@ -93,6 +93,9 @@ this.jsr223Processor.script = ""; } this.jsr223Processor.script += template.value; + if (this.jsr223Processor.language === 'beanshell') { + this.jsr223Processor.script += ';'; + } this.reload(); }, reload() { From 7addde0db258cdcd3fe24e1949591517cdcb7060 Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Sun, 27 Sep 2020 11:01:39 +0800 Subject: [PATCH 15/17] =?UTF-8?q?fix(=E6=B5=8B=E8=AF=95=E8=B7=9F=E8=B8=AA)?= =?UTF-8?q?:=20=E5=AF=BC=E5=87=BA=E6=8A=A5=E6=96=87=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../track/plan/view/comonents/TestCaseReportExport.vue | 2 +- frontend/src/common/js/utils.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/business/components/track/plan/view/comonents/TestCaseReportExport.vue b/frontend/src/business/components/track/plan/view/comonents/TestCaseReportExport.vue index 6f0090c645..b2b88dac63 100644 --- a/frontend/src/business/components/track/plan/view/comonents/TestCaseReportExport.vue +++ b/frontend/src/business/components/track/plan/view/comonents/TestCaseReportExport.vue @@ -1,5 +1,5 @@