Pengendalian Pengecualian Selenium (Senarai Pengecualian Umum)

Isi kandungan:

Anonim

Apa itu Pengecualian?

Satu pengecualian adalah satu kesilapan yang berlaku pada masa pelaksanaan program. Namun, semasa menjalankan program, bahasa pengaturcaraan menghasilkan pengecualian yang harus ditangani untuk mengelakkan program anda macet.

Pengecualian menunjukkan bahawa, walaupun peristiwa itu dapat terjadi, jenis kejadian ini jarang terjadi. Apabila kaedah tidak dapat menangani Pengecualian, kaedah tersebut dilemparkan ke fungsi pemanggilnya. Akhirnya, apabila pengecualian dikeluarkan dari fungsi utama, program ini dihentikan secara tiba-tiba.

Dalam tutorial ini, anda akan belajar:

  • Apa itu Pengecualian?
  • Pengecualian dalam pemacu Web Selenium
  • Mengendalikan Pengecualian Selenium
  • Kaedah untuk menunjukkan Pengecualian

Pengecualian biasa dalam pemacu Web Selenium

Nama pengecualian Penerangan
ElementNotVisibleException Pengecualian Selenium jenis ini berlaku apabila elemen yang ada di DOM mempunyai set ciri sebagai tersembunyi.
ElementNotSelectableException Pengecualian Selenium ini berlaku apabila elemen ditampilkan dalam DOM, tetapi anda dapat memilih. Oleh itu, tidak mungkin untuk berinteraksi.
NoSuchElementException Pengecualian ini berlaku sekiranya unsur tidak dapat dijumpai.
NoSuchFrameException Pengecualian ini berlaku sekiranya target bingkai yang akan diaktifkan tidak ada.
NoAlertPresentException Pengecualian ini berlaku apabila anda beralih ke amaran yang tidak disajikan.
NoSuchWindowException Pengecualian ini berlaku sekiranya sasaran tetingkap yang hendak ditukar tidak ada.
StaleElementReferenceException Pengecualian Selenium ini berlaku apabila elemen web terlepas dari DOM semasa.
SesiNotFoundException WebDriver bertindak setelah anda keluar dari penyemak imbas.
TimeoutException Dilempar apabila tidak ada masa yang cukup untuk perintah selesai. Contohnya, elemen yang dicari tidak dijumpai dalam masa yang ditentukan.
WebDriverException Pengecualian ini berlaku semasa WebDriver bertindak tepat setelah anda menutup penyemak imbas.
ConnectionClosedException Pengecualian jenis ini berlaku apabila terdapat pemutusan pada pemacu.
ElementClickInterceptedException Perintah tersebut mungkin tidak dapat diselesaikan kerana elemen yang menerima peristiwa menyembunyikan elemen yang diminta diklik.
ElementNotInteractableException Pengecualian Selenium ini dilemparkan apabila ada unsur yang ditunjukkan dalam DOM. Walau bagaimanapun, mustahil untuk berinteraksi dengan elemen seperti itu.
KesalahanInResponseException Ini berlaku semasa berinteraksi dengan pelanjutan Firefox atau pelayan pemacu jarak jauh.
ErrorHandler.UnknownServerException Pengecualian digunakan sebagai placeholder sekiranya pelayan mengembalikan ralat tanpa jejak timbunan.
ImeActivationFailedException Jangkaan ini akan berlaku apabila pengaktifan enjin IME gagal.
ImeNotAvailableException Ia berlaku apabila sokongan IME tidak tersedia.
InsecureCertificateException Navigasi membuat ejen pengguna memukul peringatan sijil. Ini boleh disebabkan oleh sijil TLS yang tidak sah atau tamat tempoh.
Tidak SahArgumentException Ia berlaku apabila argumen tidak termasuk dalam jenis yang diharapkan.
PengecualianCookieDomainException Tidak Sah Ini berlaku apabila anda cuba menambahkan kuki di bawah domain yang berbeza dan bukannya URL semasa.
Pengecualian Koordinat Tidak Sah Jenis Pengecualian ini sepadan dengan operasi berinteraksi yang tidak sah.
Tidak SahElementStateExceptio Ia berlaku apabila perintah tidak dapat diselesaikan ketika elemen tidak valid.
InvalidSessionIdException Pengecualian ini berlaku apabila ID sesi yang diberikan tidak termasuk dalam senarai sesi aktif. Ini bermaksud sesi tersebut tidak wujud atau tidak aktif.
PengecualianSwitchToTargetException Tidak Sah Ini berlaku apabila target bingkai atau tetingkap yang hendak diubah tidak ada.
Pengecualian Javascript Masalah ini berlaku semasa menjalankan JavaScript yang diberikan oleh pengguna.
JsonException Ia berlaku ketika anda mampu mendapatkan sesi ketika sesi tidak dibuat.
NoSuchAttributeException Pengecualian seperti ini berlaku apabila atribut elemen tidak dapat dijumpai.
MoveTargetOutOfBoundsException Ia berlaku sekiranya sasaran yang disediakan untuk metodologi ActionChains move () tidak sah. Contohnya, keluar dari dokumen.
NoSuchContextException ContextAware melakukan ujian peranti mudah alih.
NoSuchCookieException Pengecualian ini berlaku apabila tidak ada kuki yang sepadan dengan nama jalan yang diberikan untuk semua kuki yang berkaitan dari dokumen yang sedang dilayari.
NotFoundException Pengecualian ini adalah subkelas WebDriverException. Ini akan berlaku apabila elemen pada DOM tidak wujud.
RemoteDriverServerException Pengecualian Selenium ini dilemparkan ketika pelayan tidak bertindak balas kerana masalah bahawa kemampuan yang dijelaskan tidak sesuai.
Tangkapan SkrinException Tidak mungkin untuk menangkap skrin.
SesiNotCreatedException Ia berlaku apabila sesi baru tidak berjaya dibuat.
UnableToSetCookieException Ini berlaku sekiranya pemandu tidak dapat menetapkan kuki.
Tak dijangkaTagNameException Berlaku sekiranya kelas sokongan tidak mendapat elemen web seperti yang diharapkan.
UnhandledAlertException Jangkaan ini berlaku apabila ada amaran, tetapi WebDriver tidak dapat melakukan operasi Makluman.
Tidak dijangkaAlertPresentException Ia berlaku apabila terdapat tanda amaran yang tidak dijangka.
UnknownMethodException Pengecualian ini berlaku apabila perintah yang diminta sesuai dengan URL yang diketahui tetapi tidak sesuai dengan metodologi untuk URL tertentu.
UnreachableBrowserException Pengecualian ini berlaku hanya apabila penyemak imbas tidak dapat dibuka atau dihancurkan kerana beberapa sebab.
Tidak disokongCommandException Ini berlaku apabila WebDriver jarak jauh tidak menghantar arahan yang sah seperti yang diharapkan.

Mengendalikan Pengecualian Selenium

Berikut adalah beberapa standard penting yang boleh anda gunakan untuk mengatasi Pengecualian di Selenium WebDriver:

Try-catch : Kaedah ini dapat menangkap Pengecualian, yang menggunakan kombinasi kata kunci cubaan dan tangkapan. Perintah cuba menunjukkan permulaan blok, dan Catch diletakkan di akhir blok percubaan, yang membantu menyelesaikan Pengecualian.

cuba{// Kod} tangkapan (Pengecualian e) {// Pengecualian Kod untuk Pengendalian}
  • Banyak blok tangkapan : Terdapat pelbagai jenis Pengecualian, dan anda boleh mengharapkan lebih dari satu pengecualian dari satu blok kod. Banyak tangkapan membantu anda menangani setiap jenis Pengecualian secara berasingan dengan sekatan kod yang berasingan. Ini dapat digunakan untuk lebih dari dua blok tangkapan, dan tidak ada batasan jumlah blok tangkapan.
cuba{//Kod} tangkapan (ExceptionType1 e1) {// Kod untuk Mengendalikan Pengecualian 1} tangkapan (ExceptionType2 e2) {// Kod untuk Mengendalikan Pengecualian 2}
  • Lempar : Semasa anda ingin menghasilkan Pengecualian, kata kunci Lempar digunakan untuk membuang Pengecualian untuk mengatasinya dalam jangka masa. Apabila anda membuang Pengecualian tanpa mengatasinya, mereka perlu menggunakan kata kunci Lempar.
public static void anyFunction () membuang Pengecualian {cuba {// tulis kod anda di sini} Tangkap (Pengecualian b) {// Lakukan apa sahaja yang anda mahu laksanakan// Buangkan Pengecualian kembali ke sistembaling (b);}}
  • Pelbagai Pengecualian : Anda boleh menyebut pelbagai Pengecualian dalam klausa lemparan.
public static void anyFunction () melemparkan ExceptionType1, ExceptionType2 {cuba {// tulis kod anda di sini} tangkapan (ExceptionType1 e1) {// Kod untuk menangani pengecualian 1} tangkapan (ExceptionType1 e2) {// Kod untuk menangani pengecualian 2}
  • Akhirnya : Kata kunci akhir digunakan untuk membuat sekatan kod di bawah blok cubaan. Ini adalah kod terakhir yang membantu anda melaksanakan tanpa mengira berlakunya pengecualian
cuba {//Kod} tangkapan (ExceptionType1 e1) {// Catch block} tangkapan (ExceptionType2 e2) {// Catch block} tangkapan (ExceptionType3 e3) {// Catch block} akhirnya {// Blok akhirnya selalu dilaksanakan.}

Kaedah untuk menunjukkan Pengecualian

Anda juga dapat menggunakan kaedah berikut untuk menampilkan Maklumat Pengecualian:

  • printStackTrace () : Fungsi ini mencetak jejak tumpukan, nama Pengecualian, dan keterangan berguna lain.
  • toString () : Fungsi ini mengembalikan mesej teks yang menerangkan pengecualian nama dan keterangan.
  • getMessage () : Membantu memaparkan keterangan Pengecualian.

Ringkasan:

  • Pengecualian adalah kesalahan yang berlaku semasa pelaksanaan program.
  • Try-catch: Kaedah ini dapat menangkap Pengecualian, yang menggunakan gabungan kata kunci cubaan dan tangkapan.
  • Banyak tangkapan membantu anda menangani setiap jenis Pengecualian secara berasingan dengan sekatan kod yang berasingan.
  • Kata kunci lemparan digunakan untuk membuang Pengecualian untuk mengatasinya dalam jangka masa.
  • printStackTrace (): Fungsi ini mencetak jejak tumpukan, nama Pengecualian, dan keterangan berguna lain
  • toString (): Fungsi ini mengembalikan mesej teks yang menerangkan pengecualian nama dan keterangan.
  • getMessage (): Membantu memaparkan keterangan Pengecualian.