我有一个测试用例(测试用例1),其中包含我要在启动时运行的REST请求,因此我将其禁用,并通过负载测试的设置脚本来调用它(测试用例2)。
但是要运行负载测试REST请求,我需要测试用例1响应中的值。 如何将一个测试用例中的值传递给加载UI REST请求?
测试数据中对一个REST请求的响应(测试案例1)
{
"VotingSessionID": 1326,
"Name": "Test Vote Session",
"Questions": [
{
"VotingQuestionID": 4273,
"Text": "Test A",
"QuestionNumber": 1,
"Options": [
{
"VotingOptionID": 17328,
"OptionText": "Option A"
},
{
"VotingOptionID": 17329,
"OptionText": "Option B"
},
{
"VotingOptionID": 17330,
"OptionText": "Option C"
}
],
"IsActive": false
}
我需要将“ VotingOptionID”的值传递给测试用例2中的REST请求之一。
答案 0 :(得分:0)
要在安装脚本中运行测试步骤,可以执行以下操作:
def testSuiteName = "yourTestSuiteName"
def testCaseName = "yourTestCaseName"
def testStepName = "yourTestStepName"
def testStep = context.testCase.testSuite.project.testSuites[testSuiteName].testCases[testCaseName].testSteps[testStepName]
testStep.run(testRunner, context)
要检索VotingQuestionID的值,我看到的最简单的方法是在测试用例1中提取它(应该在测试用例2的安装脚本中调用它)。
然后您可以做的是:
首先,创建一个项目级别的属性(双击底部的“项目”->“属性”选项卡)
第二,在测试用例1的测试步骤中添加一个脚本断言,以在运行测试步骤时检索VotingQuestionID的值。在脚本声明中,您可以添加以下命令:
import groovy.json.JsonSlurper
def response = new JsonSlurper().parseText(messageExchange.responseContent)
context.testCase.testSuite.project.setPropertyValue("yourProperty", response.Questions[0].VotingQuestionID)
第三,使用以下格式在测试用例2中使用该属性
${#Project#yourProperty}