Jak znaleźć uszkodzone linki za pomocą Selenium WebDriver

Znajdź uszkodzone linki za pomocą Selenium WebDriver

wiele razy napotykamy uszkodzone hiperłącza na stronach internetowych. Dziś dowiadujemy się, jak znaleźć uszkodzone linki za pomocą Selenium. Zanim przejdziemy do tych tematów, poznajmy podstawowe pytania.

czym są uszkodzone linki?

zepsuty link (aka martwy link lub link gnije) to link na stronie internetowej, która nie działa (tj., nie przekierowuje na stronę, do której ma być przekierowany) z jednego lub więcej z następujących powodów.

  • strona docelowa nie jest już dostępna (w trybie offline lub na stałe przeniesiona).
  • strona docelowa została przeniesiona bez dodawania przekierowania.
  • struktura URL(permalinks) strony internetowej została zmieniona.
  • nieprawidłowy adres URL (błędnie napisany, źle wpisany itp.) jest wymieniony na stronie źródłowej.
  • z powodu zapory lub ograniczenia geolokalizacji.

adres URL, który ma kod statusu HTTP 2XX jest prawidłowy, a adresy URL mają kody statusu HTTP 4XX i 5xx są nieprawidłowe. Jeśli napotkasz kod statusu 4xx, że jest to spowodowane błędem po stronie klienta, a kod statusu to 5xx, co oznacza, że jest to spowodowane błędem odpowiedzi serwera.

po co sprawdzać Niedziałające linki?

serwery sieci Web zwracają komunikat o błędzie, gdy użytkownik próbuje uzyskać dostęp do uszkodzonego łącza. Użytkownicy zostaną przekierowani na stronę błędu po kliknięciu uszkodzonego łącza. Prowadzi to do złego doświadczenia użytkownika. Musimy obsługiwać je w sposób ciągły i usuwać wszelkie istniejące niedziałające linki na naszej stronie internetowej. Możemy to zrobić ręcznie. Większość stron internetowych ma setki lub tysiące linków i testowanie ich wszystkich ręcznie nie jest możliwe. Wymaga to ogromnego czasu, zasobów i wysiłku. Zamiast sprawdzać ręcznie, możemy wykorzystać Selenium WebDriver do testowania uszkodzonych linków.

nie przegap: testowanie ręczne a Testowanie automatyzacji-różnice Każdy powinien wiedzieć

jak zweryfikować uszkodzone linki i obrazy

wykonaj poniższe kroki, aby zweryfikować uszkodzone linki.

  1. wszystkie linki są oznaczone linkiem<a > lub obrazkiem < img > na stronie internetowej. Zbieraj linki na podstawie tagów <a>, <img>
  2. Wyślij zapytanie HTTP i odczytaj kod odpowiedzi HTTP każdego linku.

w ten sposób możesz sprawdzić, czy link jest poprawny, czy nieprawidłowy na podstawie kodów odpowiedzi.

Znajdź uszkodzone linki za pomocą Selenium WebDriver

jednym z kluczowych przypadków testowych jest znalezienie uszkodzonych linków na stronie internetowej. Ze względu na istnienie uszkodzonych linków reputacja Twojej witryny zostanie uszkodzona i będzie to miało negatywny wpływ na Twoją firmę. Obowiązkowe jest znalezienie i naprawienie wszystkich uszkodzonych linków przed wydaniem. Jeśli link nie działa, mamy do czynienia z Komunikatem, że nie znaleziono strony 404.

zobaczmy niektóre z kodów statusu HTTP.

200-poprawny Link
404-Link nie został znaleziony
400 – złe żądanie
401 – nieautoryzowane
500-Błąd wewnętrzny
rozważ przypadek testowy, aby przetestować wszystkie linki na stronie głównej „SoftwareTestingMaterial.com”

poniżej kod pobiera wszystkie linki danej strony (np.com) za pomocą poleceń WebDriver i odczytuje status każdego łącza href za pomocą klasy HttpURLConnection.

Kliknij tutaj, aby uzyskać więcej informacji na temat HttpURLConnection

podane jasne wyjaśnienie w sekcji komentarzy w samym programie. Proszę przejść przez to, aby zrozumieć przepływ.

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

Importuj 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 Environment\ \ Drivers \ \ geckodriver.exe”);
WebDriver driver = new FirefoxDriver();
//zmaksymalizuj sterownik przeglądarki
.manage().window().Maksymalizuj();
//oczekiwanie przez 10 sekund
sterownika.manage().timeouts ().implicitlyWait (10, TimeUnit.Sekundy);
//aby uruchomić softwaretestingmaterial.com
kierowca.Pobierz(„https://www.softwaretestingmaterial.com”);
//poczekaj 5 sekund
wątku.spać (5000);
//użyto metody tagName do zebrania listy elementów z tagName „a”
//findElements – aby znaleźć wszystkie elementy z bieżącej strony. Zwraca listę wszystkich webelementów lub pustą listę, jeśli nic nie pasuje do
List<WebElement> links = driver.findElements (By.tagName („a”));
//aby wydrukować całkowitą liczbę linków
System.Wynocha.println („Total links are” +linki.rozmiar());
//używane dla pętli do
for(int i=0; i<linki.size (); i++) {
webelement element = linki . get (i);
//używając atrybutu „href” możemy uzyskać adres URL wymaganego linku
String url=element.getAttribute („href”);
//wywołanie tutaj metody verifyLink (). Przekazanie parametru jako url, który zebraliśmy w powyższym linku
/ / Zobacz szczegółową funkcjonalność metody verifyLink(url) poniżej
verifyLink (url);
}
}
// poniższa funkcja verifyLink (String urlLink) weryfikuje wszelkie niedziałające linki i zwraca status serwera.
public static void verifyLink (String urlLink) {
//czasami możemy napotkać wyjątek „java. net. MalformedURLException”. Zachowaj kod w bloku try catch, aby kontynuować analizę uszkodzonego łącza
try {
/ / Use URL Class-Utwórz obiekt klasy URL i przekaż urlLink jako parametr
URL link = new URL(urlLink);
// Utwórz połączenie za pomocą obiektu URL (np. łącza)
HttpURLConnection httpConn =(HttpURLConnection)link.openConnection();
//ustawia limit czasu na 2 sekundy
httpConn.setConnectTimeout(2000);
//Połącz za pomocą metody connect
httpConn.połącz();
//użyj getResponseCode (), aby uzyskać kod odpowiedzi.
if(httpConn.getResponseCode()== 200) {
System.Wynocha.println (urlLink+ ” – ” +httpConn.getResponseMessage());
}
if (httpConn.getResponseCode()== 404) {
System.Wynocha.println (urlLink+ ” – ” +httpConn.getResponseMessage());
}
}
//getResponseCode metoda returns = IOException – Jeżeli wystąpił błąd podczas łączenia się z serwerem.
catch (wyjątek e) {
//e. printStackTrace();
}
}
}

Jeśli ten post na temat „znajdowanie uszkodzonych linków za pomocą Selenium WebDriver” był w stanie pomóc,nie przejmuj się udostępnianiem go innym.

jeśli nie jesteś zwykłym czytelnikiem SoftwareTestingMaterial.com następnie gorąco polecam, aby zapisać się do bezpłatnego newslettera e-mail za pomocą poniższego linku.

Write a Comment

Twój adres e-mail nie zostanie opublikowany.