Я пытаюсь проверить эту страницу http://prebid.org/ Я хочу знать, загружено или нет изображение http://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png.
http://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png
Поэтому я создал регистратор и проверил количество регистраторов, но это не так.не записывать этот запрос.
Я создал собственный регистратор, но он не регистрировался.Я предполагаю, что он только перехватывает запросы, инициатором которых является сама страница.Так что, если какой-либо запрос, инициированный сторонней компанией js, не будет записан.
Как я могу это реализовать?
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