2016-03-03 47 views
5

我使用Maven Failsafe + TestNG來運行Selenium測試。我知道這是可能通過在pom.xml中定義這樣的系統性能參數傳遞給我的TestNG的測試:在不使用testng.xml的情況下使用Selenium和TestNG進行並行跨瀏覽器測試

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <systemPropertyVariables> 
     <browser>firefox</browser> 
     </systemPropertyVariables> 
    </configuration> 
    </plugin> 

我TestNG的測試是指該物業是這樣的:

@Parameters("browser") 
public void setUpClass(@Optional("firefox") String browser) 
{ 
    ... 
} 

不過,我是想知道是否可以並行運行跨瀏覽器測試而不需要指定testng.xml文件。我正在嘗試這樣的事情,但沒有奏效。感謝您能否提供幫助。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <systemPropertyVariables> 
     <browser>firefox, chrome</browser> 
     </systemPropertyVariables> 
     <parallel>tests</parallel> 
    </configuration> 
    </plugin> 

是否有可能通過pom.xml配置實現此目的?由於我的項目具有多模塊性質,我並不熱衷於使用testng.xml文件。

+0

「我正在嘗試這樣的事情,但沒有奏效。」有什麼問題?在捕獲瀏覽器的價值之後,你在做什麼? –

+0

我想在多個瀏覽器上並行運行硒測試。爲了清晰起見,我會更新我的問題。 –

回答

0

您可以填充* .properties文件中的所有屬性,然後將其與Properties Maven Plugin一起使用。 QATools Properties將在驅動程序配置過程中輕鬆使用它們。

+0

謝謝@Enot Enotovich的答案。我會嘗試這一點,雖然我正在尋找一個本地解決方案,而不使用額外的插件。 –

0

您也可以編程方式運行任何TestNG測試。這裏檢查TestNG Running programmatically 所以從maven你只需要調用你的類與主要方法的代碼來運行testng以編程方式,並閱讀任何來源(csv,屬性,xml,xlsx等。)的任何屬性你想。

+0

感謝@Mrunal Gosar的迴應。您可以讓我知道我們如何在多模塊maven項目中使用此功能? –

+0

上面的方法是獨立於多模塊maven項目..(或者甚至獨立於maven :)) –

相關問題