我写了一个POM,用于使用Java的Selenium Webdriver测试Web UI的自动化。
在 POM 中,我创建了一个包含所有页面字段的方法库。基本上网页有100多个字段。所以我在 apache poi 的帮助下使用 excel 表来获取数据。
问题是,我想调用测试脚本中的所有方法,并且仅当 excel 工作表具有该方法的数据时,才应执行该特定方法。我是编码的初学者,所以请帮助解决这个问题。
(我正在使用列名从 excel 表中读取数据,excel 模板有一个用于所有 100+ 字段的列。
现在我需要为每个测试用例编写测试脚本。但是我希望我的程序根据 excel 工作表中的数据运行,忽略 excel 工作表中没有数据的方法。
下面是一个类似的例子。 我有两个类POM和TestCase。
public class POM(){
public method1(String a){
sop("1st method"+a)
}
public method2(String a){
sop("2nd Method"+a)
}
public method2(String a){
sop("3rd Method"+a)
}
}
下面是测试用例类,它将调用类 POM 的方法。这些方法的数据由 excel 文件提供。
public class TestCase(){
main(){
POM obj = new POM();
obj.method1(poi.getDataFromExcel("column name", row_number));
obj.method2(poi.getDataFromExcel("column name", row_number));
obj.method3(poi.getDataFromExcel("column name", row_number));
}
}
所以现在我的问题是,我的 excel 工作表中没有任何 method2 的数据。如何跳过该方法?
根据您的描述,只有在从poi.getDataFromExcel("column name", row_number)
返回非空字符串时才希望调用TestCase
中的obj.method*
。
那看起来像这样:
...
POM obj = new POM();
String cellValue = poi.getDataFromExcel("column name", row_number);
if (cellValue != null && !cellValue.isEmpty()) {
obj.method1(cellValue);
}
...
在读取数据时,如果没有函数的数据,为什么不能跳过函数。
像这样的东西,
if(data != null({ 然后调用函数 ..... }