<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
Screencasting of running tests
</h3>
<span style="margin-bottom: 10px;">
modified by <a href="https://community.jboss.org/people/maxandersen">Max Rydahl Andersen</a> in <i>JBoss Tools Development</i> - <a href="https://community.jboss.org/docs/DOC-24365">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p><span>Recording screencast of running tests is implemented in JBT test suite via class <a class="jive-link-external-small" href="https://anonsvn.jboss.org/repos/jbosstools/trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/test/util/ScreenRecorderExt.java" target="_blank">ScreenRecorderExt.java</a>.</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span>To save screencast of test just insert this code to proper place within test class:</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><pre class="jive-pre"><code class="jive-code jive-java">screenRecorderExt = <font color="navy"><b>new</b></font> ScreenRecorderExt();
<font color="darkgreen">// start scren cast recording</font>
screenRecorderExt.start(videoFileLocation);
<... test instructions ...>
<font color="darkgreen">// stop screen cast recording</font>
screenRecorderExt.stop();
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>Implementation for SWTBot tests</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span>For SWTBot tests is screencasting fully implemented. Once enabled via setting system property <strong>swt.bot.test.record.screencast=true</strong> all tests from test run are saved together with requirements processing. </span>For each test class of test run one video file is saved with name of the test class. Recorded files are saved in the screencasts directory at the same location where SWTBot tests are creating screenshots directory.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span>Implementing class is <a class="jive-link-external-small" href="https://anonsvn.jboss.org/repos/jbosstools/trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/RequirementAwareSuite.java">RequirementAwareSuite.java</a></span></p><p><span><br/></span></p><p><span>Important methods:</span></p><p><span><br/></span></p><pre class="jive-pre"><code class="jive-code jive-java"><font color="navy"><b>private</b></font> <font color="navy"><b>static</b></font> <font color="navy"><b>void</b></font> startScreenRecorder(String className)
<font color="navy"><b>private</b></font> <font color="navy"><b>static</b></font> <font color="navy"><b>void</b></font> stopScreenRecorder()
<font color="navy"><b>protected</b></font> Statement withBeforeClasses(Statement statement)
<font color="navy"><b>public</b></font> <font color="navy"><b>void</b></font> run(RunNotifier notifier)
</code></pre></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Comment by <a href="https://community.jboss.org/docs/DOC-24365">going to Community</a></p>
        <p style="margin: 0;">Create a new document in JBoss Tools Development at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2129">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>