import groovy.json.JsonSlurper
//Substitute with appropriate testSuiteName,testCaseName,testStepName1 and testStepName1 as per the Project Structure you have.
def testSuite = testRunner.testCase.testSuite.project.getTestSuiteByName("testSuiteName")
def testCase = testSuite.getTestCaseByName("testCaseName")
def testStep1 = testCase.getTestStepByName("testStepName1")
def testStep2 = testCase.getTestStepByName("testStepName2")
// Call the first REST Request
testStep1.run(testRunner, context)
def response = testStep1.testRequest.response.responseContent
def jsonSlurper = new JsonSlurper().parseText(response)
//Assign it to a testCase Property to grab for second Rest Request
if (jsonSlurper.size() > 0) {
testCase.setPropertyValue("Resp1Field1Value",Resp1Field1Value)
testCase.setPropertyValue("Resp1Field2Value",Resp1Field2Value)
);
//Call the second Rest Request
testStep2.run(testRunner, context)
def response = testStep2.testRequest.response.responseContent
def jsonSlurper = new JsonSlurper().parseText(response)
// Perform Validation/assertion as desired
2条答案
按热度按时间3j86kqsm1#
结构如下所示,
让我们从一些假设开始。
restrequestteststep1响应主体包含以下字段:
restrequestteststep2请求正文包含以下字段:
第一个响应的resp1field1value和resp1field2value将被替换为第二个请求的resp2field1value和resp2field2value。
restrequestteststep2主体应该如下所示,因为我们将替换testcase属性中的值,该属性将在第一个请求完成后在groovy脚本中设置。
{“resp2field1key”:“${#testcase#resp2field1value}”,“resp2field2key”:“${#testcase#resp2field2value}”}
代码..而不是脚本:groovy脚本可以放在同一个测试用例下,并且应该执行以下操作,
qxgroojn2#
在同一测试用例中的第二个请求之前,在groovy脚本中使用这两行代码
现在,由于您已经在soap步骤的testcase属性中保存了值,您可以在同一个testcase中的下一个请求中使用下面的方法
这样,一旦运行,它将自动替换该值。要查看soapui中的值替换,可以查看raw选项卡
看看下面这个。。值被替换