2015-06-04 3 views
0

Я пытаюсь выяснить, как выполнять тесты Selenium WebDriver без использования Eclipse или IntelliJ или любой другой среды. Я делаю всю свою разработку java с помощью обычного текстового редактора и не хочу устанавливать (и учиться) IDE только для компиляции и запуска тестов.Как я могу запустить тесты Selenium с Maven?

Я пробовал выполнить документацию Selenium, но это не позволяет вам сказать, как запускать тесты из командной строки.

Мой краткий опыт работы с Maven сводится к следующему:

$ mvn compile 
    <snip> 
    No sources to compile 

    $ mvn test 
    <snip> 
    No tests to run 

    $ mvn run 
    <snip> 
    Invalid task 'run' 

Единственный один я знаю mvn jetty:run, но это не кажется правильным, поскольку я не хотел, чтобы запустить новый веб-сервер.

Я подозреваю, что мне просто нужно установить правильные цели и т. Д. В моем pom.xml, но я не знаю, что они должны быть, и на удивление не может найти ни одного онлайн.

Помогите пожалуйста?

+0

https://easytolearnautomationtesting.wordpress.com/maven-integration-with-automation-script/ Это поможет вам лучше понять выполнение сценария через maven. – ArrchanaMohan

ответ

0

ОК, я, наконец, понял это, осознав, что на самом деле это вопрос, характерный для Maven, а не Eclipse или Selenium.

Maven может быть сделано для запуска кода он компилируется с помощью EXEC-Maven-плагин и добавить следующий код в pom.xml:

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <version>1.1.1</version> 
     <executions> 
     <execution> 
     <phase>test</phase> 
     <goals> 
      <goal>java</goal> 
     </goals> 
     <configuration> 
      <mainClass>Selenium2Example</mainClass> 
      <arguments> 
      <argument>arg0</argument> 
      <argument>arg1</argument> 
      </arguments> 
     </configuration> 
     </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 

Как вы можете собрать из сниппета, аргументы могут быть перечисленным в списке pom.xml. Кроме того, обязательно используйте правильное имя пакета в элементе mainClass.

Затем вы можете запустить mvn compile, а затем mvn test, чтобы скомпилировать и запустить ваш код.

Кредит должен пойти на http://www.vineetmanohar.com/2009/11/3-ways-to-run-java-main-from-maven/ для перечисления нескольких способов сделать это.

+0

Собственно, люди обычно используют плагины Maven Surefire или Failsafe. Таким образом, вам не нужно запускать его, как вы выше: это похоже на запуск в командной строке. По умолчанию Surefire привязывается к фазе «тест». – djangofan

1

Короче:

mvn integration-test или mvn verify это то, что вы ищете.

Объяснение

Цели, вы вызываете, являются жизненным циклом фазы мавена (см Maven Lifecycle Reference). mvn test предназначен для автономных модульных испытаний, mvn integration-test работает после компиляции, тестирования и упаковки. Это будет также фаза, в которой вы будете ссылаться на тесты Selenium. Если вам нужно запустить и остановить Jetty, Tomcat, JBoss и т. Д., Вы должны привязать старт/стоп к pre-integration-test и post-integration-test.

Я обычно запускаю свои интеграционные тесты с использованием Failsafe и выполняю там призывы к Селену и другим интегративным тестам.

Смежные вопросы