当前位置: 首页 > 知识库问答 >
问题:

使用groovy脚本在SOAPUI请求中设置参数的正确方法

邹斌
2023-03-14

所以我很精通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中时,它起作用了。所以这告诉我我的值没有被正确传递。如果我可以在自html" target="_blank">定义属性选项卡中看到值,而XML没有看到它,这应该意味着它没有被正确传递。在XML中,我尝试像这样调用属性值:

${#RequestID}

我也试过了:

${#TestCaseName#RequestID}

但没有一个有效。我还将属性值设置为:

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

然后像这样运行测试:

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

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

共有1个答案

沈琛
2023-03-14

是我的错。他们在通读文章时说:

${#TestCase#ResquestID}

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

 类似资料:
  • 我从项目中的脚本执行一个脚本。 该脚本中还有另一个循环,即执行请求。之后,应该执行另外两个脚本来处理输出。这些在请求步骤之后的相同testcase中,但不会自动执行。

  • 当我尝试在soapUI测试步骤中解析响应时,收到了以下异常。也尝试了getXMLHolder方法。还是没运气。 答复如下

  • 我只使用了SOAP UI来测试WSDL/URL,但在这个范围内没有。我需要从SOAPUI获取请求url查询参数,并使用它们使用groovy脚本测试一些东西。 假设我有一个GetCustomers请求url,如下所示 我需要URL < code > Id = 111 < code > ModeName = ABC < code > DeltaId = 023423 中的以下内容 我在SOAP UI中

  • 我有一个具有多个操作的WSDL。对于每个操作,我想要一个模板. xml及其响应和请求。 我知道如何在soapUI中手动执行此操作,但我想使用Groovy脚本生成它们。我已经谷歌了很多,但似乎我是唯一一个正在寻找这个的人。 我的服务有16个操作,所以做这本手册会花费太多时间。由于服务每2个月更新一次,所以使用测试步骤的自动化将是完美的。 我已经为这些请求做到了: 右键单击左树中的“服务”、“生成测试

  • 我在从groovy脚本(groovy脚本是SoapUI测试套件的一部分)运行java代码时遇到了问题,我创建了简单的脚本: TopClass的代码: 我将myjar.jar放入soapui-pro-2.5\lib和soapui-pro-2.5\bin\ext文件夹中。但行书我得到: org.codehaus.groovy.control.multipleCompilationerrorsExcep