通常测试方法的参数如下
@Test //Test method (dataProvider="login")
public void TestCase1(String field1, String field2)
{
driver.findElement(By.xpath("//[@id='username']")).sendKeys(field1);
driver.findElement(By.xpath("//[@id='password']")).sendKeys(field2);
}
我是否可以使用数组作为参数(String[] fields)
,而不是特定的(String field1, String field2)
作为参数? (请参阅下面的代码)
@Test //Test method (dataProvider="login")
public void TestCase1(String[] fields)
{
driver.findElement(By.xpath("//[@id='username']")).sendKeys(field[0]);
driver.findElement(By.xpath("//[@id='password']")).sendKeys(field[1]);
}
从结果来看,格式略有不同。
我的问题是这两种方法产生的含义是否相同?
最佳答案
明显有区别。
在第一种方法中,您使用字符串作为对象。
第二种方法是使用字符串数组。您需要了解数组和字符串之间的基本区别。
您可以将数组引用为容器,其中包含多个相同类型的对象/事物。数组本质上显然具有固定的大小。
现在数组可以是String类型,int类型等。
当您编写 String field1
时,它是一个 String 对象。
但是当您编写String[]字段
时,它是String对象的数组,这意味着它可以有多个String对象,并且您需要在初始化时声明大小。
尽管在您的场景中,两者都会产生相同的结果。话虽如此,您可以增加 String[]
的长度,并且可以使用 fields[0]、fields[1]、fields[2]、fields[4]
等上..
关于java - 使用数组作为测试方法的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51157855/