Есть ли способ использовать Selenium WebDriver, не сообщая документу о том, что он контролируется WebDriver?
Я автоматизирую веб-страницу, которая вызывает CAPTCHA для проверки логина, но я заметил, что эта страница запрашивает эту CAPTCHA, только когда я использую свой автоматизированный тестовый код, когда я делаю это вручную, он не запрашивает. Я попросил команду разработчиков отключить его в среде QA, но это невозможно из-за кода безопасности.
Мне нужно знать, есть ли способ не сказать браузеру, что я использую автоматический тест на этой странице.
Не могли бы вы мне помочь?
1 ответ
Нет, нет способа скрыть, что вы запускаете автоматический тест.
Интерфейс WebDriver
При использовании интерфейса WebDriver для флага webdriver-active устанавливается значение true, поскольку пользовательский агент находится под удаленным управлением. Это изначально ложно.
WebIDL
Navigator includes NavigatorAutomationInformation;
Обратите внимание, что NavigatorAutomationInformation
интерфейс не должен быть выставлен на WorkerNavigator.
WebIDL
interface mixin NavigatorAutomationInformation {
readonly attribute boolean webdriver;
};
WebDriver
- Возвращает true, если установлен флаг webdriver-active, в противном случае - false.
пример
Для веб-авторов (ненормативный раздел):
navigator.webdriver
Определяет стандартный способ взаимодействия пользовательских агентов для информирования документа о том, что он контролируется WebDriver, например, так что альтернативные пути кода могут запускаться во время автоматизации.
Вышеупомянутая реализация основана на следующих соображениях безопасности:
Пользовательский агент может полагаться на флаг командной строки или параметр конфигурации, чтобы проверить, активировать ли WebDriver или, альтернативно, заставить пользовательский агент инициировать или подтвердить подключение через документ с привилегированным содержимым или виджет управления, если пользовательский агент не имеет прямого отношения. реализовать конечные точки HTTP.
Настоятельно рекомендуется, чтобы пользовательские агенты требовали, чтобы пользователи предпринимали явные действия для включения WebDriver, и что WebDriver остается отключенным в общедоступных версиях пользовательского агента.
Также предлагается, чтобы пользовательские агенты пытались визуально отличить сеанс пользовательского агента, который находится под управлением WebDriver, от тех, которые используются для обычных сеансов просмотра. Это можно сделать с помощью хромированного элемента браузера, такого как дверная вешалка, красочное оформление окна ОС или некоторый элемент виджета, который преобладает в окне, чтобы его было легко идентифицировать окна автоматизации.