Java-API SoapUI, операция TestCase.setPropertyValue с длинным значением блокирует Java-программу - PullRequest
0 голосов
/ 20 февраля 2019

Я использую SoapUI API версии 5.5.0 для выполнения тестов SoapUI из тестовой программы Java.Я хочу передать конечную точку службы для тестирования и входные параметры, изменяющие свойства тестового примера SoapUI.Это зависимость от моего pom.xml:

  <dependencies>
    <dependency>
        <groupId>com.smartbear.soapui</groupId>
        <artifactId>soapui-maven-plugin</artifactId>
        <version>5.5.0</version>
    </dependency>   

Программа блокируется во время выполнения, когда я использую длинное значение для одного параметра.

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

}

Если я использую «короткое» значение для ключей, тест SoapUI полностью выполняется, но если я использую длинное значение, программа блокируется после этого.

Существует ли ограничение по длине в пользовательских свойствах тестового примера soapUI?Я хотел бы использовать параметры для записи целых файлов XML (все встроенные в текстовую строку).Программа soapUI позволяет загружать пользовательские свойства тестового примера из внешнего файла.Возможно ли это сделать из Java-API soapUI?

1 Ответ

0 голосов
/ 21 февраля 2019

Я нашел следующее решение:

На основании этого ответа Я могу загрузить длинные параметры без ошибок.Только со следующим вариантом в моем groovy использовать файл свойств, путь которого я настраиваю с помощью параметра Test Case (и я настраиваю этот параметр из своего кода Java с помощью API SoapUI):

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