feat(接口测试): 后置操作添加等待时间
--story=1017718 --user=陈建星 接口测试后置操作增加“等待时间” https://www.tapd.cn/55049933/s/1656430
This commit is contained in:
parent
4016efbdb8
commit
422e20e992
|
@ -30,7 +30,7 @@ public class MsProcessorConverterFactory {
|
|||
|
||||
postConverterMap.put(ScriptProcessor.class, new ScriptPostProcessorConverter());
|
||||
postConverterMap.put(SQLProcessor.class, new SqlPostProcessorConverter());
|
||||
postConverterMap.put(TimeWaitingProcessor.class, new TimeWaitingProcessorConverter());
|
||||
postConverterMap.put(TimeWaitingProcessor.class, new TimeWaitingPostProcessorConverter());
|
||||
postConverterMap.put(ExtractPostProcessor.class, new ExtractPostProcessorConverter());
|
||||
postConverterMap.put(EnvRequestScriptProcessor.class, new ScriptPostProcessorConverter());
|
||||
postConverterMap.put(EnvScenarioScriptProcessor.class, new ScenarioScriptProcessorConverter());
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
package io.metersphere.api.parser.jmeter.processor;
|
||||
|
||||
import io.metersphere.plugin.api.dto.ParameterConfig;
|
||||
import io.metersphere.project.api.processor.ScriptProcessor;
|
||||
import io.metersphere.project.api.processor.TimeWaitingProcessor;
|
||||
import io.metersphere.project.constants.ScriptLanguageType;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.jmeter.extractor.JSR223PostProcessor;
|
||||
import org.apache.jmeter.testelement.TestElement;
|
||||
import org.apache.jorphan.collections.HashTree;
|
||||
|
||||
|
||||
/**
|
||||
* @Author: jianxing
|
||||
* @CreateTime: 2023-12-26 14:49
|
||||
*/
|
||||
public class TimeWaitingPostProcessorConverter extends MsProcessorConverter<TimeWaitingProcessor> {
|
||||
@Override
|
||||
public void parse(HashTree hashTree, TimeWaitingProcessor timeWaitingProcessor, ParameterConfig config) {
|
||||
if (!needParse(timeWaitingProcessor, config)) {
|
||||
return;
|
||||
}
|
||||
TestElement processor = new JSR223PostProcessor();
|
||||
|
||||
ScriptProcessor scriptProcessor = new ScriptProcessor();
|
||||
String name = StringUtils.isBlank(timeWaitingProcessor.getName()) ?
|
||||
(timeWaitingProcessor.getDelay() + " ms") : timeWaitingProcessor.getName();
|
||||
scriptProcessor.setName(name);
|
||||
scriptProcessor.setScriptLanguage(ScriptLanguageType.BEANSHELL_JSR233.name());
|
||||
scriptProcessor.setScript(String.format("""
|
||||
try {
|
||||
Thread.sleep(%s);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
""", timeWaitingProcessor.getDelay()));
|
||||
ScriptProcessorConverter.parse(processor, scriptProcessor, config);
|
||||
|
||||
hashTree.add(processor);
|
||||
}
|
||||
|
||||
protected boolean needParse(TimeWaitingProcessor timeWaitingProcessor, ParameterConfig config) {
|
||||
if (timeWaitingProcessor.getDelay() != null && timeWaitingProcessor.getDelay() > 0) {
|
||||
return true;
|
||||
}
|
||||
return super.needParse(timeWaitingProcessor, config);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue