Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как запускать Selenium тесты не из Eclipse


(koshkavkleto4ku) #1

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

Не могу навести ясность в голове и поэтому пошу совета.

Ситуация следующая: есть тесты Selenium + Java + JUnit + Maven. Сейчас запуск осуществялется из Eclipse, все работает, все хорошо, но ясно, что хочется облегчить запуск и свести к минимальным телодвижениям.

Посоветуйте, как лучше настравить запуск в этой ситуации. Читала много всего, но так и не прояснила картину.
Оговорюсь еще, что в проекте с тестами есть фалы с данными (входные, эталоны).

В продолжение как второй этап для меня на будущее: сборка самого проекта сейчас происходит через bamboo, деплой вручную. Куда двигаться на пути к CI пока для меня неясно.

Жду советов, опытные товарищи!


Создание java приложения для запуска автоматизации не из IDE
(muray) #2

Та же самая проблема, надеюсь на пошаговую инструкцию к ее выполнению.


(Mykhailo Poliarush) #3

так вопрос в том как настроить CI

или как запускать тесты через maven, но без eclipse?


(Mykhailo Poliarush) #4

если в общем мы говорим для локальной машины

1. надо настроить pom.xml для сборки и запуска тестов

2. установить maven на локальную. машину

3. запускать тесты через mvn test

 

если мы говорим о CI, то

1. создать все тот же pom.xml

в основном, для запуска используется http://maven.apache.org/surefire/maven-surefire-plugin/

все файлы лучше зилать под какой-то версионный контроль

2. дальше надо на CI машине установить maven

3. на CI надо настроить репозиторий откуда нужно читать весь проект

4. на CI надо, сделать задачу запуска тестов, где будет вызываться цель mvn test

 


(Sergey Korol) #5

Общая схема:

1) Поднимаем репозиторий для тестов (рекомендую mercurial). Без заморочек это можно быстро сделать при помощи bitbucket - для 5 юзеров он фри.

2) Заливаем проект (вместе с билд файлами) в созданный репозиторий. Только ничего лишнего там не должно храниться (файлы IDE и т.п.).

3) Где-нибудь поднимаем грид хаб и ноды.

4) На отдельной тачке разворачиваем CI в качестве сервиса (я бы рекомендовал Jenkins).

6) Создаем Job, подключаем наш репозиторий с креденшалами, указываем пути к JDK, сборщику, билд файлам, репортам, адреса мейлов для рассылки, настраиваем параметризованную сборку.

7) Даем дев-лиду линк на параметризованную сборку. При создании нового билда, он дергает ваш линк, который в свою очередь дергает Job, выгребающий ваши регрешен тесты из репозитория, а также собирающий и запусакющий все это дело.

П.С. Подробное описание может претендовать на целую статью.


(Taras) #6

Maven - ом пробуйте


(muray) #7

 

"если в общем мы говорим для локальной машины

1. надо настроить pom.xml для сборки и запуска тестов

2. установить maven на локальную. машину

3. запускать тесты через mvn test"

 

В Еклипсе если установить плагин m2e у него есть возможность конвертировать в мавен проекты.

Правильно я понимаю: Если правильно настроить в таком случае pom.xml то мавен с легкостью запустит проэкт (мавен установлен)?

Или я что-то упустил? 

 

 


(Grig) #8

Не уверен на счет JUnita, я использую  Webdriver + Java + TestNG + Maven. Но может это поможет:

Добавляем в проект maven-shade-plugin. Это позволяет создать один jar файл, содержащий все зависимости. 

Создаем .bat файл:

set CLASSPATH=%CD%/;%CD%/selenium-0.0.1-SNAPSHOT.jar;

"C:\Program Files (x86)\Java\jre7\bin\java" org.testng.TestNG ./testng.xml

В итоге получается .jar файл, директория с ресурсами (если есть),  .xml файл(ы) со списком запускаемых тестов и батник для запуска. 

Все это может быть скопированно на любой комп, где установлена java, и там выполнено.  

 

 


(koshkavkleto4ku) #9

Локальная машина, как первый шаг, CI - как будущее.

С CI буду пробовать, локально все получилось.

 

Спасибо большое, ходила в одном шаге от победы и не могла закончить.


(koshkavkleto4ku) #10

Ваше описание и так достаточно подробное. Шире, пожалуй, действительно только статьи.

Мой вопрос больше относился к конкретике запуска (как оказалось банальная одна команда и отсутствие необходимости отдельно что-то собирать), а не картине в общем.

Но думаю это будет полезно кому-то еще. Спасибо за описание.


(Mykhailo Poliarush) #11

1. надо сконвертировать проект

2. дальше надо еще создать необходимые папки, потому что eclipse их не создает

3. настроить pom.xml

а дальше уже можно запускать

 

вот эти ссылки к прочтению, я думаю они помогут в изучении этого вопроса

http://stackoverflow.com/questions/2449461/convert-existing-eclipse-project-to-maven-project

https://github.com/vashishthask/eclipse-to-maven

http://www.mkyong.com/maven/how-to-convert-java-web-project-to-maven-project/


(Mykhailo Poliarush) #12

для JUnit такое не сработает