RequestLogger не перехватывает все запросы http - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь проверить эту страницу http://prebid.org/ Я хочу знать, загружено или нет изображение http://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png.

Поэтому я создал регистратор и проверил количество регистраторов, но это не так.не записывать этот запрос.

Я создал собственный регистратор, но он не регистрировался.Я предполагаю, что он только перехватывает запросы, инициатором которых является сама страница.Так что, если какой-либо запрос, инициированный сторонней компанией js, не будет записан.

Как я могу это реализовать?

1 Ответ

0 голосов
/ 17 октября 2018

TestCafe основан на testcafe-hammerhead прокси.

Все запросы проходят через этот прокси, что приводит к задержке загрузки страниц.http://prebid.org/ использует тайм-ауты для "Adserver" / "ставок", поэтому при первой загрузке мы видим ответ сервера "Все участники торгов слишком длинны или не делают ставок".

Нажатие на "Обновить"Кнопка "Объявление" помогает обойти эту проблему, поскольку повторные запросы будут выполняться намного быстрее.

test-prebid.js:

import { Selector, RequestLogger } from 'testcafe';

const logger     = RequestLogger('http://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png');
const refreshBtn = Selector('a').withText('Refresh this ad');

fixture('Prebid')
    .page(`http://prebid.org/`);

test
    .requestHooks(logger)
    (`image loading`, async (t) => {
        await t
            .click(refreshBtn)
            .expect(logger.contains(record => record.response.statusCode === 200)).ok();
});

Результат теста:

> d:\Prebid>testcafe chrome,edge,ie test-prebid.js -e

Using locally installed version of TestCafe.
 Running tests in:
 - Chrome 69.0.3497 / Windows 10.0.0
 - Edge 17.17134.0 / Windows 10.0.0
 - IE 11.0.0 / Windows 10.0.0

 Prebid
 √ image loading

 1 passed (11s)

Примечание: http://devexpress.github.io/testcafe/documentation/using-testcafe/command-line-interface.html#-e---skip-js-errors

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