<br></br>

<html>
<head>
<style type="text/css" title="text/css" media="screen">
td  {
	border-top: 1px solid #D4D4DD;
	text-align: left;
	vertical-align: top;
	font-weight: normal;
	padding: 5pt;
	width: 425px;
}

td.entry_cell {
	font-weight: bold;
	width: 30%
}

td.change {
	font-style: italic;
	color: red;
}

table {
    border-top-style: none;
 	border-collapse: collapse;
}

h2 {
	border-bottom: none;
}

img {
	max-width: 425px;
}

</style>
</head>
<body>


<div id="topmain">
<div id="right">
<h2>
Were you looking for:</h2>
<ul>
<li><a href="../../Neon/Main/new_neon.php">What's New for the Neon Release?</a>
<li><a href="../../Mars/Main/new_mars.php">What's New for the Mars Release?</a>
<li><a href="../../Luna/Main/new_luna.php">What's New for the Luna Release?</a>
<li><a href="../../Kepler/Main/new_kepler.php">What's New for the Kepler Release?</a>
<li><a href="../../Juno/SR1/new_junosr1.php">What's New for the Juno SR1 Release?</a></li>
<li><a href="../../Indigo/Main/new_indigo.php">What's New for the Indigo Release?</a></li>
<li><a href="../../Indigo/SR1/new_indigosr1.php">What's New for the Indigo SR1 Release?</a></li>
<li><a href="../../Indigo/SR2/new_indigosr2.php">What's New for the Indigo SR2 Release?</a>
</ul>
</div>
<div id="left">
<br>
<h1>What's new in Jubula in Juno</h1>

<table>
<tr>
		<td class="entry_cell">
		Test execution duration now shown
		for each node in Test Result View
		</td>
		<td>
		<p>
		The amount of time taken to execute each Test Step, Test Case and Test Suite
		is now shown in milliseconds in the Test Result View. You can use this information
		to see whether parts of your test are taking longer than you expect them to. The HTML and
		XML reports generated or exported for the test results also show the durations. You can 
		turn off the decoration in the preferences. 
		</p>
	    <img alt="Duration shown for Test Results" src="../images/DurationDecoration.png">
		</td>	
	</tr>
<tr>
		<td class="entry_cell">
		Parameter values now shown
		for each node in Test Result View
		</td>
		<td>
		<p>
		The parameter values entered or used at a specific level in your test 
		(Test Step, Test Case) are now shown in the Test Result View. You can use this information
		to which data were used for your Test Cases, without having to expand the 
		test result tree to the lowest levels. This is especially useful 
		if you have a Test Case that runs multiple times with different data sets. 
		You can turn off the decoration in the preferences. 
		</p>
	    <img alt="Parameters shown for Test Results" src="../images/DataDecoration.png">
		</td>	
	</tr>
	<tr>
		<td class="entry_cell">
		Missing data decoration shown 
		in Test Case and Test Suite Editors
		</td>
		<td>
		<p>
		When working on a Test Case or a Test Suite in an editor, you
		can now see a small red cross directly in the editor when test 
		data that can be entered in this editor are missing for a node.
		</p>
	    <img alt="Missing data decoration in editors" src="../images/MissingData.png">
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		Functions can be entered as parameter values
		</td>
		<td>
		<p>
		Alongside concrete values ("abc"), referenced data (=VAL1) and 
		variables ($VAR), you can now also enter functions as test data. 
		Functions are introduced using the question mark (?) followed 
		by the function name and its arguments. <br>
		There are some mathematical and date functions provided out-of-the-box. Other
		functions can be added via an extension point. 
		</p>
	    <img alt="Functions" src="../images/Functions.png">
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		Categories are now supported in the Test Suite Browser
		and Central Test Data Editor
		</td>
		<td>
		<p>
		To make project organization easier, you can now use categories
		in the Test Suite Browser and Central Test Data Editor.
		</p>
	    <img alt="Categories" src="../images/CategoriesTSB.png">
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		Teststyle framework and some guidelines
		now available in Jubula
		</td>
		<td>
		<p>
		The project properties contain a new page for Teststyle rules. 
		Teststyle gives guidelines on project structure and design. This 
		framework was previously a part of GUI<i>dancer</i> and has been migrated 
		to Jubula. Jubula contains a subset of the Teststyle rules that are available 
		in GUI<i>dancer</i>.
		</p>
	    <img alt="Teststyle" src="../images/Teststyle.png">
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		Analysis framework and sample metrics added
		</td>
		<td>
		<p>
		Jubula now contains a framework for test analysis. 
		A small set of sample metrics are available that can be performed 
		on projects.  
		</p>
	    <img alt="Analysis" src="../images/Analysis.png">
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		"Save as new Test Case"
		</td>
		<td>
		<p>
		There is a new option in the Test Case Editor and 
		Test Suite Editor to save selected items as a new Test Case. 
		The selected nodes are added to a new Test Case whose name you 
		define. The nodes are not copied, but their references are: the 
		effect is the same as if you had manually created a new Test Case
		and added the Test Cases to it. <br>
		This is to help users who have reusable modules that must be executed 
		in different orders, or with other actions between them, to help create variants
		of use cases. 
		</p>
	    <img alt="Save As New Test Case" src="../images/SaveAs.png">
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		New action: Store Property Value
		</td>
		<td>
		<p>
		The <i>abstract</i> toolkit contains a new action on the 
		<i>Graphics Component</i> component to store the value of a 
		property. The action works in a similar way to <i>Check Property</i>, 
		except that the expected value is not provided. Instead, the value is written 
		to the variable name you define. You can then use this value later on in the test. 
		<br>
		One example use case for this is to test table filters. The rowCount property 
		for the unfiltered table can be saved and then a check performed that the rowCount
		value after filtering is less than the original value. 
		</p>
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		New extensible adapter mechanism for Swing components 
		</td>
		<td>
		<p>
		You can now add support for renderers for Swing components that do not use 
		the getText() method. An example of the adapter mechanism can be found 
		<a href="http://git.eclipse.org/c/jubula/org.eclipse.jubula.core.git/tree/org.eclipse.jubula.examples.extension.swing.rc.adapter">here</a>.
		</p>
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		Completeness check shown as progress window
		</td>
		<td>
		<p>
		After saving in the ITE, the completeness check for a project is 
		now shown as a progress window. This results from performance improvements 
		made to the completeness check. 
		</p>
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		Eclipse Marketplace Client now accessible <br>
		(Jubula Standalone)
		</td>
		<td>
		<p>
		You can now open the Eclipse Marketplace Client from the 
		help menu in the Jubula Standalone. 
		</p>
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		Changes to layout for properties view for Test Results
		</td>
		<td>
		<p>
		The properties view for Test Results now shows test data 
		in two columns to improve the readability of the information. 
		</p>
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		Selenium update (Jubula standalone)
		</td>
		<td>
		<p>
		The version of Selenium used for HTML testing in the Jubula 
		standalone has been updated to 2.12.0. IE9 and 
		FF 10 are now a part of our regression tests. 
		</p>
		</td>	
	</tr>
		<tr>
		<td class="entry_cell">
		GD_AUT_STARTUP_DELAY renamed to TEST_AUT_STARTUP_DELAY
		</td>
		<td>
		<p>
		The variable for waiting between starting an AUT and checking that 
		it is there has been renamed. 
		</p>
		</td>	
	</tr>
</table>


<h1>Other information for this release</h1>


<h2><a href="https://bugs.eclipse.org/bugs/buglist.cgi?classification=Technology;query_format=advanced;bug_status=RESOLVED;bug_status=CLOSED;target_milestone=1.2;target_milestone=Juno%20M2;target_milestone=Juno%20M3;target_milestone=Juno%20M4;target_milestone=Juno%20M5;target_milestone=Juno%20M6;target_milestone=Juno;product=Jubula">Closed Bugs for Juno</a></h2>
</div>

</div>