【发布时间】:2016-12-05 10:51:25
【问题描述】:
我正在尝试在我的测试自动化框架中实现数据驱动方面。我创建了一个似乎可以正常工作的 fe 函数,它可以检索参数的列/行数、从特定单元格获取数据、更新特定单元格等等。
我现在正在使用一个基本上有 2 列的脚本对此进行测试。第一列是用户名,第二列是密码。我可以毫无问题地遍历这些行、列。
我遇到了一个问题,如果有一个空白单元格会崩溃,但我通过一些错误处理解决了这个问题,如果有一个黑色单元格,它会返回字符串“空单元格”。
我有一个小问题,如果某些测试数据不对齐:
我不确定如何处理这样的问题。如果两个单元格都是空的(它跳过该行),我已经添加了一些验证。如何让它完全跳过这些类型的行并只获取具有 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")&¶m2_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")&¶m2_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")&¶m2_celldata.contains("Empty cell")){
i++;
}
if(param1_celldata.contains("Empty cell")||param2_celldata.contains("Empty cell")){
i++;
}
我只是希望该工具完全跳过这些奇怪的未对齐单元格。我该如何做到这一点?
【问题讨论】:
标签: java selenium apache-poi