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

Фотография

Export SeleniumWD Tests to .jar and start it in another PC

Selenium Maven junit java webdriver idea

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

#1 Mike22

Mike22

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Михаил Шипилов

Отправлено 02 февраля 2018 - 12:13

Добрый день! 

Столкнулся с такой проблемой: 

Я джун (Java automation), совершенно без опыта, попал в команду разработчиков. 

Они всю жизнь работают на Питоне и о Джаве слышали только от третих лиц, поэтому совет был только один - Гугл. 

 

Написал тесты, все работает все супер, но не дальше моей IntelliJ IDEA (под win10).

Поднялся вопрос про экспорт например в .jar и возможность запуска на других машинах под Linux (предпочтительнее) и прям в терминале. 

Переписал вызов WebDriver под нужную ОС, экспортил следующим образом:

File -> ProjectStructure -> Artifacts ...
потом Build ->  BuildArtifacts ...

Получил свой .jar, скинул на Linux - открыли в терминале директорию с файлом и попытались его запустить. 

Файл нашло - стартонуть не получилось. Ошибок не выводит, в терминале нечего не пишет, просто как отработанная команда и ожидание ввода следующей команды.

 

Переписал WebDriver под Мас и сохранил его по новой, попытался запустить так же само в терминале, но уже под Мас. Абсолютно все так же само "отработало" и нечего не вывело...

 

В полной растерянности что делать, коллеги не могут помочь, гугл особо тоже не помог (но к нему вопросов нет, возможно не то гуглю).

 

Отмечу следующие, чтоб понимали на чем собранно и что использовалось при написании тестов.

WinOS, Idea, Maven, в pom файле указал только две зависимости Selenium (3.8.1), jUnit (release). 

Сам тест очень простой, буквально на уровне "открыть сайт, проверить наличие элементов, проверить определенные данные - больше 0, закрыть).

По совету "умных" перекинул и сами тесты с main/test/java/... в main/java/... потому что main не было а без него не собирается проект в .jar

Manifest присутствует, вызов метода тоже.

 

Подскажите пожалуйста как ПРАВИЛЬНО писать тесты (в плане оформления самого проекта), чтоб потом на любой машине с консоли можно было стартануть мой .jar файлик и тесты отработали. Возможно в корне не с той стороны подход искать начал и нужно что-то сделать по другому, любому совету буду очень благодарен!

Прикрепленные файлы


  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 02 февраля 2018 - 13:17

делать "руками" это всё очень муторно

 

надо ставить ЦИ сервер типа Дженкинса, и на нём через мавен запускать тесты

 

всё легко будет, и с отчётиками


  • 0

#3 Mike22

Mike22

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Михаил Шипилов

Отправлено 02 февраля 2018 - 13:25

делать "руками" это всё очень муторно

 

надо ставить ЦИ сервер типа Дженкинса, и на нём через мавен запускать тесты

 

всё легко будет, и с отчётиками

ЦИ будет позже, сейчас главная задача запустить тесты вручную. После старта из консоли должно же запускай browser и выполнять действия. Но к сожалению команда отрабатывает,  browser так и не стартует, поэтому не можем понять как "стартовать" их, чтоб потом оформлять все на Дженкинс.

 

И дополнительный вопрос появился. Мы можем как-то собрать проект, чтоб под мавеном запустить его на другой машине?  Подскажите пожалуйста 


  • 0

#4 TatyanaV

TatyanaV

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

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 02 февраля 2018 - 13:46

А что у вас в psvm?

И как указан путь к драйверу (если указан)?


  • 0

#5 Mike22

Mike22

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Михаил Шипилов

Отправлено 02 февраля 2018 - 13:57

А что у вас в psvm?

И как указан путь к драйверу (если указан)?

Разобрался, проблема оказывается в следующем. 

С консоли стартует .jar и его class main, а у меня там было совершенно пусто.

Добавил тестовую строку, чтоб сблизить и проверить выводит ее или нет, все отработало - строку вывело.

 

Теперь новая задача, разобраться, как из класса main делать вызов моих тестов :)


  • 0

#6 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 02 февраля 2018 - 14:14

Теперь новая задача, разобраться, как из класса main делать вызов моих тестов :)

https://stackoverflo...he-command-line :)
  • 1

#7 TatyanaV

TatyanaV

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

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 02 февраля 2018 - 14:16

Продублирую и сюда :)

 

Класс с тестами (в Java) = класс с методами :).

Вызывайте также, как вызывали бы обычные методы какого-нибудь класса.

TestClass testSuite = new TestClass();

testSuite.test1();

testSuite.test2();

 

И т.д. Ну или через рефлекшн.

Получить список всех методов тестового класса, а дальше пробежаться по ним - если есть аннотация @Test -> invoke.


  • 0

#8 Mike22

Mike22

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Михаил Шипилов

Отправлено 02 февраля 2018 - 15:14

 

Теперь новая задача, разобраться, как из класса main делать вызов моих тестов :)

https://stackoverflo...he-command-line :)

 

 

Продублирую и сюда :)

 

Класс с тестами (в Java) = класс с методами :).

Вызывайте также, как вызывали бы обычные методы какого-нибудь класса.

TestClass testSuite = new TestClass();

testSuite.test1();

testSuite.test2();

 

И т.д. Ну или через рефлекшн.

Получить список всех методов тестового класса, а дальше пробежаться по ним - если есть аннотация @Test -> invoke.

Спасибо огромное! Разобрался вроде :) 


  • 0



Темы с аналогичным тегами Selenium, Maven, junit, java, webdriver, idea

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

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