Как программно создать шаг повторного запроса? - PullRequest
0 голосов
/ 02 мая 2018

Я сейчас пытаюсь создать testCases программно.

Каждый новый ресурс из входного чванства должен иметь свой соответствующий testCase.

Мне удается определить, у какого ресурса нет testCase, я могу создать testCase, но у меня возникает проблема, когда он собирается создать testStep.

В настоящее время я выполняю следующий процесс:

import com.eviware.soapui.impl.wsdl.teststeps.registry.RestRequestStepFactory

	// create the test case
	tc = current_suite.addNewTestCase(resource)	
	// add a restrequest step
	log.info tc.getClass()
	
	tc.addTestStep(RestRequestStepFactory.RESTREQUEST_TYPE , "Request 1" )

Это ПОЧТИ работает! но когда он достигает создания testStep, у меня появляется всплывающее окно «New RestRequest», открывающееся в readyAPI с просьбой «выбрать существующий запрос или метод REST или создать новый запрос».

Как я могу сделать этот шаг программно?

Спасибо за любую помощь

Alex

1 Ответ

0 голосов
/ 18 мая 2018

Я узнал, как поступить. На самом деле я хотел автоматически создать 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 ...

Это работает довольно хорошо.

...