2015-11-11 52 views
0

我有一些奇怪的情況(對我而言)。我嘗試運行基於Java + TestNG + WebDriver + Maven的框架。這裏是一塊TestBase代碼:Maven不從test.xml讀取參數

@BeforeClass 
@Parameters({ "browser", "version", 
     "platform" }) 
public void setUp(@Optional String browser, @Optional String version, @Optional String platform) 
     throws Exception { 
    DesiredCapabilities capability = new DesiredCapabilities(); 
    capability.setCapability("platform", platform); 
    capability.setCapability("browserName", browser); 
    capability.setCapability("browserVersion", version); 

    webDriver2 = new RemoteWebDriver(new URL(
        "http://127.0.0.1:4444/wd/hub"), 
      capability); 

的test.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite thread-count="2" name="Suite" parallel="tests"> 
    <test name="FireFox_MAC"> 
     <parameter name="browser" value="firefox" /> 
     <parameter name="version" value="41.0.2" /> 
     <parameter name="platform" value="MAC" /> 
     <classes> 
     <class name="com.testcases.AccountSuit" /> 
     </classes> 
    </test> 
    <test name="Chrome_WIN7"> 
    <parameter name="browser" value="chrome" /> 
    <parameter name="version" value="42" /> 
    <parameter name="platform" value="WINDOWS" /> 
    <classes> 
     <class name="com.testcases.AccountSuit" /> 
    </classes> 
    </test> 
</suite> 

的問題是下一: 當我嘗試通過IDE Eclipse的pom.xml->運行方式來運行測試... - > Maven測試。一切正常。 Maven並行運行兩個測試。一個在FF上,另一個在鉻上。 test.xml-> Run As ...-> TestNG。 但是,當我嘗試通過控制檯運行測試,使用命令「mvn test -Dtest = com.testcases.AccountSuit」我有日誌「無法爲Capabilities [{browserVersion = null,browserName = null,platform = null}]「 我需要用命令開始測試,因爲我需要通過Jenkins自動啓動它們。 我很困惑(請幫助。 PS Maven的萬無一失插件版本2.18

+2

可以提供萬無一失插件是你的pom.xml的一部分? – joewhite86

回答

2

當你與-Dtest只正在運行和您在XML定義的參數沒有被使用一個單一的測試運行你需要要麼放棄-DsuiteXml到MVN測試,並指定你的XML

定義browserversion,名稱和平臺默認的數據,因爲你有這些可選參數。