t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f9b0255e7a0> #<Tag:0x00007f9b0255e6d8> #<Tag:0x00007f9b0255e5c0> #<Tag:0x00007f9b0255e4f8>

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

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

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

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

1 Симпатия

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

1 Симпатия

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

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

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

1 Симпатия

Добавил 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>