Метод обнаружения неработающих ссылок на веб-странице «рекомендуемый сбор»
Метод обнаружения неработающих ссылок на веб-странице «рекомендуемый сбор»

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

Прежде чем разобраться в методах тестирования, сначала разберитесь в связанных концепциях мертвых ссылок и ссылок.

  • Виды мертвых ссылок
  1. Неработающая ссылка протокола: неработающая ссылка, четко обозначенная статусом протокола TCP/статусом протокола HTTP страницы. Общие из них включают статус 404, 403, 503 и т. д.
  2. Неработающая ссылка на содержимое: статус, возвращаемый сервером, является нормальным. Но содержание изменилось Это информационная страница, которая не существует, была удалена или требует разрешения и не имеет ничего общего с исходным контентом.
  • Причины мертвых ссылок
  1. Замена каталога веб-сайтов.
  2. Файл на сервере был перемещен или удален.
  3. ошибка в настройках сервера веб-сайта.
  4. База данных больше не поддерживает динамическое связывание.
  • Влияние мертвых ссылок
  1. Влияет на функциональность и пользовательский опыт.
  2. Уменьшите количество страниц, попадающих в поисковые системы, и уменьшите вес веб-сайта в поисковых системах.
  3. Влияет на скорость загрузки веб-сайта.
  4. Навредить общему имиджу веб-сайта.
  • Синтаксис HTML-ссылок для ссылок

тег Используя href свойство – Создайте ссылку на другой документ; <a href="url">Link text</a> Используя name свойство – Создавайте закладки внутри документов. <a name="label">якорь(Текст, который появляется на странице)</a>

  • Ссылки могут быть текстовыми, изображениями, и по ним можно щелкнуть, чтобы перейти к новой цели. Цель:
  1. другая веб-страница;
  2. Разные места на одной веб-странице;
  3. Изображения, адреса электронной почты, файлы;
  4. приложение.

Обнаружение мертвых ссылок на веб-странице Это базовая контрольная точка при ежедневном тестировании веб-страниц. Соответствующие методы тестирования описаны следующим образом:

[Метод 1] Постепенно

Используйте функцию ручного управления, чтобы проверить, являются ли соответствующие ссылки нормальными. Определите часть веб-страницы, которая является ссылкой, щелкните и проверьте правильность цели ссылки.

недостаток:

  • Низкая эффективность: другие мешающие элементы (несвязанный текст, изображения, кнопки и т. д.) необходимо удалить со страницы, а для принятия решений требуются ручные щелчки и ожидание, что отнимает много времени и труда;
  • Человеческая ошибка: тестировщики склонны формировать фиксированное мышление в отношении регулярных тестовых проектов, которые часто повторяются, или объем изменений, предлагаемых разработчиками, не является всеобъемлющим, что может привести к пропуску неработающих ссылок.

【Способ второй】Веб-инструмент обнаружения: Инструменты для веб-мастеров

Войдите на веб-страницу средства обнаружения, введите ссылку на веб-сайт, который необходимо обнаружить, и нажмите «Запрос».

преимущество:

  • Простой и удобный в использовании.

недостаток:

  • Действительно только для онлайн-среды;
  • Обнаруживается только URL-адрес, другие элементы и ресурсы веб-сайта не задействованы;
  • Могут быть обнаружены только мертвые ссылки протокола;
  • Уровень обнаружения обхода неглубокий, а глубина недостаточна. Ссылки под подстраницами не обнаруживаются постоянно.

【Способ третий】Программный инструмент обнаружения: инструмент Xenu.

Загрузите инструмент обнаружения, введите ссылку на веб-сайт, который необходимо обнаружить (тестовая среда или онлайн-среда), установите параметры обнаружения и нажмите «Запрос».

преимущество:

  • Комплексный: поиск по всем файлам веб-страниц, начиная с корневого каталога тестового веб-сайта, и чтение всех гиперссылок в них.、Файлы изображений、включать файлы、CSS-файл、Внутренние ссылки страницы и т.п.;
  • Эффективность: поддерживает до 100 потоков, очень высокая скорость обнаружения;
  • Запишите, что файл на веб-сайте не существует, указанная ссылка на файл не существует или указанная страница не существует. Ссылка на вопрос и ее конкретное расположение;
  • Может выводить отчеты об испытаниях и устанавливать уведомления по электронной почте;
  • Есть функция перепроверки неудачных ссылок.

Классификация статуса в отчете об инспекции:

  • Ссылка нормальная: ок, почтовый хост ок;
  • Таймаут доступа, недоступность: таймаут, нет соединения, нет такого хоста;
  • Не найдено, то есть пустая ссылка: не найдено;
  • Ни один объект не возвращается, то есть пустая страница: нет информации для возврата;
  • Нет данных объекта, что часто встречается при ошибках доступа, таких как 400 ошибок при доступе к серверу: нет данных объекта.

недостаток:

  • Не открытый исходный код

[Метод 4] Программирование

Если вы используете программирование для реализации обнаружения мертвых ссылок, какова будет ваша идея реализации?

[Идея 1] Рептилианское мышление

Сначала пройдите и зафиксируйте все соответствующие ссылки, а затем определите их достоверность.

Связанные примеры:

[Python] Многопоточный инструмент обнаружения мертвых ссылок на веб-сайтах

Язык кода:javascript
копировать
 [Адрес проекта](https://github.com/Flowrowl/pylinktester)

Идея: через диспетчер потоков поток сканирования запускается для сканирования ссылок в соответствии с приоритетом ширины. С другой стороны, поток обнаружения запускается для обнаружения просканированных ссылок. Если просканированная ссылка нормальная, ее не нужно проверять еще раз, в противном случае ее нужно проверить еще раз (на основе python2).

Язык кода:javascript
копировать
    Точки проектирования:
    1. Рассмотрите возможность установки количества потоков и глубины сканирования;
    2. Обработка тайм-аута ссылки и установка количества доступов по тайм-ауту;
    3. Сохраните коллекцию просканированных ссылок и настройте коллекцию непосещенных ссылок во время обнаружения, чтобы избежать повторного обнаружения;
    4. Запись журналов и создание файлов;
    5. Поток сканера использует алгоритм «сначала в ширину».

скрипт Python для проверки действительности ссылки на сайт

Язык кода:javascript
копировать
 [Адрес проекта](https://github.com/TronGeek/CheckLinks-Python)

Идея: Согласно тегу в ответе,Пройдите, чтобы получить все ссылки на страницы,Включает изображения, ссылки js, css.,Проверьте, равно ли возвращаемое значение 200 (на основе python3).

Язык кода:javascript
копировать
    Точки проектирования:
    1. Недостатки: не задана однопоточная обработка и не задана глубина сканирования, что приводит к низкой эффективности работы программы и возможности невозможности самостоятельно завершить обход цикла;
    2. Выходной файл таблицы журнала csv;
    3. Рассмотрите возможность обнаружения URL-адресов, а также ссылок на изображения, js и css;
    4. Классифицировать ссылки и отфильтровывать сторонние ссылки;
    5. Конфигурацию входа можно установить;
    6. Уведомления по электронной почте можно настроить.

[Идея 2] Обратное мышление

Сначала заранее перечислите ссылки, которые нужно протестировать, а затем определите их валидность. Идея: сначала настройте ресурсы веб-страницы, которые необходимо обнаружить, а затем выполните обнаружение, чтобы проверить, можно ли нормально открыть веб-страницу и нормально ли записываются ресурсы внутри.

Язык кода:javascript
копировать
      Точки проектирования:
      1. Быстро обнаруживайте характерные веб-страницы, добавляя веб-страницы, которые необходимо обнаружить и которые являются узкоспециализированными (при условии, что вы знаете, что вам необходимо заранее знать и настроить конкретный URL-адрес веб-страницы, которую нужно обнаружить).

в заключение

Каждый из приведенных выше методов обнаружения мертвых каналов имеет свои преимущества и недостатки и может использоваться гибко в зависимости от конкретного сценария тестирования.

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/163373.html Оригинальная ссылка: https://javaforall.cn

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода