Ответ 1
Установите тайм-аут Socket 30000 миллисекунд. Документация SoapUI
Я создал тестовый шаг в soapui. Мне нужно установить длительную задержку, как за 5 минут. Я имею в виду, что между этапами тестирования нет задержки, я должен ждать ответа только на один шаг. Как мне это сделать?
Установите тайм-аут Socket 30000 миллисекунд. Документация SoapUI
Параметры TestCase имеют параметр таймаута Socket для этого теста. Вы не можете установить это только на один шаг.
Как и другие ответы, невозможно установить тайм-аут сокета для TestStep
, однако вы можете сделать трюк с помощью TestStep
и groovy TestStep
. Вы можете сделать это, выполнив следующие шаги:
TestStep
внутри TestCase
и отключите его, потому что вы запустите его из groovy.Groovy testStep
который изменит время ожидания глобального сокета перед запуском testStep
и снова установит значение по умолчанию после выполнения, используя класс com.eviware.soapui.SoapUI
. groovy
код можно использовать, показанное ниже:
import com.eviware.soapui.SoapUI
import com.eviware.soapui.settings.HttpSettings
import com.eviware.soapui.model.testsuite.TestStepResult.TestStepStatus
// get the settings
def settings = SoapUI.getSettings();
// save the possible previous timeout
def bk_timeout = settings.getString(HttpSettings.SOCKET_TIMEOUT,"");
// set the new timeout... in your case 5 minutes in miliseconds
settings.setString(HttpSettings.SOCKET_TIMEOUT,"300000");
// save the new settings
SoapUI.saveSettings();
// get the testStep by name
def testStep = testRunner.testCase.getTestStepByName('Test Request')
// run it
def result = testStep.run( testRunner, context )
if( result.status == TestStepStatus.OK )
{
// ... if all ok
}
// when finish set the timeout to default value again
settings.setString(HttpSettings.SOCKET_TIMEOUT, bk_timeout)
SoapUI.saveSettings()
Ваш testCase будет выглядеть так:
Обратите внимание: если вы хотите проверить, не изменились ли настройки изменения с помощью groovy
как вы ожидали, вы можете попробовать изменить свойства и проверить, не SOAPUI
файл SOAPUI
предпочтений в $USER_HOME\soapui-settings.xml
(очевидно, чтобы проверить его, не резервировать исходное значение снова как в образце :)
).
Я нашел способ установить тайм-аут сокета testCase.
В сценарии установки testCase используйте следующий код:
testRunner.testCase.settings.setString("[email protected]_timeout","10000")
Это значение будет зависеть от всех шагов внутри testCase.
Глобальное значение SOCKET_TIMEOUT не зависит от этого.