Como encontrar links quebrados usando o Selenium WebDriver

Encontre links quebrados usando o Selenium WebDriver

muitas vezes enfrentamos hiperlinks quebrados em sites. Hoje aprendemos como encontrar links quebrados usando selênio. Antes de passar para esses tópicos, vamos aprender as questões fundamentais.

o que são links quebrados?

um link quebrado (também conhecido como dead link ou link rots) é um link em um site que não funciona (ie., não redireciona para a página a que se destina) devido a um ou mais dos seguintes motivos.

  • a página de destino não está mais disponível (offline ou permanentemente movida).
  • a página de destino foi movida sem que um redirecionamento seja adicionado.
  • a estrutura de URL(permalinks) de uma página da web é alterada.
  • um URL inválido(escrito incorretamente, digitado incorretamente, etc.) é mencionado na página da fonte.
  • devido à restrição de firewall ou geolocalização.

um URL que tem um código de status HTTP 2XX é válido e URLs têm códigos de status HTTP 4xx e 5xx são inválidos. Se você enfrentar o código de status 4xx que é devido a um erro do lado do cliente e o código de status é 5xx, o que significa que é devido a um erro de resposta do servidor.

por que verificar se há links quebrados?

Webservers retornam uma mensagem de erro quando um usuário tenta acessar um link quebrado. Os usuários serão direcionados para uma página de erro quando clicarem em um link quebrado. Isso leva a uma experiência de usuário ruim. Temos que lidar com eles continuamente e remover quaisquer links quebrados existentes em nosso site. Podemos fazer esse processo manualmente. A maioria dos sites tem centenas ou milhares de links e testar todos eles manualmente não é possível. Requer muito tempo, recursos e esforço. Em vez de inspecionar manualmente, podemos aproveitar o Selenium WebDriver para testar links quebrados.

não perca: teste Manual vs teste de automação-diferenças que todos devem saber

como verificar os Links e imagens quebrados

siga as etapas abaixo para verificar os links quebrados.

  1. todos os links são marcados com qualquer link < a> ou imagem< img > em uma página da web. Colete os links com base nas tags< a >, < img >
  2. envie uma solicitação HTTP e leia o código de resposta HTTP de cada link.

desta forma, você pode descobrir se o link é válido ou inválido com base em códigos de resposta.

Encontre links quebrados usando Selenium WebDriver

um dos principais casos de teste é encontrar links quebrados em uma página da web. Devido à existência de links quebrados, a reputação do seu site é danificada e haverá um impacto negativo no seu negócio. É obrigatório encontrar e corrigir todos os links quebrados antes do lançamento. Se um link não estiver funcionando, enfrentamos uma mensagem como 404 página não encontrada.

vamos ver alguns dos códigos de status HTTP.

200 – Link Válido
404 – Link não encontrado
400 – Bad request
401 – não autorizado
500 – Erro Interno
Considerar um caso de teste para testar todos os links na página inicial do “SoftwareTestingMaterial.com”

código Abaixo obtém todos os links de um determinado site (por exemplo, SoftwareTestingMaterial.com) usando comandos WebDriver e lê o status de cada link href com a ajuda da classe HttpURLConnection.

Clique aqui para obter mais informações sobre HttpURLConnection

dada uma explicação clara na seção de comentários dentro do próprio programa. Por favor, passe por isso para entender o fluxo.

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

pacote softwareTestingMaterial;
import java.líquida.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 ambiente \ \ Drivers \ \ geckodriver.exe”);
driver WebDriver = novo FirefoxDriver();
//Maximize o driver do navegador
.gerir().janela().maximize();
//espera implícita por 10 segundos
driver.gerir().limite().implicitlyWait(10, TimeUnit.Segundos);
//para lançar softwaretestingmaterial.com
motorista.obter(“https://www.softwaretestingmaterial.com”);
//Aguarde 5 segundos
Thread.sono (5000);
//usou o método tagName para coletar a lista de itens com tagName “a”
//findElements – para encontrar todos os elementos com na página atual. Ele retorna uma lista de todos os webelements ou uma lista vazia se nada corresponder
lista< WebElement> links = driver.findElements (por.tagName (“a”));
//para imprimir o número total de links
sistema.as.println (“total de links são” + links.tamanho());
//usado para loop para
para(int i=0; i < links.como baixar e instalar Minecraft.obter (I);
/ / usando o atributo “href”, poderíamos obter o url do link requried
String url=element.getAttribute(“href”);
//chamando verifyLink () método aqui. Passando o parâmetro url, recolhidas no link acima
//Veja os detalhes de funcionalidade do verifyLink(url) método abaixo
verifyLink(url);
}
}
// A função abaixo verifyLink(String urlLink) verifica todos os links quebrados e retornar o status do servidor.
public static void verifyLink(String urlLink) {
//às Vezes, podemos face de exceção “de java.líquida.MalformedURLException”. Mantenha o código em tentar bloco catch para continuar a quebrada de análise de link
try {
//Usar o URL de Classe – Criar objeto da URL de Classe e passar o urlLink como parâmetro
link URL = new URL(urlLink);
// Criar uma conexão usando a URL do objeto (por exemplo, link)
HttpURLConnection httpConn =(HttpURLConnection)link.openConnection();
//Defina o tempo limite para 2 segundos
httpConn.setConnectTimeout(2000);
//conecte – se usando o método connect
httpConn.conectar();
//use getResponseCode () para obter o código de resposta.
if(httpConn.getResponseCode()== 200) {
sistema.as.como baixar e instalar Minecraft.getResponseMessage());
}
se(httpConn.getResponseCode()== 404) {
sistema.as.como baixar e instalar Minecraft.getResponseMessage());
}
}
//getresponsecode method returns = IOException – se ocorreu um erro ao conectar-se ao servidor.
catch (Exception e) {
//e.printStackTrace();
}
}
}

Se este post sobre “Encontrar Links Quebrados Usando Selenium WebDriver” foi capaz de ajudar, então não me importo de compartilhar com outras pessoas.

se você não é um leitor regular de SoftwareTestingMaterial.com então eu recomendo que você se inscreva para o boletim informativo de E-mail gratuito usando o link abaixo.

Write a Comment

O seu endereço de email não será publicado.