Java POI中excel单元的行验证

时间:2016-12-05 01:54:53

标签: java selenium apache-poi

我正在尝试为我的测试自动化框架实现数据驱动方面。我已经创建了一个似乎正常工作的fe函数,它可以检索参数的col / row数,从特定单元格获取数据,更新特定单元格等等。

我现在用一个基本上有2列的脚本来测试它。第一列是用户名,第二列是密码。我可以迭代这些行,列没有问题。

我有一个问题,如果有一个空白单元格会崩溃,但我解决了一些错误处理,如果有一个黑色单元格,它返回字符串"空单元格"。

我遇到一个小问题,如果某些测试数据不一致:

The rows are out of alignment

我不知道如何处理这样的问题。如果两个单元格都是空的(它会跳过该行),我添加了一些验证。如何让它完全跳过这些类型的行并只获取有2个单元格条目的数据?

我的代码如下:

int endMarker = edc.getExcelParameterRow(edc, 0, nextColumnMarker);

    System.out.println(endMarker);

    int columnParam = edc.getExcelParameterCol(edc, 0, ExcelDataUserName);
    System.out.println(columnParam);

    open_chrome_browser();
    Logout lo = new Logout();



    //get all of the usernames
    for (i = 0; i <endMarker-1;i++){
        String param1_celldata = edc.getExcelData(0, i+1, columnParam);
        String param2_celldata = edc.getExcelData(0, i+1, columnParam+1);

        //iterate over the username passwords of the data.xls sheet to login and out as different users

        if(param1_celldata.contains("Empty cell")&&param2_celldata.contains("Empty cell")){
            i++;
        }


        LoginPage.login(driver, edc.getExcelData(0, i+1, columnParam), edc.getExcelData(0, i+1, columnParam+1));
        lo.logout_user_out(driver);

我无法做到以下几点:

if(param1_celldata.contains("Empty cell")&&param2_celldata.contains("Empty cell")){
            i++;
        }
        if(param1_celldata.contains("Empty cell")){
            i++;
        }
        if(param2_celldata.contains("Empty cell")){
            i++;
        } 

以下内容并不适合该法案:

if(param1_celldata.contains("Empty cell")&&param2_celldata.contains("Empty cell")){
            i++;
        }
        if(param1_celldata.contains("Empty cell")||param2_celldata.contains("Empty cell")){
            i++;
        }           

我只是希望该工具完全跳过这些奇怪的错误对齐的单元格。我该如何做到这一点?

0 个答案:

没有答案