Пещерный является Python пакет, который анализирует и проверяет HTML5 манифестов кэша. Приложения HTML5 чрезвычайно привередливы о своих манифестов кэша, и трудно проверить, что все компоненты являются как они должны быть.
Пещерный обеспечивает один сценарий командной строки, который check_manifest, вытаскивает HTML-страницу, царапины Это для используемых ресурсов, анализирует его кэш манифеста, и проверяет ресурсы против манифеста:
& NBSP; check_manifest URL
Проблемы с явным записываются в стандартный вывод. Более подробно о процессе выводится, если вы установите уровень регистрации до различной степени тяжести с --level = реле уровня, где уровень отладки, INFO, ВНИМАНИЕ, или ошибка.
Программный использование
Пещерный человек был разработан, чтобы быть полезной с вашего собственного кода, например, в рамках более широкого процесса проверки, или как часть модульных тестов в веб-приложения.
Работа пещерная делается класса ManifestChecker. Вы его экземпляр с двумя помощниками: функции get_url, что извлекает данные из URL, и объект регистратора, который получает записанных сообщений:
от пещерного человека импорта ManifestChecker
Def get_url (URL): ...
Регистратор = ...
man_checker = ManifestChecker (get_url = get_url, регистратор регистратор =)
Затем вызвать его метод check_manifest с URL страницы HTML:
man_checker.check_manifest (URL)
Ни одно значение не возвращается: выход был записан на объект регистратора. Посмотреть строки документации в исходном коде для деталей.
Django модульные тесты
В качестве примера использования программного, вот один способ использовать Caveman в набор тестов Django:
от пещерного человека импорта ManifestChecker
класс TestManifest (django.test.TestCase):
& NBSP; Def Setup (само):
& NBSP; self.checker = ManifestChecker (get_url = self.get_url, регистратор самостоятельно =)
& NBSP; self.caveman_log = []
& NBSP; Def get_url (я, URL):
& NBSP; "" ". get_url функция` caveman.ManifestChecker` "" "
& NBSP; # Используйте тестовый клиент Django, чтобы принести URL.
& NBSP; ответ = self.client.get (URL)
& NBSP; возвращение response.status_code, response.content, ответ
& NBSP; # Запись серьезные Caveman сообщения в `self.caveman_log`.
& NBSP; Def отладки (я, MSG): проход
& NBSP; Def информация (самостоятельно, MSG): проход
& NBSP; Def предупреждение (я, MSG): self.caveman_log.append (MSG)
& NBSP; Def ошибка (я, MSG): self.caveman_log.append (MSG)
& NBSP; Def test_my_manifest (само):
& NBSP; "" "Пещерный человек не производит предупреждений или ошибок для кэш манифеста." ""
& NBSP; self.checker.check_manifest ("/")
& NBSP; self.assertEqual ([], self.caveman_log)
Подробнее
Пещерный человек может быть загружен с PyPI: http://pypi.python.org/pypi/caveman
Кэш HTML5 проявляется спецификации находится на http://www.w3.org/TR/html5/offline.html
Документы на http://nedbatchelder.com/code/caveman.
. Репозиторий кода и отслеживания проблем находятся в bitbucket.org
Требования
- Python
Ограничения
- только пещерный тянет HTML страница, которую вы укажете. Хотя он проверяет ссылки на другие HTML страницы против манифеста, он не тянет тех, которые связаны к страницам и проверить свои ресурсы.
- Некоторые правила из спецификации HTML5 не проверяются.
Комментарии не найдены