SoapUI Testrunner给出了关于TestAssertionRegistry的错误

时间:2014-10-15 17:18:04

标签: testing soapui functional-testing

我能够使用有效的断言成功运行我的测试用例,但是当通过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 个答案:

答案 0 :(得分:2)

JsonPath Match是SoapUI 5.2.x版中的一项功能。您正尝试在版本4.x中打开项目,并且项目文件不向下兼容。

我遇到了和你一样的问题:如何删除所有问题。以下是我删除它们的方式:

  1. 在文本编辑器中打开*-soapui-project.xml
  2. 将所有type="JsonPath Match"替换为type="XPath Match" disabled="true"。空格和双引号是相关的!
  3. 不漂亮,但它有效。此外,如果您想返回,只需撤消替换。

答案 1 :(得分:1)

作为后续行动,如果其他人正在使用api的专业版并且有一个专业客户端,其中项目已经设置,并且仍然出现此错误,您可以执行此操作以使您的断言正常工作通过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断言与自由版断言一起加载到该注册表中。