0
我正在使用TestNG运行我们的自动化测试。我们选择TestNG的原因是因为我们可以将变量输入发送到测试方法示例public void testXX(String userId)并且userId可以针对每个测试进行更改。testng指定不同的用户
下面的代码显示了三个不同的userIds我可以用来执行我的测试。所以我的完全相同的测试将针对三个不同用户的每一个运行三次。这个功能非常棒,真正让我能够在不同的场景下进行多项测试,因为我们每个用户都拥有不同的配置文件。
// 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来创建这个变量,所以有时我会使用这三个定义的,但在另一个条件下它只会是三个或一个新的userId中的一个?
我需要一种方法来设置userIds基于另一种配置。希望TestNG能够通过比较testng.xml和编程方式来控制这一点。感谢您的输入! – 2012-07-10 15:53:32