monta kertaa kohtaamme rikki hyperlinkkejä verkkosivuilla. Tänään opimme löytämään rikkinäisiä linkkejä seleenin avulla. Ennen kuin siirrymme näihin aiheisiin, opetellaan peruskysymyksiä.
Mitä ovat Rikkinäiset linkit?
rikkinäinen linkki (alias kuollut linkki tai link rots) on linkki verkkosivulla, joka ei toimi (ts., se ei ohjaa sivulle, jolle se on tarkoitettu) johtuen yhdestä tai useammasta seuraavista syistä.
- kohdesivusto ei ole enää käytettävissä (offline-tilassa tai pysyvästi siirretty).
- kohdesivua on siirretty ilman uudelleenohjausta.
- verkkosivun URL-rakenne (permalinks) muuttuu.
- virheellinen URL (kirjoitettu väärin, kirjoitettu väärin jne.) mainitaan lähdesivulla.
- palomuurin tai paikannusrajoituksen vuoksi.
URL, jossa on 2XX HTTP-tilakoodi, on kelvollinen ja URL-osoitteissa on 4xx ja 5XX HTTP-tilakoodit ovat virheellisiä. Jos kohtaat 4xx-tilakoodin, että se johtuu asiakaspuolen virheestä ja tilakoodi on 5xx, mikä tarkoittaa, että se johtuu palvelimen vastausvirheestä.
miksi etsiä rikkinäisiä linkkejä?
verkkopalvelimet palauttavat virheilmoituksen, kun käyttäjä yrittää käyttää rikkinäistä linkkiä. Käyttäjät ohjataan virhesivulle, kun he klikkaavat rikkinäistä linkkiä. Tämä johtaa huonoon käyttökokemukseen. Meidän on käsiteltävä niitä jatkuvasti ja poistettava olemassa olevat Rikkinäiset linkit sivuillamme. Voimme tehdä tämän prosessin manuaalisesti. Useimmilla sivustoilla on satoja tai tuhansia linkkejä, eikä niiden kaikkien testaaminen manuaalisesti ole mahdollista. Se vaatii valtavasti aikaa, voimavaroja ja vaivannäköä. Sen sijaan, että tarkastamme manuaalisesti, voimme hyödyntää Selenium WebDriver testata rikki linkkejä.
Don ’ t miss: Manual Testing vs Automation Testing-Differences jokaisen tulisi tietää
Miten tarkistaa Rikkinäiset linkit ja kuvat
seuraa alla olevia ohjeita Rikkinäisten linkkien todentamiseksi.
- kaikki linkit on merkitty joko linkillä <a> tai kuvalla <img> verkkosivulle. Kerää linkit, jotka perustuvat tageihin <a>, <img>
- lähetä HTTP-pyyntö ja lue jokaisen linkin HTTP-vastauskoodi.
näin voit selvittää, onko linkki kelvollinen vai virheellinen vastauskoodien perusteella.
Etsi Rikkinäiset linkit Selenium WebDriver
yksi tärkeimmistä testitapauksista on löytää Rikkinäiset linkit verkkosivulta. Rikkinäisten linkkien olemassaolon vuoksi verkkosivustosi Maine vahingoittuu ja sillä on kielteinen vaikutus liiketoimintaasi. On pakollista löytää ja korjata kaikki rikkinäiset linkit ennen julkaisua. Jos linkki ei toimi, kohtaamme viestin 404 Page not Found.
Katsotaanpa joitakin HTTP-tilakoodeja.
alla oleva koodi hakee kaikki tietyn verkkosivuston linkit (eli Softwaretestingmateriaali.com) WebDriver-komentojen avulla ja lukee jokaisen href-linkin tilan HttpURLConnection-luokan avulla.
Klikkaa tästä saadaksesi lisätietoja Httpurlconnectionista
annetaan selkeä selitys kommentit osassa ohjelman sisällä itse. Käy se läpi ymmärtääksesi virtauksen.
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
|
paketti softwaretestingmateriaali;
tuo 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:\\Selenium ympäristö\\Drivers\ \ gekodriver.exe”);
WebDriver driver = new FirefoxDriver();
//maksimoi selain
ajuri.hallita().ikkuna().Suurenna();
//implisiittinen odotus 10 Sekuntia
kuljettaja.hallita().aikakatkaisu().implisiittisesti wait (10, TimeUnit.Sekuntia);
//laukaisuun softwaretestingmaterial.com
kuljettaja.Hae(”https://www.softwaretestingmaterial.com”);
//odota 5 sekuntia
säiettä.Uni(5000);
//käytti tagName – menetelmää kerätäkseen listan kohteista, joilla on tagName ”a”
//findElements-etsiäkseen kaikki elementit, joilla on nykyinen sivu. Se palauttaa listan kaikista webelementeistä tai tyhjän listan, jos mikään ei vastaa
luetteloa<Webelementti> links = driver.findElements(tekijä.tagName (”a”));
//tulostaa linkkien kokonaismäärä
järjestelmä.ulos.println (”yhteensä linkit ovat” + linkit.koko());
//käytetään silmukkaan
(int I=0; i<linkkejä varten.size (); I++) {
WebElement element = links.get (i);
/ / käyttämällä” href ” – attribuuttia saatiin requried-linkin url
String url=element.getAttribute(”href”);
//soita verifyLink () – metodiin täällä. Ohimennen parametri url, jonka keräsimme yllä olevasta linkistä
/ / Katso tarkempi toiminnallisuus verifyLink (url) menetelmä alla
verifyLink (url);
}
}
// alla oleva toiminto verifyLink (String urlLink) tarkastaa kaikki rikkinäiset linkit ja palauttaa palvelimen tilan.
public staattinen void verifyLink(String urlLink) {
//joskus saatamme kohdata poikkeuksen ”java. net. MalformedURLException”. Pidä koodi try catch – lohkossa jatkaaksesi rikkinäistä linkkianalyysiä
try {
//Use URL Class-Create object of the URL Class and pass the urlLink as parameter
URL link = new URL(urlLink);
// Luo yhteys käyttämällä URL-objektia(eli linkkiä)
HttpURLConnection httpConn =(HttpURLConnection) – linkkiä.avoimuus();
//Aseta aikalisä 2 sekunniksi
httpConn.setConnectTimeout(2000);
//Yhdistä käyttäen connect-menetelmää
httpConn.yhdistä();
//käytä getresponsecode() saadaksesi vastauskoodin.
if (httpConn.getResponseCode()== 200) {
järjestelmä.ulos.println (urlLink+” – ”+httpConn.getvastausviesti());
}
if (httpConn.getResponseCode()== 404) {
järjestelmä.ulos.println (urlLink+” – ”+httpConn.getvastausviesti());
}
}
//getResponseCode method returns = IOException – jos tapahtui virhe yhdistettäessä palvelimeen.
saalis (poikkeus e) {
//e. printStackTrace();
}
}
}
|
jos tämä viesti ”löytää rikki linkkejä Selenium WebDriver” pystyi auttamaan, niin älä välitä jakaa sen muiden kanssa.
jos et ole säännöllinen lukija SoftwareTestingMaterial.com sitten suosittelen sinua kirjautumaan ilmainen sähköpostiuutislehti alla olevan linkin avulla.