使用groovy脚本

时间:2017-02-17 16:11:20

标签: xml groovy soapui

所以我在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)

我做错了什么?请任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

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

${#TestCase#ResquestID}

所以我假设我用我的测试用例的名称替换'TestCase'是错误的。我刚刚按原样通过了,它运行正常。