1. Kostya Marchenko
  2. concordioncamera


= Intro =
Concordion Camera is a video recording extension for Concordion (http://concordion.org)
It allows you to record videos of your acceptance tests and ultimately produce recorded Show&Tells or application tutorials in automated way.
To achieve best result use it with Hollywood WebDriver (http://link to holywoodWebDriver).
See samples for more information on usage.

Extension comes with automated acceptance test written using concordion, take a look at it in test folder.

= Credits =
To came up with absolutely new cool idea you need to be genious but unfortunately I'm not one of them, so as you probably already guessed I took someone else ideas and slightly adapted them to my own needs.
This work was influenced by similar video recording feature I saw on Saucelabs.com service and implementation itself is almost entirely based on Werner Randelshofer's work, you can see more details here - http://www.randelshofer.ch/blog/2011/05/pure-java-screen-recorder/
I did just little additions to Werner's module: deleted Swing-related files, added enums and simplified constructor.

= How it works =
It uses AWT Robot to make screenshots of the screen, stores it as image sequence and then converts it into QuickTime or AVI video.
At the moment only QuickTime supports audio but AVI video produces file of smaller size and seems to be better quality.

= Installation =
Put ConcordionCamera.jar in your classpath or add maven dependency:

= Usage =
1. Tell concordion to use ConcordionCamera extension by setting "concordion.extensions" global variable to "com.sqanta.concordioncameraextension"
2. Put <span cx:concordionCamera="format"/> command in your specification in the place where you want to display embedded video of your test. Video recording will start at the same moment as test and will finish when test finished.

For more details on how to use extension see it's specification. You can execute this specification by running ConcordionCameraExtensionTest.java to verify that it works.

You can also use video recorder as standalone component. Just use ConcordionCamera class on it's own. It also comes with unit test which will help you better understand how to use it.

= Plans =
I'm planning to improve this extension to make it work with VNC to be able to record videos of automated tests running on remote machines (when using Selenium Grid for example).
Also want to add ability to record videos in FLV format so that they can be easily embedded in HTML result reports produced by Concordion.
See full list of planned improvements and bug fixes on https://bitbucket.org/zyxit/concordioncamera/issues page.

= Contribution =
Feedback is the key to improvement and I'm very interested in your feedback, suggestions and issues you can find while using this software.
Please submit your feedback in form of issues on https://bitbucket.org/zyxit/concordioncamera/issues page or send them to kostya at sqanta.com

I also encourage you to fork this project and make it even more awesome or contribute to existing codebase.

You can checkout sources by typing hg clone https://zyxit@bitbucket.org/zyxit/concordioncamera in command line (you need Mercurial to be installed)