Cum de a găsi link-uri rupte folosind Selenium WebDriver

găsiți link-uri rupte folosind Selenium WebDriver

de multe ori ne confruntăm cu hyperlink-uri rupte pe site-uri web. Astăzi învățăm cum să găsim legături rupte folosind seleniu. Înainte de a trece la aceste subiecte, să învățăm întrebările fundamentale.

ce sunt legăturile rupte?

un link rupt (aka link mort sau link putrezeste) este un link pe un site web care nu funcționează (adică., nu redirecționează către pagina la care este menit) din unul sau mai multe dintre următoarele motive.

  • pagina web destinație nu mai este disponibilă (offline sau mutată permanent).
  • pagina de destinație a fost mutată fără a fi adăugată o redirecționare.
  • structura URL(permalinks) a unei pagini web este modificată.
  • un URL nevalid(scris greșit, scris greșit etc.) este menționat în pagina web sursă.
  • datorită firewall-ului sau restricției de geolocalizare.

o adresă URL care are un cod de stare HTTP 2XX este validă, iar adresele URL au coduri de stare HTTP 4XX și 5xx sunt nevalide. Dacă vă confruntați cu codul de stare 4xx, acesta se datorează unei erori din partea clientului, iar codul de stare este 5xx, ceea ce înseamnă că se datorează unei erori de răspuns a serverului.

de ce să verificați legăturile rupte?

serverele web returnează un mesaj de eroare atunci când un utilizator încearcă să acceseze o legătură întreruptă. Utilizatorii vor fi direcționați către o pagină de eroare atunci când fac clic pe un link rupt. Acest lucru duce la o experiență proastă a utilizatorului. Trebuie să le gestionăm continuu și să eliminăm orice link-uri rupte existente pe site-ul nostru. Putem face acest proces manual. Majoritatea site-urilor web au sute sau mii de link-uri și testarea manuală a tuturor acestora nu este posibilă. Este nevoie de timp, resurse și efort imens. În loc să inspectăm manual, putem folosi Selenium WebDriver pentru a testa legăturile rupte.

nu ratați: testarea manuală vs testarea automatizării-diferențe toată lumea ar trebui să știe

cum să verificați legăturile și imaginile rupte

urmați pașii de mai jos pentru a verifica legăturile rupte.

  1. toate linkurile sunt etichetate fie cu link < a>, fie cu imagine < img> pe o pagină web. Colectați linkurile pe baza etichetelor < a>, <img>
  2. trimiteți solicitarea HTTP și citiți codul de răspuns HTTP al fiecărui link.

în acest fel puteți afla dacă linkul este valid sau nevalid pe baza codurilor de răspuns.

găsiți link-uri rupte folosind Selenium WebDriver

unul dintre cazurile cheie de testare este de a găsi link-uri rupte pe o pagină web. Datorită existenței unor legături rupte, reputația site-ului dvs. web se deteriorează și va exista un impact negativ asupra afacerii dvs. Este obligatoriu să găsiți și să remediați toate legăturile rupte înainte de lansare. Dacă un link nu funcționează, ne confruntăm cu un mesaj ca pagina 404 nu a fost găsită.

să vedem câteva dintre codurile de stare HTTP.

200-link Valid
404-Link nu a fost găsit
400-cerere greșită
401-neautorizat
500-Eroare internă
luați în considerare un caz de testare pentru a testa toate linkurile de pe pagina de pornire a „SoftwareTestingMaterial.com”

codul de mai jos preia toate linkurile unui anumit site web (adică SoftwareTestingMaterial.com) folosind comenzi WebDriver și citește starea fiecărui link href cu ajutorul clasei HttpURLConnection.

Click aici pentru mai multe informații despre HttpURLConnection

având în vedere explicație clară în secțiunea de comentarii în cadrul programului în sine. Vă rugăm să treceți prin ea pentru a înțelege fluxul.

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66

pachetul softwareTestingMaterial;
import java. net. HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class BrokenLinks {
public static void main(String args) throws InterruptedException {
//Instantiating FirefoxDriver
System.setProperty(„webdriver.gecko.driver”, „D:\\ Seleniu Mediu\ \ drivere\ \ geckodriver.exe”);
driver WebDriver = nou FirefoxDriver();
//maximizați driverul browserului
.gestiona ().fereastră().maximizare();
//așteptați Implicit timp de 10 secunde
driver.gestiona ().timeout ().implicit așteptați(10, unitate temporală.Secunde);
//pentru a lansa softwaretestingmaterial.com
conducător auto.obține(„https://www.softwaretestingmaterial.com”);
//așteptați 5 secunde
fir.somn(5000);
//folosit metoda tagName pentru a colecta lista de elemente cu tagName „a”
//findElements – pentru a găsi toate elementele cu în pagina curentă. Returnează o listă a tuturor webelements sau o listă goală dacă nimic nu se potrivește cu
listă < WebElement > link-uri = driver.findElements(de.tagName („a”));
//pentru a imprima numărul total de link-uri
sistem.afară.println („link-uri totale sunt” +link-uri.Dimensiune());
//folosit pentru buclă la
pentru(int i=0; I < link-uri.Dimensiune (); i++) {
element WebElement = legături.obține(i);
//prin utilizarea atributului „href”, am putea obține adresa url a legăturii requried
string url=element.getAttribute („href”);
//apelarea metodei verifyLink () aici. Trecerea parametrului ca url pe care l-am colectat în linkul de mai sus
/ / consultați funcționalitatea detaliată a metodei verifyLink(url) de mai jos
verifyLink (url);
}
}
// funcția de mai jos verifyLink(string urlLink) verifică orice legături rupte și returnează starea serverului.
public static void verifyLink(string urlLink) {
//uneori ne putem confrunta cu excepția „java.net.MalformedURLException”. Păstrați codul în blocul try catch pentru a continua analiza link-ului rupt
try {
/ / utilizați clasa URL-creați obiectul clasei URL și treceți urlLink ca parametru
URL link = URL nou (urlLink);
// creați o conexiune utilizând obiectul URL (adică link)
HttpURLConnection httpConn =(HttpURLConnection) link.openConnection();
//setați timeout – ul timp de 2 secunde
httpConn.setConnectTimeout(2000);
//conectați folosind metoda de conectare
httpConn.conectează-te();
//utilizați getResponseCode () pentru a obține codul de răspuns.
dacă(httpConn.getResponseCode()== 200) {
sistem.afară.println (urlLink+ ” – ” +httpConn.getResponseMessage());
}
dacă (httpConn.getResponseCode()== 404) {
sistem.afară.println (urlLink+ ” – ” +httpConn.getResponseMessage());
}
}
//metoda getresponsecode returnează = IOException – dacă a apărut o eroare la conectarea la server.
captură (excepția e) {
//e. printStackTrace();
}
}
}

dacă această postare despre” găsirea legăturilor rupte folosind Selenium WebDriver ” a fost capabilă să ajute, atunci nu vă deranjează să o împărtășiți cu alții.

dacă nu sunteți un cititor obișnuit de SoftwareTestingMaterial.com apoi am foarte recomandăm să vă înscrieți pentru newsletter-ul gratuit de e-mail folosind link-ul de mai jos.

Write a Comment

Adresa ta de email nu va fi publicată.