So übergeben Sie Java-Code einen Parameter von Maven zum Testen

Ich muss folgende Werte weitergeben ...

exeEvironment (Test Umgebung) ,testGroup (Gruppe in testNG)

von der Kommandozeile -> POM -> TestNG -> Testfälle.

Basierend auf diesen beiden Beiträgen ....

Übergeben Sie einen Java-Parameter von Maven

Wie übergebe ich Parameter vom Surefire Maven-Plugin an den TestNG-Test?

Ich habe die folgende Konfiguration gemacht ..

Imtodsichere PluginIch habe versucht, zwei Optionen zu folgen, keine scheint zu funktionieren.

=====

(1)

  <execution>
<id>default-test</id>
    <goals>
        <goal>test</goal>
    </goals>
    <configuration>
        <properties>
            <exeEnvironment>${exeEnvironment}</exeEnvironment>
            <testGroup>${testGroup}</testGroup>
        </properties>
        <suiteXmlFiles>
            <suiteXmlFile>testng.xml</suiteXmlFile>
        </suiteXmlFiles>
    </configuration>
</execution>

(2)

<execution>
<id>default-test</id>
<goals>
    <goal>test</goal>
</goals>
<configuration>
    <systemPropertyVariables> <exeEnvironment>${exeEnvironment}</exeEnvironment> 
        <testGroup>${testGroup}</testGroup> </systemPropertyVariables> 
    <suiteXmlFiles>
        <suiteXmlFile>testng.xml</suiteXmlFile>
    </suiteXmlFiles>
</configuration>
</execution>

ImtestNG.xml , kann ich die Variable verwendentestGroup mögen …

<test name="Web Build Acceptance">
    <groups>
        <run>
            <include name="${testGroup} />
        </run>
    </groups>
    <classes>
        <class name="com.abc.pqr" />
    </classes>
</test>

Dies scheint nicht so gut zu funktionieren, muss ich einen Parameter definieren.

In demTestfälle Ich habe versucht, die Variablen auf zwei Arten zu ermitteln: (1)

testEnv = testContext.getSuite().getParameter("exeEnvironment");
testGroup = testContext.getSuite().getParameter("testGroup");

(2)

testEnv = System.getProperty("exeEnvironment");
testGroup = System.getProperty("testGroup");

Antworten auf die Frage(5)

Ihre Antwort auf die Frage