我正在使用 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 以在命令行上创建此变量,因此有时我会使用定义的三个,但在另一种情况下,它只会是三个中的一个还是新的 userId?