Доступ к журналам на сервере (PUTTY) из SOAPUI - PullRequest
0 голосов
/ 06 ноября 2018

Мне нужно создать один тестовый набор SOAPUI.

Этот тестовый пример называется: «Войдите в приложение с помощью OTP (одноразовый пароль)».

  1. Сначала я отправляю запрос POST.
  2. Затем сервер генерирует OTP и отправляет его на номер телефона.
  3. Теперь мне нужно подключиться к серверу (PUTTY) и найти журнал, в котором сохраняется OTP.
  4. Затем мне нужно вставить OTP в следующий запрос POST.

Я создал простой скрипт Groovy в качестве шага тестирования SOAPUI, который открывает соединение в PUTTY.

def command = "C:/path/to/putty.exe -ssh user@IP -pw pass"
def proc = command.execute()
proc.waitFor()

Затем мне нужно написать несколько команд в PUTTY и получить переменную OTP из файла журнала.

Но я не знаю, как выполнять команды с помощью скрипта Groovy.

Может кто-нибудь помочь мне, пожалуйста. Спасибо

EDIT

Благодаря Эрику Дарчису я создал простой ш. файл, который я могу запустить из скрипта Groovy.

#!/bin/bash
TODAY=`date '+%Y-%m-%d'`
MSISDN="604883196"
OTP=`grep "Your password for phone number: "$MSISDN" is: " /path/to/log/file-"$TODAY".log | rev | cut -c -6 | rev`
echo "$OTP"
sleep 2​

В Замазке это ш. Файл записывает только значение OTP: «123456».

Но теперь мне нужно передать это значение из Putty в SOAPUI (Groovy). И я не знаю, как работает «receiveProcessOutput». Должен ли я также написать некоторые команды в сценарии оболочки? Или я должен был написать что-то вроде этого в groovy:

def sout = new StringBuilder()
def serr = new StringBuilder()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(30000)

И как мне получить это значение в SOAPUI? Спасибо

1 Ответ

0 голосов
/ 06 ноября 2018

Вы должны использовать -m local_command_file.sh в командной строке putty. Этот файл .sh будет содержать список команд, которые нужно выполнить для извлечения необходимой вам информации на сервере.

Для обработки вывода команды вы можете использовать:

proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(30000)

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

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