【问题标题】:How to dynamically configure a REST mock in SoapUi?如何在 SoapUi 中动态配置 REST 模拟?
【发布时间】:2016-06-10 07:10:18
【问题描述】:

我打算使用 SoapUi 调用 MockService,当 Response 配置为返回静态消息时,一切似乎都很好。另一方面,如果我添加并发送一个参数(例如?PName=John),虽然我也将响应中的名称从“John”更改为 ${PName},但我什么也得不到(一个空字符串)。我在哪里做错了?请看附件截图

谢谢

【问题讨论】:

    标签: rest mocking soapui


    【解决方案1】:

    以下是获取请求参数的方式:

    例如,用户正在传递一个查询参数,例如 test,其值为 abc

    模拟脚本:

    //Read request parameter test and assign value to a variable
    def userValue = mockRequest.httpRequest.getParameter('test')
    //Assign the input value to response context
    context.requestValue = userValue
    

    使用上下文的示例响应:

    {
      "comment" : "${requestValue}"
    }
    

    所有数据流:

    【讨论】:

    • @user1980253,很高兴知道。那你介意接受它作为答案吗?
    【解决方案2】:

    使用属性的概念进行参数化。 模拟服务使用属性值。 由于您的属性 PName 不存在于任何级别的 soapUI 的自定义属性中,因此您得到 NULL 响应。

    将属性 PnameValue 项目级别定义为

    现在将您的测试请求值修改为

    添加带有响应的模拟服务

    开始您的模拟服务和触发器操作。您还可以在任何级别的 SoapUI 上使用基于属性值的不同响应。

    如果能解决您的问题,请采纳。

    【讨论】:

    • 这并不能解决问题。因为,仅仅使用项目属性,不可能所有请求调用都具有相同的值,根本没有解决将值作为查询参数发送的目的。
    • 感谢您的回答,但它没有回答我的问题。我需要将参数作为“经典”REST 参数传递。
    猜你喜欢
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多