SoapUI java API,带有长值的TestCase.setPropertyValue操作会阻塞java程序
我正在使用SOAPUIAPI版本5.5.0从java测试程序执行SoapUI测试。我希望将服务端点传递给测试,并传递更改SoapUI测试用例属性的输入参数。 这是对my pom.xml的依赖:SoapUI java API,带有长值的TestCase.setPropertyValue操作会阻塞java程序,java,soapui,Java,Soapui,我正在使用SOAPUIAPI版本5.5.0从java测试程序执行SoapUI测试。我希望将服务端点传递给测试,并传递更改SoapUI测试用例属性的输入参数。 这是对my pom.xml的依赖: <dependencies> <dependency> <groupId>com.smartbear.soapui</groupId> <artifactId>soapui-maven-plugin&l
<dependencies>
<dependency>
<groupId>com.smartbear.soapui</groupId>
<artifactId>soapui-maven-plugin</artifactId>
<version>5.5.0</version>
</dependency>
com.smartbear.soapui
soapui maven插件
5.5.0
当我对一个参数使用长值时,程序在执行时被阻塞
import com.eviware.soapui.SoapUI;
import com.eviware.soapui.StandaloneSoapUICore;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.model.support.PropertiesMap;
import com.eviware.soapui.model.testsuite.*;
private static void PutTestCaseProperties(TestCase testCase){
// Get keys of all properties of this TC
Map <String, TestProperty> propertiesTC = testCase.getProperties();
List<String> lKeys = new ArrayList<String>();
for(Map.Entry<String, TestProperty> entry : propertiesTC.entrySet()) {
lKeys.add(entry.getKey());
}
for(String keyTC : lKeys) {
String keyValue = "pppppp ppppppppppppppppppppppppppppppppppppppp ppppppppppppppppppppppppppppp ppppppppppppppppp ppppppppppppppppppppppppppppp pppp pppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppp ppppppppppppppppppppppp ppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppp ppppppppppppppppppppppppppppppppppppppppppppp";
//String keyValue = "short";
testCase.setPropertyValue(keyTC, keyValue);
}
导入com.eviware.soapui.soapui;
导入com.eviware.soapui.StandaloneSoapUICore;
导入com.eviware.soapui.impl.wsdl.WsdlProject;
导入com.eviware.soapui.model.support.PropertiesMap;
导入com.eviware.soapui.model.testsuite.*;
私有静态void PutTestCaseProperties(TestCase TestCase){
//获取此TC的所有属性的密钥
Map propertiesTC=testCase.getProperties();
List lKeys=new ArrayList();
对于(Map.Entry:propertiesTC.entrySet()){
添加(entry.getKey());
}
用于(字符串键:lKeys){
字符串键值="pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp;
//字符串keyValue=“short”;
setPropertyValue(keyTC,keyValue);
}
}
如果我对键使用“short”值,SoapUI测试将完全执行,
但是,如果我使用long值,那么程序将在此之后被阻止
soapUI测试用例的自定义属性有长度限制吗?我想使用这些参数来编写整个XML文件(都构建在文本行中)。
soapUI程序允许从外部文件加载测试用例的自定义属性。也可以从soapUI java API加载吗?我找到了以下解决方案: 基于,我可以加载长参数而不会出错。只有在groovy中使用以下变体,才能使用属性文件,该文件的路径由我使用测试用例的参数配置(我使用SoapUI API从Java代码中配置此参数):
def props = new Properties()
//replace the path with your file name below. use / instead of \ as path separator even on windows platform.
new File(context.expand('${#TestCase#propertiesFile}')).withInputStream { s ->
props.load(s)
}
props.each {
context.testCase.setPropertyValue(it.key, it.value)
}