Merge branch 'v1.4'

This commit is contained in:
chenjianxing 2020-11-03 17:34:13 +08:00
commit db65773cb0
4 changed files with 36 additions and 28 deletions

View File

@ -1,2 +1,2 @@
alter table message_task ALTER TABLE message_task
add create_time bigint(13) null; ADD create_time bigint(13) DEFAULT 0;

View File

@ -18,7 +18,7 @@
export default { export default {
name: "MsApiRequestForm", name: "MsApiRequestForm",
components: {MsApiSqlRequestForm, MsRequestResultTail, MsScenarioResults, MsApiDubboRequestForm, MsApiHttpRequestForm}, components: {MsApiSqlRequestForm, MsRequestResultTail, MsScenarioResults, MsApiDubboRequestForm, MsApiHttpRequestForm, MsApiTcpRequestForm},
props: { props: {
scenario: Scenario, scenario: Scenario,
request: Request, request: Request,

View File

@ -1020,7 +1020,8 @@ class JMXHttpRequest {
this.domain = environment.config.httpConfig.domain; this.domain = environment.config.httpConfig.domain;
this.port = environment.config.httpConfig.port; this.port = environment.config.httpConfig.port;
this.protocol = environment.config.httpConfig.protocol; this.protocol = environment.config.httpConfig.protocol;
let envPath = environment.config.httpConfig.protocol + "://" + environment.config.httpConfig.socket; let url = new URL(environment.config.httpConfig.protocol + "://" + environment.config.httpConfig.socket);
let envPath = url.pathname === '/' ? '' : url.pathname;
this.path = this.getPostQueryParameters(request, decodeURIComponent(envPath + (request.path ? request.path : ''))); this.path = this.getPostQueryParameters(request, decodeURIComponent(envPath + (request.path ? request.path : '')));
} }
this.connectTimeout = request.connectTimeout; this.connectTimeout = request.connectTimeout;
@ -1158,17 +1159,18 @@ class JMXGenerator {
sampler = new DubboSample(request.name || "", new JMXDubboRequest(request, scenario.dubboConfig)); sampler = new DubboSample(request.name || "", new JMXDubboRequest(request, scenario.dubboConfig));
} else if (request instanceof HttpRequest) { } else if (request instanceof HttpRequest) {
sampler = new HTTPSamplerProxy(request.name || "", new JMXHttpRequest(request, scenario.environment)); sampler = new HTTPSamplerProxy(request.name || "", new JMXHttpRequest(request, scenario.environment));
this.addRequestHeader(sampler, request); this.addRequestHeader(sampler, request, scenario);
this.addRequestArguments(sampler, request); this.addRequestArguments(sampler, request);
this.addRequestBody(sampler, request, testId); this.addRequestBody(sampler, request, testId);
} else if (request instanceof SqlRequest) { } else if (request instanceof SqlRequest) {
request.dataSource = scenario.databaseConfigMap.get(request.dataSource); request.dataSource = scenario.databaseConfigMap.get(request.dataSource);
sampler = new JDBCSampler(request.name || "", request); sampler = new JDBCSampler(request.name || "", request);
this.addRequestVariables(sampler, request);
} else if (request instanceof TCPRequest) { } else if (request instanceof TCPRequest) {
sampler = new TCPSampler(request.name || "", new JMXTCPRequest(request, scenario)); sampler = new TCPSampler(request.name || "", new JMXTCPRequest(request, scenario));
} }
this.addRequestVariables(sampler, request, scenario);
this.addDNSCacheManager(sampler, scenario.environment, request.useEnvironment); this.addDNSCacheManager(sampler, scenario.environment, request.useEnvironment);
this.addRequestExtractor(sampler, request); this.addRequestExtractor(sampler, request);
@ -1205,20 +1207,13 @@ class JMXGenerator {
envArray = JSON.parse(environments); envArray = JSON.parse(environments);
} }
envArray.forEach(item => { envArray.forEach(item => {
if (item.name && !keys.has(item.name)) { if (item.enable != false && item.name && !keys.has(item.name)) {
target.push(new KeyValue({name: item.name, value: item.value})); target.push(new KeyValue({name: item.name, value: item.value}));
} }
}) })
} }
addScenarioVariables(threadGroup, scenario) { addScenarioVariables(threadGroup, scenario) {
if (scenario.environment) {
let config = scenario.environment.config;
if (!(scenario.environment.config instanceof Object)) {
config = JSON.parse(scenario.environment.config);
}
this.addEnvironments(config.commonConfig.variables, scenario.variables)
}
let args = this.filterKV(scenario.variables); let args = this.filterKV(scenario.variables);
if (args.length > 0) { if (args.length > 0) {
let name = scenario.name + " Variables"; let name = scenario.name + " Variables";
@ -1226,13 +1221,25 @@ class JMXGenerator {
} }
} }
addRequestVariables(httpSamplerProxy, request) { addRequestVariables(httpSamplerProxy, request, scenario) {
if (request.useEnvironment && scenario.environment) {
let config = scenario.environment.config;
if (!(scenario.environment.config instanceof Object)) {
config = JSON.parse(scenario.environment.config);
}
if (!request.variables) {
request.variables = [];
}
this.addEnvironments(config.commonConfig.variables, request.variables)
}
let name = request.name + " Variables"; let name = request.name + " Variables";
if (request.variables) {
let variables = this.filterKV(request.variables); let variables = this.filterKV(request.variables);
if (variables && variables.length > 0) { if (variables && variables.length > 0) {
httpSamplerProxy.put(new Arguments(name, variables)); httpSamplerProxy.put(new Arguments(name, variables));
} }
} }
}
addScenarioCookieManager(threadGroup, scenario) { addScenarioCookieManager(threadGroup, scenario) {
if (scenario.enableCookieShare) { if (scenario.enableCookieShare) {
@ -1291,13 +1298,6 @@ class JMXGenerator {
} }
addScenarioHeaders(threadGroup, scenario) { addScenarioHeaders(threadGroup, scenario) {
if (scenario.environment) {
let config = scenario.environment.config;
if (!(scenario.environment.config instanceof Object)) {
config = JSON.parse(scenario.environment.config);
}
this.addEnvironments(config.httpConfig.headers, scenario.headers)
}
let headers = this.filterKV(scenario.headers); let headers = this.filterKV(scenario.headers);
if (headers.length > 0) { if (headers.length > 0) {
let name = scenario.name + " Headers"; let name = scenario.name + " Headers";
@ -1305,7 +1305,14 @@ class JMXGenerator {
} }
} }
addRequestHeader(httpSamplerProxy, request) { addRequestHeader(httpSamplerProxy, request, scenario) {
if (request.useEnvironment && scenario.environment) {
let config = scenario.environment.config;
if (!(scenario.environment.config instanceof Object)) {
config = JSON.parse(scenario.environment.config);
}
this.addEnvironments(config.httpConfig.headers, request.headers)
}
let name = request.name + " Headers"; let name = request.name + " Headers";
this.addBodyFormat(request); this.addBodyFormat(request);
let headers = this.filterKV(request.headers); let headers = this.filterKV(request.headers);
@ -1410,11 +1417,11 @@ class JMXGenerator {
body = this.filterKV(request.body.kvs); body = this.filterKV(request.body.kvs);
this.addRequestBodyFile(httpSamplerProxy, request, testId); this.addRequestBodyFile(httpSamplerProxy, request, testId);
} else { } else {
httpSamplerProxy.boolProp('HTTPSampler.postBodyRaw', true);
body.push({name: '', value: request.body.raw, encode: false, enable: true}); body.push({name: '', value: request.body.raw, encode: false, enable: true});
} }
if (request.method !== 'GET') { if (request.method !== 'GET') {
httpSamplerProxy.boolProp('HTTPSampler.postBodyRaw', true);
httpSamplerProxy.add(new HTTPSamplerArguments(body)); httpSamplerProxy.add(new HTTPSamplerArguments(body));
} }
} }

View File

@ -286,12 +286,13 @@
}, },
getProject() { getProject() {
if (this.planId) { if (this.planId) {
this.$post("/test/plan/project/", {planId: this.planId}, res => { this.result = this.$post("/test/plan/project/", {planId: this.planId}, res => {
let data = res.data; let data = res.data;
if (data) { if (data) {
this.projects = data; this.projects = data;
this.projectId = data[0].id; this.projectId = data[0].id;
this.projectName = data[0].name; this.projectName = data[0].name;
this.search();
} }
}) })
} }