Api 使用变量参数化katalon测试用例

Api 使用变量参数化katalon测试用例,api,katalon-studio,Api,Katalon Studio,我想在每次测试用例运行时发布不同的API主体 我已将变量设置为POST对象 e、 g.testID默认值test0001 然后HTTP正文如下,测试验证通过。 { “drugId”:“$testID”, } 我可以在测试用例中使用什么语法/命令,比如参数化测试步骤,以便第一次运行测试用例 drugId=test0001 第二次运行测试用例时,它将 drugId=test0002您的HTTP主体应该是 { “drugId”: “${testID}” } 代码中的请求应该是这样的 resp

我想在每次测试用例运行时发布不同的API主体

我已将变量设置为POST对象 e、 g.testID默认值test0001 然后HTTP正文如下,测试验证通过。 { “drugId”:“$testID”, }

我可以在测试用例中使用什么语法/命令,比如参数化测试步骤,以便第一次运行测试用例 drugId=test0001 第二次运行测试用例时,它将
drugId=test0002

您的HTTP主体应该是

{ 
  “drugId”: “${testID}” 
}
代码中的请求应该是这样的

response = WS.sendRequest(findTestObject('requestObject',[('testID'): 'test0001']))
其中,
requestObject
是保存在对象存储库中的请求

实施

现在,如果您想迭代10次,可以执行以下操作:

  • 创建一个名为“被调用方”的新测试用例,其内容如下
  • 使用以下内容创建另一个名为“caller”的测试用例
  • String test=“test000”
    
    对于(i=0;ion second测试用例执行,id不会自动增加,它发布相同的id。我还没有包括id增量。您需要一种方法让测试知道这是执行编号1、2、3…您是否已经解决了这个问题,或者您只是手动重复测试?因为这是json post,然后直接存储到数据库中,所以id是唯一的,其中有另一个测试用例,当发布相同ID时,API响应抛出错误,测试用例检测到消息并传递。代码如下:WS.verifyResponseStatusCode(response,400)assertThat(response.getResponseText())。contains('drugId已经存在')我运行测试,它与之前的测试用例相同,第一次执行,然后发布10条记录。第二次执行,然后没有发布记录,因为在第一次执行期间已经使用并发布了相同的ID。我的意思是测试自动知道上一次执行ID,然后在下一次新执行时,跳过该ID并将其增加+1。我需要吗将以前的结果存储在某处?
    response = WS.sendRequest(findTestObject('requestObject',[('testID'): testID]))
    
    String test = "test000"
    for(i=0;i<10;i++){
        WebUI.callTestCase(findTestCase("callee"), ["testID":"${test+i.toString()}"], FailureHandling.OPTIONAL)
    }