我必须编写一个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
答案 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}