私はJavaとSeleniumが初めてです。セレンテストでは、要素に対してアクションを実行する前に、要素が表示されているかどうかを確認したいと考えています。要素の存在をチェックする静的関数を作成しました。テストを並行して実行します。この関数は、多くのテストによって並行してアクセスされます。なので静的関数のスレッドセーフが心配です。ここに私のコードがあります、
public static boolean untilElementAppears(Element obj, long maxTimeout){
try{
while(!obj.isDisplayed()){
sleep(1);
maxTimeout--;
if(maxTimeout <= 0){
return false;
}
}
}catch(NoSuchElementException | StaleElementReferenceException e){
untilElementAppears(obj, maxTimeout);
}
return true;
}
ここで、obj と maxTimeout パラメータが気になります。並列テストの実行中にこれらのパラメーターが混同されることはありますか? ここでは静的変数を使用していません。