首页 > 解决方案 > Java:没有输入时如何退出方法?

问题描述

我已经编写了一个 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的任何数据。我怎样才能跳过这种方法?

标签: javaseleniumautomated-testsapache-poidata-driven-tests

解决方案


根据您的描述,只有在obj.method*从.TestCasepoi.getDataFromExcel("column name", row_number)

看起来像这样:

...
POM obj = new POM();
String cellValue = poi.getDataFromExcel("column name", row_number);
if (cellValue != null && !cellValue.isEmpty()) {
    obj.method1(cellValue);
}
...

推荐阅读