Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Using WebPagetest
Preface
Who Should Read This Book
Goals of This Book
A Word on Web Performance Today
Navigating This Book
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
I. Basic Use Cases
1. “How fast is my page?”
Measure What Matters
Synthetic vs RUM
2. “What is slowing down my page?”
Running a Simple Test
Reading a Waterfall
Waterfall Slope
Connection View
Common Antipatterns
Long First Byte Time
Reopened Connections
Canceled Requests
Network Silence
WebPagetest Grades
First Byte Time
Keep-Alive Enabled
Compress Transfer
Compress Images
Progressive JPEGs
Cache Static Content
Effective Use of CDN
3. Cache Optimization
Enabling Repeat View
Analyzing Cachability
Heuristic Caching
4. Comparing Tests
Perceived Performance
Capture Video
Filmstrip and Video
Speed Index
Summary
II. Intermediate Use Cases
5. Simulating Real Users
Identifying Demographics
Popular Pages
Device and Browser
Geographic Location
Connection Speed
6. Mobile Testing
Desktop Emulation
Traffic Shaping
Native Devices
7. Scripting Preconditions
Flow View
logData and navigate
Authentication
HTTP Basic Authentication
DOM Manipulation
Setting Cookies
8. SPOF Testing
Blackhole Rerouting
setDns
SPOF Tab
Blocking Requests
III. Advanced Use Cases
9. API
Getting started
Requesting a key
Public Instance
Private Instance
Running tests
Simple example test
Status codes
Advanced example test
Reading results
Polling test results
Pingback test results
Reading beyond results
10. Continuous Integration
Node.js wrapper
Installing WebPagetest Node.js wrapper
Choosing your WebPagetest server
Specifying the API Key
Running tests and reading results
Running tests from command line
Reading results from command line
Running tests and reading results from command line
Running tests and reading results from Node.js module
WebPagetest Node.js wrapper extra feature: RESTful Proxy (Listener)
Running proxy from command line
Running proxy from Node.js module
Asserting metrics from test results
JSON test specs
Defining assertion comparison
Examples of overriding assertion comparison
Setting default operations and labels
Available output text template tags
Avaliable assertion operations
Overriding labels
Specifying test reporter
Test Specs examples
Asserting by MIME type
Asserting by Processing Breakdown
Jenkins integration
Configuring Jenkins
Using TAP as test resporter
Using JUnit as test reporter
Travis-CI integration
Configuring Travis-CI
Encrypting WebPageTest API Key
11. Tracking Performance over Time
Public vs Private Instance
Grunt-WPT
ShowSlow
Long term trending
Logging Results to a File
Splunk
HTTP Archive
12. Private Instances
How does WebPagetest work?
Using the Pre-Configured AWS AMI
Create an AWS User with Relevant Permissions
Configure and Launch AWS Instance
Creating your own local installation
Desktop Test Agents
Mobile Test Agents
Install NodeJS Agent
Add test devices
Android
Install the Android Debug Bridge (ADB)
Unlock the bootloader
Configure Android
Adding the agent to the server
Checking the agent works
iOS
Bandwidth shaping
Remote Test Agents
Private Instance Only Features
Bulktest
Custom Metrics
Day-to-Day Management
Monitoring Queues and Test Agents
Archiving Old Tests
Updating an Instance
Troubleshooting
Contributing
A. Reference guide
Configuration options
Test results
When test is not complete
When test is complete
API
Locations
Test
Status
Cancel
Results
Testers
HAR
Chrome Developer Tools Timeline
Test History
Response Body
Waterfall
Create Video
Get Gzip content
Get Thumbnail
Index
About the Authors
Copyright
← Prev
Back
Next →
← Prev
Back
Next →