Я создал тестовый шаг в soapui. Мне нужно установить длительную задержку, как за 5 минут. Я имею в виду, что между этапами тестирования нет задержки, я должен ждать ответа только на один шаг. Как мне это сделать?
Как установить таймаут для одного тестового шага в soapui?
Ответ 1
Установите тайм-аут Socket 30000 миллисекунд. Документация SoapUI
Ответ 2
Параметры TestCase имеют параметр таймаута Socket для этого теста. Вы не можете установить это только на один шаг.
Ответ 3
Как и другие ответы, невозможно установить тайм-аут сокета для 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
(очевидно, чтобы проверить его, не резервировать исходное значение снова как в образце :)
).
Ответ 4
Я нашел способ установить тайм-аут сокета testCase.
В сценарии установки testCase используйте следующий код:
testRunner.testCase.settings.setString("[email protected]_timeout","10000")
Это значение будет зависеть от всех шагов внутри testCase.
Глобальное значение SOCKET_TIMEOUT не зависит от этого.