sokszor hibás hiperhivatkozásokkal szembesülünk a weboldalakon. Ma megtanuljuk, hogyan lehet megtalálni a törött linkeket a szelén használatával. Mielőtt áttérnénk ezekre a témákra, tanuljuk meg az alapvető kérdéseket.
mik azok a törött linkek?
a törött link (más néven halott link vagy link rothad) egy link egy weboldalon, amely nem működik (azaz., az alábbi okok közül egy vagy több miatt nem irányít át arra az oldalra, amelyre szánták).
- a céloldal már nem érhető el (offline vagy Véglegesen áthelyezve).
- a céloldal átirányítás hozzáadása nélkül lett áthelyezve.
- a weblap URL-struktúrája(permalinks) megváltozik.
- érvénytelen URL(elgépelt, elgépelt stb.) szerepel a forrás weboldalon.
- tűzfal vagy helymeghatározási korlátozás miatt.
a 2xx http-állapotkóddal rendelkező URL érvényes, a 4xx és 5xx HTTP-állapotkóddal rendelkező URL-ek pedig érvénytelenek. Ha a 4xx állapotkóddal szembesül, akkor az ügyféloldali hiba miatt van, az állapotkód pedig 5xx, ami azt jelenti, hogy szerver válaszhiba miatt.
miért ellenőrizze a hibás linkeket?
a webszerverek hibaüzenetet adnak vissza, amikor egy felhasználó megpróbál hozzáférni egy megszakadt hivatkozáshoz. A felhasználókat egy hibás oldalra irányítják, amikor egy törött linkre kattintanak. Ez rossz felhasználói élményhez vezet. Folyamatosan kezelnünk kell őket, és el kell távolítanunk a meglévő törött linkeket a weboldalunkon. Ezt a folyamatot manuálisan is elvégezhetjük. A legtöbb webhely több száz vagy ezer linket tartalmaz, és mindegyik kézi tesztelése nem lehetséges. Rengeteg időt, erőforrást és erőfeszítést igényel. Ahelyett, hogy manuálisan ellenőriznénk, kihasználhatjuk a Selenium WebDriver-t a törött linkek tesztelésére.
ne hagyja ki: kézi tesztelés vs automatizálási tesztelés-különbségek mindenkinek tudnia kell
hogyan lehet ellenőrizni a megszakadt linkeket és képeket
kövesse az alábbi lépéseket a megszakadt linkek ellenőrzéséhez.
- az összes hivatkozás a következő címkével van ellátva: link < a>vagy image < img> egy weboldalon. Gyűjtse össze a linkeket címkék alapján < a>, <img>
- HTTP kérés küldése és minden link HTTP válaszkódjának olvasása.
így a válaszkódok alapján megtudhatja, hogy a link érvényes-e vagy érvénytelen.
keresse meg a törött linkeket a Selenium WebDriver segítségével
az egyik legfontosabb tesztesetnél a törött linkeket kell megtalálni egy weboldalon. A törött linkek miatt a webhely hírneve megsérül, és negatív hatással lesz a vállalkozására. A kiadás előtt kötelező megtalálni és kijavítani az összes törött linket. Ha egy link nem működik, akkor a 404 oldal nem található üzenettel szembesülünk.
nézzük meg néhány HTTP állapotkódot.
az alábbi kód letölti az adott webhely összes linkjét (azaz SoftwareTestingMaterial.com) a WebDriver parancsok használatával beolvassa az egyes href linkek állapotát a HttpURLConnection osztály segítségével.
kattintson ide további információkért HttpURLConnection
adott egyértelmű magyarázatot a megjegyzések részben a programon belül. Kérjük, menjen át rajta, hogy megértse az áramlást.
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
|
csomag 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:\\ Szelén környezet \ \ illesztőprogramok \ \ geckodriver.exe”);
WebDriver illesztőprogram = új FirefoxDriver();
//maximalizálja a böngésző
illesztőprogramot.kezelése ().ablak ().Maximalizálás();
//Implicit várakozás 10 másodpercig
vezető.kezelése ().időtúllépés ().implicitlyWait (10, TimeUnit.Másodperc);
//az indításhoz softwaretestingmaterial.com
vezető.kap(“https://www.softwaretestingmaterial.com”);
//várjon 5 másodpercet
szál.alvás (5000);
//használt tagName módszer, hogy összegyűjti a tételek listáját tagName “a”
//findElements – megtalálni az összes elemet az aktuális oldalon. Visszaadja az összes webelement listáját vagy egy üres listát, ha semmi sem egyezik
List<WebElement> links = illesztőprogrammal.findElements(által.tagName (“a”));
//a linkek teljes számának nyomtatása
rendszer.kifelé.println (“összes link van” + linkek.méret());
//használt hurok
a (int i=0; i< linkek.size (); i++) {
WebElement element = linkek.kap (i);
//a “href” attribútum használatával megkaphatjuk a kért link url-jét
String url=elem.getAttribute (“href”);
//hívás verifyLink () módszer itt. A paraméter url-ként történő átadása, amelyet a fenti linkben gyűjtöttünk
/ / lásd a verifyLink(url) módszer részletes működését az alábbiakban
verifyLink (url);
}
}
// az alábbi verifylink(String urlLink) függvény ellenőrzi a megszakadt linkeket, és visszaadja a szerver állapotát.
nyilvános statikus Void verifyLink (String urlLink) {
//néha szembe kivétel “java. net. MalformedURLException”. tartsa a kódot próbálja catch blokk, hogy továbbra is a törött link elemzés
próbálja {
/ / használja URL Class – objektum létrehozása az URL osztály, és adja át a urlLink paraméterként
URL link = new URL (urlLink);
// hozzon létre egy kapcsolatot URL objektum (azaz link)
HttpURLConnection httpConn =(HttpURLConnection)link használatával.openConnection();
//állítsa be az időtúllépést 2 másodpercre
httpConn.setConnectTimeout(2000);
//csatlakozás csatlakozási módszerrel
httpConn.csatlakozás();
//használja getResponseCode (), hogy a válasz kódot.
if (httpConn.getResponseCode()== 200) {
rendszer.kifelé.println(urlLink+ ” – ” + httpConn.getResponseMessage());
}
if (httpConn.getResponseCode()== 404) {
rendszer.kifelé.println(urlLink+ ” – ” + httpConn.getResponseMessage());
}
}
//a getresponsecode metódus visszatér = IOException-ha hiba történt a kiszolgálóhoz való csatlakozáskor.
fogás (kivétel e) {
//e. printStackTrace();
}
}
}
|
ha ez a “törött linkek keresése a Selenium WebDriver segítségével” című bejegyzés segíthet, akkor ne bánja, ha megosztja másokkal.
ha nem rendszeres olvasója SoftwareTestingMaterial.com akkor nagyon ajánlom, hogy iratkozzon fel az ingyenes e-mail hírlevélre az alábbi link segítségével.