Как создать исполняемое решение для платформы MAVEN TESTNG Selenium-Webdriver - PullRequest
0 голосов
/ 31 мая 2019

Я использую testNG и Selenium для запуска теста нескольких приложений моего приложения. после установки mvn проект успешно компилируется и генерируется целевой файл, содержащий все классы и файл .jar, но это решение не является исполняемым, так как мой фреймворк не содержит метод main, так как является TESTNG FRAMEWORK.

Как этот файл может быть исполняемым, чтобы можно было развернуть его в более низких средах или запустить решение с помощью планировщика задач!

это для инфраструктуры автоматизации тестирования для веб-приложения, использующего maven testng и selenium webdriver (PageObjectModel)

C: \ Users \ myuser \ Documents \ test \ myapp \ target> java -jar myapp-1.0-SNAPSHOT.jar

без атрибута основного манифеста, в myapp-1.0-SNAPSHOT.jar

это когда я получаю при попытке выполнить jar из сгенерированного целевого файла.

1 Ответ

0 голосов
/ 03 июня 2019

Я бы порекомендовал пересмотреть ваш подход, и вместо запуска исполняемого файла .jar вы должны запустить testng.jar как :

java org.testng.TestNG /path/to/your/testng.xml

Вы можете создать вспомогательный класс, который будет иметь public static void main() объявление типа:

package com.example;

import org.testng.TestNG;

public class TestRunner {

    public static void main(String[] args) {
        TestNG testNG = new TestNG();
        testNG.setTestClasses(new Class[]{TestClass.class}); // replace TestClass with your actual class where your test methods live
        testNG.run();
    }
}

Затем добавьте следующую запись к вам pom.xml file

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.2</version>
            <configuration>
                <archive>
                    <index>true</index>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                    <manifestEntries>
                       <Main-Class>com.example.TestRunner</Main-Class>
                    </manifestEntries>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Как только вы упакуетеприложение вы увидите myapp-1.0-SNAPSHOT-tests.jar, который будет исполняемым.

Дополнительная информация:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...