If you want to generate page load waterfalls for iOS Safari the current options are Mobitest / WebPageTest or Safari on OSX.
Mobitest and WebPageTest are great tools (essentially the same tool underneath) that I often use but they have a few limitations:
- there's a limited number of test locations so latency can complicate testing
- uses a UIWebView so any javascript in the pages doesn't have access to the JIT
Safari on OSX is OK but there seems to be no way of generating a HAR file from the waterfall view in developer tools.
These limitations sometimes frustrate me so I decided to write a generator that creates HAR files from Safari running on the iOS Simulator (actual physical iPhones and iPad support will hopefully come too).
The generator is a node application that uses the Safari remote debugging protocol to talk to Safari running on the iOS simulator.
Although the debugging commands for Safari are essentially the same as Chrome's they're wrapped up as binary plists in an undocumented RPC protocol.
If you want to know more about the communications side node-iosdriver is the repository you need.
Installation
- Clone ios-har-builder
- Run npm install to install dependencies
Usage
Load the iOS Simulator, launch Safari and then run the HAR builder from the OSX command line e.g.