SoapUI Testrunner дает ошибку о TestAssertionRegistry


Я могу успешно запустить свой тестовый случай с допустимыми утверждениями, но при запуске через testrunner он начинается с этих ошибок -

ERROR [TestAssertionRegistry] Missing assertion for type [JsonPath Match]
ERROR [TestAssertionRegistry] Missing assertion for type [JsonPath Match]
ERROR [TestAssertionRegistry] Missing assertion for type [JsonPath Match]
ERROR [TestAssertionRegistry] Missing assertion for type [JsonPath Match]

Откуда берутся эти ошибки? Я отключил все мои тестовые шаги, но безрезультатно. Похоже, что это происходит на уровне проекта, глядя на xml. Я пытаюсь понять, откуда он взялся.

Любая помощь будет признательна.

2 3

2 ответа:

Jsonpath Match-это функция в версии 5.2.х SoapUI. Вы пытаетесь открыть проект в версии 4.x, и файлы проекта не совместимы вниз.

Я столкнулся с той же проблемой, что и вы: как мне удалить их все. Вот как я поддельные удалил их:
  1. Откройте файл *-soapui-project.xml в текстовом редакторе.
  2. замените все вхождения type="JsonPath Match" на type="XPath Match" disabled="true". Пробелы и двойные кавычки уместны!
Не очень красиво, но это работает. Кроме того, если вы хотите чтобы вернуться назад, просто переверните замену.

В качестве продолжения, если кто-то еще использует pro-версию api и имеет pro-клиент, в котором настроен проект, и все еще получает эту ошибку, вы можете сделать это, чтобы заставить ваше утверждение работать через java api:

//register the json path content assertion before the project loads
TestAssertionRegistry.getInstance().addAssertion(new JsonPathContentAssertion.Factory());

//loads the project, test suites, etc.
WsdlProjectPro project = new WsdlProjectPro(projectPath);

Я не уверен, что это ошибка или я неправильно использую API, но не похоже, что утверждения pro загружаются в этот реестр вместе с утверждениями свободной версии.