2017-09-12 3 views
0

Ich habe die Testng-Ergebnisse.xml in einem Git-Zweig hochgeladen und verwende das Git-Repository als Arbeitsbereich für den Jenkins-Job.TestNG Ergebnisse in Jenkins zeigt PASS, auch wenn Skript geändert wird, um fehlgeschlagenes Ergebnis zu erzeugen

Da die Tests, die ich mit Jenkins durchführe, Regressionstests sind, würde ich erwarten, dass die TestNG-Berichte in jedem Fall variieren, wenn ein Regressionsdefekt vorliegt. Ich habe festgestellt, dass die auf Jenkins angezeigten TestNG-Berichte nur eine lesbare Version der Datei testng-results.xml sind, also eine exakte Kopie der Datei testng-results.xml in meinem Arbeitsbereich.

Ich habe das Testskript ChromeTest.f() geändert absichtlich zum Scheitern verurteilt und nach wie vor die TestNG Ergebnisse in Jenkins markiert sie als PASS nach unten Bild:

Jenkins screenshot.

Sie finden die testng-results.xml Datei unter:

<?xml version="1.0" encoding="UTF-8"?> 
 
<testng-results skipped="0" failed="0" ignored="0" total="9" passed="9"> 
 
<reporter-output> 
 
</reporter-output> 
 
<suite name="Default suite" duration-ms="159837" started-at="2017-09-12T16:48:30Z" finished-at="2017-09-12T16:51:10Z"> 
 
<groups> 
 
</groups> 
 
<test name="Default test" duration-ms="159837" started-at="2017-09-12T16:48:30Z" finished-at="2017-09-12T16:51:10Z"> 
 
<class name="IETests"> 
 
<test-method status="PASS" signature="beforeTest()[pri:1, instance:[email protected]]" name="beforeTest" duration-ms="18341" 
 
started-at="2017-09-12T09:48:30Z" finished-at="2017-09-12T09:48:49Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- beforeTest --> 
 
<test-method status="PASS" signature="f()[pri:2, 
 
instance:[email protected]]" name="f" duration-ms="99893" started- 
 
at="2017-09-12T09:48:49Z" finished-at="2017-09-12T09:50:29Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- f --> 
 
<test-method status="PASS" signature="afterTest()[pri:3, 
 
instance:[email protected]]" name="afterTest" duration-ms="115" 
 
started-at="2017-09-12T09:50:29Z" finished-at="2017-09-12T09:50:29Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- afterTest --> 
 
</class> <!-- IETests --> 
 
<class name="ChromeTest"> 
 
<test-method status="PASS" signature="beforeTest()[pri:4, 
 
instance:[email protected]]" name="beforeTest" duration-ms="12606" 
 
started-at="2017-09-12T09:50:29Z" finished-at="2017-09-12T09:50:41Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- beforeTest --> 
 
<test-method status="PASS" signature="f()[pri:5, 
 
instance:[email protected]]" name="f" duration-ms="1087" started- 
 
at="2017-09-12T09:50:41Z" finished-at="2017-09-12T09:50:42Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- f --> 
 
<test-method status="PASS" signature="afterTest()[pri:6, 
 
instance:[email protected]]" name="afterTest" duration-ms="243" 
 
started-at="2017-09-12T09:50:43Z" finished-at="2017-09-12T09:50:43Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- afterTest --> 
 
</class> <!-- ChromeTest --> 
 
<class name="FirefoxTest"> 
 
<test-method status="PASS" signature="beforeTest()[pri:7, 
 
instance:[email protected]]" name="beforeTest" duration-ms="24220" 
 
started-at="2017-09-12T09:50:43Z" finished-at="2017-09-12T09:51:07Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- beforeTest --> 
 
<test-method status="PASS" signature="f()[pri:8, 
 
instance:[email protected]]" name="f" duration-ms="3212" started- 
 
at="2017-09-12T09:51:07Z" finished-at="2017-09-12T09:51:10Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- f --> 
 
<test-method status="PASS" signature="afterTest()[pri:9, 
 
instance:[email protected]]" name="afterTest" duration-ms="83" 
 
started-at="2017-09-12T09:51:10Z" finished-at="2017-09-12T09:51:10Z"> 
 
<reporter-output> 
 
</reporter-output> 
 
</test-method> <!-- afterTest --> 
 
</class> <!-- FirefoxTest --> 
 
</test> <!-- Default test --> 
 
</suite> <!-- Default suite --> 
 
</testng-results>

Antwort

0

Jenkins auslöst nur den Test in Zeilenbefehl und dann, wie Sie erwähnen, Parsen und die XML-Ergebnisdatei anzuzeigen . Versuchen Sie, es aus Jenkins heraus zu führen, sagen Sie mit Maven, sehen Sie, dass es wie erwartet versagt? Wenn ja, hängt das Problem nicht mit Jenkins selbst zusammen und ich würde mich auf den Testcode selbst konzentrieren.

0

Ich löste mein Problem, indem ich Maven und Junit Testtools verwendete. Außerdem habe ich meinen gesamten Projektarbeitsbereich in Git hinzugefügt, bevor ich den Test ausführte. Nachdem der Build in Jenkins ausgeführt wurde, konnte ich die Ergebnisse für jeden Build sehen. Vielen Dank für Ihre Hilfe

Verwandte Themen