从testcase调用teststep时的SoapUI行为是不同的

时间:2014-06-30 23:38:48

标签: soapui

我对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文件,否则此限制/错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

线索是错误的措辞

No signature of method .... is applicable

SoapUI实际上是在找到库,但是作为modelItem传递的对象类型是不同的,具体取决于它是从TestStep还是TestCase运行。

通过将modelItem的类型更改为AbstractModelItem,代码可以正常工作。

请注意,不同的机制提供不同的modelItem类。