Я узнал, как поступить. На самом деле я хотел автоматически создать testCase с testStep из ресурсов, недавно обновленных новой версией моего файла чванства. Я поступил следующим образом:
Я получаю список ресурсов:
restServiceList = testRunner.testCase.testSuite.project.getInterfaceList()
Из каждого ресурса я получаю список API-интерфейсов, которые он содержит:
restServiceList.each{
inter ->
inter.each{
// pour chaque bloc de ressources, on va recuperer la liste des API exposees
ops = it.getOperationList()
found = false
ops.find(){
// on compare le nom de l'API on nom du test - si ca matche, on sort
//log.info it.getName()
if(it.getName() == tc.getName())
{
// API trouvee, on recupere la liste des requetes
reqList = it.getRequestList()
found = true
}
}
}
}
для каждого запроса API, я создаю соответствующий testStep
reqList.each{
restRequest ->
testStepConfig = RestRequestStepFactory.createConfig( restRequest, tc.getName() );
testStepConfig.setName("Request 1") // Attention, voir ce que ca donne sur une resource multiple !
// log.info "testStepConfig = " + testStepConfig.toString()
// ajout du step dans le testCase
tc.addTestStep( testStepConfig )}
Дополнительно я создал пользовательские свойства, связанные с параметрами запроса (поскольку у моих API были общие параметры)
def requestParameters = testStepConfig.config.restRequest.parameters.entryList ...
Это работает довольно хорошо.