Не удается перехватить исходящий AJAX-запрос со страницы с помощью Testcafe - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь использовать TestCafe для клиентской библиотеки javascript и не могу перехватить любые исходящие запросы AJAX для загрузки страницы тестирования через механизм подсчета.

Мои попытки включают использование объекта RequestLogger из этой библиотеки, включая установку первого параметра с использованием регулярного выражения /\.org/ для захвата любого исходящего запроса плитки, который использует суффикс .org.Я считаю, что это имеет смысл, поскольку все исходящие запросы отправляются на openstreetmap.org с целью сбора фрагментов карты png.

Суть моего теста выглядит следующим образом:

import { RequestLogger } from "testcafe";

fixture`Hello World - Leaflet`.page`http://localhost:8080`;

const logger = RequestLogger(/org/, {
  logRequestHeaders: true,
  logResponseHeaders: true
});

test("Test if there's an outgoing network request...", async t => {
  // Do something...
  await t
    .wait(5000)
    .expect(logger.count(() => true))
    .gt(0, "Must detect more than zero outgoing requests to openstreetmap");
});

Есть ли что-то, чего мне не хватает для правильного подсчета исходящих запросов AJAX?

Если это поможет, я сделал репозиторий, содержащий эту проблему, настроенный таким образом, чтобы люди могли попытаться решитьбез конфигурации:

1 Ответ

0 голосов
/ 25 января 2019

Спасибо за ваше подробное описание.

Вам необходимо прикрепить logger к вашему test / fixture. Вы также можете прикреплять и отсоединять крючки во время пробного запуска, используя методы t.addRequestHooks и t.removeRequestHooks.

В тестовом коде я прикрепил logger крючок к test:

import { RequestLogger } from "testcafe";

fixture`Hello World - Leaflet`.page`http://localhost:8080`;

const logger = RequestLogger(/org/);

test
    .requestHooks(logger)
    ("Test if there's an outgoing network request...", async t => {
        await t
            .wait(5000)
            .expect(logger.count(() => true))
            .gt(0, "Must detect more than zero outgoing requests to openstreetmap");
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...