1

私は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 パラメータが気になります。並列テストの実行中にこれらのパラメーターが混同されることはありますか? ここでは静的変数を使用していません。

4

0 に答える 0