私はテスト自動化フレームワークにデータ駆動型のアスペクトを実装しようとしています。パラメータのcol/row数を取得し、特定のセルからデータを取得し、特定のセルを更新するなど、正常に動作するように見えるfe関数を作成しました。Java POIでのExcelセルの行検証
これは基本的に2つの列を持つスクリプトでこれをテストしています。最初の列はユーザー名で、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