So rufen Sie die Datei testng.xml aus der Datei pom.xml in Maven auf
Ich benutze Selenium WebDriver, Eclipse, TestNG und Surefire Plugin. Ich kann die Datei testng.xml nicht über pom.xml ausführen. Während ich pom.xml benutzeMVN-Test Es wird direkt die Datei ausgeführt, die sich in dersrc / test / java.
Mein pom.xml Code ist
<code><groupId>angel</groupId> <artifactId>Angel</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>Angel</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- Java API to access the Client Driver Protocols --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.21.0</version> </dependency> <!-- JExcel API is a java library which provides the ability to read, write, and modify Microsoft Excel spreadsheets.--> <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.10</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> <!-- Java API for manipulate the Microsoft Excel Sheets. --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-contrib</artifactId> <version>3.5-beta5</version> </dependency> <!-- Java Mail API used to send Mails. --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.3</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.3.1</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugin</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.12</version> <configuration> <suiteXmlFiles> <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> </suiteXmlFiles> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </project> </code>
Bitte hilf mir.
Meine Projektstruktur ist
<code> project --src/main/java --src/main/resources --src/test/java | --my testng class file with @Test method. --src/test/resources | --testng.xml --maven dependencies --jre system library --src | --main --test --target pom.xml </code>
- => Ordnernamen | - => Unterordnernamen
Meine testng.xml-Datei ist ...
<code> <?xml version="1.0" encoding="UTF-8"?> <suite name="Suite1" verbose="1" > <test name="samplePage Test" > <classes> <class name="TestScripts.SamplePage" > <methods> <include name = "SamplePageTest_Execution"/> </methods> </class> </classes> </test> <test name="newSamplePage Test" > <classes> <class name="TestScripts.NewSamplePage" > <methods> <include name = "NewSamplePage_Execution02"/> </methods> </class> </classes> </test> </suite> </code>
Ich wollte nur die SamplePage_Execution-Methode aus pom.xml durch testng.xml-Datei aufrufen.
Meine SamplePage_Execution-Methode lautet
<code> public class sample{ @Test public static void SamplePageTest_Execution() throws Exception{ String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); boolean testStatus = true; driver = new FirefoxDriver(); driver.get("http://www.google.com"); WebElement searchField = driver.findElement(By.name("q")); searchField.sendKeys(new String [] {"selenium2.0"}); searchField.submit(); driver.close(); }} </code>