Apa itu Pengecualian?
Sebuah pengecualian adalah kesalahan yang terjadi pada saat pelaksanaan program. Namun, saat menjalankan program, bahasa pemrograman menghasilkan pengecualian yang harus ditangani untuk menghindari program Anda macet.
Pengecualian menunjukkan bahwa, meskipun peristiwa dapat terjadi, jenis peristiwa ini jarang terjadi. Jika metode tidak dapat menangani Pengecualian, metode tersebut akan dilemparkan ke fungsi pemanggilnya. Akhirnya, ketika pengecualian dibuang dari fungsi utama, program akan dihentikan secara tiba-tiba.
Dalam tutorial ini, Anda akan mempelajari:
- Apa itu Pengecualian?
- Pengecualian dalam driver Web Selenium
- Menangani Pengecualian Selenium
- Metode untuk menampilkan Exception
Pengecualian Umum dalam driver Web Selenium
Nama pengecualian | Deskripsi |
ElementNotVisibleException | Jenis pengecualian Selenium ini terjadi ketika elemen yang ada di DOM memiliki fitur yang disetel sebagai tersembunyi. |
ElementNotSelectableException | Pengecualian Selenium ini terjadi ketika elemen disajikan di DOM, tetapi Anda dapat memilih. Oleh karena itu, tidak mungkin untuk berinteraksi. |
NoSuchElementException | Pengecualian ini terjadi jika elemen tidak dapat ditemukan. |
NoSuchFrameException | Pengecualian ini terjadi jika target bingkai yang akan dialihkan tidak ada. |
NoAlertPresentException | Pengecualian ini terjadi saat Anda beralih ke tidak ada peringatan yang disajikan. |
NoSuchWindowException | Pengecualian ini terjadi jika target jendela yang akan dialihkan tidak ada. |
StaleElementReferenceException | Pengecualian Selenium ini terjadi ketika elemen web dilepaskan dari DOM saat ini. |
SessionNotFoundException | WebDriver bekerja setelah Anda keluar dari browser. |
TimeoutException | Dilempar saat tidak ada cukup waktu untuk menyelesaikan suatu perintah. Misalnya, elemen yang dicari tidak ditemukan dalam waktu yang ditentukan. |
WebDriverException | Pengecualian ini terjadi saat WebDriver bertindak tepat setelah Anda menutup browser. |
ConnectionClosedException | Jenis Pengecualian ini terjadi saat ada pemutusan sambungan di driver. |
ElementClickInterceptedException | Perintah tidak dapat diselesaikan karena elemen yang menerima kejadian menyembunyikan elemen yang diminta untuk diklik. |
ElementNotInteractableException | Pengecualian Selenium ini muncul ketika elemen apa pun disajikan di DOM. Namun, tidak mungkin untuk berinteraksi dengan elemen seperti itu. |
ErrorInResponseException | Ini terjadi saat berinteraksi dengan ekstensi Firefox atau server driver jarak jauh. |
ErrorHandler.UnknownServerException | Pengecualian digunakan sebagai placeholder jika server mengembalikan kesalahan tanpa pelacakan tumpukan. |
ImeActivationFailedException | Harapan ini akan terjadi ketika aktivasi mesin IME gagal. |
ImeNotAvailableException | Ini terjadi saat dukungan IME tidak tersedia. |
InsecureCertificateException | Navigasi membuat agen pengguna mendapatkan peringatan sertifikat. Ini dapat disebabkan oleh sertifikat TLS yang tidak valid atau kedaluwarsa. |
InvalidArgumentException | Itu terjadi ketika sebuah argumen tidak termasuk dalam tipe yang diharapkan. |
InvalidCookieDomainException | Ini terjadi saat Anda mencoba menambahkan cookie di bawah domain yang berbeda, bukan di URL saat ini. |
InvalidCoordinatesException | Jenis Pengecualian ini cocok dengan operasi yang berinteraksi yang tidak valid. |
InvalidElementStateExceptio | Itu terjadi ketika perintah tidak dapat diselesaikan ketika elemen tidak valid. |
InvalidSessionIdException | Pengecualian ini terjadi ketika ID sesi yang diberikan tidak termasuk dalam daftar sesi aktif. Itu berarti sesi tidak ada atau juga tidak aktif. |
InvalidSwitchToTargetException | Hal ini terjadi jika target bingkai atau jendela yang akan dialihkan tidak ada. |
JavascriptException | Masalah ini terjadi saat menjalankan JavaScript yang diberikan oleh pengguna. |
JsonException | Ini terjadi ketika Anda mampu mendapatkan sesi saat sesi tidak dibuat. |
NoSuchAttributeException | Jenis Pengecualian ini terjadi ketika atribut elemen tidak dapat ditemukan. |
MoveTargetOutOfBoundsException | Ini terjadi jika target yang diberikan ke metodologi move () ActionChains tidak valid. Misalnya, keluar dari dokumen. |
NoSuchContextException | ContextAware melakukan pengujian perangkat seluler. |
NoSuchCookieException | Pengecualian ini terjadi ketika tidak ada cookie yang cocok dengan nama jalur yang diberikan untuk semua cookie terkait dari dokumen yang sedang dijelajahi. |
NotFoundException | Pengecualian ini adalah subkelas WebDriverException. Ini akan terjadi jika elemen di DOM tidak ada. |
RemoteDriverServerException | Pengecualian Selenium ini dilemparkan ketika server tidak merespons karena masalah kemampuan yang dijelaskan tidak tepat. |
ScreenshotException | Tidak mungkin menangkap layar. |
SessionNotCreatedException | Itu terjadi ketika sesi baru tidak berhasil dibuat. |
UnableToSetCookieException | Ini terjadi jika pengemudi tidak dapat mengatur cookie. |
UnexpectedTagNameException | Terjadi jika kelas pendukung tidak mendapatkan elemen web seperti yang diharapkan. |
UnhandledAlertException | Harapan ini terjadi ketika ada peringatan, tetapi WebDriver tidak dapat melakukan operasi Alert. |
UnexpectedAlertPresentException | Itu terjadi ketika ada munculnya peringatan yang tidak terduga. |
UnknownMethodException | Pengecualian ini terjadi ketika perintah yang diminta cocok dengan URL yang dikenal tetapi tidak cocok dengan metodologi untuk URL tertentu. |
UnreachableBrowserException | Pengecualian ini hanya terjadi jika browser tidak dapat dibuka atau rusak karena beberapa alasan. |
UnsupportedCommandException | Ini terjadi ketika WebDriver jarak jauh tidak mengirim perintah yang valid seperti yang diharapkan. |
Menangani Pengecualian Selenium
Berikut, beberapa standar penting yang dapat digunakan untuk menangani Pengecualian di Selenium WebDriver:
Try-catch : Metode ini dapat menangkap Pengecualian, yang menggunakan kombinasi kata kunci coba dan tangkap. Perintah coba menunjukkan awal blok, dan Catch ditempatkan di akhir blok percobaan, yang membantu menyelesaikan Pengecualian.
mencoba{// Kode} menangkap (Pengecualian e) {// Kode untuk Penanganan pengecualian}
- Beberapa blok tangkapan : Ada berbagai jenis Pengecualian, dan Anda dapat mengharapkan lebih dari satu pengecualian dari satu blok kode. Beberapa tangkapan membantu Anda menangani setiap jenis Pengecualian secara terpisah dengan blok kode yang terpisah. Ini dapat digunakan untuk lebih dari dua blok tangkapan, dan tidak ada batasan jumlah blok tangkapan.
mencoba{//Kode} tangkap (ExceptionType1 e1) {// Kode untuk Penanganan Pengecualian 1} tangkap (ExceptionType2 e2) {// Kode untuk Penanganan Pengecualian 2}
- Throw : Saat Anda ingin membuat Exception, kata kunci Throw digunakan untuk membuang Exception untuk menanganinya dalam waktu proses. Saat Anda melempar Exception tanpa menanganinya, mereka perlu menggunakan kata kunci Throw.
public static void anyFunction () melempar Exception {coba {// tulis kode Anda di sini} Tangkap (Pengecualian b) {// Lakukan apapun yang kamu ingin lakukan// Lempar Pengecualian kembali ke sistemmelempar (b);}}
- Beberapa Pengecualian : Anda dapat menyebutkan berbagai Pengecualian di klausa lemparan.
public static void anyFunction () melempar ExceptionType1, ExceptionType2 {coba {// tulis kode Anda di sini} tangkap (ExceptionType1 e1) {// Kode untuk menangani pengecualian 1} tangkap (ExceptionType1 e2) {// Kode untuk menangani pengecualian 2}
- Terakhir : Kata kunci terakhir digunakan untuk membuat blok kode di bawah blok percobaan. Ini adalah kode terakhir yang membantu Anda untuk mengeksekusi terlepas dari terjadinya pengecualian
coba {//Kode} tangkap (ExceptionType1 e1) {// Tangkap blok} tangkap (ExceptionType2 e2) {// Tangkap blok} tangkap (ExceptionType3 e3) {// Tangkap blok} akhirnya {// Blok terakhir selalu dijalankan.}
Metode untuk menampilkan Exception
Anda juga dapat menggunakan metode berikut untuk menampilkan Informasi Pengecualian:
- printStackTrace () : Fungsi ini mencetak jejak tumpukan, nama Pengecualian, dan deskripsi berguna lainnya.
- toString () : Fungsi ini mengembalikan pesan teks yang menjelaskan nama pengecualian dan deskripsi.
- getMessage () : Membantu menampilkan deskripsi Exception.
Ringkasan:
- Pengecualian adalah kesalahan yang terjadi pada saat menjalankan program.
- Try-catch: Metode ini dapat menangkap Pengecualian, yang menggunakan kombinasi kata kunci coba dan tangkap.
- Beberapa tangkapan membantu Anda menangani setiap jenis Pengecualian secara terpisah dengan blok kode yang terpisah.
- Throw keyword digunakan untuk membuang Exception untuk menanganinya dalam run time.
- printStackTrace (): Fungsi ini mencetak jejak tumpukan, nama Pengecualian, dan deskripsi berguna lainnya
- toString (): Fungsi ini mengembalikan pesan teks yang menjelaskan nama pengecualian dan deskripsi.
- getMessage (): Membantu menampilkan deskripsi Exception.