top 10 selenium exceptions
Gestionarea excepțiilor Selenium WebDriver Utilizarea cadrului de gestionare a excepțiilor - Tutorial Selenium # 19
Obținerea unei excepții în codul de automatizare este foarte frecventă. „Excepție”, așa cum indică cuvântul, este un caz special sau neobișnuit.
Executarea codului de automatizare s-ar putea să nu se desfășoare așa cum era de așteptat din cauza multor factori implicați în execuție, cum ar fi probleme de stabilitate a rețelei, probleme de internet, stabilitate a serverului etc.
În ultimul tutorial WebDriver, am aflat despre 3 tipuri diferite de elemente web importante cum ar fi Tabelele web, rame și elemente dinamice și mecanismele lor de manipulare în script de seleniu
Înainte de a merge mai departe cu tutoriale Framework în acest Antrenament cu seleniu seria, aici, în acest tutorial vom afla despre tipuri de excepții și cum să gestionați excepțiile în scripturile Java și Selenium . Dezvoltatorii / testerii folosesc cadrul de gestionare a excepțiilor pentru a gestiona o excepție în scripturile de seleniu.
Ce veți învăța:
instrumente de testare a automatizării pentru aplicații mobile
- Ce este o excepție?
- Avantajele și dezavantajele abordării Avoid-Handle
- Tipuri de excepții în Java și Seleniu
- Manevrarea excepțiilor
- Excepții comune în Selenium WebDriver
- Evitarea și gestionarea excepțiilor comune
- # 1) org.openqa.selenium.NoSuchElementException
- # 2) org.openqa.selenium.NoSuchWindowException
- # 3) org.openqa.selenium.NoSuchFrameException
- # 4) org.openqa.selenium.NoAlertPresentException
- # 5) org.openqa.selenium.InvalidSelectorException
- # 6) org.openqa.selenium.ElementNotVisibleException
- # 7) org.openqa.selenium.ElementNotSelectableException
- # 8) org.openqa.selenium.TimeoutException
- # 9) org.openqa.selenium.NoSuchSessionException
- # 10) org.openqa.selenium.StaleElementReferenceException
- Concluzie
- Lectură recomandată
Ce este o excepție?
Excepțiile sunt evenimentele din cauza cărora programul Java se încheie brusc fără a da rezultatul așteptat. Java oferă un cadru în care un utilizator poate gestiona excepții.
Procesul de gestionare a excepțiilor se numește gestionarea excepțiilor.
Excepțiile trebuie tratate deoarece întrerup fluxul normal de execuție al unui program. Una dintre intențiile importante ale gestionării excepțiilor este de a preveni această pauză și de a continua executarea programului. Uneori, poate doriți să efectuați o serie de acțiuni la apariția unei anumite excepții.
Când apare o excepție, se creează un obiect de excepție care este denumit tehnic „ Aruncarea unei excepții ” și adăugăm Încearcă să prinzi blocuri ca,
try { // Protected code } catch (ExceptionName e) { // Catch block }
# 1) Bucata de cod care ar putea arunca o excepție este adăugată în interiorul blocului Try.
#Două) Instrucțiunea Catch captează excepția și o ia ca parametru.
# 3) Când nu este aruncată nicio excepție, se execută instrucțiunea try și nu instrucțiunea catch.
Exemplu : Când scriptul de seleniu eșuează din cauza localizatorului greșit, atunci dezvoltatorul ar trebui să poată înțelege motivul eșecului și acest lucru poate fi realizat cu ușurință dacă excepția este tratată corect în program.
Din experiența mea, cel mai bine este să încercați să evitați excepțiile WebDriver ori de câte ori este posibil și să prindeți cazuri cu adevărat excepționale. Folosiți try / catch pentru a gestiona lucruri care nu funcționează corect și care sunt în afara controlului meu.
Evită-i pe cei pe care îi pot prinde pe alții!
Aceasta este cea mai bună strategie care a funcționat pentru mine.
De exemplu, ia în considerare o pagină de test care necesită mai mult timp decât de obicei pentru a se încărca pe un server de testare. Vom primi excepții frecvente în timp ce efectuăm acțiuni pe această pagină. Deci, în loc să prindem asta de fiecare dată, putem
- Adăugați o comandă de așteptare și încercați să evitați o excepție
- Folosiți „Încercați / Prindeți” pentru a gestiona în cazul în care a apărut un caz cu adevărat excepțional
Prin aceasta se reduc șansele pentru excepții.
Avantajele și dezavantajele abordării Avoid-Handle
Avantaje | Dezavantaje |
---|---|
1) Această abordare reduce șansele de a obține excepții. | 1) Crește liniile de coduri deoarece adăugați cod suplimentar pentru a evita excepțiile |
Dacă o excepție este încă surprinsă, 2) ar fi un caz cu adevărat excepțional, care merită verificat | 2) Ar trebui să aibă o mai bună înțelegere a API-ului Web Driver, comenzi și excepții |
Reduceți timpul de depanare. Codul de automatizare este destinat să găsească erori și nu doriți să vedeți prea multe excepții 3) nedorite și să găsiți motivele din spatele fiecăreia | |
4) În blocul Catch, vă ocupați de cazuri mai valide | |
5) Reduceți eșecurile false | |
6) Raport mai clar |
În acest tutorial, vom discuta Evitați-și-manipulați abordare pentru cele mai frecvente 10 excepții din Selenium WebDriver. Înainte de aceasta, să obținem o înțelegere de bază a blocurilor Except Handling și Try / Catch.
Tipuri de excepții în Java și Seleniu
Mai jos am descris tipurile de excepții și diferitele moduri în care putem folosi cadrul de gestionare a excepțiilor în scripturile de seleniu.
Există trei tipuri de excepții:
- Excepție bifată
- Excepție nebifată
- Eroare
Ierarhia claselor de excepție și eroare:
# 1) Excepție bifată: Excepția verificată este gestionată în timpul compilării și oferă eroarea de compilare dacă nu este capturată și gestionată în timpul compilării.
Exemplu : FileNotFoundException , IOException etc.
# 2) Excepție nebifată: În cazul excepției nebifate, un compilator nu are obligația de a gestiona. Compilatorul ignoră în timpul compilării.
Exemplu : ArrayIndexoutOfBoundException
# 3) Greșeală: Când un scenariu este fatal și programul nu se poate recupera, JVM aruncă o eroare. Erorile nu pot fi gestionate de blocul try-catch. Chiar dacă utilizatorul încearcă să gestioneze eroarea folosind Încercați blocarea capturii, nu se poate recupera din eroare.
Exemplu : Eroare de afirmare , OutOfMemoryError etc.
Manevrarea excepțiilor
Încercați și prindeți blocul:
încearcă să prinzi blocurile sunt utilizate în general pentru a gestiona excepțiile. Tipul de excepții este declarat în blocul de captură care se așteaptă să vină. Când apare o excepție în blocul de încercare, controlați imediat mișcările pentru a prinde blocul.
Exemplu :
try { br = new BufferedReader(new FileReader('Data')); } catch(IOException ie) { ie.printStackTrace(); }
Pot exista mai multe blocuri de captură pentru un bloc de încercare, în funcție de tipul de excepție.
Exemplu :
try { br = new BufferedReader(new FileReader('Data')); } catch(IOException ie) { ie.printStackTrace(); } catch(FileNotFoundException file){ file.printStackTrace(); }
aruncă Excepție:
aruncă cuvântul cheie în java este folosit pentru a arunca o excepție, mai degrabă decât pentru a o gestiona. Toate excepțiile verificate pot fi aruncate prin metode.
Exemplu :
public static void main(String() args) throws IOException { BufferedReader br=new BufferedReader(new FileReader('Data')); while ((line = br.readLine()) != null) { System.out.println(line); } }
in cele din urma bloc:
in cele din urma , blocul se execută indiferent de execuția blocului try-catch și se execută imediat după finalizarea blocului try / catch.
Practic închiderea fișierului, conexiunea la baza de date etc. pot fi închise în blocul final.
Exemplu :
try { br = new BufferedReader(new FileReader('Data')); } catch(IOException ie) { ie.printStackTrace(); } Finally { br.close(); }
În exemplul de mai sus, BufferReader fluxul este închis în blocul final. fr.close () va executa întotdeauna indiferent de executarea blocului try and catch.
Notă : în cele din urmă blocul poate exista fără niciun bloc de captură. Nu este necesar să aveți întotdeauna un bloc de captură.
Pot exista multe blocuri de captură, dar numai un singur bloc în cele din urmă poate fi utilizat.
Aruncabil : Throwable este o clasă părinte pentru erori și excepții. În general, este dificil de gestionat erorile în java. Dacă un programator nu este sigur cu privire la tipul de eroare și excepție, atunci este recomandat să utilizați clasa Throwable care poate prinde atât erori cât și excepții.
Exemplu :
try { br = new BufferedReader(new FileReader('Data')); } catch (Throwable t) { t.printStackTrace(); }
Excepții comune în Selenium WebDriver
Seleniul are propriul set de excepții. În timp ce dezvoltă scripturi de seleniu, un programator trebuie să gestioneze sau să arunce aceste excepții.
Mai jos sunt câteva exemple de excepții în seleniu:
Toate clasele de excepție de execuție din Selenium WebDriver intră sub superclasa WebDriverException.
Deși există multe clase de excepții sub WebDriverException, le vedem în mod obișnuit pe cele de mai jos.
- NoSuchElementException
- NoSuchWindowException
- NoSuchFrameException
- NoAlertPresentException
- InvalidSelectorException
- ElementNotVisibleException
- ElementNotSelectableException
- TimeoutException
- NoSuchSessionException
- StaleElementReferenceException
Detalii :
ElementNotVisibleException : Dacă seleniul încearcă să găsească un element, dar elementul nu este vizibil în pagină
NoAlertPresentException : Dacă un utilizator încearcă să gestioneze o casetă de alertă, dar alerta nu este prezentă.
NoSuchAttributeException : În timp ce încercați să obțineți valoarea atributului, dar atributul nu este disponibil în DOM.
NoSuchElementException : Această excepție se datorează accesării unui element care nu este disponibil pe pagină.
WebDriverException : Excepția apare atunci când un cod nu poate inițializa WebDriver.
Evitarea și gestionarea excepțiilor comune
Să discutăm abordarea „Evitați și gestionați” excepțiile menționate mai sus:
# 1) org.openqa.selenium.NoSuchElementException
Această clasă de excepție văzută în mod obișnuit este o subclasă a NotFoundException clasă. Excepția apare atunci când WebDriver nu poate găsi și localiza elemente.
De obicei, acest lucru se întâmplă atunci când testerul scrie un element de localizare incorect în metoda findElement (By, by).
Luați în considerare faptul că în exemplul de mai jos, id-ul corect pentru câmpul de text a fost „firstfield”, dar testerul l-a menționat incorect ca „fistfield”. În acest caz, WebDriver nu poate localiza elementul și org.openqa.selenium.NoSuchElementException va fi aruncat
driver.findElement(By.id('submit')).click(); Exception Handling: try { driver.findElement(By.id('submit')).click(); } catch (NoSuchElementException e)
În acest caz, excepția este aruncată chiar dacă elementul nu este încărcat.
Evitarea și manipularea : Încercați să dați o comandă de așteptare.
Exemplu: Comanda de așteptare de mai jos așteaptă 10 secunde prezența elementului web cu ID-ul „trimiteți”. Apoi încearcă să facă clic pe el. Dacă elementul este disponibil, dar totuși clicul eșuează, este surprinsă o excepție.
Utilizarea timpului întârziat este o practică obișnuită în automatizarea testelor pentru a crea o pauză între pași. Prin adăugarea unui Try / Catch, ne asigurăm că programul continuă chiar dacă așteptarea nu ar putea ajuta.
try { WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(ExpectedConditions.presenceOfElementLocated(By.id('submit'))); try { driver.findElement(By.id('submit')).click(); } catch (WebDriverException e) { System.out.println(“An exceptional case.”); } } catch (TimeOutException e) { System.out.println(“WebDriver couldn’t locate the element”); }
# 2) org.openqa.selenium.NoSuchWindowException
NoSuchWindowException vine sub NotFoundException clasă. Acest lucru este aruncat când WebDriver încearcă să treacă la o fereastră nevalidă.
Codul de mai jos poate arunca org.openqa.selenium.NoSuchWindowException dacă mânerul ferestrei nu există sau nu este disponibil pentru a comuta.
driver.switchTo (). window (handle_1);
Evitarea și manipularea : Am folosi mânere pentru ferestre pentru a obține setul de ferestre active și apoi vom efectua acțiuni pe același.
În exemplul de mai jos, pentru fiecare mâner de fereastră, se execută trecerea driverului la. Prin urmare, s-au redus șansele de trecere a unui parametru greșit al ferestrei.
for (String handle : driver.getWindowHandles()) { try { driver.switchTo().window(handle); } catch (NoSuchWindowException e) { System.out.println(“An exceptional case”); } }
# 3) org.openqa.selenium.NoSuchFrameException
Când WebDriver încearcă să treacă la un cadru nevalid, se aruncă NoSuchFrameException din clasa NotFoundException.
Codul de mai jos poate arunca org.openqa.selenium.NoSuchFrameException dacă un cadru „frame_11” nu există sau nu este disponibil.
driver.switchTo (). frame („frame_11”);
Manevrarea excepțiilor:
try { driver.switchTo().frame('frame_11'); } catch (NoSuchFrameException e)
În acest caz, excepția este aruncată chiar dacă cadrul nu este încărcat.
Evitarea și manipularea : Încercați să dați o comandă de așteptare.
În exemplul de mai jos, WebDriver așteaptă 10 secunde pentru ca cadrul să fie disponibil. Dacă cadrul este disponibil și încă există o excepție, atunci acesta este prins.
try { WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(ExpectedConditions.frameToBeAvaliableAndSwitchToIt(frame_11)); try { driver.switchTo().frame('frame_11'); } catch (WebDriverException e) { System.out.println(“An exceptional case”); } } catch (TimeOutException e) { System.out.println(“WebDriver couldn’t locate the frame”); }
# 4) org.openqa.selenium.NoAlertPresentException
NoAlertPresentException sub NotFoundException este aruncat când WebDriver încearcă să treacă la o alertă, care nu este disponibilă.
org.openqa.selenium.NoAlertPresentException va fi aruncat Dacă sub codul de automatizare apelurile accept () operațiunea pe clasa Alert () atunci când o alertă nu este încă pe ecran.
driver.switchTo (). alert (). accept ();
Manevrarea excepțiilor:
try { driver.switchTo().alert().accept(); } catch (NoSuchAlertException e)
În acest caz, excepția este aruncată chiar dacă alerta nu este încărcată complet.
Evitarea și manipularea : Utilizați întotdeauna o așteptare explicită sau fluentă pentru un anumit moment în toate cazurile în care este așteptată o alertă. Dacă alerta este disponibilă și totuși există o excepție, atunci aceasta este prinsă.
try { WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(ExpectedConditions.alertIsPresent()); try { driver.switchTo().alert().accept(); } catch (NoAlertPresentException e) { System.out.println(“An exceptional case”); } } catch (TimeOutException e) System.out.println(“WebDriver couldn’t locate the Alert”); }
# 5) org.openqa.selenium.InvalidSelectorException
Această subclasă de NoSuchElementException clasa apare atunci când un selector este incorect sau din punct de vedere sintactic. Această excepție apare în mod obișnuit atunci când este utilizat localizatorul XPATH.
Luați în considerare exemplul de mai jos:
faceți clic pe XPathButtonAndWait („// butonul (@ type =’ button ’) (100)”);
Acest lucru ar arunca o InvalidSelectorExeption, deoarece sintaxa XPATH este incorectă.
Evitarea și manipularea : Pentru a evita acest lucru, ar trebui să verificăm localizatorul utilizat, deoarece localizatorul este probabil incorect sau sintaxa este greșită. Utilizarea Firebug pentru a găsi xpath poate reduce această excepție.
Codul de mai jos arată cum să îl gestionați folosind Try / Catch
try { clickXPathButtonAndWait('//button(@type='button')'); } catch (InvalidSelectorException e) { }
# 6) org.openqa.selenium.ElementNotVisibleException
ElementNotVisibleException clasa este o subclasă de ElementNotInteractableException clasă. Această excepție este aruncată atunci când WebDriver încearcă să efectueze o acțiune asupra unui element web invizibil, cu care nu poate fi interacționat. Adică elementul web se află într-o stare ascunsă.
De exemplu, în codul de mai jos, dacă tipul butonului cu ID „trimite” este „ascuns” în HTML, org.openqa.selenium.ElementNotVisibleException va fi aruncat.
driver.findElement(By.id('submit')).click(); Exception Handling: try { driver.findElement(By.id('submit')).click(); } catch (ElementNotVisibleException e)
În acest caz, excepția este aruncată chiar dacă pagina nu s-a încărcat complet.
Evitarea și manipularea : Există două modalități de a face acest lucru. Putem folosi fie așteptați ca elementul să devină complet.
Codul de mai jos așteaptă 10 secunde pentru element. Dacă elementul este vizibil și totuși excepția este aruncată, acesta este prins.
try { WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(ExpectedConditions.visibilityOfElementLocated(By.id(”submit”)); try { driver.findElement(By.id('submit')).click(); } catch (WebDriverException e) { System.out.println(“Exceptional case”); } } catch (TimeOutException e) System.out.println(“WebDriver couldn’t find this element visible”); }
# 7) org.openqa.selenium.ElementNotSelectableException
Această excepție intră sub incidența InvalidElementStateException clasă . ElementNotSelectableException indică faptul că elementul web este prezent în pagina web, dar nu poate fi selectat.
De exemplu, codul de mai jos poate arunca o ElementNotSelectableException dacă ID-ul „rapid” este dezactivat.
Select dropdown = new Select (driver.findElement (By.id („rapid”))));
Manevrarea excepțiilor:
încerca {
Select dropdown = new Select (driver.findElement (By.id („rapid”))));
} catch (ElementNotSelectableException e)
În acest caz, excepția este aruncată chiar dacă elementul devine activat după un timp.
Evitarea și manipularea : Putem adăuga o comandă de așteptare pentru a aștepta până când elementul devine clicabil. Dacă există încă o excepție, aceasta este prinsă.
try { WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(ExpectedConditions. elementToBeClickable(By.id(”swift”)); try { Select dropdown = new Select(driver.findElement(By.id('swift'))); } catch (WebDriverException e) { System.out.println(“Exceptional case”); } } catch (TimeOutException e) System.out.println(“WebDriver found that this element was not selectable.”); }
# 8) org.openqa.selenium .TimeoutException
Această excepție apare atunci când finalizarea unei comenzi durează mai mult decât timpul de așteptare. Așteptările sunt utilizate în principal în WebDriver pentru a evita excepția ElementNotVisibleException.
Uneori, pagina de test s-ar putea să nu se încarce complet înainte de următoarea comandă din program. Dacă WebDriver încearcă să găsească un element în pagina web înainte ca pagina să se încarce complet, atunci se aruncă excepția ElementNotVisibleException. Pentru a evita această excepție, sunt adăugate comenzi de așteptare.
Cu toate acestea, dacă componentele nu se încarcă nici după așteptare, excepția org.openqa.selenium .TimeoutException va fi aruncat.
driver.manage (). timeouts (). implicit Așteptați (10, TimeUnit.SECONDS);
driver.get („https://www.softwaretestinghelp.com”);
În programul de mai sus, se adaugă o așteptare implicită de 10 secunde. Dacă pagina www.softwaretestinghelp.com nu se încarcă în 10 secunde, apoi TimeoutException va fi aruncat.
Evitarea și manipularea : Pentru a evita acest lucru, putem verifica manual timpul mediu de încărcare și ajustarea așteptării unei pagini
Sau putem adăuga o așteptare explicită folosind executorul JavaScript până când pagina este încărcată.
În exemplul de mai jos, este utilizat executorul JavaScript. După navigarea pe pagină, apelăm JavaScript return document.readyState timp de 20 de secunde până când se returnează „complete”.
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30)); wait.until(webDriver -> ((JavascriptExecutor)webDriver).executeScript('return document.readyState').equals('complete')); driver.get('https://www.softwaretestinghelp.com');
# 9) org.openqa.selenium.NoSuchSessionException
Această excepție este aruncată atunci când o metodă este apelată după ce a părăsit browserul de către WebDriver.quit (). Acest lucru se poate întâmpla și din cauza problemelor browserului web, cum ar fi blocările și WebDriver nu poate executa nicio comandă folosind instanța driverului.
Pentru a vedea această excepție, codul de mai jos poate fi executat.
driver.quit ()
Select dropdown = new Select (driver.findElement (By.id („rapid”))));
Evitarea și manipularea : Alegeți întotdeauna cea mai recentă versiune stabilă a browserului pentru a rula testele Selenium Webdriver.
Această excepție poate fi redusă utilizând driver.quit () la finalizarea tuturor testelor. Nu încercați să le utilizați după fiecare caz de testare. Acest lucru poate duce la probleme atunci când instanța driverului este nulă și cazurile de testare viitoare încearcă să o utilizeze fără inițializare.
Codul de mai jos creează instanța WebDriver în adnotarea @BeforeSuite TestiNG și o distruge în adnotarea @AfterSuite TestiNG
@BeforeSuite public void setUp() throws MalformedURLException { WebDriver driver = new FirefoxDriver(); } @AfterSuite public void testDown() { driver.quit(); }
# 10) org.openqa.selenium.StaleElementReferenceException
Această excepție spune că un element web nu mai este prezent în pagina web.
Această eroare nu este aceeași cu ElementNotVisibleException.
StaleElementReferenceException este aruncat atunci când un obiect pentru un anumit element web a fost creat în program fără nicio problemă și totuși; acest element nu mai este prezent în fereastră. Acest lucru se poate întâmpla dacă a existat un
- Navigare către o altă pagină
- DOM s-a reîmprospătat
- Un comutator cadru sau fereastră
WebElement prenume = driver.findElement (By.id („prenume”));
driver.switchTo (). window (Child_Window);
element.sendKeys („Aaron”);
În codul de mai sus, a fost creat obiectul firstName și apoi s-a schimbat fereastra. Apoi, WebDriver încearcă să tastați „Aaron” în câmpul formular. În acest caz, StaleElementReferenceException este aruncat.
Evitarea și manipularea : Confirmați că încercăm să facem acțiunea în fereastra corectă. Pentru a evita problemele datorate reîmprospătării DOM, putem folosi Dynamic Xpath
Să discutăm un alt exemplu.
Spuneți că „ID-ul” unui câmp de nume de utilizator este „username_1” și XPath va fi // * (@ id = ’prenumele_1?) . Când deschideți pagina din nou, „id” s-ar putea schimba și spuneți „ 'Nume _11 ’. În acest caz, testul va eșua, deoarece WebDriver nu a putut găsi elementul. În acest caz, StaleElementReferenceException va fi aruncat.
În acest caz, putem folosi un xpath dinamic ca,
try { driver.findElement(By.xpath(“//*(contains(@id,firstname’))”)).sendKeys(“Aaron”); } catch (StaleElementReferenceException e)
În exemplul de mai sus este utilizat XPATH dinamic și dacă excepția este încă găsită, este capturată.
Concluzie
Tratarea excepțiilor este partea esențială a fiecărui program Java, precum și a scriptului seleniu. Putem crea un cod robust și optim prin gestionarea unei excepții în moduri inteligente . Și este, de asemenea, o bună practică pentru a gestiona excepțiile dintr-un script care vă va oferi un raport mai bun atunci când un program eșuează din orice motiv.
Aici am încercat să acoperim procesul și cadrul de gestionare a excepțiilor care trebuie implementat în scripturile de seleniu.
Amintiți-vă că nu este obligatoriu să gestionați întotdeauna excepția într-un încearcă să prinzi bloc. De asemenea, puteți arunca o excepție în funcție de cerința unui script.
O excepție nu ar trebui ignorată deoarece întrerupe execuția programului. În acest tutorial, am trecut prin diferite excepții și modalități de a reduce șansele de a le obține prin verificări și coduri manuale.
Adăugarea așteptărilor poate controla unele cazuri precum „NoSuchElementException”, „ElementNotFoundException”, „ElementNotVisibleException”.
Următorul tutorial # 20 : În viitorul tutorial, am discuta despre diferite tipuri de cadre de testare disponibile . Am studia, de asemenea, avantajele și dezavantajele utilizării unei abordări de cadru în testarea automatizării. Am discuta în detaliu despre cadrul bazat pe date de testare.
software de copiere DVD gratuit pentru Mac
Vă rugăm să postați întrebările dvs., legate de gestionarea excepțiilor în Selenium WebDriver, dacă aveți.
Lectură recomandată
- Excepții Java și gestionarea excepțiilor cu exemple
- Cum să gestionați alertele / ferestrele pop-up în Selenium WebDriver - Selenium Tutorial # 16
- Tutorial AutoIt - Descărcare, instalare și script de bază AutoIt
- Tutorial Castravete Seleniu: Integrare Castravete Java Seleniu WebDriver
- Integrarea seleniului cu JMeter
- Introducere în Selenium WebDriver - Tutorial Selenium # 8
- 30+ Cele mai bune tutoriale despre seleniu: învățați seleniul cu exemple reale
- Oportunitate de muncă freelancing cu normă parțială pentru experții în seleniu