Как я могу распаковать ответ GET, используя SOAPUI - PullRequest
1 голос
/ 05 июня 2019

Я получаю заархивированный ответ от сервера.

with Используя CURL и | gunzip Я могу получить разархивированный ответ с контентом, но я бы не хотелиспользуйте CURL и распакуйте его напрямую через SOAPUI, с помощью заголовка или сценария.

Я пытался написать что-то вроде:

def responseBody=testRunner.testCase.getTestStepByName("getZIp").httpRequest.response.responseContent;
InputStream ins = new ByteArrayInputStream(responseBody.getBytes())

    log.info responseBody
    def outFile = new FileOutputStream(new File('/users/trythis.zip'))
    if (ins) {
    com.eviware.soapui.support.Tools.writeAll(outFile, ins )
    }
    ins.close()
    outFile.close()

, но данные все еще сжаты.

Ответы [ 2 ]

1 голос
/ 06 июня 2019

В настройках SoapUI есть опции для работы с API, которые ожидают сжатые полезные данные и / или отправляют обратно сжатые ответы.

Я использовал это в прошлом, и SoapUI распаковывает ответ и представляет его в пользовательском интерфейсе, поэтому мне не пришлось прибегать к скриптам Groovy для чтения ответа.

1 голос
/ 06 июня 2019

что-то простое, как:

InputStream ins = new ByteArrayInputStream(responseBody.getBytes())
def outFile = new File('/users/trythis.txt')
new GZIPInputStream( ins ).withReader{ outFile << it }
...