This is the official repository for the performance-testing code that runs at webpagetest.org.
/bulktest
: A PHP command-line tool that can submit a bulk set of tests, gather the results, and aggregate analyses./batchtool
: A Python tool that can submit a bulk set of tests and gather the results.If your instance runs, but you’re having issues configuring agents, navigate to http://{your_instance’s_ip}/install
to check for a valid configuration.
WebPageTest uses PHPUnit for unit tests. To set up and run the unit tests:
apc.enable_cli='on'
to your php.inicomposer install
composer test
There are separate lines of development under different licenses (pull requests accepted to either):
master
branch where most active development occurs has the Polyform Shield 1.0.0 licenseapache
branch has the more permissive Apache 2.0 licenseWebPageTest uses PSR12 coding conventions for PHP linting and formatting. For JavaScript and CSS formatting we use Prettier with its default configuration. Additionally we use Stylelint for CSS linting.
Before you send a pull request please make sure to run: composer lint && composer format
.
Alternatively you can run
composer lint:php && composer format:php
if you only touched PHP code, orcomposer lint:css && composer format:prettier
if you only touched CSS or JavaScript codeIf you use VSCode you might find it helpful to install Prettier and PHP Intelephence plugins and use these in your "settings.json":
{
"[php]": {
"editor.tabSize": 4
},
// uncomment to reformat on every file save
//"editor.formatOnSave": true,
"phpcs.standard": "PSR12",
"files.trimTrailingWhitespace": true,
"files.eol": "\n",
"files.associations": {
"*.inc": "php"
}
}