Comment faire un fichier jar exécutable à l'aide de l'Ide, de Sélénium/TestNG fichier java?
J'ai été Googler pour les jours à essayer de comprendre comment faire, si quelqu'un l'a fait avant, je serais très reconnaissant de l'aide.
J'ai une automatisation de projet de test, j'ai créé dans IntelliJ qui automatise un utilisateur d'interagir avec une Application Web.
J'aimerais mettre ce test automatisé (créé en Java, en utilisant le Sélénium et TestNG) dans un fichier jar exécutable que d'autres puissent l'exécuter en double-cliquant sur le fichier jar.
Chaque fois que je tente de créer un fichier jar en accédant à la Structure du Projet -> Artefact -> + -> Jar -> à Partir de modules avec des dépendances, il finit par créer un jar qui prétend qu'il n',
"Could not find or load the main class <package.MainClass> "
lorsque je tente de l'exécuter avec la commande suivante:
java -jar MyProject.jar <Manifest Path>
Aucune idée de pourquoi je ne cesse de vous obtenez cette erreur, ou avoir un moyen de le faire avec succès?
Aussi, ici, est mon pom.xml:
<groupId>TestAutomation</groupId>
<artifactId>TestAutomation</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.test.automation.Executable</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.39.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.40.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.1.1</version>
<scope>test</scope>
</dependency>
</dependencies>
OriginalL'auteur urbanaut | 2014-03-25
Vous devez vous connecter pour publier un commentaire.
J'ai enfin compris pour quelqu'un d'autre qui arrive de rencontrer ce genre de problème, c'est comment j'ai obtenu le fichier jar à être créé et exécuté avec succès...
J'ai dû changer ma pom.xml fichier suivants:
Ensuite, j'ai dû adapter ma méthode principale de ne pas utiliser les TestNG-appels liés. Par exemple, je ne pouvais pas utiliser quelque chose comme ça pour ma méthode principale:
Enfin, voici les étapes à suivre pour obtenir les fichier jar créé:
Notes:
Assurez-vous d'ajouter l'IE ou Chrome chauffeur pour vos projets de dossier de ressources, et de l'appeler via le dossier de code, plutôt que sur le disque dur de l'ordinateur. Par exemple, faites ceci:
File fichier = new File("src\test\resources\binaries\IEDriverServer.exe");
Pas ceci:
Ensuite créer le même répertoire avec le pilote dans le dans le même dossier que votre pot est enregistré sur votre ordinateur:
2 . Assurez-vous, si vous utilisez IE, que le Mode Protégé est définie pour toutes les zones ou aucun d'entre eux (dans internet explorer, allez dans Options Internet... > Sécurité (onglet) > Activer le Mode Protégé case à cocher)
C'est exactement ce que je suis en train de faire. Il me manque encore quelques détails ici. Vous pouvez poster votre Manifeste.mf? Et un squelette de votre projet? Ce que j'essaie de comprendre, c'est que vous déplacez le vos tests dans la principale source ou de les laisser en vertu de test? Quel est votre public static void main(String[] args)..? Merci!
Merci urbanaut, je suis également à la recherche de solution similaire, je suis novice et ne sais pas ce que je dois mettre dans ma méthode principale, avant j'ai été en utilisant le même code que vous mentionnez dans ma méthode principale, mais quand j'ai créé l'exécutable jar il n'est pas de travail plaindre "impossible de trouver ou charger la classe principale" aucune idée de comment le résoudre. De vous les étapes que j'ai quelques question 1. ce que je dois mettre dans la principale méthode à exécuter mes tests? 2. en vous à l'étape 6 et 7, il n'est pas clair pour moi, pourriez-vous préciser? capture d'écran serait bon si vous pouvez. 3. Comment faire pour exécuter ce bocal de manière à ce qu'il appelle mon testng tests? merci de fournir vos précieuses contributions. merci
OriginalL'auteur urbanaut