如何将值从 groovy 传递到另一个测试用例 URL 作为 SoapUI 中的参数
How to pass a value from groovy to another testcase URL as parameter in SoapUI
我必须编写一个 Groovy 脚本,从响应中为我获取一些动态值
我需要将这个值传递给我的请求 URL 作为另一个 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
在同一个测试用例中
打开您现有的 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}
我必须编写一个 Groovy 脚本,从响应中为我获取一些动态值
我需要将这个值传递给我的请求 URL 作为另一个 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
在同一个测试用例中
打开您现有的 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}