При запуске с помощью SoapUI-5.6.0\bin\testrunner.bat он работает.
При запуске из программы Java, которая использует метод класса
com.eviware.soapui.tools.SoapUITestCaseRunner run()
тогда он работает сам по себе, но если запустить его как серию из 4 проектов SoapUI, произойдет сбой с сообщением «Отсутствует операция [operationXyz] в определении wsdl».
В настоящее время я использую мыльную банку версии 5.1.0. Использование 5.1.3 не помогает. Я буду пробовать никогда версии в будущем. (это не просто, поскольку это старый устаревший проект, использующий старую версию Java, в которой не запускаются новые jar-файлы Soapui)
Есть идеи, почему это происходит?
Код Java в основном:
Код: Выделить всё
SoapUI.getSettings().setBoolean(SSLSettings.CLIENT_AUTHENTICATION, true);
SoapUI.getSettings().setString(SSLSettings.KEYSTORE, "src/test/resources/xxxxxx.p12");
SoapUI.getSettings().setString(SSLSettings.KEYSTORE_PASSWORD, "12345678");
SoapUI.saveSettings();
SoapUITestCaseRunner runner = new SoapUITestCaseRunner();
runner.setProjectFile("src/test/resources/project_1.xml");
runner.setProjectProperties(new String[] { "foo="+foo, "bar="+bar});
runner.setOutputFolder("target/soapui/project_1");
runner.setJUnitReport(true);
runner.setExportAll(true);
runner.setPrintReport(true);
runner.run();
// then repeat the exact same for project_2, i.e. just a different argument to setProjectFile()
Запуск этих наборов тестов с помощью Soapui-maven-plugin версии 5.1.3 работает так же:
- если projectX запускается один, он работает.
- если projectX запускается после запуска проекта 1, он работает
- если проектX запускается после проекта 2, он терпит неудачу (тестовый пример проекта 2 в порядке, проектX завершается сбоем)
- если сначала запускается проект X, а затем проект 2, оба работают
Позже я обнаружил, что причина в том, что SoapUI каким-то образом кэширует WSDL для своего URL-адреса (WSDL), и эти проекты имели один и тот же URL-адрес WSDL (но разное фактическое содержимое WSDL).
Проблема возникает также в графическом интерфейсе SoapUI 5.6.0 и 5.8.0: если проект открываются или выполняются тесты из него, их WSDL «загружается» и позже используется даже для других проектов, в которых хранится другой WSDL.
Подробнее здесь: https://stackoverflow.com/questions/788 ... definition
Мобильная версия