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

Необходимо собрать джарник TestNG+Maven+Webdriver

maven
webdriver
java
testng
Теги: #<Tag:0x00007f7b64e67a08> #<Tag:0x00007f7b64e678a0> #<Tag:0x00007f7b64e67710> #<Tag:0x00007f7b64e675d0>

#1

Здравствуйте, имею проект TestNG+Maven+Webdriver.
Необходимо передать тесты в виде джарников заказчику.

По хорошему нужно запускать тесты командой типа:
java -jar имя_файла имя_теста

Сможете направить в нужное русло?

Для начала мне надо понять как собрать этот jar и просто хотя бы запустить все тесты целиком, без указания определенного теста.


(Sergey Pirogov) #2

Есть Maven jar plugin, он тебе все сделает


(Александр Таранков) #3

Как уже правильно сказали: maven jar plugin. После этого jar с тестами запускается средствами TestNG:

java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]

P.S. придется повозиться ещё с classpath - для запуска jar надо указать пути для всех jar, от которых он зависит


#5

Добавил maven-jar-plugin и maven-dependecy-plugin, который сам собирает все зависимости

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
      <execution>
        <id>get-dependencies</id>
        <phase>prepare-package</phase>
        <goals>
          <goal>unpack-dependencies</goal>
        </goals>
        <configuration>
          <outputDirectory>target/test-classes/</outputDirectory>
          <overWriteReleases>false</overWriteReleases>
          <overWriteSnapshots>false</overWriteSnapshots>
          <overWriteIfNewer>true</overWriteIfNewer>
        </configuration>
      </execution>
    </executions>
  </plugin>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>test-jar</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <archive>
        <manifest>
          <mainClass>org.testng.TestNG</mainClass>
          <addClasspath>false</addClasspath>
        </manifest>
      </archive>
    </configuration>
  </plugin>