Stackoverflow hat mir sehr geholfen, um diesen Punkt zu erreichen, aber jetzt bin ich ganz fest, hier ist mein Problem:Jenkins/Fenster - Starten Sie TestNG Suite von .bat
ich zur Zeit mehrere Tests die Entwicklung einer Website zu überprüfen . Ich code mit Java in Eclipse, mit testNG Plugin mit ReportNG für Bericht, alles mit Windows 7 Pro.
Meine Tests funktionieren, und mein Bericht ist gut erstellt, also muss ich ihn jetzt auf Jenkins für meine Firma setzen, damit sie alle X Stunden meine Tests durchführen.
Um meine Tests zu starten, habe ich eine Datei mit dem Namen gemacht run.bat, die den Java-Code ausgeführt wird, ich es getestet und es funktioniert, hier ist der Code:
run.bat
set classpath=blex_test_v1\bin;blex_test_v1\lib\*
java org.testng.TestNG blex_test_v1\blex_test_v1.xml
ich versuche jetzt die Tests auf Jenkins zu starten, einen neuen Job zu schaffen und es mit dem Build-Abschnitt konfigurieren: Run.bat
Und das ist mein Problem, ich habe versucht, alles (relativer Pfad, nur der Name der Datei etc ...) Ich bekomme immer diese Fehlermeldung:
java.io.IOException: Kann nicht Programm „cmd laufen "(im Verzeichnis "/ var/jenkins_home/Jobs/blex_functional_test/Arbeitsplatz"): Fehler = 2, keine solche Datei oder das Verzeichnis
so überprüfte ich den Jenkins Arbeitsplatz aber mein run.bat ist drin: Workspace
Ich habe gelesen, dass Jenkins in Linux ist, so könnte es Probleme mit Bat-Dateien verursachen, also habe ich versucht, ein Skript BU zu erstellen t Ich war auch nicht erfolgreich ..
Also meine Frage ist: Wie kann ich meinen Test auf Jenkins mit meiner Datei Run.bat ausführen? Was mache ich hier falsch?
Vielen Dank!
Hallo und willkommen bei SO. Läuft Jenkins auf einem Windows- oder Unix-Rechner?Wie es aussieht, läuft es unter Unix, daher kann es das Dienstprogramm 'cmd' nicht ausführen und Sie müssen zu einem Bash-Skript migrieren. Wenn es auf einem Windows-Slave laufen soll, dann müssen wir auch die Job-Konfiguration sehen ... ** P.S. ** Wenn Sie auf einen Kommentar antworten, können Sie @username verwenden, damit sie benachrichtigt werden. Prost – Morfic
Vielen Dank für Ihre Begrüßung und schnelle Antwort @Morfic! Es läuft auf einem Linux-Rechner, aber jeder in meinem Team verwendet es mit Windows. Also muss ich ein Skript anstatt meiner run.bat schreiben, um meine Tests zu starten? Ist es möglich, ein Skript zu schreiben, das meine run.bat aufruft? Sorry, wenn es dumm aussieht, ich bin im Praktikum und das alles ist brandneues Zeug für mich! – DerFaya
Wenn Sie planen, es unter Jenkins auszuführen, das wiederum auf einem * nix-Rechner ausgeführt wird, ist ein dediziertes Skript erforderlich, das in dieser Umgebung ausgeführt werden kann. Um es einfach zu formulieren (wir können keine Problemumgehungen extrapolieren) Win kann Nix nicht ausführen Skripte und Nix kann Win-Skripte nicht ausführen. Sie können ein Windows-Batch-Skript verwenden, mit dem Sie Tests lokal ausführen können, und das andere * nix Bash-Skript, das von Jenkins ausgeführt wird. Abhängig von Ihrem Projekt-Setup (Ant, Maven, Gradle, etc.) ist ein solches Skript vielleicht gar nicht nötig, aber das ist ein sekundärer Schritt für die Zukunft. – Morfic