Как я могу передать вывод из groovy скрипта на запрос мыла - PullRequest
0 голосов
/ 17 апреля 2019

Я новичок в SoapUI и пишу отличные скрипты. В моих параметрах запроса у меня есть два поля "от и до". с - текущая дата, а до - через год. поэтому я написал отличный скрипт для добавления одного года к текущей дате. и такой же вывод я передаю на запрос. Пожалуйста, помогите мне исправить ошибку.

Я хочу, чтобы год спустя был указан в параметре запроса "to". Пожалуйста, опишите подробно, так как я новичок в groovy и soapUI. Я прошел через несколько ответов. Спасибо.

use(groovy.time.TimeCategory)
{
def addYear = new Date() + 367.days
log.info addYear.format("yyyy-MM-dd") 
}

And this is my request in SoapUI: from : ${TestSuite#bt} (Its a senML request) to : ${#TestCase#addYear}

1 Ответ

0 голосов
/ 23 апреля 2019

Если вы используете пошаговый скрипт, вы можете сделать это так:

import groovy.json.JsonSlurper

testStep = testRunner.testCase.testSteps["YourApiRequestStep"]

def Response = testStep.getProperty("response").value;

def someFieldYouWantToSave = ""


if (Response == null) {
    log.error('No Response found.');
}
else {
    def jSlurper = new JsonSlurper();
    def json = jSlurper.parseText(Response);
    if (json.get("theFieldFromTheResponse") == null){
        log.error "TheFieldFromTheResponse not found in response. Please execute the teststep and try again"
    } else {
        someFieldYouWantToSave = json.get("theFieldFromTheResponse").toString()

        // YOUR LOGIC HERE FOR MODIFYING THE "someFieldYouWantToSave" value

        //SAVE THE FIELD
        testRunner.testCase.setPropertyValue("someFieldYouWantToSave", someFieldYouWantToSave)
    }
}

Имейте в виду, что вы всегда можете увидеть, какие переменные контекста вы можете использовать, посмотрев в верхнем правом углу окна скрипта. Например, если вы используете шаг скрипта Groovy, переменными являются: log , context и testRunner . Если вы попытаетесь использовать приведенный выше пример где-нибудь еще, как в сценарии утверждения тестового примера, он не будет работать, так как он вызывается с log , context и messageExchange . Вы можете узнать, как получить значения из разных мест в вашем проекте, взглянув на примеры из документации

С этими 3 частями информации вы сможете достичь своей цели, независимо от того, где вы ее используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...