【问题标题】:Proper way of setting parameters in SOAPUI request using a groovy script使用 groovy 脚本在 SOAPUI 请求中设置参数的正确方法
【发布时间】:2017-02-17 16:11:19
【问题描述】:

所以我在 java 方面很坚定,但我刚刚开始学习 groovy 并使用 SOAPUI 和 groovy 测试 SOAP 请求。我正在尝试使用 groovy 脚本测试 SOAP 请求,并设置请求然后用作测试 xml 的参数的属性值。现在,我在 SOAP XML 中不断收到此错误:

<soap:Body>
      <soap:Fault>
     <soap:Code>
        <soap:Value>soap:Sender</soap:Value>
     </soap:Code>
     <soap:Reason>
        <soap:Text xml:lang="en">Could not parse the XML stream.</soap:Text>
     </soap:Reason>
     <soap:Detail>
        <cause>javax.xml.stream.XMLStreamException: cvc-datatype-valid.1.2.1: '' is not a valid value for 'integer'.</cause>
     </soap:Detail>
  </soap:Fault>

但我可以看到属性值何时更新!我在我的测试用例的自定义属性下看到它。传递的值应该是整数,但设置属性值只能是字符串。这可能是问题吗?所有这一切令人讨厌的部分是,当我从属性值选项卡复制值并直接粘贴到 XML 中时,它可以工作。所以那种告诉我我的价值没有被正确传递。如果我可以在自定义属性选项卡中看到该值并且 XML 没有看到它,这应该意味着它没有被正确传递。在 XML 中,我尝试像这样调用属性值:

${#RequestID}

也试过了:

${#TestCaseName#RequestID}

但它们都不起作用。我还设置了这样的属性值:

testRunner.testCase.setPropertyValue(propertyValues[i],values[i])

并像这样运行测试:

def testStep = testRunner.testCase.getTestStepByName(testStepName)
def result = testStep.run(testRunner,context)

我做错了什么?请提供任何帮助。

【问题讨论】:

    标签: xml groovy soapui


    【解决方案1】:

    是我的错。在阅读文章时,他们这样说:

    ${#TestCase#ResquestID}
    

    所以我假设我用我的测试用例的名称替换了“TestCase”,这是错误的。我只是按原样通过了它,它工作正常。

    【讨论】:

    • 我做了同样的假设。谢谢
    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多