Are unix based Test Machines possible for testing with Chrome only?

I saw Michael Klepikov at the Selenium conference recently and he gave an awesome demo of WebPagetest. One thing which I noticed, something which I’ve wanted to do in the past but have not known how, is using a non-Windows based Test Machine.

The documentation for a private instance of WebPagetest only gives Windows as an example.

Operating systems I’d be interested in using include Ubuntu, Mac OS X & CentOS - would it be possible to use one of these as a test machine (I only need to test on the Chrome browser).

On another note, in regards to the iOS and Android agents in the SVN repository, is there any documentation for how to get these set up? Would be fun to try them out!


Not yet. Michael has some cross-platform work he is doing for WebPagetest that will let us run agents on any platform that has node.js support and Chrome (probably later in the year before it is ready for prime time).

The iOS and Android agents are a work in progress. We’re actually merging our code into the Mobitest agents (which are also under a BSD license and already integrate with WebPagetest). -

The mobitest agents have been integrated with WPT for over a year and have a lot of field time on them so we were thrilled that Akamai open-sourced them.

I guess that means OS X support will arrive too (for Chrome at least)

Thank you for the update.

Decided to give the mobitest agents ago, I can’t get the Android agent working properly, I believe there’s a bug which I’ve filed here:

As for the iPhone agent, I’m nearly there, got it compiling and responding to a hosted WebPagetest, there are a few bugs I’ve found with the agent.

Another problem I had was getting the video feature to work, a valid film-strip is being presented and ffmpeg is in the Path (on a CentOS box) but no videos appear, just get the message “Your video will be available shortly. Please wait…” which does not appear to change. Having a Google around, I noticed a solution for Windows based agents was to install avisynth, are there any similar steps like this which need to be carried out for iPhone agents?

Thanks for great work done with WebPagetest!

Yeah, that’s kind of a hole right now that I haven’t fixed. Right now videos can only be rendered on Windows agents. I have a TO-DO item to add support for server-side rendering which will also make rendering videos a lot faster.

btw, to render videos you just need A windows agent available that connects to the server and it can render any videos for any agent. One possible solution is to just use a “tiny” EC2 instance to do video rendering until a completely windows-free solution is available.

Is there any progress on implementing video capturing for the Node JS agent using the Chrome Local Browser?

Nope, but patches are always welcome.

The node agent supports going out to the shell to an external video capture script so it might be possible to wire up manually (we use it for HDMI capture on mobile but there’s nothing stopping it from working for desktop). If you go that route you’d need to make sure that the video script only captured the Chrome window or that the Chrome window covered the majority of the screen because the post processing is expecting full-screen (aka mobile).

You’d also need to tip-of-tree server code to do the video processing.

Hi Patrick,

Is this capture script needed to get the filmstrip view working for mobile/tablet devices?

Would it be possible to provide a bit more detail on top of the rough notes on how to get this working?


Video Capture: TODO rough notes

Thanks in advance,

No, sorry - that’s from some legacy code that used a dedicated HDMI capture card. With android video capture should “just work” (as far as capture goes). The main thing that usually fails is extracting the video into a filmstrip on the server and that is usually because of a ffmpeg version problem (the server relies on an older version).

I just pushed a fix on friday that should work regardless of what version of ffmpeg is installed but assuming you’re running older code you need to make sure it is a 1.x version.

ok thanks - had more of a look.

ffmpeg is installed and working as far as I can see, from the install check page also showing green.
ffmpeg Installed (required for video): yes
ffmpeg 1.x Installed with fps, scale and decimate filters(required for mobile video): 1.2.3,fps,scale,decimate
imagemagick compare Installed (required for mobile video): NO (optional)
jpegtran Installed (required for JPEG Analysis): NO (optional)
exiftool Installed (required for JPEG Analysis): NO (optional)

I have checked out the latest code, as of around yesterday.

the mpg is being copied back from the device
had a look at video/
If I change the name $outdir/img-%d.png then the images are being generated, but then deleted at some point later.
let me know if you have any thoughts, I will keep looking.

Doesn’t look like you have imagemagick installed:

imagemagick compare Installed (required for mobile video): NO 

ffmpeg is used to extract the frames but then a bunch of processing is done with imagemagick which is why you see the behavior you are seeing.

given it says “required for mobile video” that makes a lot of sense!
tah-dah and it works. thanks