portrino / codeception-sitemap-module
There is no license information available for the latest version (0.3.5) of this package.
Parse and validate sitemap.xml files
0.3.5
2017-10-11 05:51 UTC
Requires
- codeception/codeception: ~2.3
- portrino/phpunit-xsdvalidation: 1.1.0
- vipnytt/sitemapparser: ~1.0.3
Requires (Dev)
- phpstan/phpstan: ^0.8
- phpunit/phpunit: ~6.4
- squizlabs/php_codesniffer: ~3.0.2
README
This package provides parsing and validation of sitemap.xml files
Installation
You need to add the repository into your composer.json file
composer require --dev portrino/codeception-sitemap-module
Usage
You can use this module as any other Codeception module, by adding 'Sitemap' to the enabled modules in your Codeception suite configurations.
Enable module and setup the configuration variables
The url
could be set in config file directly or via an environment variable: %BASE_URL%
modules: enabled: - Sitemap: depends: PhpBrowser url: ADD_YOUR_BASE_URL_HERE
You could also configure the guzzle instance of the sitemap parser package. For example to disable SSL certification checks:
modules: enabled: - Sitemap: sitemapParser: guzzle: verify: false
Update Codeception build
codecept build
Implement the cept / cest
$I->wantToTest('If sitemap is valid.'); $I->amOnPage('sitemap_index.xml'); // validation against https://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd // sitemap will be retrieved from: http://<www.domain.tld>/sitemap.xml, where http://<www.domain.tld>/ is configured in module config $I->seeSiteMapIsValid('sitemap.xml'); // validation against https://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd // siteindex will be retrieved from: http://<www.domain.tld>/sitemap_index.xml, where http://<www.domain.tld>/ is configured in module config $I->seeSiteIndexIsValid('sitemap_index.xml'); // validate url occurence (also recursively through siteindex files!) // complete url $I->seeSiteMapContainsUrl('sitemap_index.xml', 'https://www.domain.tld/foo/bar/'); // without base_url (checks if one of the sitemap urls contains the path) $I->seeSiteMapContainsUrlPath('sitemap.xml', '/foo/bar'); // via response object $I->seeSiteMapResponseContainsUrlPath('/bar/'); $I->seeSiteMapResponseContainsUrlPath('/foo/');
Authors
- André Wuttig - Initial work, Unit Tests, Documentation - aWuttig
See also the list of contributors who participated in this project.