New script commands and capabilities

It’s been a busy week in the Pagetest scripting engine…

First, I finally added support for combining multiple script steps into a single sequence (particularly necessary for doing a video comparison of multiple steps):

Here is a test that merges loading Google then Yahoo then AOL:

Along with a filmstrip for good measure:

This is the script:

combineSteps navigate navigate navigate

Next (and I’m REALLY excited about this one), I have created a Javascript interface into Pagetest that page code can talk to. Right now there are only 2 methods but this opens up a lot of future possibilities:

The two methods are:
window.webpagetest.done() - If WebPagetest is running a script that tells it to wait for JS done this will end the test (see below)
window.webpagetest.message(“message string”) - This will send a timestamped message to the browser status messages (visible at the bottom of the screen shot page)

I have a sample page at that sends a message to the status window, sets a 15 second timer and then in the timer routine sends another message and calls done()

Here is what the result looks like: (notice the 15 second fully loaded time).

The messages that were logged from the javascript are visible here: (scroll to the status messages below the screen shots).

The script command to force the test to wait is “waitForJSDone”. Here is the script that I used for the test:

waitForJSDone navigate

What would be nice is to also incorporate these into the waterfall charts(vertical lines)… so we can specify when exactly the page was “usable” , etc…

Ahh, great minds… I don’t think I’ll do full lines but I’m considering markers at the top of the waterfall to indicate the messages and when you hover you would get the message text. If I get a chance you should see something live before the end of the week :slight_smile:

Does the window.webpagetest.message function still exist? I’m not seeing the messages on the screenshot page.

Not with the newer browsers. I report console.log for Chrome and there are plans to add it for the other browsers as well.