readyapi中的动态虚拟响应

时间:2018-05-21 09:31:32

标签: soapui virtual data-driven-tests ready-api

我正在尝试使用ServiceV虚拟化API。我想要做的是,请求从JDBC(在我的情况下是oracle db)中提取数据,向虚拟服务发送请求,当请求到达虚拟服务时,服务会查找唯一标识符(主键)并且基于该主键,它从数据库中获取正确的行。

到目前为止,我所做的是: 管理设置oracleDB并将其连接到我们的ReadyAPI项目中,我设法从数据库中获取数据到我们的请求(填写ID,状态,聚会ID等各种标题),我们也可以返回响应从不同的表中挑选数据。

我们的下一步是在响应级别自定义SQL查询,以根据请求表中的主键选择特定响应。

我发现的问题是我不太确定SQL查询定制会在哪里发生。目前,我在SOAP UI中的请求级别运行SQL查询,然后在virt端的DataSources部分发生单独的请求,以使用数据填充响应表单。这个virt end SQL查询是我希望能够动态更改的。

您是否知道如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

根据我的理解(如果我错了,请纠正我),您想要的是自定义ServiceV的虚拟响应以匹配SoapUI数据源中返回的数据的方法。

在此假设下,我建议将所有数据库调用都保留在代码的SoapUI部分中,并将希望模拟服务返回的数据库的每一行写入GlobalPropertiesProjectProperties

然后,在ServiceV中,配置响应,用类似于..."id" : "${#Project#Identifier}"...的值代替硬编码值。这将获取SoapUI中输入的当前数据库详细信息,并将其用作virt服务中的响应值,以维护断言的一致性。

或者您可以利用Dispatch Style Script并将查询输入到Groovy

干杯-D