Как определяется бит IEDriver для выполнения - PullRequest
0 голосов
/ 15 октября 2019

У нас есть 2 машины, на которых мы запускаем сценарии IE selenium Test. В обеих машинах IE 32 бит настроен. В одной машине он печатает быстрее, а в другой - каждое слово. Итак, на этой машине я изменил битовую версию IEDriver на 64, и она работала, как и ожидалось.

Мой вопрос: как бит драйвера IE определяется как 64 или 32. Есть ли какая-либо связь между битовой версией ОС? например, если ОС 64, то IE тоже должно быть 64?

Ответы [ 3 ]

0 голосов
/ 15 октября 2019

С https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#internet-explorer-driver:

Драйвер поддерживает запуск 32-разрядных и 64-разрядных версий браузера. Выбор способа определения того, какую «битность» использовать при запуске браузера, зависит от того, какая версия IEDriverServer.exe запущена. Если запущена 32-разрядная версия IEDriverServer.exe, будет запущена 32-разрядная версия IE. Аналогичным образом, если запущена 64-разрядная версия IEDriverServer.exe, будет запущена 64-разрядная версия IE.

AFAIK, 32-разрядный или 64-разрядный драйвер можно запустить на 64-битная винда;Я ожидал бы, что 32-разрядный драйвер можно запускать только в 32-разрядной Windows.

Кстати, 32-разрядный драйвер считается «более быстрым», чем его 64-разрядный аналог. Но - учитывая, что на воспринимаемую скорость влияют процессор / оперативная память тестируемой системы - это необходимо проверить, чтобы быть уверенным. При этом я ранее использовал 32-битную версию на 64-битных системах, потому что она появилась быстрее (особенно WRT для ввода текста).

0 голосов
/ 16 октября 2019

Существуют технические причины, по которым «битность» драйвера должна совпадать с «битностью» браузера, в основном из-за того, что драйвер использует процедуры подключения Windows для обработки нажатий клавиш по умолчанию. Эти технические причины изложены в сообщении в блоге , написанном автором драйвера (мной) несколько лет назад. Сложность заключается в том, чтобы знать, является ли браузер на самом деле 32-битным или 64-битным.

Видите ли, IE использует несколько процессов при просмотре, в частности, процесс брокера (который обрабатывает внешний фрейм браузера), ипроцессы содержимого (обычно по одному на вкладку, которая фактически отображает содержимое). Однако, начиная с IE10, проблема заключается в том, что эти процессы (брокер и процессы контента) могут иметь разных битов. Фактически, в 64-битной Windows это значение по умолчанию, где процесс посредника 64-битный, а процессы контента 32-битные. Взаимодействия элементов, такие как отправка нажатий клавиш, происходят в процессе содержимого, поэтому драйвер должен соответствовать этому.

Это означает, что наиболее распространенным случаем является использование 32-разрядного драйвера IE, даже в 64-разрядной Windows. Следует отметить, что в некоторых случаях можно получить 64-разрядный процесс обработки контента (обычно основанный на расширенном защищенном режиме), но это подавляющее большинство случаев.

0 голосов
/ 15 октября 2019

Если вы используете IEDriverServer.exe, 32-битное выполнение будет быстрее, а если вы используете 64-битное выполнение, будет медленнее, независимо от вашей ОС. Таким образом, используйте 32-битный как его быстрее. Я пробовал как с 32-х, так и с 64-битными, поверь мне, 64-битные слишком медленные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...