Hoe te vinden gebroken Links met behulp van Selenium WebDriver

zoek gebroken Links met Selenium WebDriver

vaak worden we geconfronteerd met gebroken hyperlinks op websites. Vandaag leren we hoe we gebroken links met behulp van Selenium te vinden. Voordat we naar deze onderwerpen gaan, leren we de fundamentele vragen.

Wat zijn gebroken Links?

een verbroken link (aka dode link of link rot) is een link op een website die niet werkt (dwz., het niet omleiden naar de pagina is bedoeld) als gevolg van een of meer van de volgende redenen.

  • de doelpagina is niet langer beschikbaar (offline of permanent verplaatst).
  • de doelpagina is verplaatst zonder dat een omleiding is toegevoegd.
  • de URL-structuur (permalinks) van een webpagina wordt gewijzigd.
  • een ongeldige URL (verkeerd gespeld, verkeerd getypt, enz.) wordt vermeld in de bron webpagina.
  • vanwege firewall-of geolocatiebeperking.

een URL met een 2XX HTTP-statuscode is geldig en URL ‘ s hebben 4XX en 5xx HTTP-statuscodes zijn ongeldig. Als u geconfronteerd met de 4xx status code dat het te wijten is aan een client-side fout en de status code is 5xx wat betekent dat het te wijten is aan een server reactie fout.

waarom controleren op verbroken Links?

Webservers geven een foutmelding wanneer een gebruiker toegang probeert te krijgen tot een verbroken link. Gebruikers worden doorverwezen naar een foutpagina wanneer ze op een verbroken link klikken. Dit leidt tot een slechte gebruikerservaring. We moeten ze continu verwerken en bestaande verbroken links op onze website verwijderen. We kunnen dit proces handmatig doen. De meeste van de websites hebben honderden of duizenden links en het testen van hen allemaal handmatig is niet mogelijk. Het vereist enorme tijd, middelen en inspanning. In plaats van handmatig te inspecteren, kunnen we Selenium WebDriver gebruiken om gebroken links te testen.

mis het niet: handmatig testen Versus automatiseringstests-verschillen iedereen zou moeten weten

hoe de gebroken Links en afbeeldingen te verifiëren

Volg de onderstaande stappen om gebroken links te controleren.

  1. alle koppelingen zijn gelabeld met verwijzing <a> of afbeelding <img> op een webpagina. Verzamel de koppelingen op basis van tags <a>, <img>
  2. stuur HTTP-verzoek en lees HTTP-antwoordcode van elke link.

op deze manier kunt u achterhalen of de link geldig of ongeldig is op basis van antwoordcodes.

zoek gebroken Links met behulp van Selenium WebDriver

een van de belangrijkste testcases is het vinden van gebroken links op een webpagina. Als gevolg van het bestaan van gebroken links, uw website reputatie beschadigd raakt en zal er een negatieve impact op uw bedrijf. Het is verplicht om alle gebroken links te vinden en op te lossen voor de release. Als een link niet werkt, worden we geconfronteerd met een bericht als 404 Pagina niet gevonden.

laten we eens kijken wat van de HTTP status codes.

200 – Geldig Link
404 – Link niet gevonden
400 Bad request
401 –
500 – Interne Fout
Overweeg een test om te testen of alle links op de home pagina van de “SoftwareTestingMaterial.com”

Onderstaande code haalt alle links van een website (bijvoorbeeld, SoftwareTestingMaterial.com) met behulp van WebDriver commando ‘ s en leest de status van elke href link met behulp van httpurlconnection klasse.

Klik hier voor meer informatie over HttpURLConnection

gegeven duidelijke uitleg in de commentaren sectie binnen het programma zelf. Ga er alsjeblieft doorheen om de stroom te begrijpen.

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

pakket softwareTestingMaterial;
importeren java.netto.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:\\ Selenium omgeving \ \ Drivers \ \ geckodriver.exe”);
WebDriver driver = nieuwe FirefoxDriver();
//maximaliseer het stuurprogramma browser
.beheren().window().maximaliseren();
//impliciet wachten gedurende 10 Seconden
driver.beheren().timeout().implicitlyWait (10, TimeUnit.Seconden);
//om te starten softwaretestingmaterial.com
driver.ophalen(“https://www.softwaretestingmaterial.com”);
//wacht 5 seconden
Thread.slapen (5000);
/ / gebruikte tagName methode om de lijst met items te verzamelen met tagName “a”
//findElements – om alle elementen met in de huidige pagina te vinden. Het retourneert een lijst van alle webelements of een lege lijst als niets overeenkomt met
List<webelement> links = driver.findElements (door.tagnaam (“a”));
//om het totale aantal koppelingen
af te drukken.uit.println (“totaal links zijn” +links.grootte());
//gebruikt voor lus tot
voor (int i=0; i<koppelingen.size(); I++) {
WebElement element = links.get (i);
/ / door het “href” attribuut te gebruiken, kunnen we de url van de requried link
String url=element verkrijgen.getAttribute (“href”);
//calling verifyLink () methode hier. Het doorgeven van de parameter als url die we hebben verzameld in de bovenstaande link
/ / zie de gedetailleerde functionaliteit van de verifyLink(url) methode hieronder
verifyLink(url));
}
}
// de onderstaande functie verifyLink (String urlLink) controleert eventuele gebroken links en retourneert de serverstatus.
public static void verifyLink(String urlLink) {
//Soms kunnen we het gezicht uitzondering “java.netto.MalformedURLException”. Houd de code in een try catch block te blijven van de gebroken link analyse
try {
//het Gebruik van URL-Class – object Maken van de URL-Klasse en doorgeven van de urlLink als parameter
URL = new URL(urlLink);
// het Maken van een verbinding met de URL object (d.w.z. link)
HttpURLConnection httpConn =(HttpURLConnection)link.openConnection();
//stel de TIME-OUT in voor 2 seconden
httpConn.setConnectTimeout(2000);
//verbinden met connect methode
httpConn.verbinden();
//gebruik getResponseCode () om de responscode te krijgen.
if (httpConn.getResponseCode()== 200) {
systeem.uit.println (urlLink+ ” – ” +httpConn.getResponseMessage());
}
if (httpConn.getResponseCode()== 404) {
systeem.uit.println (urlLink+ ” – ” +httpConn.getResponseMessage());
}
}
//getResponseCode method returns = IOException-als er een fout is opgetreden bij het verbinden met de server.
vangst (uitzondering e) {
//e. printStackTrace();
}
}
}

als dit bericht op “het vinden van gebroken Links met behulp van Selenium WebDriver” was in staat om te helpen, dan vind het niet erg delen met anderen.

Als u niet regelmatig SoftwareTestingMaterial.com dan raad ik u ten zeerste aan om u aan te melden voor de gratis e-mail nieuwsbrief met behulp van de onderstaande link.

Write a Comment

Het e-mailadres wordt niet gepubliceerd.