我们如何传递的参数少于方法要求我们使用DataProvider做的参数?
我将尝试解释,举一个例子,我创建了一个名为fetchData的方法(字符串对象类型,字符串对象值,字符串locatortype,字符串locatorValue,字符串消息);
我正在从Excel文件中检索数据,在第一行我只传递了两个参数,而不是所有五个参数都使用DataProvider注释,仅在第四行我传递了所有参数,如方法要求。我没有没有遇到任何错误,它完全正常。
我的理解是这样,你不能传递比方法要求你做的更少的参数,显然它可以使用DataProvider注释,但是如何?
className.perform(row.getCell(1), row.getCell(2),row.getCell(3), row.getCell(4));
ExcelFile
中第一行的2列和3列中没有数据perform(GOTOURl,'','',URL)
public static void perform(String operation, String objectName, String objectType, String val)
{
System.out.println("");
switch (operation.toUpperCase())
{
case "CLICK":
driver.findElement(this.getObject(p, objectName, objectType)).click();
break;
case "SETTEXT":
driver.findElement(this.getObject(p, objectName, objectType)).sendKeys(val);
break;
case "GOTOURL":
driver.get(p.getProperty(val));
break;
case "GETTEXT":
driver.findElement(this.getObject(p, objectName, objectType)).getText();
break;
default:
break;
}
}
答案 0 :(得分:0)
您仍在传递所有4个参数,只是objectName
和objectType
作为空字符串传递。