Как установить таймаут для одного тестового шага в soapui?

Я создал тестовый шаг в soapui. Мне нужно установить длительную задержку, как за 5 минут. Я имею в виду, что между этапами тестирования нет задержки, я должен ждать ответа только на один шаг. Как мне это сделать?

Ответ 2

Параметры TestCase имеют параметр таймаута Socket для этого теста. Вы не можете установить это только на один шаг.

Ответ 3

Как и другие ответы, невозможно установить тайм-аут сокета для TestStep, однако вы можете сделать трюк с помощью TestStep и groovy TestStep. Вы можете сделать это, выполнив следующие шаги:

  1. Создайте TestStep внутри TestCase и отключите его, потому что вы запустите его из groovy.
  2. Создайте 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 будет выглядеть так:

enter image description here

Обратите внимание: если вы хотите проверить, не изменились ли настройки изменения с помощью groovy как вы ожидали, вы можете попробовать изменить свойства и проверить, не SOAPUI файл SOAPUI предпочтений в $USER_HOME\soapui-settings.xml (очевидно, чтобы проверить его, не резервировать исходное значение снова как в образце :)).

Ответ 4

Я нашел способ установить тайм-аут сокета testCase.

В сценарии установки testCase используйте следующий код:

testRunner.testCase.settings.setString("[email protected]_timeout","10000")

Это значение будет зависеть от всех шагов внутри testCase.

Глобальное значение SOCKET_TIMEOUT не зависит от этого.