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.
- 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 >
- 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.
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.
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.