This tool helps you regression test your website. Never deploy a change to your website that breaks parts of it. The tool performs HTTP requests to a given set of URLs and regression tests whether the status code is 200. The tool supports rewriting the loaded URLs so that you can point the tool to a staging server in your build pipeline.
Under construction: The tool is currently being developed, so anything may change anytime. If you'd like to shape the future of the project, get in touch and open a PR :-)
The workflow of sireg is straight forward:
[Load URLS] ▶️ [Filter URLs]* ▶️ [Apply URL replacements] ▶️ [Request URLs] ▶️ [Report Results]
*yet to be implemented
Download a released binary of sireg and store it in a location such that you can execute sireg from where you need it.
To get started with sireg, let's verify that all pages you list in your sitemap have a 200 status code:
$ sireg exec --loader-sitemap-sitemap "https://<DOMAIN>/sitemap.xml"
Now let's continue and see whether all the pages listed in your sitemap are present on your local development copy running on your computer:
$ sireg exec \--loader-sitemap-sitemap "https://<DOMAIN>/sitemap.xml" \--replacer-static-replace "https://<DOMAIN>/" \--replacer-static-with ""
Start to explore sireg and see all available options with:
$ sireg exec --help
Tests executed with sireg can be defined in a test suite configuration file.
In fact, the JSON test suite file is more versatile than the
sireg exec command.
Test suites are simple JSON files and can be executed with sireg as follows:
sireg test my-test-suite.json
You may find example test suite definitions in the /examples directory.
sireg currently supports the following loaders and replacers out of the box:
View the documentation for all loaders.
View the documentation for all replacers.
The test suite may define settings which affect the execution of the tool.
"testSuite": "My test suite name""settings":// sireg settings here
concurrentRequests[Default: 3] - The number of concurrent HTTP requests to execute. Make sure your server can handle the load, there is no throttling.
requestTimeout[Default: 3000] - The number of milliseconds to wait for a server to send response headers (and start the response body) before aborting the request.
sireg aims to support:
Open a PR :-)
This project is licensed under the terms of the MIT license.
Project created and maintained by Fabian Keller.