这是我正在寻找我的自动化测试的确切事情,我已经开始工作了.
命令行参数
mvn clean test -Denv.USER=UAT -Dgroups=Sniff
我的Pom Xml
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">
4.0.0
TestNg
TestNg
1.0
org.testng
testng
6.8
test
org.apache.maven.plugins
maven-surefire-plugin
2.12.4
${env.USER}
TestNG测试
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class TestAuthentication {
@Test (groups = { "Sniff", "Regression" })
public void validAuthenticationTest(){
System.out.println(" Sniff + Regression" + System.getProperty("environment"));
}
@Test (groups = { "Regression" },parameters = {"environment"})
public void failedAuthenticationTest(String environment){
System.out.println("Regression-"+environment);
}
@Parameters("environment")
@Test (groups = { "Sniff"})
public void newUserAuthenticationTest(String environment){
System.out.println("Sniff-"+environment);
}
}
上面的效果很好另外,如果您需要使用testng.xml,可以像…一样指定suiteXmlFile
org.apache.maven.plugins
maven-surefire-plugin
2.12.4
${env.USER}
testng.xml
此外,我更喜欢在@Test()中使用@Parameters而不是参数,因为后来被废弃了.