blob: 30b738edf0a97bb7d5d154f0a80f3d1413c77e71 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title><![CDATA[RCP Testing Tool Blog]]></title>
<link href="https://www.eclipse.org/rcptt/atom.xml" rel="self"/>
<link href="https://www.eclipse.org/rcptt/"/>
<updated>2017-05-26T05:49:59+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog</id>
<author>
<name><![CDATA[RCP Testing Tool Team]]></name> <email><![CDATA[rcptt-dev@eclipse.org]]></email> </author>
<generator uri="http://sculpin.io/">Sculpin</generator>
<entry>
<title type="html"><![CDATA[RCPTT RAP]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2016/08/05/rap.html"/>
<updated>2016-08-05T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2016/08/05/rap.html</id>
<content type="html"><![CDATA[
<h3>RCPTT can now test Eclipse RAP applications!</h3>
<img src="https://www.eclipse.org/rcptt/shared/img/rap/pasted-image-88.png" width="600"></img>
<h4>Features supported</h4>
<ul>
<li> RAP Recording</li>
<li> RAP Replay</li>
<li> Folder/ECL/Workbench/Parameters context support</li>
<li> Unzipped WAR launching via Launch configurations from RCPTT</li>
<li> Capability Context / Convert contexts to Capability context</li>
<li> RAP Download/Upload support</li>
<li> Extra ECL command for RAP</li>
</ul>
Find more in <a href="https://www.eclipse.org/rcptt/documentation/userguide/rap">RAP documentation</a>.
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[RCPTT 2.1.0 (Neon) Released]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2016/08/05/2_1_0-released.html"/>
<updated>2016-08-05T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2016/08/05/2_1_0-released.html</id>
<content type="html"><![CDATA[
<p>
On June, 26, we've released Neon-based version of RCP Testing Tool as participants of Simultaneous Neon Release. <br>
<ul>
<li>RCPTT IDE is migrated from Mars to Neon to allow users to install it into their developer Eclipse installations.</li>
<p>
<li>For RCPTT IDE assertion filtering was introduced helping to search by asserted value or property.</li>
</p>
</ul>
The review information is available <a href="https://projects.eclipse.org/projects/technology.rcptt/reviews/2.1-neon-release-review">here</a> and the latest version can be downloaded from <a href="https://www.eclipse.org/rcptt/download/">Downloads page</a>.
</p>
<p>
You can also install RCPTT as an eclipse plugin from an Update Site or from <a href="https://marketplace.eclipse.org/content/rcptt-eclipse-ui-testing-tool">Eclipse Marketplace</a>.
</p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Reading File and Clipboard Content]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2015/08/12/file-and-clipboard-content.html"/>
<updated>2015-08-12T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2015/08/12/file-and-clipboard-content.html</id>
<content type="html"><![CDATA[
<h3>Reading file content</h3>
Until recently there was a few ways to get a file content:<br>
<ul>
<li>Opening file editor in GUI and getting it's <i>text</i> property
<li>Using <a href="https://hudson.eclipse.org/rcptt/job/rcptt-all/ws/releng/doc/target/doc/ecl/index.html#read-csv-file"><b>read-csv-file</b></a> and <a href="https://hudson.eclipse.org/rcptt/job/rcptt-all/ws/releng/doc/target/doc/ecl/index.html#read-lines"><b>read-lines</b></a> commands</li>
</ul>
Both ways have obvious restrictions making their usage not very user-friendly, so we decided to implement a new <a href="https://hudson.eclipse.org/rcptt/job/rcptt-all/ws/releng/doc/target/doc/ecl/index.html#read-file"><b>read-file</b></a> ECL command to get a file content.<br>
<p><a href="https://www.eclipse.org/rcptt/blog/2015/08/12/file-and-clipboard-content.html">
Read more of this post
</a></p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[RCPTT 2.0.0 (Mars) Released]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2015/06/26/2_0-released.html"/>
<updated>2015-06-26T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2015/06/26/2_0-released.html</id>
<content type="html"><![CDATA[
<h3>We are on Mars now!</h3>
<p>
On June, 24, we've released Mars-based version of RCP Testing Tool as participants of Simultaneous Mars Release. <br>
So RCPTT IDE has migrated from Indigo to Mars to allow users to install it into their developer Eclipse installations.<br>
The review information is available <a href="https://projects.eclipse.org/projects/technology.rcptt/releases/2.0-mars/review">here</a> and the latest version can be downloaded from <a href="https://www.eclipse.org/rcptt/download/">Downloads page</a>.
</p>
<p>
You can also install RCPTT as an eclipse plugin from an Update Site or from <a href="https://marketplace.eclipse.org/content/rcptt-eclipse-ui-testing-tool">Eclipse Marketplace</a>.
</p>
<p>
<h3>Test Runner is now free and Open Source.</h3>
<p>
This is the first release of <b>Open Source RCPTT Runner</b>.
</p>
Now RCPTT project consists of two tools providing the whole process of automated regression testing of Eclipse-based applications:
</p>
<ul>
<li><a href="https://www.eclipse.org/rcptt/documentation/userguide/getstarted/">Modern Development Environment</a> supporting debugging and refactoring.</li>
<li><a href="https://www.eclipse.org/rcptt/documentation/userguide/runner/">Test Runner</a> allowing to run your tests locally and in integration with Jenkins, Hudson, or other CI tools.</li>
</ul>
<p>
RCPTT Test Runner tests Eclipse-based applications by executing RCPTT tests unattended, on a regular basis. <br>
It provides a command line interface and a <a href="https://www.eclipse.org/rcptt/documentation/userguide/maven/">Maven plugin</a> and establishes seamless integration of your GUI tests with your favourite toolchain.
</p>
<p>Runner is required to manage test bases greater than a dozen of tests for projects that care for development speed.</p>
<ul>
<li>Completely automated testing</li>
<li>Command line interface</li>
<li>Maven plugin</li>
<li>Works with Jenkins, Hudson, Bamboo, etc.</li>
<li>Human readable HTML report</li>
<li>JUnit or custom reports</li>
<li>Every commit can be verified by functional tests before reaching development branch</li>
<li>Handles application hangups, logs errors, stores every test step and its result</li>
</ul>
<h3>RCPTT becoming mature</h3>
<p>
We are happy to celebrate RCPTT project graduation from incubation to mature!<br>
P.S.: Will miss the egg. It was cute, though.
</p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[RCPTT &amp; Code Coverage]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2015/06/17/code-coverage.html"/>
<updated>2015-06-17T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2015/06/17/code-coverage.html</id>
<content type="html"><![CDATA[
<p><i>In this blogpost we are going to describe how to configure Eclipse to combine RCPTT UI tests with code coverage analytics tools EclEmma and Jacoco agent. All of that tools are open source and can be downloaded for free.</i></p>
<p>On RCPTT forum users sometimes ask us:</p>
<div class="panel panel-default">
<div class="panel-body">
<i>So I didn't find any hint of Code Coverage in RCP Testing Tool, does that mean there is none?</i>
</div>
</div>
<p>RCPTT is UI testing tool so it is mostly useful for functional testing. Since it is common practice to combine Functional Testing and Code Coverage analysis, we decided to publish this instruction page. We don't provide this functionality out-of-the-box but it is easy to employ AUT virtual machine arguments to configure an arbitrary covers tool. Find instructions below to configure IDE and add analysis to CI with Maven.</p>
<p><a href="https://www.eclipse.org/rcptt/blog/2015/06/17/code-coverage.html">
Read more of this post
</a></p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Testing About Dialog]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2014/12/10/test-about-dialog.html"/>
<updated>2014-12-10T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2014/12/10/test-about-dialog.html</id>
<content type="html"><![CDATA[
<p>In this post, I'm going to tell how to test an About dialog to ensure that all plug-ins are properly branded -- i.e. have correct provider name, plug-in name, etc.. While this information is rarely affects end users directly, it's still important to have it up-to-date, and it is really tedious to do such checks manually. Plus, it is a good demonstration of what RCPTT and ECL can do :).</p>
<p>Currently, some entries in RCPTT About dialog are not well-formed:</p>
<p><img src="https://www.eclipse.org/rcptt/shared/img/blog/about/about.png" /></p>
<p>So, let's create a test case for RCPTT, which ensures that all RCPTT plug-ins (i.e. plug-ins whose ID starts with <kbd>org.eclipse.rcptt</kbd>) are packaged correctly, i.e. that all its plug-ins meet the following requirements:</p>
<ul>
<li>Provider name is <kbd>Eclipse RCP Testing Tool Project</kbd></li>
<li>Plug-in name is not empty and ends with <kbd>(Incubation)</kbd></li>
<li>All plug-ins have a <span class="uiElement">Legal Info</span>
button enabled</li>
</ul>
<p><a href="https://www.eclipse.org/rcptt/blog/2014/12/10/test-about-dialog.html">
Read more of this post
</a></p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Screenshots for documentation]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2014/11/21/screenshots-with-rcptt.html"/>
<updated>2014-11-21T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2014/11/21/screenshots-with-rcptt.html</id>
<content type="html"><![CDATA[
<p>
This year on EclipseCon Europe Jeremie Bresson pointed me to a <a href="http://model-driven-blogging.blogspot.ru/2009/03/shuangxi-effect-ui-testing-and.html">nice C├ędric Brun's article</a> on how to use SWTBot to generate screenshots for documentation, and asked whether something like this is possible with RCPTT.
</p>
<p>
And the answer is &ndash; yes, indeed! Actually, I never thought about this use-case before, but we have a <a href="http://download.eclipse.org/rcptt/release/1.5.4/doc/ecl/index.html#save-screenshot">save-screenshot</a> command, which can save a screenshot of a control into a file. So, here's how to save screenshots for new plugin project wizard:
</p>
<pre data-line="5,10,14,20"><code class="language-ecl">&#x200b;get-view "Package Explorer" | get-tree | get-menu "New/Plug-in Project" | click
with [get-window "New Plug-in Project"] {
get-editbox -after [get-label "Project name:"] | set-text "org.sample.view"
get-object | save-screenshot "/tmp/tmp/demo/first-page.png"
get-button "Next >" | click
get-group Properties | get-editbox -after [get-label "Name:"]
| set-text "Sample View Plugin"
get-object | save-screenshot "/tmp/tmp/demo/second-page.png"
get-button "Next >" | click
get-table | select "Plug-in with a view"
get-object | save-screenshot "/tmp/tmp/demo/third-page.png"
get-button "Next >" | click
}
with [get-window "New plug-in project with a sample view"] {
get-button "Tree viewer" | click
get-object | save-screenshot "/tmp/tmp/demo/fourth-page.png"
get-button Finish | click
}
</code></pre>
<p>
This is just a recorded test case with manual insertion of <code class="language-ecl">&#x200b;get-object | save-screenshot &quot;/path/to/screenshot.png&quot;</code> snippets in interesting parts. Here <code class="language-ecl">&#x200b;get-object</code> takes an SWT object from RCPTT selector command (since we are in <code class="language-ecl">&#x200b;with</code> block, we are taking an SWT object from a window here), and <code class="language-ecl">&#x200b;save-screenshot</code> takes bounds of given control and saves a screenshot to given path. Here are the images, saved as an execution result of the script above:
</p>
<p><a href="https://www.eclipse.org/rcptt/blog/2014/11/21/screenshots-with-rcptt.html">
Read more of this post
</a></p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[RCPTT Blog launched]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2014/11/11/rcptt-blog-launched.html"/>
<updated>2014-11-11T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2014/11/11/rcptt-blog-launched.html</id>
<content type="html"><![CDATA[
<p>Finally we've launched an RCPTT blog! We published a few older articles here, so that this blog wouldn't look too empty :).</p>
<p>Oh, and by the way, if you haven't noticed yet, now we've got a nice syntax colorer for ECL snippets (thanks to an awesome <a href="http://prismjs.com">prism.js</a> library):</p>
<p></p>
<pre ><code class="language-ecl">&#x200b;proc "find-tab-folder" [val activePage] {
loop [val index [int 0]] {
let [val folder [get-tab-folder -index $index]] {
let [val folderActivePage [$folder | get-property activePage -raw]] {
if [$folderActivePage | eq $activePage] {
$folder //returning result
} -else {
recur [$index | plus 1]
}
}
}
}
}
find-tab-folder "Task List" | get-object | save-screenshot "/tmp/tmp/tsk.png"
//get-property activePage | equals "Package Explorer" | verify-true
</code></pre>
<p>Things like rss/atom feeds and improved navigation are to be added in a nearest future.</p>
<p>Stay tuned!</p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[RCPTT 1.5.3 Released]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2014/10/23/1_5_3-released.html"/>
<updated>2014-10-23T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2014/10/23/1_5_3-released.html</id>
<content type="html"><![CDATA[
<p>On October, 23, we released a new bugfix version of RCP Testing Tool. The complete list of fixed issues is savailable on <a href="https://projects.eclipse.org/projects/technology.rcptt/releases/1.5.3/bugs">1.5.3 release page</a>, and the latest version can be downloaded from <a href="https://www.eclipse.org/rcptt/download">Downloads</a> page. In this topic I would like to outline a couple of my favourite improvements.</p>
<h3 id="encryption-of-password-fields-during-recording-%28%7B%7Bm.bugzilla%28%22436965%22%29%7D%7D%29">Encryption of password fields during recording (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=436965">#436965</a>)</h3>
<p>Now, if you type a password in a password field during recording, for example in a dialog like this</p>
<p><img src="https://www.eclipse.org/rcptt/shared/img/blog/1.5.3/passwords.png"/></p>
<p>Then recorded script would look like this:</p>
<p></p>
<pre data-line="5"><code class="language-ecl">&#x200b;with [get-window Preferences] {
with [get-window "Edit Proxy Entry"] {
get-editbox -after [get-label "User:"] | set-text ooo
get-editbox -after [get-label "Password:"]
| set-text [decrypt "Gd3oJsWozfDNuJuSAmjCmw=="] // !! &lt;--- decrypt
}
}
</code></pre>
<p><br/></p>
<p>So, the script does not store entered text directly, instead it records encrypted string as an argument to a special <code class="language-ecl">&#x200b;decrypt</code> command. During test case execution, this string is being decrypted and set into text field.</p>
<p><a href="https://www.eclipse.org/rcptt/blog/2014/10/23/1_5_3-released.html">
Read more of this post
</a></p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Regression Testing with RCP Testing Tool]]></title>
<link href="https://www.eclipse.org/rcptt/blog/2014/09/19/regression-testing.html"/>
<updated>2014-09-19T00:00:00+00:00</updated>
<id>https://www.eclipse.org/rcptt/blog/2014/09/19/regression-testing.html</id>
<content type="html"><![CDATA[
<p></p>
<p>This article is a shortened version of an article published for Eclipse Community newsletter (<a href="http://www.eclipse.org/community/eclipse_newsletter/2014/september/article3.php">September 2014</a>), and it demonstrates how to create UI tests with RCP Testing Tool. Existing Eclipse bugs from Eclipse bugzilla were used as scenarios for test cases. If you are not familiar with RCPTT, please check out our <a href="http://eclipse.org/rcptt">main page</a> and <a href="https://www.eclipse.org/rcptt/documentation/userguide/getstarted">Get Started</a> guide.</p>
<h3 id="preparing-test-development-environment">Preparing test development environment</h3>
<p>This is straightforward process and takes less than 10 minutes:</p>
<ol>
<li><a href="http://eclipse.org/rcptt/download">Download</a>, unpack, and launch RCPTT.</li>
<li>In a context menu of <span class="uiElement"> <img src="https://www.eclipse.org/rcptt/shared/img/ui-workspace.gif"></img> Test Explorer</span>
view select <span class="uiElement">New &#8594; <img src="https://www.eclipse.org/rcptt/shared/img/ui-rcptt-project.png"/> RCP Testing Tool Project</span>.</li>
<li>In a context menu of <span class="uiElement"> <img src="https://www.eclipse.org/rcptt/shared/img/ui-applications.gif"></img> Applications</span>
view select <span class="uiElement"><img src="https://www.eclipse.org/rcptt/shared/img/ui-new-aut.gif"/> New&#8230;</span> and browse for an application-under-test (I'm going to use Eclipse Luna).</li></li>
<li>Once you add an application-under-test, double-click it in <span class="uiElement"> <img src="https://www.eclipse.org/rcptt/shared/img/ui-applications.gif"></img> Applications</span>
view to launch.</li>
</ol>
<p>The final setup should look like this:</p>
<p><a href="https://www.eclipse.org/rcptt/shared/img/blog/regression/init.png"><img src="https://www.eclipse.org/rcptt/shared/img/blog/regression/init.png" width="600"/></a></p>
<p>That's it. Now you are ready to go. The general workflow for test case design looks like this:</p>
<ol>
<li>Describe an initial state using contexts.</li>
<li>Create a test case with required context references.</li>
<li>Record actions and assertions.</li>
<li>Modify recorded script if necessary.</li>
</ol>
<p>Now, let's design our first test case.
<p><a href="https://www.eclipse.org/rcptt/blog/2014/09/19/regression-testing.html">
Read more of this post
</a></p>
]]></content>
</entry>
</feed>