Ja, dies ist möglich durch filtering die testng.xml
Testressource.
In Ihrem POM müssen Sie einen Filter angeben, der auf Ihre Eigenschaftendateien verweist, und die überschreiben, um die Ressource testng.xml
zu filtern.
<build>
<filters>
<filter>path/to/test.properties</filter> <!-- relative to location of POM -->
</filters>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<includes>
<include>testng.xml</include>
</includes>
<filtering>true</filtering>
</testResource>
<testResource>
<directory>src/test/resources</directory>
<excludes>
<exclude>testng.xml</exclude>
</excludes>
</testResource>
</testResources>
<!-- rest of build section -->
</build>
Wenn Sie Eigenschaften Datei einen Schlüssel test.browser
enthält, wird dies die plaholder ${test.browser}
durch den Wert dieses Schlüssels korrekt ersetzen. Dies alles geschieht vor dem Start der Tests, sodass TestNG die gefilterte Datei mit den ersetzten Werten anzeigt.
Beachten Sie, dass die obige Konfiguration nur testng.xml
filtert, um zu viel Filterung zu vermeiden. Sie können das erweitern, um mehrere Dateien zu filtern.
Es funktioniert nicht für mich. Kannst du bitte ein paar mehr Details teilen, möchte ich Eigenschaften für die Datei application.properties lesen und sie an testng.xml füttern. –