如何将值从groovy传递到另一个测试用例URL作为SoapUI中的参数

时间:2016-01-14 06:21:20

标签: groovy soapui

我必须编写一个Groovy脚本,它可以从响应中获得一些动态值

我需要将此值作为另一个testcase / step

中的参数传递给我的请求URL

我的第一个网址如下所示: -

https://mywebsite/api/Products

我能够通过下面的groovy脚本获得这个动态id: -

import groovy.json.JsonSlurper

    responseContent = testRunner.testCase.getTestStepByName("3_Level_product").getPropertyValue("response")
    slurperresponse = new JsonSlurper().parseText(responseContent)
    log.info (slurperresponse.products.request_id)

我需要在URL下面传递该值: -

 https://mywebsite/api/get_response?request_id=0d8fe4d9

1 个答案:

答案 0 :(得分:0)

在同一个测试用例

打开现有的 Groovy脚本并在其中添加以下行。按照代码段中的注释进行操作。

//As you mentioned you have the value(extracted from _1st step_) in groovy script, 
//so assign value in place of "<replace your value here>" below variable
def valueFromPreviousResponse = <replace your value here>
context.testCase.setPropertyValue('REQUEST_ID_FROM_PREVIOUS_RESPONSE', valueFromPreviousResponse)

现在转到下一个测试步骤,编辑端点

<强>从 https://mywebsite/get_response?request_id=0d8fe4d9-ed28-421f-8b90-b9b2afac4196

https://mywebsite/get_response?request_id=${#TestCase#REQUEST_ID_FROM_PREVIOUS_RESPONSE}

然后,每次运行测试时,动态值将在第二步中发送。 这将只帮助您在测试用例中

在测试套件中

如果您希望该值可用于相同或不同测试用例的测试步骤,请按照以下步骤操作:

//As you mentioned you have the value(extracted from _1st step_) in groovy script, 
//so assign value in place of "<replace your value here>" below variable
def valueFromPreviousResponse = <replace your value here>
context.testCase.testSuite.setPropertyValue('REQUEST_ID', valueFromPreviousResponse)

现在进入下一个测试步骤或任何测试用例 测试套件中的任何测试步骤,编辑您的终端

<强>从 https://mywebsite/get_response?request_id=0d8fe4d9-ed28-421f-8b90-b9b2afac4196

https://mywebsite/get_response?request_id=${#TestSuite#REQUEST_ID}