The Web Page Archive module allows you to use Drupal to perform periodic snapshots and visual regression testing on local and remote websites based of a list of URLs or XML sitemaps, all within the familiar Drupal admin interface.
Watch Texas Camp 2018 - Archiving and Visual Regression using Drupal 8 for a basic walkthrough of functionality and a demonstration.
See Project Roadmap to see what's on the horizon.
Snapshots are performed by Capture Utility plugins. Web Page Archive provides the following capture utilities:
Plugin | Machine Name | Purpose |
---|---|---|
HTML Capture Utility | wpa_html_capture | Captures raw HTML from URLs. |
Screenshot Capture Utility | wpa_screenshot_capture | Capture Screenshots of URLs (uses Headless Chrome or PhantomJS). |
Skeleton Capture Utility | wpa_skeleton_capture | Example code that provides a template for building additional capture utility plugins. |
Comparisons are performed by Comparison Utility plugins. Web Page Archive provides the following capture utilities:
Plugin | Machine Name | Purpose | Applies to |
---|---|---|---|
File: Size | web_page_archive_file_size_compare | Compares files based on size | Screenshots, HTML |
HTML: Diff | wpa_html_diff_compare | Compares HTML line-by-line | HTML |
Screenshot: Pixel | wpa_screenshot_capture_pixel_compare | Compares images and generates diff images (uses ImageMagick 7.0+) | Screenshots |
Screenshot: Slider | wpa_screenshot_capture_slider_compare | Compares images via slider | Screenshots |
- Performance Budget (Experimental) - Creates and manages performance budgets for websites.
- Configuration Archive (Experimental) - Creates and maintains snapshots of system configurations over time.
- Drupal 8.3+
- PHP 7.0+
- PHP extensions:
ext-openssl
- Each capture utility may have additional requirements. See the respective installation guide for more information.
- A lot of storage space (especially when using screenshot capture utility)
See the following guides for installing web page archive and capture utility dependencies:
- Getting Started with Web Page Archive
- Installing Headless Chrome
- Installing PhantomJS
- Installing ImageMagick
- Comparing HTML and Screenshots
- Uninstalling Web Page Archive
This is a relatively new module and features are continuously being added. If you would like to assist in the development of this module, we welcome your help.
Please follow the Drupal Coding Standards.
- Use the Module and Let Us Know Your Thoughts
- Report Bugs
- Submit Ideas/Patches on drupal.org
- Submit Pull Requests on github.com
- Write Tests
- Write/Edit Documentation
- Official Drupal.org Project Page
- Official Web Page Archive Documentation
- Drupal.org Issue Queue
- GitHub.com Repo
- David Stinemetze (aka @WidgetsBurritos) - Drupal / GitHub
- David Porter (aka @bighappyface) - Drupal / GitHub
- Paul Maddern (aka @pobster) - Drupal / GitHub
- Adrianna Flores (aka @vessel_adrift) Drupal / GitHub
This project has been sponsored by Rackspace.