Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
ec55678e62
|
@ -227,12 +227,7 @@ public class APIBackendListenerClient extends AbstractBackendListenerClient impl
|
|||
LogUtil.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
try {
|
||||
sendTask(report, reportUrl, testResult);
|
||||
} catch (Exception e) {
|
||||
LogUtil.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void sendTask(ApiTestReport report, String reportUrl, TestResult testResult) {
|
||||
|
|
|
@ -20,10 +20,13 @@ public class MailNoticeSender extends AbstractNoticeSender {
|
|||
private MailService mailService;
|
||||
|
||||
private void sendMail(MessageDetail messageDetail, String context, NoticeModel noticeModel) throws MessagingException {
|
||||
LogUtil.info("发送邮件开始 ");
|
||||
JavaMailSenderImpl javaMailSender = mailService.getMailSender();
|
||||
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
|
||||
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
|
||||
helper.setFrom(javaMailSender.getUsername());
|
||||
LogUtil.info("发件人地址"+javaMailSender.getUsername());
|
||||
LogUtil.info("helper"+helper);
|
||||
helper.setSubject("MeterSphere " + noticeModel.getSubject());
|
||||
List<String> emails = super.getUserEmails(messageDetail.getUserIds());
|
||||
String[] users = emails.toArray(new String[0]);
|
||||
|
@ -38,6 +41,7 @@ public class MailNoticeSender extends AbstractNoticeSender {
|
|||
String context = super.getHtmlContext(messageDetail, noticeModel);
|
||||
try {
|
||||
sendMail(messageDetail, context, noticeModel);
|
||||
LogUtil.info("发送邮件结束");
|
||||
} catch (Exception e) {
|
||||
LogUtil.error(e);
|
||||
}
|
||||
|
|
|
@ -286,8 +286,7 @@
|
|||
},
|
||||
response: {}
|
||||
}
|
||||
}
|
||||
,
|
||||
},
|
||||
created() {
|
||||
if (!this.currentScenario.apiScenarioModuleId) {
|
||||
this.currentScenario.apiScenarioModuleId = "";
|
||||
|
@ -857,6 +856,9 @@
|
|||
if (this.currentScenario.tags != undefined && !(this.currentScenario.tags instanceof Array)) {
|
||||
this.currentScenario.tags = JSON.parse(this.currentScenario.tags);
|
||||
}
|
||||
if (!this.currentScenario.variables) {
|
||||
this.currentScenario.variables = [];
|
||||
}
|
||||
if (this.currentScenario.id) {
|
||||
this.result = this.$get("/api/automation/getApiScenario/" + this.currentScenario.id, response => {
|
||||
if (response.data) {
|
||||
|
@ -1044,7 +1046,7 @@
|
|||
|
||||
.ms-tree >>> .el-icon-caret-right:before {
|
||||
content: '\e723';
|
||||
font-size: 18px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.ms-tree >>> .el-tree-node__expand-icon.is-leaf {
|
||||
|
@ -1058,6 +1060,6 @@
|
|||
.ms-tree >>> .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
|
||||
color: #7C3985;
|
||||
content: "\e722";
|
||||
font-size: 18px;
|
||||
font-size: 20px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -37,15 +37,17 @@
|
|||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header">
|
||||
<el-collapse-transition>
|
||||
<div v-if="data.active && showCollapse" :draggable="draggable">
|
||||
<fieldset :disabled="data.disabled" class="ms-fieldset">
|
||||
<el-divider></el-divider>
|
||||
<slot></slot>
|
||||
</fieldset>
|
||||
</div>
|
||||
</el-collapse-transition>
|
||||
</div>
|
||||
|
||||
<el-collapse-transition>
|
||||
<div v-if="data.active && showCollapse" :draggable="draggable">
|
||||
<fieldset :disabled="data.disabled" style="border: 0px">
|
||||
<el-divider></el-divider>
|
||||
<slot></slot>
|
||||
</fieldset>
|
||||
</div>
|
||||
</el-collapse-transition>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
|
@ -148,5 +150,12 @@
|
|||
.enable-switch {
|
||||
margin-right: 10px;
|
||||
}
|
||||
fieldset {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
min-width: 100%;
|
||||
min-inline-size: 0px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
|
@ -76,18 +76,20 @@
|
|||
</el-select>
|
||||
<el-input size="small" v-model="controller.whileController.value" :placeholder="$t('api_test.value')" v-if="!hasEmptyOperator" style="width: 20%;margin-left: 20px"/>
|
||||
<span class="ms-span ms-radio">{{$t('loop.timeout')}}</span>
|
||||
<el-input-number size="small" v-model="controller.whileController.timeout" :placeholder="$t('commons.millisecond')" :max="1000*10000000" :min="1" :step="1000"/>
|
||||
<el-input-number size="small" v-model="controller.whileController.timeout" :placeholder="$t('commons.millisecond')" :max="1000*10000000" :min="3000" :step="1000"/>
|
||||
<span class="ms-span ms-radio">ms</span>
|
||||
</div>
|
||||
|
||||
<p class="tip">{{$t('api_test.definition.request.res_param')}} </p>
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane :label="item.name" :name="item.name" v-for="(item,index) in requestResult.scenarios" :key="index">
|
||||
<div v-for="(result,i) in item.requestResults" :key="i" style="margin-bottom: 5px">
|
||||
<api-response-component :result="result"/>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<div>
|
||||
<el-tabs v-model="activeName" closable class="ms-tabs">
|
||||
<el-tab-pane :label="item.name" :name="item.name" v-for="(item,index) in requestResult.scenarios" :key="index">
|
||||
<div v-for="(result,i) in item.requestResults" :key="i" style="margin-bottom: 5px">
|
||||
<api-response-component :result="result"/>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
</div>
|
||||
|
||||
</api-base-component>
|
||||
|
||||
|
@ -331,6 +333,11 @@
|
|||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.ms-tabs >>> .el-icon-close:before {
|
||||
content: "";
|
||||
|
||||
}
|
||||
|
||||
.icon.is-active {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
|
|
@ -30,6 +30,11 @@
|
|||
this.$refs.nameInput.focus();
|
||||
});
|
||||
},
|
||||
watch: {
|
||||
editData() {
|
||||
this.$refs.nameInput.focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
Loading…
Reference in New Issue