Comments (2)
Привет.
Столкнулись с тем, что иногда при локальном запуске тестов большинство тест-кейсов падает по таймауту во время исполнения хука beforeEach. Выяснили, что происходит это из-за порой долгой загрузки страницы, которая долгая из-за запросов в сторонние сервисы. Например, разного рода аналитика и реклама.
Сайты с аналитикой/рекламой/etc можно замокать и возвращать пустоту. Например вот так:
const mock = await this.browser.mock('YOUR_GLOB_MASK');
mock.respond('', {fetchResponse: false});
В качестве YOUR_GLOB_MASK
можно подставлять любой сайт в виде строки (например https://metrika.yandex.ru
) или указать маску вида - https://www.google.com/images/**/*.png
, т.е. чтобы перехватить все png-шки с google.
Есть ли какой-то способ перед началом тестов не ждать полной загрузки страницы, а только DOM, как параметр waitUntil в puppeteer и playwright? Пробовали в параметры браузеров ставить pageLoadStrategy: 'eager' и pageLoadStrategy: 'none' (не помогло):
По идее вариант с pageLoadStrategy: eager
должен работать. Возможно проблема в проверке выполняющейся после открытия урла. Нужен какой-то minimal reproducible example.
Или есть ли способ перехватить запросы в сторонние сервисы ДО полной загрузки страницы и подменить ответ (и таким образом не ждать выполнения запросов)? В доке webdriverio нашлись только моки, которые для такого не предназначены (они работают после полной загрузки страницы), и Interception Service, который тоже не предоставляет нужного функционала.
Моки работают в рантайме, а не после загрузки страницы. Возможно вы забыли явно выставить опцию fetchResponse: false
, чтобы не осуществлялся реальный запрос.
from hermione.
да, пропустили fetchResponse: false
, спасибо!
from hermione.
Related Issues (20)
- Не до конца страницы делается скриншот HOT 3
- Ошибка при нажатии "Accept" HOT 3
- parallel execution Android and IOS config[HELP] HOT 3
- Running into issues with Programmatic API HOT 1
- Vertical scroll in mobile view is marked HOT 6
- Не сканирует страницу до конца и не правильно. HOT 8
- Нестабильный размер скриншотов, нестабильный маленький диф на одном и том же тексте HOT 5
- 👋 From the Selenium project!
- Invalid 'sets' type in CommonConfig HOT 1
- При запуске hermione ошибка webdriver : Request failed with status 200 due to WebDriver Error: unknown error: net::ERR_CONNECTION_REFUSED HOT 5
- Не устанавливается hermione на windows с версии 5.1.0 HOT 1
- After upgrading to 5.4, tests fail randomly with "Cannot read properties of undefined (reading 'hermioneCtx')"
- New release doesn't contain updated types HOT 1
- v7.0.0: Breaking changes HOT 1
- How to handle runtime errors inside a plugin HOT 3
- Identified problems, with my options for solving them (Hermione 7) HOT 4
- Не работает ховер, если страницу нужно просколлить HOT 8
- Как сохранить отчет от Гермионы UI версию? HOT 2
- Подключение @wdio/devtools-service HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hermione.