Тесты Selenium для Internet Explorer не выполняются должным образом через Jenkins - PullRequest
0 голосов
/ 13 июня 2019

У нас есть автоматизированная проверка работоспособности, при которой все наши приложения входят в систему, все через Selenium и только в Internet Explorer.

Код работает хорошо, когда он был выполнен непосредственно из пакетного файла.Однако, когда Jenkins вызывает этот пакетный файл (.bat), он не выполняет его полностью.

Кстати, платформа - Windows Server 2008 R2 Standard

Это .batкод файла

@echo off
set path="";
set path="E:\XXXX\jre1.8.0_141\bin";
pushd E:\Jenkins_Softwares\SeleniumCode\HealthCheck_jar
SET JAVA_OPTS=-Xmx4g -Xms512m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=128m -XX:MaxHeapSize=512m
java -jar HealthCheck_JenkinsNG.jar

Я добавил эти дополнительные параметры IE в код JAVA перед запуском драйвера IE.

InternetExplorerOptions options = new InternetExplorerOptions();
options.introduceFlakinessByIgnoringSecurityDomains();
options.enableNativeEvents();
options.destructivelyEnsureCleanSession();

Когда Jenkins выполняет пакетный файл, браузер IE открывается встраница входа.Есть что-то странное, когда эта страница отображается - выравнивание всей страницы нарушается, и все элементы выравниваются по левому краю. (Я хотел бы подчеркнуть, что когда вместо этого пакетный файл выполняется напрямую, такое выравнивание страницы не нарушается. Элементы сохраняют свое первоначальное центральное положение. По какой-то причине Дженкинс устанавливает все это влево). Для меня выравнивание не совсем нарушает условия сделки.

Однако, когда имя пользователя и пароль вводятся с помощью кода Selenium, оно вводится в идеальные текстовые поля;но когда нажата кнопка «Отправить», содержимое этих текстовых полей становится пустым, и я не могу войти. (Когда этот же кусок кода выполняется через непосредственный запуск командного файла, я могу войти в систему и отображается домашняя страница моего приложения)

Я сомневаюсь, что что-то не так сJava-код селена.Поскольку он выполняется правильно, при запуске из файла .bat или даже из командной строки или даже как приложение Java из IDE.По какой-то причине, когда это выполняется из Jenkins, оно не работает.

Есть ли какие-либо параметры или настройки, которые необходимо установить, когда Jenkins работает с Selenium в IE 11?Поскольку я так много пытался настроить код селена, все они дают один и тот же результат - элементы на странице входа в систему очищаются после нажатия кнопки отправки.

Кроме того, просто чтобы упомянуть, все этоработать только на одном мастер-узле Jenkins.Нет подчиненных узлов.

1 Ответ

0 голосов
/ 13 июня 2019

Вам необходимо позаботиться о нескольких вещах следующим образом:

  • Для процесса build Jenkins потребуется путь jdk . Просто jre может не хватить.
  • JDK 8u141 является древним, и вам нужно обновить его до последней JDK 8u202
  • introduceFlakinessByIgnoringSecurityDomains()Java ) и IntroduceInstabilityByIgnoringProtectedModeSettings()DotNet ) - не идеальное решение для решения проблем, возникающих из Настройки защищенного режима .
  • Здесь вы можете найти подробное обсуждение в Настройка защитного режима Internet Explorer и уровни масштабирования
  • Для работы с Selenium , InternetExplorerDriver и InternetExplorer необходимо выполнить Требуемая конфигурация
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...