КАК НАЙТИ НЕБОЙНЫЕ ССЫЛКИ С ИСПОЛЬЗОВАНИЕМ SELENIUM WEBDRIVER

КАК НАЙТИ НЕБОЙНЫЕ ССЫЛКИ С ИСПОЛЬЗОВАНИЕМ SELENIUM WEBDRIVER

Многие раз мы сталкиваемся с неработающими гиперссылками на веб-сайтах. Сегодня мы узнаем, как найти битые ссылки с помощью Selenium. Прежде чем перейти к этим темам, давайте изучим основные вопросы.

A неработающая ссылка (также известная как мертвая ссылка или гниющая ссылка) — это ссылка на веб-сайте, которая не работает (т. е. не ведет на страницу, для которой предназначена) по одной или нескольким из следующих причин.

  • Целевая веб-страница больше недоступна (офлайн или перемещена навсегда).
  • Целевая веб-страница была перемещена без добавления переадресации.
  • Структура URL-адреса (постоянные ссылки) веб-страницы изменена.
  • На исходной веб-странице указан недопустимый URL-адрес (опечатка, опечатка и т. д.).
  • Из-за ограничений брандмауэра или геолокации.

URL-адрес с кодом состояния HTTP 2xx является действительным, а URL-адреса с кодами состояния HTTP 4xx и 5xx недействительны. Если вы столкнулись с кодом состояния 4xx, это связано с ошибкой на стороне клиента, а код состояния 5xx означает, что это связано с ошибкой ответа сервера.

Веб-серверы возвращают сообщение об ошибке, когда пользователь пытается получить доступ к неработающей ссылке. Пользователи будут перенаправлены на страницу с ошибкой, когда они нажмут на неработающую ссылку. Это приводит к плохому пользовательскому опыту. Мы должны постоянно обрабатывать их и удалять все существующие неработающие ссылки на нашем веб-сайте. Мы можем сделать этот процесс вручную. Большинство веб-сайтов имеют сотни или тысячи ссылок, и проверить их все вручную невозможно. Это требует огромного времени, ресурсов и усилий. Вместо того, чтобы проверять вручную, мы можем использовать Selenium WebDriver для проверки неработающих ссылок.

Не пропустите: ручное тестирование и автоматическое тестирование — различия, которые должен знать каждый

Выполните следующие шаги, чтобы проверить неработающие ссылки.

  1. Все ссылки помечены либо ссылкой <a>, либо изображением <img>на веб-странице. Соберите ссылки на основе тегов <a>, <img>
  2. Отправьте HTTP-запрос и прочитайте код HTTP-ответа каждой ссылки.

Таким образом, вы можете узнать, является ли ссылка действительной или недействительной. на основе кодов ответов.

Одним из ключевых тестовых случаев является поиск неработающих ссылок на веб-странице. Из-за наличия неработающих ссылок репутация вашего веб-сайта пострадает, что негативно скажется на вашем бизнесе. Перед релизом обязательно найти и исправить все неработающие ссылки. Если ссылка не работает, мы сталкиваемся с сообщением 404 Страница не найдена.

Давайте посмотрим на некоторые коды состояния HTTP. протестировать все ссылки на главной странице «SoftwareTestingMaterial.com» 

Нижеприведенный код извлекает все ссылки на заданный веб-сайт (например, SoftwareTestingMaterial.com) с помощью WebDriver команды и считывает статус каждой ссылки href с помощью класса HttpURLConnection.

Нажмите здесь для получения дополнительной информации о HttpURLConnection

Дано четкое объяснение в разделе комментариев внутри самой программы. Пожалуйста, просмотрите его, чтобы понять процесс. Java

1234567891011121314151617181920212223242526272829303132333343536373839404142434445464748495051525354555657585960616263646566пакет программного обеспечения TestingMaterial; импорт java.net.HttpURLConnection; импорт java.net.URL; импорт java.util.List; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org .openqa.selenium.WebElement;импорт org.openqa.selenium.firefox.FirefoxDriver;открытый класс BrokenLinks {public static void main(String[] args) throws InterruptedException {//Instantiating FirefoxDriverSystem.setProperty(“webdriver.gecko.driver”, “D:\Selenium Environment\Drivers\geckodriver.exe”);WebDriver driver = new FirefoxDriver();//Максимизируйте browserdriver.manage().window().maximize();//Неявное ожидание 10 seconddriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);//Для запуска softwaretestingmaterial.comdriver.get(“https://www.softwaretestingmaterial.com”);//Подождите 5 секундThread.sleep (5000);//Используется метод tagName для сбора списка элементов с tagName “a”//findElements – для поиска всех элементов с на текущей странице. Возвращает список всех веб-элементов или пустой список, если ничего не соответствует List<WebElement>links = driver.findElements(By.tagName(“a”));//Чтобы вывести общее количество ссылокSystem.out.println(“Всего ссылок “+links.size());//используется для цикла tofor( int i=0; i<links.size(); i++) {WebElement element = links.get(i);//Используя атрибут “href”, мы можем получить URL запрашиваемой строки linkString url=element.getAttribute( “href”);//здесь вызывается метод verifyLink(). Передача параметра в качестве URL-адреса, который мы собрали в приведенной выше ссылке //См. Подробную функциональность метода verifyLink (url) ниже. status.public static void verifyLink(String urlLink) {        //Иногда мы можем столкнуться с исключением “java.net.MalformedURLException”. Сохраните код в блоке try catch, чтобы продолжить анализ неработающих ссылок        try {//Использовать класс URL. Создайте объект класса URL и передайте urlLink в качестве параметраURL link = new URL(urlLink);//Создайте соединение с использованием объекта URL ( т. е. link)HttpURLConnection httpConn =(HttpURLConnection)link.openConnection();//Установите тайм-аут на 2 секундыhttpConn.setConnectTimeout(2000);//подключитесь, используя метод подключенияhttpConn.connect();//используйте getResponseCode() для получения код ответа.if(httpConn.getResponseCode()== 200) {System.out.println(urlLink+” – “+httpConn.getResponseMessage());}if(httpConn.getResponseCode()== 404) {System.out. println(urlLink+” – “+httpConn.getResponseMessage());}}//метод getResponseCode возвращает = IOException – если произошла ошибка подключения к server.catch (Exception e) {//e.printStackTrace();}    }}

Если вам помог этот пост «Поиск неработающих ссылок с помощью Selenium WebDriver», поделитесь им с другими.

Если вы не являетесь постоянным Если вы читатель SoftwareTestingMaterial.com, я настоятельно рекомендую вам подписаться на бесплатную рассылку новостей по электронной почте, используя ссылку ниже.

TAG: qa

От QA genius

Adblock
detector