我们如何传递比使用 DataProvider 的方法要求我们做的参数更少的参数?
How can we pass less parameters than the method require us to do using DataProvider?
我们如何传递比使用 DataProvider 的方法要求我们做的参数更少的参数?
我将尝试解释,举个例子,我创建了一个名为 fetchData(string objecttype,string object value, String locatortype,String locatorValue,String message) 的方法;
我正在从 Excel 文件中检索数据,在第一行我使用 DataProvider 注释仅传递两个参数而不是所有五个参数,仅在第四行我将所有参数传递为方法 demands.I 没有遇到任何错误,它工作得很好。
我的理解是,你传递的参数不能少于方法要求你做的,显然可以使用 DataProvider 注释,但是如何?
className.perform(row.getCell(1), row.getCell(2),row.getCell(3), row.getCell(4));
Excel文件
第一行第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;
}
}
您仍然传递所有 4 个参数,只是 objectName
和 objectType
作为空字符串传递。
我们如何传递比使用 DataProvider 的方法要求我们做的参数更少的参数?
我将尝试解释,举个例子,我创建了一个名为 fetchData(string objecttype,string object value, String locatortype,String locatorValue,String message) 的方法;
我正在从 Excel 文件中检索数据,在第一行我使用 DataProvider 注释仅传递两个参数而不是所有五个参数,仅在第四行我将所有参数传递为方法 demands.I 没有遇到任何错误,它工作得很好。
我的理解是,你传递的参数不能少于方法要求你做的,显然可以使用 DataProvider 注释,但是如何?
className.perform(row.getCell(1), row.getCell(2),row.getCell(3), row.getCell(4));
Excel文件
第一行第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;
}
}
您仍然传递所有 4 个参数,只是 objectName
和 objectType
作为空字符串传递。