所以我在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)
我做错了什么?请任何帮助表示赞赏。
答案 0 :(得分:1)
错误是我的。在阅读文章时,他们说:
${#TestCase#ResquestID}
所以我假设我用我的测试用例的名称替换'TestCase'是错误的。我刚刚按原样通过了,它运行正常。