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

Фотография

Selenium WebDriver Браузер во всю ширину экрана


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

#1 ArtemKorsakov

ArtemKorsakov

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Артём
  • Город:Москва

Отправлено 01 марта 2016 - 15:34

Добрый день, коллеги!

 

Столкнулся с очень неприятной ситуацией. Мне нужно, чтобы у меня браузер открывался во всю ширь экрана (1920*1080).

 

Вот код для Хрома:

ChromeOptions co = new ChromeOptions();
co.addArguments("--start-maximized");

System.setProperty("webdriver.chrome.driver", PATH + "/trunk/Common/Extensions/chromedriver.exe");

driver = new ChromeDriver(co);

 

Запускаю тест из Eclipse. Открывается Хром во всю ширину экрана (1920*1080), а дальше начинает прогоняться тест. Всё круто.

Собрал jar-ник, запускаю тест из командной строки:

java -cp C:\Development\Autotest\trunk\CompileTests\AllTest.jar; org.junit.runner.JUnitCore fxl.scsdm.FxlScsDmSvod

Опять же, открывается Хром во всю ширь экрана 1920*1080. Все круто!

 

Развернул на своей машине Jenkins. Настроил в Jenkins-e задание, которое выполняет вышеописанную виндовую команду. Запускаю задание, автотест не отрабатывает.

Поставил в определённом месте снятие скриншота, сформировался скриншот и на нём я вижу, что браузер открылся размером 1024*697.

 

Аналогичные проблемы с Мозиллой:

driver = new FirefoxDriver();
driver.manage().window().maximize();

 

 

Подскажите, пожалуйста, как мне сделать так, чтобы Jenkins прогонял тесты в браузере размерностью 1920*1080.

Можно ли принудительно установить размерность браузера 1920*1080?

 

 


  • 0

#2 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 01 марта 2016 - 15:38

driver.set_window_size(1920,1080)

это на python


  • 0

#3 ArtemKorsakov

ArtemKorsakov

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Артём
  • Город:Москва

Отправлено 01 марта 2016 - 16:08

А как на Java?

 

Сделал так:

        driver.manage().window().setSize(new Dimension(1920,1080));
        System.out.print(driver.manage().window().getSize().width + "---");
        System.out.print(driver.manage().window().getSize().height + "---");

 

Не помогло. В логе пишет, что размерность 1044*788


  • 0

#4 DennisM

DennisM

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

  • Members
  • Pip
  • 55 сообщений
  • ФИО:Dennis M
  • Город:Ralegh NC, USA

Отправлено 01 марта 2016 - 17:49

Jenkins как сервис запущен или запускал jenkins.war из коммандной строки?

Windows  не разрешает сервисам запускать другие программы как Firefox.

Запусти

java -jar jenkins.war 

как администратор.


  • 2

#5 ArtemKorsakov

ArtemKorsakov

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Артём
  • Город:Москва

Отправлено 02 марта 2016 - 10:48

Jenkins как сервис запущен или запускал jenkins.war из коммандной строки?

Windows  не разрешает сервисам запускать другие программы как Firefox.

Запусти

java -jar jenkins.war 

как администратор.

Jenkins запущен был, как сервис.

Удалось решить проблему путём создания Новой среды сборки в Настройках Jenkins.

Стандартный "мастер" отключил, создал новый узел Autotest, выставил Способ запуска - "Let Jenkins control this Windows slave as a Windows service". Прописал Логин/Пароль и нужный хост.

Автотесты, кажется, стали прогоняться так, как если бы их запустил прописанный пользователь. Разрешение экрана теперь, вроде бы, нормальное 1920*1080.

 

>>> Windows  не разрешает сервисам запускать другие программы как Firefox.

Плохо. А что делать? Всегда запускать jenkins.war из коммандной строки?


  • 0

#6 DennisM

DennisM

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

  • Members
  • Pip
  • 55 сообщений
  • ФИО:Dennis M
  • Город:Ralegh NC, USA

Отправлено 02 марта 2016 - 15:00

 

Jenkins как сервис запущен или запускал jenkins.war из коммандной строки?

Windows  не разрешает сервисам запускать другие программы как Firefox.

Запусти

java -jar jenkins.war 

как администратор.

Jenkins запущен был, как сервис.

Удалось решить проблему путём создания Новой среды сборки в Настройках Jenkins.

Стандартный "мастер" отключил, создал новый узел Autotest, выставил Способ запуска - "Let Jenkins control this Windows slave as a Windows service". Прописал Логин/Пароль и нужный хост.

Автотесты, кажется, стали прогоняться так, как если бы их запустил прописанный пользователь. Разрешение экрана теперь, вроде бы, нормальное 1920*1080.

 

>>> Windows  не разрешает сервисам запускать другие программы как Firefox.

Плохо. А что делать? Всегда запускать jenkins.war из коммандной строки?

 

Да. Я создал .bat файл для запуска с админскими правами. И проблем никаких. ;)

Также Jenkins скидывает всё свое барахло в папку юзера. Можно указать свое место.
Мой Start_Jenkins.bat файл выглядит так:
 
SET JENKINS_HOME=C:\Jenkins\.jenkins
java -jar jenkins.war

  • 2

#7 ArtemKorsakov

ArtemKorsakov

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Артём
  • Город:Москва

Отправлено 02 марта 2016 - 15:36

 

Да. Я создал .bat файл для запуска с админскими правами. И проблем никаких. ;)

Также Jenkins скидывает всё свое барахло в папку юзера. Можно указать свое место.
Мой Start_Jenkins.bat файл выглядит так:
 
SET JENKINS_HOME=C:\Jenkins\.jenkins
java -jar jenkins.war

 

Отлично, всё ясно!

Я так же попробовал, но появилась одна проблема:

Jenkins, который запускался через службы, хранил все свои настройки в папке "C:\Program Files (x86)\Jenkins".

А Jenkins, который запускается через java -jar jenkins.war, смотрит настройки в папке "C:\Users\akorsakov\.jenkins".

Вопрос: как мне сделать так, чтобы во втором случае настройки смотрелись из папки "C:\Program Files (x86)\Jenkins", а не "C:\Users\akorsakov\.jenkins"???

Достаточно ли для этого запускать так:

SET JENKINS_HOME=C:\Program Files (x86)\Jenkins

???


  • 1

#8 DennisM

DennisM

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

  • Members
  • Pip
  • 55 сообщений
  • ФИО:Dennis M
  • Город:Ralegh NC, USA

Отправлено 02 марта 2016 - 16:27

 

 

Да. Я создал .bat файл для запуска с админскими правами. И проблем никаких. ;)

Также Jenkins скидывает всё свое барахло в папку юзера. Можно указать свое место.
Мой Start_Jenkins.bat файл выглядит так:
 
SET JENKINS_HOME=C:\Jenkins\.jenkins
java -jar jenkins.war

 

Отлично, всё ясно!

Я так же попробовал, но появилась одна проблема:

Jenkins, который запускался через службы, хранил все свои настройки в папке "C:\Program Files (x86)\Jenkins".

А Jenkins, который запускается через java -jar jenkins.war, смотрит настройки в папке "C:\Users\akorsakov\.jenkins".

Вопрос: как мне сделать так, чтобы во втором случае настройки смотрелись из папки "C:\Program Files (x86)\Jenkins", а не "C:\Users\akorsakov\.jenkins"???

Достаточно ли для этого запускать так:

SET JENKINS_HOME=C:\Program Files (x86)\Jenkins

???

 

Не уверен что винда разрешит самостоятельно программе сохранятся в program files.
Хотя если запущенно от администратора, то да.
Попробуй. Только на всякий случай сделай бэкап. ;)

  • 1

#9 ArtemKorsakov

ArtemKorsakov

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Артём
  • Город:Москва

Отправлено 03 марта 2016 - 08:28

Спасибо! Все получилось.

Заодно научился бэкап делать :)


  • 0


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

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