Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Foreword
Preface
Who Should Read 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
Acknowledgments
I. Basic Use Cases
1. How Fast Is My Page?
Measure What Matters
Synthetic Versus RUM
2. What’s Slowing Down My Page?
Running a Simple Test
Reading a Waterfall
Waterfall Slope
Connection View
Common Anti-Patterns
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 CDNs
3. Cache Optimization
Enabling Repeat View
Analyzing Cachability
Heuristic Caching
4. Comparing Tests
Perceived Performance
Capture Video
Filmstrip and Video
Speed Index
Summary of Part I
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
Black-Hole Rerouting
setDns
SPOF Tab
Blocking Requests
III. Advanced Use Cases
9. WebPageTest API
Getting Started
Requesting a Key
Public instance
API key limitations
Private instance
Running Tests
Simple Example Test
Status codes
Advanced Example Test
Reading the Results
Polling Test Results
Pingback Test Results
Reading Beyond Results
10. Continuous Integration
Node.js Wrapper
Installing the WebPageTest Node.js Wrapper
Choosing Your WebPageTest Server
Specifying the API Key
Running the Tests and Reading the Results
Running tests from the command line
Reading results from the command line
Running tests and reading results from the command line
Running tests and reading results from a Node.js module
RESTful Proxy
Running a proxy from the command line
Running a proxy from a 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
Available 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 a test reporter
Travis-CI Integration
Configuring Travis-CI
Encrypting the WebPageTest API key
11. Private Instances
How Does WebPageTest Work?
Using the Preconfigured AWS AMI
Create an AWS User with Relevant Permissions
Configure and Launch the AWS Instance
Creating Your Own Local Installation
Desktop Test Agents
Mobile Test Agents
Install Agent
Add Android Devices
Install the Android Debug Bridge (ADB)
Unlock the bootloader
Configure Android
Add the agent to the server
Check that the agent works
Add iOS Devices
Jailbreak the iOS device
Enable SSH
Update phone settings
Configure the host
Bandwidth Shaping
Remote Test Agents
Private-Instance-Only Features
Bulk Test
Custom Metrics
Day-to-Day Management
Monitoring Queues and Test Agents
Archiving Old Tests
Updating an Instance
Troubleshooting
Check that the test agents are polling for work
Watch the test on the device
Check the response from the test agent
Check the contents of the results folder
Check that GD is installed on the server
Contributing Changes to WebPageTest
A. API Input/Output Reference Guide
Examples of Test Results
When Test Is Not Complete
When Test Is Complete
Details of Test Results
Details of Requests In Test Results
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
← Prev
Back
Next →
← Prev
Back
Next →