Selenyum İstisnası İşleme (Genel İstisnalar Listesi)

İçindekiler:

Anonim

İstisnalar nedir?

Bir istisna , bir programın yürütülmesi sırasında meydana gelen bir hatadır. Bununla birlikte, bir programı çalıştırırken, programlama dilleri, programınızın çökmesini önlemek için ele alınması gereken bir istisna oluşturur.

İstisna, olay meydana gelebilmesine rağmen, bu tür olayların nadiren meydana geldiğini gösterir. Yöntem İstisnayı işleyemediğinde, çağıran işlevine atılır. Sonunda, ana işlevden bir istisna atıldığında, program aniden sonlandırılır.

Bu eğitimde şunları öğreneceksiniz:

  • İstisnalar nedir?
  • Selenium Web sürücüsündeki istisnalar
  • Selenyum İstisnalarını Ele Alma
  • İstisnayı görüntüleme yöntemleri

Selenium Web sürücüsünde Yaygın İstisnalar

İstisna adı Açıklama
ElementNotVisibleException Bu tür bir Selenium istisnası, DOM'daki mevcut bir öğe gizli olarak ayarlanmış bir özelliğe sahip olduğunda ortaya çıkar.
ElementNotSelectableException Bu Selenium istisnası, DOM'da bir öğe sunulduğunda ortaya çıkar, ancak seçim yapabilirsiniz. Bu nedenle etkileşim kurmak mümkün değildir.
NoSuchElementException Bu İstisna, bir öğe bulunamazsa oluşur.
NoSuchFrameException Bu İstisna, geçiş yapılacak çerçeve hedefi yoksa oluşur.
NoAlertPresentException Bu İstisna, sunulan bir uyarıya geçtiğinizde oluşur.
NoSuchWindowException Bu İstisna, anahtarlanacak pencere hedefi yoksa oluşur.
StaleElementReferenceException Bu Selenium istisnası, web öğesi mevcut DOM'dan ayrıldığında meydana gelir.
SessionNotFoundException WebDriver, tarayıcıdan çıktıktan sonra hareket ediyor.
Zaman Aşımı İstisnası Bir komutun tamamlanması için yeterli zaman olmadığında atılır. Örneğin, aranan öğe belirtilen sürede bulunamadı.
WebDriverException Bu İstisna, WebDriver tarayıcıyı kapattıktan hemen sonra hareket ettiğinde gerçekleşir.
ConnectionClosedException Bu tür bir İstisna, sürücüde bir bağlantı kesildiğinde gerçekleşir.
ElementClickInterceptedException Olayları alan öğe tıklanması istenen öğeyi gizlediği için komut tamamlanamayabilir.
ElementNotInteractableException Bu Selenium istisnası, DOM'da herhangi bir öğe sunulduğunda atılır. Ancak böyle bir unsurla etkileşim kurmak imkansızdır.
ErrorInResponseException Bu, Firefox eklentisi veya uzak sürücü sunucusuyla etkileşim sırasında gerçekleşir.
ErrorHandler.UnknownServerException İstisna, sunucunun yığın izleme olmadan bir hata döndürmesi durumunda yer tutucu olarak kullanılır.
ImeActivationFailedException Bu beklenti, IME motor aktivasyonu başarısız olduğunda ortaya çıkacaktır.
ImeNotAvailableException IME desteği mevcut olmadığında gerçekleşir.
InsecureCertificateException Gezinme, kullanıcı aracısını bir sertifika uyarısına çarptırdı. Bu geçersiz veya süresi dolmuş bir TLS sertifikasına neden olabilir.
InvalidArgumentException Bir bağımsız değişken beklenen türe ait olmadığında ortaya çıkar.
InvalidCookieDomainException Bu, mevcut URL yerine farklı bir etki alanına bir çerez eklemeye çalıştığınızda gerçekleşir.
InvalidCoordinatesException Bu tür bir İstisna, geçerli olmayan etkileşimli bir işlemle eşleşir.
InvalidElementStateExceptio Öğe geçersiz olduğunda komut tamamlanamadığında ortaya çıkar.
InvalidSessionIdException Bu İstisna, verilen oturum kimliği aktif oturumlar listesine dahil edilmediğinde meydana geldi. Bu, oturumun mevcut olmadığı veya etkin olmadığı anlamına gelir.
InvalidSwitchToTargetException Bu, değiştirilecek çerçeve veya pencere hedefi olmadığında meydana gelir.
JavascriptException Bu sorun, kullanıcı tarafından verilen JavaScript çalıştırılırken ortaya çıkar.
JsonException Seans oluşturulmadığında seansı almayı göze aldığınızda ortaya çıkar.
NoSuchAttributeException Bu tür bir İstisna, bir elemanın özniteliği bulunamadığında ortaya çıkar.
MoveTargetOutOfBoundsException ActionChains move () metodolojisine sağlanan hedef geçerli değilse gerçekleşir. Örneğin, belgenin dışında.
NoSuchContextException ContextAware, mobil cihaz testi yapar.
NoSuchCookieException Bu İstisna, şu anda taranan belgenin tüm ilişkili çerezleri için verilen yol adıyla eşleşen hiçbir çerez bulunamadığında ortaya çıkar.
NotFoundException Bu İstisna, WebDriverException'ın bir alt sınıfıdır. Bu, DOM'da bir öğe olmadığında ortaya çıkar.
RemoteDriverServerException Bu Selenium istisnası, açıklanan özelliklerin uygun olmaması sorunu nedeniyle sunucu yanıt vermediğinde atılır.
ScreenshotException Bir ekran yakalamak mümkün değil.
SessionNotCreatedException Yeni bir oturum başarıyla oluşturulamadığında gerçekleşir.
UnableToSetCookieException Bu, bir sürücü çerez ayarlayamadığında gerçekleşir.
BeklenmeyenTagNameException Bir destek sınıfı beklendiği gibi bir web öğesi almadıysa olur.
UnhandledAlertException Bu beklenti, bir uyarı olduğunda ortaya çıkar, ancak WebDriver Uyarı işlemini gerçekleştiremez.
BeklenmeyenAlertPresentException Beklenmedik bir uyarı ortaya çıktığında ortaya çıkar.
UnknownMethodException Bu İstisna, istenen komut bilinen bir URL ile eşleştiğinde ancak belirli bir URL için bir metodoloji ile eşleşmediğinde gerçekleşir.
UlaşılamazBrowserException Bu İstisna, yalnızca tarayıcı herhangi bir nedenle açılamadığında veya kilitlenemediğinde ortaya çıkar.
Desteklenmeyen Komut İstisnası Bu, uzak WebDriver beklendiği gibi geçerli komutlar göndermediğinde ortaya çıkar.

Selenyum İstisnalarını Ele Alma

Selenium WebDriver'da İstisnaları işleyebileceğiniz bazı önemli standartlar şunlardır:

Try-catch : Bu yöntem, dene ve yakala anahtar sözcüklerinin bir kombinasyonunu kullanan İstisnaları yakalayabilir. Try komutu bloğun başlangıcını belirtir ve Catch , Exception'ın çözülmesine yardımcı olan try bloğunun sonuna yerleştirilir.

Deneyin{// Kod} catch (İstisna e) {// İstisnayı işleme kodu}
  • Birden çok yakalama bloğu : Çeşitli İstisna türleri vardır ve tek bir kod bloğundan birden fazla istisna bekleyebilirsiniz. Birden çok yakalama, her tür İstisnayı ayrı bir kod bloğuyla ayrı ayrı ele almanıza yardımcı olur. İkiden fazla yakalama bloğu için kullanılabilir ve yakalama bloğu sayısında herhangi bir sınırlama yoktur.
Deneyin{// Kod} catch (ExceptionType1 e1) {// İstisna 1'i İşleme Kodu} catch (ExceptionType2 e2) {// İstisna 2'yi İşleme Kodu}
  • Throw : Bir İstisna oluşturmak istediğinizde, Throw anahtar sözcüğü çalışma zamanında onu işlemek için İstisna atmak için kullanılır. Bir İstisnayı işlemeden attığınızda, Throw anahtar kelimesini kullanmaları gerekir.
public static void anyFunction () Exception {atarDeneyin {// kodunuzu buraya yazın} Yakala (İstisna b) {// Ne yapmak istiyorsan onu yap// İstisnayı sisteme geri atınatmak (b);}}
  • Çoklu İstisnalar : Atar cümlesinde çeşitli İstisnalardan bahsedebilirsiniz.
public static void anyFunction () ExceptionType1, ExceptionType2 {Deneyin {// kodunuzu buraya yazın} catch (ExceptionType1 e1) {// 1. istisna işlemek için kod} catch (ExceptionType1 e2) {// 2. istisna işlemek için kod}
  • Son olarak : Final anahtar sözcüğü, try bloğu altında bir kod bloğu oluşturmak için kullanılır. Bir istisnanın meydana gelmesinden bağımsız olarak yürütmenize yardımcı olan son koddur.
Deneyin {// Kod} catch (ExceptionType1 e1) {// Bloğu yakala} catch (ExceptionType2 e2) {// Bloğu yakala} catch (ExceptionType3 e3) {// Bloğu yakala} en sonunda {// Nihayet bloğu her zaman çalışır.}

İstisnayı görüntüleme yöntemleri

İstisna Bilgilerini görüntülemek için aşağıdaki yöntemleri de kullanabilirsiniz:

  • printStackTrace () : Bu işlev yığın izini, İstisnanın adını ve diğer yararlı açıklamaları yazdırır.
  • toString () : Bu işlev, istisna adını ve açıklamasını açıklayan bir metin mesajı döndürür.
  • getMessage () : İstisnanın açıklamasını görüntülemeye yardımcı olur.

Özet:

  • Bir istisna, bir programın yürütülmesi sırasında meydana gelen bir hatadır.
  • Try-catch: Bu yöntem, dene ve yakala anahtar sözcüklerinin bir kombinasyonunu kullanan İstisnaları yakalayabilir.
  • Birden çok yakalama, her tür İstisnayı ayrı bir kod bloğu ile ayrı ayrı ele almanıza yardımcı olur.
  • Throw anahtar sözcüğü, çalışma zamanında işlemek için İstisna atmak için kullanılır.
  • printStackTrace (): Bu işlev yığın izini, İstisnanın adını ve diğer yararlı açıklamaları yazdırır.
  • toString (): Bu işlev, istisna adını ve açıklamasını açıklayan bir metin mesajı döndürür.
  • getMessage (): İstisnanın açıklamasını görüntülemeye yardımcı olur.