Как сохранить один и тот же сеанс между двумя REST-запросами в ReadyAPI? - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть два REST-запроса в одном и том же TestCase.

  • запрос на вход
  • запрос getAllParameters

В настоящее время я использую ReadyAPI 2.6.0.

Мне нужно войти в первый запрос, чтобы получить доступ ко второму.

В противном случае он не работает.

Знаете ли вы, как сохранить тот же сеанс междуэти два запроса?

1 Ответ

0 голосов
/ 07 февраля 2019

Я предполагаю, что ключ, который вам нужно использовать, задан в заголовках HTTP.

Учитывая, что это правда, и что вам также нужно установить это конкретное значение в заголовке HTTP в следующих запросахВы можете решить это следующим образом:

  • В своем первом запросе REST вы добавляете утверждение сценария со следующим кодом:

    def value = messageExchange.responseHeaders["session-id"];
    assert value != null
    assert value.size() == 1
    context.setProperty("sessionID", value)
    

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

  • Добавьте шаг теста Groovy Script после вашего первого запроса RESTTeststep.Переименуйте его в «Извлечь переменную контекста» (это имя будет повторно использовано на следующем шаге). Затем добавьте в него следующий код:

    def value = context.getProperty("request-id")
    return value
    

Значения контекста нигде не доступны.Извлекая его здесь и возвращая значение, вам будет легче использовать его в оставшихся шагах тестового запроса REST.

  • Откройте второй тестовый шаг запроса REST (и третий,и четвертый и т. д., если у вас есть больше) Откройте панель заголовков внизу. Создайте новый ключ с именем, совпадающим с заголовком, который вы получили в первом запросе REST. В качестве значения вы вводите

    ${Extract Context Variable#result}
    

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

...