での例外処理 Selenium Webドライバー(種類)

例外とは何ですか?

An 例外 プログラム実行時に発生するエラーです。 ただし、プログラムの実行中に、プログラミング言語はプログラムのクラッシュを避けるために処理する必要がある例外を生成します。

例外は、イベントが発生する可能性はあるものの、このタイプのイベントはめったに発生しないことを示します。 メソッドが例外を処理できない場合、例外は呼び出し元の関数にスローされます。

例外の種類 Selenium ウェブドライバー

1. ElementNotVisible例外: このタイプの Selenium DOM 内の既存の要素に非表示として設定された機能がある場合、例外が発生します。

2.ElementNotSelectableException: この Selenium 要素が DOM, ですが、選択することは可能です。 したがって、対話することはできません。

3. NoSuchElementException: この例外は、要素が見つからなかった場合に発生します。

4. NoSuchFrameException: この例外は、切り替え先のフレームが存在しない場合に発生します。

5.NoAlertPresentException: この例外は、アラートが表示されない状態に切り替えると発生します。

6. NoSuchWindowException: この例外は、切り替え対象のウィンドウが存在しない場合に発生します。

7. StaleElementReferenceException: この Selenium 例外は、Web 要素が現在の DOM から切り離されるときに発生します。

8.セッションノットファウンド例外: WebDriver はブラウザを終了した後に動作します。

9. タイムアウト例外: コマンドを完了するのに十分な時間がない場合にスローされます。 たとえば、検索された要素は指定された時間内に見つかりませんでした。

10.WebDriver例外: この例外は、ブラウザを閉じた直後に WebDriver が動作しているときに発生します。

11. 接続クローズ例外: このタイプの例外は、ドライバーで切断が発生した場合に発生します。

12.ElementClickInterceptedException: イベントを受信する要素がクリック要求された要素を隠しているため、コマンドが完了しない可能性があります。

13.ElementNotInteractableException: この Selenium DOM 内に要素が存在すると例外がスローされます。ただし、そのような要素と対話することは不可能です。

14. エラーインレスポンス例外: これは、 Firefox 拡張子またはリモートドライバーサーバー。

15. ErrorHandler.UnknownServerException: 例外は、サーバーがスタック トレースなしでエラーを返した場合のプレースホルダーとして使用されます。

16.ImeActivationFailedException: この予期は、IME エンジンのアクティブ化が失敗した場合に発生します。

17.ImeNotAvailableException: これは、IME サポートが利用できない場合に発生します。

18. InsecureCertificateException: ナビゲーションにより、ユーザー エージェントに証明書の警告が表示されました。 これは、TLS 証明書が無効であるか期限切れであることが原因である可能性があります。

19.無効な引数例外: これは、引数が予期された型に属していない場合に発生します。

20.無効なCookieドメイン例外: これは、現在の URL ではなく別のドメインに Cookie を追加しようとすると発生します。

21. 無効な座標例外: このタイプの例外は、有効でない相互作用操作と一致します。

22.無効な要素状態例外: 要素が無効な場合にコマンドを終了できない場合に発生します。

23. 無効なセッション ID 例外: この例外は、指定されたセッション ID がアクティブなセッションのリストに含まれていない場合に発生しました。 これは、セッションが存在しないか、非アクティブであることを意味します。

24. 無効なスイッチTarget例外: 切り替え対象のフレームやウィンドウが存在しない場合に発生します。

25. Javascript例外: この問題は実行中に発生します Javaユーザーが指定したスクリプト。

26. Json例外: これは、セッションが作成されていないときにセッションを取得する余裕がある場合に発生します。

27. NoSuchAttributeException: この種の例外は、要素の属性が見つからなかった場合に発生します。

28.移動Target境界外例外: これは、ActionChains move() メソッドに指定されたターゲットが無効な場合に発生します。 たとえば、文書の外にあります。

29. NoSuchContextException: ContextAware はモバイル デバイスのテストを行います。

30. NoSuchCookieException: この例外は、現在閲覧しているドキュメントに関連付けられているすべての Cookie に対して、指定されたパス名に一致する Cookie が見つからない場合に発生します。

31. NotFoundException: この例外は WebDriverException のサブクラスです。 これは、DOM 上の要素が存在しない場合に発生します。

32.RemoteDriverServerException: この Selenium 例外は、説明されている機能が適切ではないという問題が原因でサーバーが応答しない場合にスローされます。

33. スクリーンショット例外: 画面をキャプチャすることはできません。

34. SessionNotCreatedException: これは、新しいセッションを正常に作成できなかった場合に発生します。

35. UnableToSetCookieException: これは、ドライバーが Cookie を設定できない場合に発生します。

36. 予期しないタグ名例外: サポート クラスが Web 要素を期待どおりに取得できなかった場合に発生します。

37.未処理アラート例外: この期待は、アラートがあるが、WebDriver がアラート操作を実行できない場合に発生します。

38.予期しないアラート存在例外: これは、予期しないアラートが発生した場合に発生します。

39. 不明メソッド例外: この例外は、要求されたコマンドが既知の URL と一致するが、特定の URL の方法論と一致しない場合に発生します。

40. 到達不能ブラウザ例外: この例外は、何らかの理由でブラウザを開けない、またはクラッシュした場合にのみ発生します。

41.UnsupportedCommand例外: これは、リモート WebDriver が有効なコマンドを期待どおりに送信しない場合に発生します。

で例外を処理する方法 Selenium

ここでは、例外を処理するために使用できるいくつかの重要な標準を示します。 Selenium ウェブドライバー:

ステップ1) トライキャッチ

このメソッドは、try キーワードと catch キーワードの組み合わせを使用して例外をキャッチできます。 Try コマンドはブロックの開始を示します。 レスリング は try ブロックの最後に配置され、例外の解決に役立ちます。

try
{
// Code
} catch (Exception e) {
// Code for Handling exception
}

ステップ 2) 複数の catch ブロック

例外にはさまざまな種類があり、単一のコード ブロックから複数の例外が発生することが予想されます。 複数のキャッチは、個別のコード ブロックであらゆる種類の例外を個別に処理するのに役立ちます。 XNUMX つ以上の catch ブロックに使用でき、catch ブロックの数に制限はありません。

try
{
//Code
} catch (ExceptionType1 e1) {
//Code for Handling Exception 1
} catch (ExceptionType2 e2) {
//Code for Handling Exception 2
}

ステップ3) 投げる

例外を生成する場合、例外をスローして実行時に処理するために Throw キーワードを使用します。例外を処理せずにスローする場合は、Throw キーワードを使用する必要があります。

public static void anyFunction() throws Exception{

try {
// write your code here
} Catch (Exception b) {
// Do whatever you want to perform 
// Throw the Exception back to the system
throw(b);
}
}

ステップ 4) 複数の例外

throws 節ではさまざまな例外について言及できます。

public static void anyFunction() throws ExceptionType1, ExceptionType2{

try {
// write your code here
} catch (ExceptionType1 e1) {
// Code to handle exception 1
} catch (ExceptionType1 e2) {
// Code to handle exception 2
}

ステップ5) 最後に

Final キーワードは、try ブロックの下にコードのブロックを作成するために使用されます。 これは、例外の発生に関係なく実行できるようにする最終的なコードです。

try {
//Code
} catch (ExceptionType1 e1) {
//Catch block
} catch (ExceptionType2 e2) {
//Catch block
} catch (ExceptionType3 e3) {
//Catch block
} finally {
//The finally block always executes.
}

例外の表示方法

例外情報を表示するには、次の方法を使用することもできます。

  • printStackTrace(): この関数は、スタック トレース、例外の名前、およびその他の役立つ説明を出力します。
  • toString(): この関数は、例外の名前と説明を説明するテキスト メッセージを返します。
  • getMessage(): 例外の説明を表示するのに役立ちます。

まとめ

  • 例外とは、プログラムの実行時に発生するエラーのことです。
  • Try-catch: このメソッドは、try キーワードと catch キーワードの組み合わせを使用して例外をキャッチできます。
  • 複数のキャッチは、個別のコード ブロックであらゆる種類の例外を個別に処理するのに役立ちます。
  • Throw キーワードは、実行時に例外を処理するために例外をスローするために使用されます。
  • printStackTrace(): この関数は、スタック トレース、例外の名前、およびその他の役立つ説明を出力します。
  • toString(): この関数は、例外の名前と説明を説明するテキスト メッセージを返します。
  • getMessage(): 例外の説明を表示するのに役立ちます。