2016-03-03 52 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 :)) –

相关问题