TestCafe requestHook тело ответа не дает текст - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь использовать хуки запросов TestCafe для получения тела ответа.Я могу войти в тело запроса и могу видеть xml тела запроса без проблем.Для ответа, хотя я получаю сумасшедший обман.Я думаю, что у меня возникли какие-то проблемы с SSL, но не совсем уверен.Это кажется странным, потому что я получаю код состояния 200 и могу видеть заголовки ответа.Если бы это был ssl, подумайте, что я должен увидеть заголовки.

В любом случае, вот мой код, пользовательский запрос.1007 *

, а затем код для запуска веб-приложения и запуска тестов

const fs = require('fs');
const selfSigned = require('openssl-self-signed-certificate');

const createTestCafe = require('testcafe');
let testcafe = null;


var options = {
    key: selfSigned.key,
    cert: selfSigned.cert
};

createTestCafe('localhost', 1337, 1338, options)
    .then(tc => {
        testcafe = tc;
        const runner = testcafe.createRunner();
        return runner
            .startApp('node scripts/run start', 45000)
            .src([
                './testcafe/tests/testsAccountDetails.ts'
            ])
            .browsers('chrome --allow-insecure-localhost')
            .run({
                selectorTimeout: 30000
            });
    })
    .then(failedCount => {
        console.log('Tests failed: ' + failedCount);
        testcafe.close();
    });

Я попробовал несколько разных вещей для объекта опций ssl, попробовал самоподписанный сертификат, а также с помощьюсертификат для веб-приложения и множество других вещей безрезультатно.

когда я запускаю все, я могу видеть тело запроса, как и ожидалось

<device><type>web</type><deviceId>547564be-fd2d-6ea8-76db-77c1f3d05e3e</deviceId></device>

, но тело ответане так что-то вроде

U�Os�0��~n� ��锶3m��������$h�Z�=���{ﷇ��2��.۾���]I=�!/ylƴ�4p%��P�G�����~��0�jݧ�NUn��(���IQ�
                                                                =2� 

Я также вижу заголовки для запроса и ответа без проблем

1 Ответ

0 голосов
/ 19 декабря 2018

оказывается, что это не было проблемой ssl вообще.тело ответа от сервера приходило в заархивированном формате.Мне пришлось разархивировать буфер тела ответа и затем запустить .toString () в разархивированном буфере

onResponse (event:any) {
    console.log('========================')
    let buf = event.body as Buffer
    let unzippedBody = zlib.gunzipSync(buf) as Buffer
    console.log(unzippedBody.toLocaleString())
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...