WebPageTest 可以通过其在线服务直接使用,也可以自行搭建 WebPageTest 服务器。
使用在线服务
直接访问 WebPageTest 官方网站 即可开始测试。
本地安装 WebPageTest 服务器
git clone https://github.com/WPO-Foundation/webpagetest.git
使用在线服务
使用 API
curl -X GET "https://www.webpagetest.org/runtest.php?url=https://example.com&f=json&k=YOUR_API_KEY"
查看报告
测试完成后,查看生成的报告,获取详细的性能数据和优化建议。
runtest:启动一次测试。
url
:要测试的网页 URL。k
:API 密钥。f
:返回数据格式(如 json)。curl -X GET "https://www.webpagetest.org/runtest.php?url=https://example.com&f=json&k=YOUR_API_KEY"
testStatus:查询测试状态。
test
:测试 ID。curl -X GET "https://www.webpagetest.org/testStatus.php?test=TEST_ID&f=json"
testResults:获取测试结果。
test
:测试 ID。curl -X GET "https://www.webpagetest.org/jsonResult.php?test=TEST_ID"
cancelTest:取消测试。
test
:测试 ID。curl -X GET "https://www.webpagetest.org/cancelTest.php?test=TEST_ID&k=YOUR_API_KEY"
locations:获取可用测试地点列表。
curl -X GET "https://www.webpagetest.org/getLocations.php?f=json&k=YOUR_API_KEY"
自定义脚本
WebPageTest 支持使用自定义脚本进行更复杂的测试,例如模拟用户交互:
logData 0
navigate https://example.com
clickAndWait id=login
setValue name=username your-username
setValue name=password your-password
submitForm name=loginForm
logData 1
navigate https://example.com/dashboard
在测试设置中选择 "Advanced Settings" -> "Script" 选项卡,粘贴自定义脚本即可。
与 CI/CD 工具集成
以下是一个简单的 GitHub Actions 配置示例,用于集成 WebPageTest 进行性能测试:
name: WebPageTest CI
on: [push]
jobs:
performance-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run WebPageTest
run: |
curl -X GET "https://www.webpagetest.org/runtest.php?url=https://example.com&f=json&k=${{ secrets.WPT_API_KEY }}"