我使用Selenium WebDriver,Eclipse,TestNG和Surefire插件。我無法從pom.xml運行testng.xml文件。當我使用mvn test運行pom.xml時,它直接運行位於src/test/java中的文件。如何從Maven中的pom.xml調用testng.xml文件
我pom.xml的代碼是
<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>
請幫助我。
我的項目結構是
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
- =>文件夾名稱 | - =>子文件夾名稱
我的testng.xml文件是...
<?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>
我只是想通過testng.xml文件從pom.xml調用SamplePage_Execution方法。
我SamplePage_Execution方法是
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();
}}
運行Maven測試調用命令行的testng.xml我下面的代碼無法正常工作: <配置> testng.xml suiteXmlFile> suiteXmlFiles> configuration> 下面的代碼正常工作: <配置> **/* ST.java 配置> 注:我的硒java代碼名稱爲:Selenium2ExampleST.java –