【发布时间】:2014-12-26 22:56:30
【问题描述】:
我正在使用 LoadUI 2.6.8 和 SoapUI 5.0。
我已经能够将属性传输到测试用例属性中,这些属性在 LoadUI 中的 SoapUI 运行器之间成功传递,如下所述:http://www.loadui.org/soapui-integration/passing-along-testcase-properties.html
我遇到的问题是我通过这样的 Groovy 脚本设置的属性之一:
def tc = testRunner.testCase.testSuite.getTestCaseByName("Auth and Start Up")
tc.setPropertyValue("Cookie","$jsesid")
没有在 LoadUI 中更新(当 groovy 脚本运行时),因此没有正确传递。
我必须使用 groovy 脚本,因为 cookie 是作为响应标头的一部分进来的,并且正常的属性传输步骤不允许我进行传输。
有没有人遇到过这种情况?对为什么会发生这种情况有任何见解吗? 谢谢!
更新:我设法通过更新身份验证 API 响应以将 cookie 包含为响应正文的一部分(而不仅仅是标头)来解决此问题,因此我能够使用似乎有效的财产转移步骤。不过,这仍然是一种解决方法。
【问题讨论】:
-
如果您在测试用例选项中使用“维护 HTTP 会话”选项,它会自动为您传递 Cookie。
-
感谢您的提示,我试过了,但没有任何改变。该测试在 SoapUI 中运行良好,但一旦我在 LoadUI 中运行它就不行了。它似乎采用了在 SoapUI 的测试用例中设置的属性值,即使 groovy 脚本在 LoadUI 中成功运行,该值也没有更新......就好像脚本的那部分永远不会运行或被忽略。而且我知道脚本的其余部分运行良好,因为我在同一脚本中为同一测试用例中的其余调用设置了 cookie 标头,它们都运行成功。
-
假设您正在尝试传递实际会话 Cookie,您无法使用 setPropertyValue 设置它们。看到这个:siking.wordpress.com/2013/07/25/soapui-cookie-management
-
在下面查看我的答案(评论太长了)