2

私は新しいセレン Web ドライバーを使用しており、ほとんどすべて問題ありませんが、接続の問題が発生し、ブラウザが私の指示なしに閉じたり、その他のさまざまな理由で閉じたりすると、次のようなエラーが表示されます: -

Exception in thread "Thread-2" org.openqa.selenium.WebDriverException: Error communicating with the remote browser. It may have died.

これらの状況では、それをキャッチして、テーブルなどに対して更新を実行するコードを呼び出して、これが発生したことをユーザーに通知したいと思います。どうすればよいですか?

私は賢く、これを「アクション」のデータベースから実行しようとしましたが、コードは基本的に、これらのアクションを非常に大きな「if action = XYZ call blah」リストを使用して順番に実行します。

if (actionType.equals("NAVIGATETO")){
        actionPassed = threadAction.NavigateTo(this);
    }
    else if(actionType.equals("TYPE")){
        actionPassed = threadAction.Type(this);
    }
    else if(actionType.equals("CLOSEBROWSER")){
        actionPassed = threadAction.CloseBrowser(this);
    }...

それぞれをtry and catchでラップする必要がありますか? または、各アクションの次のレベルでトライ アンド キャッチを実装する必要がありますか? これがアクションの例です...

public boolean browserNav(individualThreadSession threadsesh){

if(threadsesh.stringValue.contains("BACK")){
            threadsesh.driver.navigate().back();
        }
        else if(threadsesh.stringValue.contains("REFRESH")){
            threadsesh.driver.navigate().refresh();
        }
        else if(threadsesh.stringValue.contains("GOTO")){
            threadsesh.driver.navigate().to(threadsesh.stringValue);
        }
        return(true);
    }

提案をありがとう、私は本当にこのアイデアをどこから始めればいいのかわからない?!

4

2 に答える 2

0

QAF selenium テスト フレームワーク(以前の QAF ISFW ) を使用して、WebDriverListener で onFailure の実装を提供できます。

于 2013-09-18T16:06:56.993 に答える