私は新しいセレン 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);
}
提案をありがとう、私は本当にこのアイデアをどこから始めればいいのかわからない?!