SoapUI java API,带有长值的TestCase.setPropertyValue操作会阻塞java程序

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

我正在使用SOAPUIAPI版本5.5.0从java测试程序执行SoapUI测试。我希望将服务端点传递给测试,并传递更改SoapUI测试用例属性的输入参数。 这是对my pom.xml的依赖:

  <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)
}