Anyone know where the recorded content is stored, and whether it's kept segregated from other cached content? This could be a really interesting archival format...
Yeah that's the first thing I thought of, especially if it's possible to pause and inspect/introspect the DOM and code, that would make debugging client issues much easier.
Although just capturing user session would already be nice, better than forcing people to take videos of their desktop (and with a bit of luck the file would be much smaller)
Exactly. I'm imagining a world where I tell a customer to use a Chrome add-in that automatically starts recording what they do and uploads it to me and I can see what is going on.
Even if not that wonderful, just the ability to have QA or fellow developers send me a file that I can analyze instead of tying up their computer would be wonderful. Especially when working with remote co-workers.
The problem with video is that I can't inspect their DOM or their console.
Use Selenium and whatever host language you want to pause, introspect, etc (example, Java's sleep and use jSoup to parse DOM after grabbing it with Selenium's getBody() )
Selenium's no good, and it's even worse for user recordings: it only stores activity, so if the issue came from e.g. a mishandled network glitch, it won't be recorded.
It doesn't record where you click or what you open, just every request as it moves over the wire.
I am getting quite different results - it records http requests and user input (keyboard/mouse).
Windows 7 x64, Chrome 25.0.1364.172 m :
# navigate to chrome directory
cd C:\Users\User\AppData\Local\Google\Chrome\Application\
# run chrome with a new profile
chrome --user-data-dir="../User Data/recording_test" --first-run --record-mode
# use the new chrome profile to browse around
# close chrome
# launch it in playback mode
chrome --user-data-dir="../User Data/recording_test" --playback-mode
# watch disaster ensue as it locks your mouse (not keyboard),
# replays all activity (url bar input, navigation, mouse cursor movements...),
# and doesn't even stop when you alt-tab
# to a different application
It feels unpolished - mouse scroll wasn't recorded, the "translate this page?" bar wasn't showing up the same way as in the recording, and most importantly, I managed to switch to a different application and it continued sending input to that application. HTTP requests did get cached as promised, and non-cached requests (due to missing scroll event, it clicked on a different link) resulted in a cache error.
I thought Chrome could record your navigation actions .e.g input URL and click elements, it turned out to be directly cache of URL contents so you could read from cache later...
Anyway, cool concept, except it doesn't work with X-Content-Type-Options: nosniff, or ajax call with timestamp parameters.
Not really, if I understand correctly this is capturing only the requests, "caching" them in a way, so when on playback mode if you do an action that fires this request, it's fetched from the recorded store.
I think its use is limited to what the article suggests: making sure real life demos don't break.
I've tried that also but still no luck. I have the commands in separate bat files but I wouldn't expect that to affect it, or I might be using the wrong chrome executable?
If you're going to go to the trouble of running something from the terminal (even if you save time with a bash/batch script), why would you prefer this over Selenium? With Selenium you can customize the actions, extend using your favorite language (such as adding pauses or pulling inputs from a database), and if you use Firefox, you can get the same recording ability (only you can save the file and can extend via JavaScript)
Selenium solves a different problem. With selenium, you record user actions, and verify properties about the state of the site.
The record/playback feature is designed to make a copy of the content you look at during a session, allowing you to retrieve it offline at a later time by revisiting the page (or making equivalent HTTP calls).
Interestingly, if you use both together, you can design a offline-mode reader for hacker news for use on the train or other disconnected environments. Or, combine selenium and playback mode to create kick ass demos that are less likely to fail on weak wifi networks. :)
True. I hadn't considered situations where the content would change if you replayed later. For the apps where I'd use this that's never been a use case, and aside from the cached content, Selenium accomplishes the same and more. Selenium is typically used for testing and verification, but it's quite useful as a recording/playback or full-fledged browser automation tool. Another good one is iMacros.