Автоматическая система проверки ссылок для тестирования системы
Мне часто приходится работать с хрупкими устаревшими веб-сайтами, которые неожиданно ломаются при обновлении логики или конфигурации.
У меня нет времени или знаний о системе, необходимой для создания Selenium script. Кроме того, я не хочу проверять конкретный вариант использования - я хочу проверить каждую ссылку и страницу на сайте.
Я хотел бы создать автоматизированный системный тест, который будет проходить через сайт и проверять наличие неработающих ссылок и сбоев. В идеале, был бы инструмент, который я мог бы использовать для достижения этого. Он должен иметь как можно больше следующих функций в порядке убывания приоритета:
- Запуск через script
- Не требует взаимодействия с человеком
- Выполняет все ссылки, включая теги привязки и ссылки на файлы CSS и js.
- Создает журнал всех найденных 404, 500 и т.д.
- Может быть развернуто локально для проверки сайтов в интрасетях
- Поддержка аутентификации на основе файлов cookie/форм
- Бесплатный/открытый источник
Есть много частичных решений, таких как FitNesse, Firefox LinkChecker и средство проверки ссылок W3C, но ни один из них не делает все, что мне нужно.
Я хотел бы использовать этот тест для проектов с использованием ряда технологий и платформ, поэтому более портативное решение будет лучше.
Я понимаю, что это не подменяет правильное тестирование системы, но было бы очень полезно, если бы у меня был удобный и автоматический способ проверки того, что ни одна часть сайта не была явно сломана.
Ответы
Ответ 1
Я использую Xenu Link Sleuth для такого рода вещей. Быстро проверьте отсутствие мертвых ссылок и т.д. На любом сайте. Просто укажите его на любой URI, и он будет охватывать все ссылки на этом сайте.
Описание с сайта:
Xenu Link Sleuth (TM) проверяет Web сайты для неработающих ссылок. Ссылка проверка выполняется на "нормальном" ссылки, изображения, рамки, плагины, фоны, локальные карты изображений, стиль листы, скрипты и java-апплеты. Это отображает постоянно обновляемый список URL-адреса, которые вы можете сортировать по критерии. Отчет может быть подготовлен на в любое время.
Он отвечает всем вашим требованиям, кроме того, что он доступен для сценариев, поскольку это приложение Windows, которое требует запуска вручную.
Ответ 2
Мы используем и действительно нравится Linkchecker:
http://wummel.github.io/linkchecker/
Это open-source, Python, командная строка, внутренне развертываемые и выводимые в различные форматы. Разработчик был очень полезен, когда мы связались с ним с проблемами.
У нас есть Ruby script, который запрашивает нашу базу данных внутренних веб-сайтов, запускает LinkChecker с соответствующими параметрами для каждого сайта и анализирует XML, который LinkChecker дает нам для создания настраиваемого отчета об ошибках для каждого сайта в нашей CMS.
Ответ 3
Какую часть вашего списка проверит проверка ссылок W3C? Это будет тот, который я буду использовать.
В качестве альтернативы twill (на основе python) - интересный маленький язык для такого рода вещей. Он имеет модуль проверки ссылок, но я не думаю, что он работает рекурсивно, так что это не так хорошо для spidering. Но вы можете изменить его, если вам это нравится. И я могу ошибаться, может быть рекурсивный вариант. Во всяком случае, стоит проверить.
Ответ 4
Возможно, вы захотите использовать wget для этого. Он может размещать сайт, включая "реквизиты страницы" (т.е. Файлы), и может быть настроен на регистрацию ошибок. Я не знаю, будет ли у вас достаточно информации для вас, но это бесплатно и доступно для Windows (cygwin), а также для unix.
Ответ 5
InSite - коммерческая программа, которая, кажется, делает то, что вы хотите (не использовали).
Если бы я был на твоем месте, я бы, наверное, написал такого рода пауков...
Ответ 6
Я не уверен, что он поддерживает проверку подлинности, но он будет обрабатывать файлы cookie, если вы можете получить его на сайте, и в противном случае я думаю Checkbot будет делать все, что в вашем списке. Я использовал как шаг в процессе сборки, прежде чем проверять, что на сайте ничего не сломано. Там примерный вывод на веб-сайте.
Ответ 7
Мне всегда нравилось linklint для проверки ссылок на сайте. Однако я не думаю, что он соответствует всем вашим критериям, особенно аспектам, которые могут быть зависимыми от JavaScript. Я также думаю, что это пропустит изображения, вызванные изнутри CSS.
Но для spidering всех якорей он отлично работает.
Ответ 8
Попробуйте SortSite. Это не бесплатно, но, кажется, делает все, что вам нужно, и многое другое.
В качестве альтернативы PowerMapper от той же компании имеет сходный, но отличный подход. Последнее даст вам меньше информации о детальной оптимизации ваших страниц, но все равно будет идентифицировать любые неработающие ссылки и т.д.
Отказ от ответственности: у меня есть финансовый интерес к компании, которая производит эти продукты.
Ответ 9
Попробуйте http://www.thelinkchecker.com, это онлайн-приложение, которое проверяет количество исходящих ссылок, рейтинг страницы, якорь, количество исходящих ссылок. Я думаю, что это необходимое вам решение.