2
我想實現一個數據驅動的方面到我的測試自動化框架。我創建了一個似乎可以正常工作的fe函數,它可以檢索參數的列數/行數,從特定單元獲取數據,更新特定單元格等等。在Java中的Excel單元格的行驗證POI
我現在正在用基本上有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++;
}
我只是希望工具完全跳過這些奇怪的錯誤對齊的單元格。我如何實現這一目標?
更改顯示...如果Cell1不是空的而Cell2不是空的,則登錄並註銷。如果任一單元格*爲空,則會跳過登錄和註銷步驟,然後返回到'for'的開頭並遞增'i'。 – JeffC
謝謝Gowrishankar我沒有意識到我可以添加一個感嘆號來否定子句:!param1_celldata.contains(「Empty cell」)。感謝指引我朝着正確的方向工作。 – tarquin