我对SoapUI 5.0.0有一个有趣的行为。
我将HTTP测试请求步骤配置为发布text / xml。
在请求中,我对请求中的某些属性进行了属性扩展,类似于:
FirstServiceDate="${=pluto.ServiceDate.adjustDate(modelItem, 1)}"
请注意,引用是调用我创建的java函数并将其放入我安装的bin / ext文件夹中的jar文件中。
现在,当我使用请求发送请求时,播放按钮属性替换按预期发生,并且属性的正确值放在Raw消息内容中并适当地调度。
但是,当我运行包含测试步骤的测试用例时,替换会将以下错误消息放入输出中:
No signature of method: static pluto.ServiceDate.adjustDate() is applicable
这表明在运行测试步骤时,它无法再找到/使用相关的java类。
这是否是与请求替换相关的非专业版本的故意限制,还是在运行测试用例时需要做些什么才能找到类?
编辑: 刚刚测试了PRO版本。除非我需要在其他地方找到jar文件,否则此限制/错误仍然存在。
答案 0 :(得分:0)
线索是错误的措辞
No signature of method .... is applicable
SoapUI实际上是在找到库,但是作为modelItem传递的对象类型是不同的,具体取决于它是从TestStep还是TestCase运行。
通过将modelItem的类型更改为AbstractModelItem,代码可以正常工作。
请注意,不同的机制提供不同的modelItem类。