Как я могу использовать testcafe, чтобы перехватить и смоделировать запросы websocket - PullRequest
2 голосов
/ 23 мая 2019

Я пытаюсь переопределить некоторые запросы веб-сокетов для целей функционального тестирования.

Я пытался использовать перехваты и насмешки, как рекомендовано здесь https://devexpress.github.io/testcafe/documentation/test-api/intercepting-http-requests/ однако это только кажется простым для HTTP и может только обновлять статускод в WSS.Сообщения в WSS находятся в формате JSON, который мне нужно переопределить.

import { RequestMock } from 'testcafe';
import { debug } from 'util';


const mockStream = new RegExp('test\/socket.io\/v2\/.?');

const ipUrl = 'https://example.com';
const mockedResponse = Buffer.from([0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01]);

const mock = RequestMock()
    .onRequestTo(mockStream)
    .respond(mockedResponse, 101, {
        'access-control-allow-credentials': true,
    });

fixture `Fixture`
    .page(ipUrl)
    .requestHooks(mock);
test('Mocking', async t => {
    await t
    .debug()
        .click('#button')
        .wait(5000)
        .debug();
});

1 Ответ

3 голосов
/ 27 мая 2019

В настоящее время невозможно перехватывать запросы WebSocket.Я создал проблему для этого случая в репозитории TestCafe.Отследите его, чтобы быть в курсе наших успехов в реализации этой функции.

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