Есть ли способ использовать 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, от тех, которые используются для обычных сеансов просмотра. Это можно сделать с помощью хромированного элемента браузера, такого как дверная вешалка, красочное оформление окна ОС или некоторый элемент виджета, который преобладает в окне, чтобы его было легко идентифицировать окна автоматизации.

Другие вопросы по тегам