diff --git a/framework/sdk-parent/frontend/src/components/environment/EnvironmentHttpConfig.vue b/framework/sdk-parent/frontend/src/components/environment/EnvironmentHttpConfig.vue
index a1596704c6..d1b6f0918d 100644
--- a/framework/sdk-parent/frontend/src/components/environment/EnvironmentHttpConfig.vue
+++ b/framework/sdk-parent/frontend/src/components/environment/EnvironmentHttpConfig.vue
@@ -45,11 +45,57 @@
-
{{ $t('api_test.request.headers') }}
-
- {{ $t("commons.batch_add") }}
-
-
+
+
+ {{ $t('api_test.request.headers') }}
+
+ {{
+ $t("commons.batch_add")
+ }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t("ui.browser") }}
+
+
+
+
+
+
+
+
+ {{ $t("ui.performance_mode") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('commons.add') }}
@@ -121,10 +167,12 @@ import {getUUID} from "../../utils";
import {KeyValue} from "../../model/EnvTestModel";
import Vue from "vue";
import BatchAddParameter from "./commons/BatchAddParameter";
+import FormSection from "metersphere-frontend/src/components/form/FormSection";
+import MsInstructionsIcon from 'metersphere-frontend/src/components/MsInstructionsIcon';
export default {
name: "MsEnvironmentHttpConfig",
- components: {MsApiKeyValue, MsSelectTree, MsTableOperatorButton, BatchAddParameter},
+ components: {MsApiKeyValue, MsSelectTree, MsTableOperatorButton, BatchAddParameter, FormSection, MsInstructionsIcon},
props: {
httpConfig: new HttpConfig(),
projectId: String,
@@ -165,9 +213,21 @@ export default {
socket: "",
domain: "",
port: 0,
- headers: [new KeyValue()]
+ headers: [new KeyValue()],
+ headlessEnabled: true,
+ browser: 'CHROME'
},
- beforeCondition: {}
+ beforeCondition: {},
+ browsers: [
+ {
+ label: this.$t("chrome"),
+ value: "CHROME",
+ },
+ {
+ label: this.$t("firefox"),
+ value: "FIREFOX",
+ },
+ ],
};
},
watch: {
@@ -289,7 +349,7 @@ export default {
list() {
if (this.projectId) {
this.result = getApiModuleByProjectIdAndProtocol(this.projectId, "HTTP").then((response) => {
- if (response.data && response.data !== null) {
+ if (response.data && response.data !== null) {
this.moduleOptions = response.data;
}
});
diff --git a/framework/sdk-parent/frontend/src/components/environment/commons/ApiScenarioVariables.vue b/framework/sdk-parent/frontend/src/components/environment/commons/ApiScenarioVariables.vue
index 91a9ded583..9c1799bbb6 100644
--- a/framework/sdk-parent/frontend/src/components/environment/commons/ApiScenarioVariables.vue
+++ b/framework/sdk-parent/frontend/src/components/environment/commons/ApiScenarioVariables.vue
@@ -18,12 +18,18 @@
:content="$t('commons.import')"
@click="importJSON"
/>
-
+
+
+
+ {{ $t('envrionment.export_variable_tip') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -128,14 +173,14 @@
sortable
>
-
+
-
+
-
+
diff --git a/test-track/frontend/src/business/plan/view/comonents/ui/TestCaseUiScenarioRelevance.vue b/test-track/frontend/src/business/plan/view/comonents/ui/TestCaseUiScenarioRelevance.vue
index a657c7dcfd..bcb611d342 100644
--- a/test-track/frontend/src/business/plan/view/comonents/ui/TestCaseUiScenarioRelevance.vue
+++ b/test-track/frontend/src/business/plan/view/comonents/ui/TestCaseUiScenarioRelevance.vue
@@ -148,6 +148,10 @@ export default {
let map = this.$refs.apiScenarioList.map;
let envGroupId = this.$refs.apiScenarioList.envGroupId;
+ if (!envMap || envMap.size == 0) {
+ this.$warning(this.$t('api_test.environment.select_environment'));
+ return;
+ }
selectRows.forEach(row => {
selectIds.push(row.id);
})
@@ -179,8 +183,6 @@ export default {
this.autoCheckStatus();
this.$refs.baseRelevance.close();
});
-
-
},
autoCheckStatus() { // 检查执行结果,自动更新计划状态
if (!this.planId) {
diff --git a/test-track/frontend/src/business/plan/view/comonents/ui/TestPlanUiScenarioList.vue b/test-track/frontend/src/business/plan/view/comonents/ui/TestPlanUiScenarioList.vue
index 706ae3fad2..a01391b7d1 100644
--- a/test-track/frontend/src/business/plan/view/comonents/ui/TestPlanUiScenarioList.vue
+++ b/test-track/frontend/src/business/plan/view/comonents/ui/TestPlanUiScenarioList.vue
@@ -147,7 +147,8 @@
:filters="apiscenariofilters.RESULT_FILTERS"
:label="$t('api_test.automation.last_result')">
-
+
@@ -176,8 +177,8 @@
:select-row="this.$refs.table ? this.$refs.table.selectRows : new Set()" ref="batchEdit"
@batchEdit="batchEdit"/>
-
+
@@ -327,6 +328,8 @@ export default {
]
},
versionFilters: [],
+ //
+ conditionRequest: {}
}
},
computed: {
@@ -358,14 +361,14 @@ export default {
},
search() {
initCondition(this.condition, this.condition.selectAll);
- if(this.condition && this.condition.filters && this.condition.filters.last_result){
- if(this.condition.filters.last_result.length > 0){
+ if (this.condition && this.condition.filters && this.condition.filters.last_result) {
+ if (this.condition.filters.last_result.length > 0) {
//校验是否含有PENDING
- if(this.condition.filters.last_result.includes("PENDING")){
+ if (this.condition.filters.last_result.includes("PENDING")) {
this.condition.filters.last_result = [...this.condition.filters.last_result, "UnExecute"]
}
//校验是否含有ERROR
- if(this.condition.filters.last_result.includes("ERROR")){
+ if (this.condition.filters.last_result.includes("ERROR")) {
this.condition.filters.last_result = [...this.condition.filters.last_result, "FAIL"]
}
}
@@ -437,12 +440,19 @@ export default {
let rows = this.orderBySelectRows(this.$refs.table.selectRows);
this.planCaseIds = [];
rows.forEach(row => {
- this.planCaseIds.push(row.id);
+ this.planCaseIds.push(row.caseId);
})
+ this.conditionRequest.id = getUUID();
+ this.conditionRequest.ids = this.planCaseIds;
+ this.conditionRequest.projectId = this.projectId;
+ this.conditionRequest.condition = this.condition;
this.$refs.runMode.open();
},
orderBySelectRows(rows) {
- let selectIds = Array.from(rows).map(row => row.id);
+ let selectIds = this.$refs.table.selectIds;
+ if (rows) {
+ selectIds = Array.from(rows).map(row => row.id);
+ }
let array = [];
for (let i in this.tableData) {
if (selectIds.indexOf(this.tableData[i].id) !== -1) {
@@ -499,8 +509,8 @@ export default {
},
},
},
- this.$t("ui.view_config")
- ),
+ this.$t("ui.view_config")
+ ),
])
);
validate = false;
diff --git a/test-track/frontend/src/business/plan/view/comonents/ui/UiRunMode.vue b/test-track/frontend/src/business/plan/view/comonents/ui/UiRunMode.vue
index 5dc2c51dcc..3d56bbf3ed 100644
--- a/test-track/frontend/src/business/plan/view/comonents/ui/UiRunMode.vue
+++ b/test-track/frontend/src/business/plan/view/comonents/ui/UiRunMode.vue
@@ -7,6 +7,21 @@
:visible.sync="runModeVisible"
>
+
+
+
{{ $t("commons.environment") }}:
+
+
+
{{ $t("ui.browser") }}:
@@ -175,11 +190,13 @@
diff --git a/test-track/frontend/src/business/utils/track-table-header.js b/test-track/frontend/src/business/utils/track-table-header.js
index 7b33a4f927..85ed7af597 100644
--- a/test-track/frontend/src/business/utils/track-table-header.js
+++ b/test-track/frontend/src/business/utils/track-table-header.js
@@ -88,6 +88,7 @@ const TRACK_HEADER = {
{id: 'name', key: '2', label: 'api_test.automation.scenario_name'},
{id: 'versionId', key: 'd', label: 'commons.version'},
{id: 'level', key: '3', label: 'api_test.automation.case_level'},
+ {id: 'envs', key: '8', label: 'commons.environment'},
{id: 'tagNames', key: '4', label: 'api_test.automation.tag'},
{id: 'stepTotal', key: '7', label: 'api_test.automation.step'},
{id: 'passRate', key: '9', label: 'api_test.automation.passing_rate'},