Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven testng指定不同的用户_Maven_Junit_Testng - Fatal编程技术网

Maven testng指定不同的用户

Maven testng指定不同的用户,maven,junit,testng,Maven,Junit,Testng,我正在使用TestNG运行我们的自动化测试。我们选择TestNG的原因是,我们可以将变量输入发送到测试方法示例public void testXX(String userId),并且每个测试的userId都可以更改 下面的代码显示了我可以用来执行测试的三个不同的用户ID。因此,我的完全相同的测试将为三个不同的用户中的每一个运行三次。这项功能非常棒,真的让我能够在不同的场景下进行多个测试,因为我们的每个用户都有不同的配置文件 // All valid Pricing Leads @DataProv

我正在使用TestNG运行我们的自动化测试。我们选择TestNG的原因是,我们可以将变量输入发送到测试方法示例public void testXX(String userId),并且每个测试的userId都可以更改

下面的代码显示了我可以用来执行测试的三个不同的用户ID。因此,我的完全相同的测试将为三个不同的用户中的每一个运行三次。这项功能非常棒,真的让我能够在不同的场景下进行多个测试,因为我们的每个用户都有不同的配置文件

// All valid Pricing Leads
@DataProvider(name = "userIds")
public Object[][] createPricingLeadUsersParameters() {
   return new Object[][] {
      { "TestUser001" },
      { "TestUser002" },
      { "TestUser003" }
   };
}

@Test( dataProvider = "userIds" )
public void createGroup( String userIds) {
    ............
 }

我现在遇到的问题是,在某些情况下,我只能使用一个用户ID,否则我的所有测试都会失败。我想保持完全相同的测试,但只传递userId,而不是上面显示的三个。有没有办法配置TestNG在命令行上生成这个变量,所以有时我会使用三个定义的变量,但在另一种情况下,它只能是三个变量中的一个或一个新的用户ID?

当然,有很多方法可以做到这一点。运行TestNG时传递系统属性如何

java -Dfoo=bar org.testng.TestNG...

然后,您的数据提供程序可以使用
System.getProperty()
测试
foo
的值,并相应地调整它返回的值。

我需要一种基于一种配置而不是另一种配置设置userid的方法。我们希望TestNG能够通过TestNG.xml来控制这一点,而不是通过编程来实现。谢谢你的意见!