Caveman là một gói Python mà phân tích và xác nhận HTML5 lược khai cache. Ứng dụng HTML5 có tiếng là kén chọn về bộ nhớ cache biểu hiện của họ, và rất khó để kiểm tra xem tất cả các thành phần được như họ nên được.
Caveman cung cấp một kịch bản dòng lệnh, check_manifest, mà kéo một trang HTML, vết xước nó cho sử dụng nguồn lực, phân tích bộ nhớ cache của nó biểu hiện, và xác nhận các nguồn lực chống lại các biểu hiện:
& Nbsp; URL check_manifest
Vấn đề với các biểu hiện được ghi vào đầu ra tiêu chuẩn. Thêm chi tiết về quá trình này là đầu ra nếu bạn thiết lập mức độ đăng nhập vào một mức độ nghiêm trọng khác nhau với các --level = LEVEL switch, nơi LEVEL là DEBUG, INFO, WARNING, hoặc ERROR.
sử dụng theo chương trình
Caveman đã được thiết kế để có thể sử dụng từ mã riêng của bạn, ví dụ, như là một phần của một quá trình xác nhận lớn hơn, hoặc như là một phần của các đơn vị xét nghiệm trong ứng dụng web của bạn.
Việc Caveman của được thực hiện bởi lớp ManifestChecker. Bạn nhanh chóng nó với hai người giúp đỡ: một chức năng get_url mà nạp dữ liệu từ các URL, và một đối tượng logger mà nhận được tin nhắn đăng nhập:
từ thượng cổ ManifestChecker nhập khẩu
def get_url (url): ...
logger = ...
man_checker = ManifestChecker (get_url = get_url, logger = logger)
Sau đó gọi phương pháp check_manifest của nó với các URL của trang HTML:
man_checker.check_manifest (url)
Không có giá trị được trả về: sản lượng đã được ghi vào các đối tượng logger. Xem các docstrings trong mã nguồn để biết chi tiết.
Đơn vị xét nghiệm Django
Như một ví dụ về việc sử dụng chương trình, đây là một cách để sử dụng Caveman trong một bộ thử nghiệm Django:
từ thượng cổ ManifestChecker nhập khẩu
lớp TestManifest (django.test.TestCase):
& Nbsp; def thiết lập (tự):
& Nbsp; self.checker = ManifestChecker (get_url = self.get_url, logger = tự)
& Nbsp; self.caveman_log = []
& Nbsp; def get_url (self, url):
& Nbsp; "" ". Một chức năng get_url cho` caveman.ManifestChecker` "" "
& Nbsp; # Sử dụng các bài kiểm tra client Django để lấy các URL.
& Nbsp; phản ứng = self.client.get (url)
& Nbsp; trở response.status_code, response.content, phản ứng
& Nbsp; # Ghi các thông Caveman nghiêm trọng trong `self.caveman_log`.
& Nbsp; def debug (self, msg): pass
& Nbsp; def thông tin (self, msg): pass
& Nbsp; def cảnh báo (self, msg): self.caveman_log.append (msg)
& Nbsp; def lỗi (self, msg): self.caveman_log.append (msg)
& Nbsp; def test_my_manifest (tự):
& Nbsp; "" "Caveman sản xuất có cảnh báo hay lỗi cho bộ nhớ cache manifest." ""
& Nbsp; self.checker.check_manifest ("/")
& Nbsp; self.assertEqual ([], self.caveman_log)
Thêm thông tin
Caveman có thể được tải về từ PyPI: http://pypi.python.org/pypi/caveman
Các bộ nhớ cache HTML5 thông số hiển nhiên là tại http://www.w3.org/TR/html5/offline.html
Docs tại http://nedbatchelder.com/code/caveman.
. Mã số kho lưu trữ và theo dõi vấn đề là ở bitbucket.org
Yêu cầu :
- Python
Hạn chế :
- Caveman chỉ kéo trang HTML mà bạn chỉ định. Mặc dù nó xác nhận các liên kết đến các trang HTML khác chống lại các biểu hiện, nó không kéo những người được liên kết đến các trang và xác minh các nguồn lực của họ.
- Một số quy tắc từ spec HTML5 không được xác nhận.
Bình luận không