Как подключить браузер Chrome через debug порт¶
-
Настройки, когда запускается браузер, в котором будут открываться произвольные сайты:
- В конфигурации должны быть разрешены синхронные вызовы или в качестве менеджера тестирования должна быть конфигурация, в которой разрешены синхронные вызовы. Также возможно использовать конфигурацию, в который синхронные вызовы запрещены, но тогда не надо запускать тонкий клиент из конфиуратора. Подробнее см в FAQ.
- На закладке Сервис – Основные необходимо установить флаг Использовать компоненту VanessaExt
- На закладке Сервис - Настройки клиентов тестирования в настройках запуска браузера нажимаем на кнопку Chrome+debug. Заполнится команда запуска браузера с ключом --remote-debugging-port=9222.
- На закладке Сервис - Настройки клиентов тестирования установить флаг «Использовать браузер + web socket».
-
Дополнительно, если в браузере будет открываться web клиент:
- Версия платформы менеджера тестирования и клиента тестирования должна совпадать. Это касается тонкого, толстого, web клиента.
- Для файловой базы имя ПК в подключениях обычно указывается localhost, порт 1538.
- Для серверной базы имя ПК обычно указывается сетевое имя кластера 1С (или ip адрес), порт 1541. Кластер должен быть доступен по сети с того компьютера, на котором запускается менеджер тестирования.
- Вкладку бразуера нельзя закрывать крестиком, если в ней запущен web клиент 1С. Только через Файл -> Выход. Иначе останется незакрытая сессия в кластере 1С или на web сервере и второй раз web клиент может не запуститься.
- Уникальность подключения web клиента определяется по имени подключения.
- Подробности смотри тут. Глава 2. Закладка "Клиенты тестирования".
Ключи для стабильной работы тестов¶
При прогоне тестов окно браузера часто перекрыто окном Vanessa Automation, и Chrome считает вкладку фоновой: троттлит таймеры JavaScript и понижает приоритет процесса рендеринга. Из-за этого тесты работают нестабильно.
Кнопки "Chrome" и "Chrome+debug" добавляют в команду запуска ключи, которые это отключают:
--disable-background-timer-throttling- отключает троттлинг таймеров в фоновых вкладках.--disable-renderer-backgrounding- не понижает приоритет процесса рендеринга фоновых вкладок.--disable-backgrounding-occluded-windows- не считает вкладку фоновой, если ее окно перекрыто другим окном.--disable-features=CalculateNativeWinOcclusion(только Windows) - отключает расчет окклюзии окна на уровне Windows.
Если команда запуска браузера уже сохранена в настройках или в файле параметров запуска, перезаполните ее кнопкой или допишите ключи руками. Если добавляете свой ключ --disable-features, новые фичи дописывайте в существующий список через запятую, а не указывайте ключ повторно: при повторе ключа действует только последнее значение.
Для режима "Использовать браузер + web socket" в команде обязателен ключ --user-data-dir: начиная с Chrome 136 ключ --remote-debugging-port без него не работает. Пример команды для Windows:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir=C:\temp\chrome_debug_profile --disable-background-timer-throttling --disable-renderer-backgrounding --disable-backgrounding-occluded-windows --disable-features=CalculateNativeWinOcclusion
Шаг «И Нужно сбросить браузер»¶
Шаг «И Нужно сбросить браузер» закрывает и заново запускает браузер из команды запуска браузера. Закрытие выполняется принудительно по имени процесса браузера (chrome.exe, chromium и т.п.), поэтому закрываются все процессы этого браузера у текущего пользователя, включая личные окна. Перед прогоном сценариев с этим шагом сохраните работу в личном браузере.