Перейти к содержимому

Фотография

Фейлится Jenkins джоба, хотя если запускать тест из кода, то все работ

jenkins

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 elshaarawy

elshaarawy

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Sergei Dolgopolov

Отправлено 19 декабря 2018 - 22:54

Здравствуйте уважаемые. Встрял я с одной проблемой на работе, никак не могу найти решение.
Автоматизирую Oracle Forms с помощью оракловского инструмента OATS (по сути обычный рекордер, который генерирует java код). Так вот. Записал я один тест, создание нового пользователя. Запускаю через рекордер - всё работает и тест passed. Но, когда я запускаю этот же тест через jenkins джобу - тест фейлится - появляеются ошибки типа Object not found у поля или textfield not editable, короче бредовые ошибки, которых быть не должно (ведь через рекордер всё работает прекрасно). Анализируся ситуация, пришел к выводу, что проблема в том, что когда запускаешь через рекордер - тест запускается в десктоп режиме (то есть реально запускается браузер, реально жмутся кнопки и тд), а когда запускается jenkinsjob, то запуск происходит в background mode (console mode/headless mode) и поэтому появляются ошибки. Это не точно, это как одна из причин. Так вот, не подскажите ли, как запустить эту джобу в ДЕСКТОП режиме(может какие настройки jenkins?) . Или вообще может какие идеи у вас есть? Я не знаю куда дальше копать? :)


  • 0

#2 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 20 декабря 2018 - 11:53

Давно уже решал такую задачу, помню не всё. И Jenkins'a у нас не было, как с ним этот подход подружить - думайте, возможны разные решения.

 

Суть в том, что десктоп принадлежит конкретному пользователю (речь ведь о винде?). Поэтому надо всё подготовить: создать пользователя, под которым система будет прогонять тесты, создать профиль этого пользователя на всех машинах, где тесты будут выполняться, настроить, чтоб рабочий стол не блокировался автоматически. И конечно, проверить, что политика безопасности это вообще позволяет.

 

Далее шаги такие:

1. Сделать так, чтоб логин в данный профиль мог происходить автоматически, без ввода пароля. Вот это я как раз не помню, как делается - придется гуглить. Но наводка такая: чтоб не слишком издеваться над безопасностью, можно настроить разовый автоматический логин после перезагрузки. Очевидно, что после этого придется перезагрузить машину.

2. Запустить команду SCHTASKS, т.е. создать задачу планировщика на запуск тестов. Посмотрите справку "SCHTASKS /Create /?": там есть ключ "/IT", который гарантирует интерактивный запуск.

 

Если это будет решение с перезагрузкой, естественно, сама задача Jenkins должна выполняться на другой машине: послать необходимые команды удаленно и ждать результатов.


  • 0



Темы с аналогичным тегами jenkins

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных