Cómo llamar al archivo testng.xml desde pom.xml en Maven
Estoy utilizando Selenium WebDriver, Eclipse, TestNG y el complemento Surefire. No puedo ejecutar el archivo testng.xml desde pom.xml. Mientras estoy ejecutando pom.xml usandoprueba mvn se ejecuta directamente el archivo que se encuentra en elsrc / test / java.
mi código pom.xml es
<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>
Por favor, ayúdame.
Mi estructura de proyecto es
<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>
- => nombres de carpetas | - => nombres de subcarpetas
Mi archivo testng.xml es ...
<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>
solo quería llamar al método SamplePage_Execution desde pom.xml a través del archivo testng.xml.
Mi método SamplePage_Execution es
<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>