2014-10-30 60 views
3

我正在使用LoadUI 2.6.8和SoapUI 5.0。设置测试用例属性的SoapUI Groovy脚本未反映在LoadUI中

我已经能够做到财产转移到了在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作为响应标题的一部分进入,而普通的Property Transfer Step不允许我进行传输。

有没有人遇到过这个?深入了解为什么会发生这种情况? 谢谢!

更新:我设法通过更新身份验证API响应来包含cookie作为响应正文(而不仅仅是头)的一部分,因此我能够使用Property Transfer步骤似乎工作。但这仍然是一个解决方法。

+0

如果您在测试用例选项中使用“维护HTTP会话”选项,它会自动为您传递Cookies。 – SiKing 2014-10-30 20:42:47

+0

感谢这个测试在SoapUI中工作正常,但是一旦我在LoadUI中运行它,它看起来并没有采用在SoapUI的测试用例中设置的属性值,即使groovy脚本在LoadUI中成功运行的值不会更新......它就像脚本的那部分从未运行或被忽略一样。我知道脚本的其余部分运行正常,因为我为其余的调用设置了cookie头在同一个脚本中使用相同的测试用例,并且它们全部成功运行 – Laura 2014-10-30 21:09:35

+0

假设您尝试传递实际会话Cookie,则无法使用setPropertyValue设置它们。请参阅:htt p://siking.wordpress.com/2013/07/25/soapui-cookie-management/ – SiKing 2014-10-30 21:24:17

回答

0

感谢链接SiKing,我想我实际上遇到了这个问题,同时试图找出cookie,我最终通过使用脚本手动设置标题来设法实现cookie。为了测试它是否是Cookie问题,我使用了另一个属性。我在groovy脚本中添加了以下行:

tc.setPropertyValue("testprop","blah") 

在SoapUI中运行它,并且属性值设置为ok。然后,我将SoapUI测试用例中的测试用例属性“testprop”的值手动更改为“a”并保存了该项目。

在LoadUI中,我运行了SoapUI Runner,该属性的输出显示为“a”,尽管groovy脚本运行良好。我玩的越多,我认为它在LoadUI中的某种错误就越多:(

+0

现在的问题是,如果这是一个错误,那么如何绕过它,如果我只知道属性应该在groovy脚本中设置的值? (即不能使用财产转移步骤) – Laura 2014-10-30 21:54:08

相关问题