Konfigurationsdatei für den SoapUI Testrunner

soapUI_Settings_GUIBeim Testen der Schnittstelle von großen Kundenprojekten kann es passieren, dass SoapUI einen Timeout bekommt, wenn der vorgesehene Socket Timeout von 60 Sekunden nicht ausreicht um die Anfrage abzuarbeiten. In unserem Fall liegt das schlicht daran, dass die VM für die Tests nicht so performant ist wie das Produktivsystem.

In der GUI von SoapUI ist der Timeout unter File->Preferences->HTTP Settings schnell geändert. Beim Testrunner für die Kommandozeile ist es leider nicht ganz so intuitiv. Zudem sind Informationen zu diesem Thema nur schwer zu finden.

Um den Socket Timeout auf den gewünschten Wert zu korrigieren muss eine Konfigurationsdatei angelegt werden, auf die man dann mit Hilfe des -t Parameters verweist.

Eine kurze Übersicht zu den entsprechenden Parametern des Testrunners findet man in der Dokumentation von SoapUI. Ein komplexer Aufruf des Testrunners durch den Buildserver Jenkins sieht zum Beispiel so aus:

/jenkins/tools/soapui/bin/testrunner.sh -f ${WORKSPACE}/testResults -sTestSuiteRunner -j -r ${WORKSPACE}/tools/test/soapui/api/api.xml -PsettingsPath=tools/test/soapui/api/ -Phost=testserver -t ${WORKSPACE}/tools/test/soapui/api/soapui-settings.xml

Um den Timeout auf 2 Minuten (120000 Millisekunden) zu erhöhen muss die Konfigurationsdatei so aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-settings xmlns:con="http://eviware.com/soapui/config">
    <con:setting id="HttpSettings@socket_timeout">120000</con:setting>
</con:soapui-settings>

Grundsätzlich hat man in der Konfigurationsdatei die Möglichkeit, die gleichen Einstellungen vorzunehmen wie in der GUI von SoapUI. Leider sind die Namen der verschiedenen Einstellungen nicht dokumentiert. Daher empfehle ich die Einstellungen erst in der GUI vorzunehmen, sie dann in der im Home Directory des angemeldeten Nutzers liegenden soapui_settings.xml zu suchen und einfach zu kopieren.

Teilen Sie diesen Beitrag

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert