**首先:我已經從字面上閱讀了關於如何做到這一點的每篇文章,我遵循包括來自Maven本身的信函的所有說明。如何讓Maven使用我的TestNG XML文件?
我已經使用TestNG將Eclipse Selenium項目轉換爲Maven項目。我無法讓Maven從Test.XML文件運行我的測試,而不是運行在默認模式下,它只是用文件名中的單詞「Test」來提取任何東西......我可以直接執行test.xml,作品,所以我認爲我獲得了轉換權。由於我正在從現有框架轉換,所以需要將所有工作都切換到默認狀態,「只需要抓住任何名爲」test「」的操作是令人望而卻步的,我希望我的Test.XML文件可以被SureFire使用。
我是Maven的新手,所以原諒我沒有使用正確的術語,但是:當我'測試'的'目標'運行'POM文件時,它只是忽略我的test.xml文件並運行任何與「測試」在其中,我通過更改名稱等來驗證這一點......我主要是從Eclipse運行的,同樣的結果幾次我嘗試命令行。
這裏是我的POM:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>TestSuite</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>TestSuite</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugin</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/test.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.35.0</version>
</dependency>
</dependencies>
</project>
如果您需要更多的信息,讓我知道,我會修改,但我的TestNG的文件字面上只是調用一個測試類沒有多餘的裝飾,如果我直接執行它作爲一個TestNG的工作原理測試。其餘的代碼工作,所以我認爲這不是。也許在Eclipse中的設置?
您是否試過' test.xml suiteXmlFile>'?我認爲該屬性的路徑是相對於目標/類文件夾,這是運行時的工作目錄,而不是項目。讓我知道如果這項工作 –
Hilikus
感謝reaponse ...是的,我只是做了一個很好的措施......我的文件駐留在項目根目錄的上述路徑...我嘗試了很多不同的路徑和該文件的位置。這並不是說這不是問題,我似乎無法弄清楚。 – Derek