blob: d372abc4e25064ea259bc958e37530d8f5bb6cb6 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function expandCollapse(elem) {
if (document.getElementById) {
ecBlock = document.getElementById(elem);
if (ecBlock != undefined && ecBlock != null) {
if (ecBlock.style.display == "none"
|| ecBlock.style.display == null
|| ecBlock.style.display == "") {
//shows the info.
ecBlock.style.display = "block";
} else if (ecBlock.style.display == "block") {
//hide info
ecBlock.style.display = "none";
} else {
//catch any weird circumstances.
ecBlock.style.display = "block";
}
}
}
}
</script>
<link rel="stylesheet" type="text/css" href="css/style.css"></link>
<!--[if lte IE 7]> <link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/ie_style.css" media="screen"/> <![endif]-->
<!--[if IE 6]> <link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/ie6_style.css" media="screen"/> <![endif]-->
<!-- Dependencies -->
<!-- Source File -->
</head>
<body onload="parent.document.getElementById('frame').height = document.body.scrollHeight;">
<h1>Kategorien</h1>
<!-- Allgemeine Fragen -->
<h2><a href="#" onclick="javascript:expandCollapse('genfaq'); return false;">Allgemeine Fragen</a></h2>
<div id="genfaq" style="display: none">
<h3><a href="#" onclick="javascript:expandCollapse('keyword'); return false;">Was ist schl&uuml;sselwortgetriebenes Testen?</a></h3>
<div id="keyword" style="display: none">
<p>
Schl&uuml;sselwortgetriebenes Testen bedeutet, lesbare Tests modular zu erstellen. Tests bestehen aus wiederkehrenden abstrakten Aktionen
(Klicken, Selektieren, &Uuml;berpr&uuml;fen) und aus fachlichen Sequenzen solcher Aktionen (Einloggen, Anlegen / L&ouml;schen usw.),
die jeweils als Schl&uuml;sselw&ouml;rter abgebildet werden. So erreicht man durch Wiederverwendung eine gro&szlig;e Testabdeckung.
Auch der Wartungsaufwand ist gering, denn zentrale Ver&auml;nderungen aktualisieren alle referenzierten Schl&uuml;sselw&ouml;rter.
Im schl&uuml;sselwortgetriebenen Ansatz wird Wert auf die Teststruktur und das Testdesign gelegt.
</p>
<p>
Nach der Identifizierung der Schl&uuml;sselw&ouml;rter kann mit der Implementierung begonnen werden.
Hier bietet GUI<i>dancer</i> / Jubula einen besonderen Vorteil: Die Implementierung erfolgt ohne
Programmieraufwand. Somit spart man Zeit und Ressourcen und die gesamte Kontrolle &uuml;ber
die Tests bleibt bei den fachlichen Testern. Schl&uuml;sselw&ouml;rter k&ouml;nnen nun kombiniert werden
um Tests zu erstellen. Sollte man erst im Nachhinein feststellen, dass ein Schl&uuml;sselwort sinnvoll ist,
gibt es eine &quot;Refactor&quot; Funktion.
</p>
<p>
Zusammen mit GUI<i>dancer</i> / Jubula wird eine Schl&uuml;sselwort-Bibliothek installiert.
Diese beschleunigt die Testfallerstellung und erleichtert die Orientierung. </p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('noprog'); return false;">Wieso werden keine Programmierkenntnisse ben&ouml;tigt?</a></h3>
<div id="noprog" style="display: none">
<p>
Viele Werkzeuge erzeugen Programmcode, der als Basis f&uuml;r den automatisierten Test dient (z.B. Capture-Replay Tools).
Andere Werkzeuge setzen voraus, dass Code geschrieben wird, um den Test auszuf&uuml;hren (beispielsweise viele schl&uuml;sselwortgetriebene Tools).
Wenn Tests allerdings in Programmcode vorliegen, braucht man viel Zeit und Ressourcen f&uuml;r das Modularisieren und Parametrisieren der
Tests oder/aber um neue high-level Aktionen zu programmieren. Der Code f&uuml;r die Testautomatisierung wird schnell un&uuml;bersichtlich und
muss selbst gepflegt und sogar getestet werden! Der Testfortschritt ist klein und viele Projekte gehen eben wegen des unerwarteten Aufwands zugrunde.
</p>
<p>
Testautomatisierung anhand von Programmcode ist sehr zeitintensiv. Die auszuf&uuml;hrenden Aktionen m&uuml;ssen
plattform- und anwendungsunabh&auml;ngig sein. Zudem m&uuml;ssen sie high-level sein, damit ein Test aus mehr als einer
Reihe an einfachen Klicks besteht. Es m&uuml;ssen Gedanken gemacht werden, wie ein Testframework f&uuml;r Testausf&uuml;hrung
aussehen soll, einschlie&szlig;lich Synchronisation, Fehlerbehandlung und Testergebnisse.
</p>
<p>
Als GUI<i>dancer</i> oder Jubula Tester bleibt einem diese Arbeit erspart.
Wir haben uns die Zeit genommen, um den notwendigen Code zu entwerfen, erstellen, pflegen und testen.
So stellen wir high-level Aktionen zur Verf&uuml;gung, die plattform-, anwendung- und toolkitunabh&auml;ngig sind.
Au&szlig;erdem sind unsere Aktionen leicht verst&auml;ndlich und einfach zu verwenden. Sie enthalten schon interne Synchronisation,
Fehlerbehandlung und Ergebniskommunikation.
</p>
<p>
Das Ergebnis: Testautomatisierung mit GUI<i>dancer</i> oder Jubula ist erstaunlich produktiv.
Es wird keine Zeit verschwendet - kein Code wird f&uuml;r die Testausf&uuml;hrung gebraucht.
Neben dem Zeitgewinn hat man den Vorteil, dass Tests aus der Benutzerperspektive (als Black-Box Test)
geschrieben werden k&ouml;nnen. Alle n&ouml;tige Aktionen sind von uns vorgefertigt und mitgeliefert in einer Bibliothek.
Testerstellung erfolgt per Drag'n'Drop.
</p>
<p>
Die Vorteile unseres Ansatzes:
</p>
<ul>
<li>Durchgehend hohe Produktivit&auml;t</li>
<li>Tester sind unabh&auml;ngig von der Verf&uuml;gbarkeit und vom Input sog. Automation Experts oder Engineers</li>
<li>Einfache Testerstellung und -wartung</li>
<li>Lesbare Tests</li>
</ul>
<p>
Wenn Sie doch Unterst&uuml;tzung f&uuml;r Ihre eigenen Komponenten hinzuf&uuml;gen wollen,
k&ouml;nnen Sie diese &uuml;ber unsere Erweiterungsschnittstelle realisieren.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('rc'); return false;">Ist GUI<i>dancer</i> / Jubula ein Capture-Replay Tool?</a></h3>
<div id="rc" style="display: none">
<p>
GUI<i>dancer</i> und Jubula haben zwar einen <i>Beobachtungsmodus</i>, aber wir bezeichnen uns nicht als Capture-Replay Tool,
weil Tests auch anhand unserer Testfallbibliothek per Drag-and-Drop erstellt werden k&ouml;nnen. GUI<i>dancer</i> und Jubula haben
verschiedene Vorteile gegen&uuml;ber reinen Capture-Replay Werkzeugen:
</p>
<ul>
<li>Sie k&ouml;nnen noch vor der Verf&uuml;gbarkeit einer zu testenden Anwendung mit der Testerstellung anfangen.
Tests sind dann lauff&auml;hig, wenn eine Anwendung bereit ist. So finden Sie fr&uuml;hzeitig Fehler in der Software, wenn die
Behebungskosten noch gering sind. </li>
<li>Tests sind von Anfang an modular und strukturiert.
Es ist kein Programmieraufwand n&ouml;tig, um Tests zu schreiben oder zu pflegen.
Sogar der Beobachtungsmodus erzeugt lesbare Testschritte, die sich einfach zu wiederverwendbaren Modulen kombinieren lassen. </li>
<li>Unsere Aktionen sind abstrakt und sinnvoll konzipiert. Somit enthalten Tests keine unn&ouml;tigen Implementierungsdetails
und keine Redundanzen. &Auml;hnliche Aktionen lassen sich h&auml;ufig mit dem gleichen Schl&uuml;sselwort testen. So bleiben Ihre Tests wartbar und flexibel. </li>
<li>Wenn Sie unabh&auml;ngig von der zu testenden Anwendung schon mit der Testerstellung anfangen, testen Sie gegen
die Anforderungen statt gegen die Implementierung. </li>
</ul>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('gdtest'); return false;">Testet BREDEX GUI<i>dancer</i> mit GUI<i>dancer</i>?</a></h3>
<div id="gdtest" style="display: none">
<p>
Ja, wir automatisieren unsere GUI<i>dancer</i> Funktionstests sowie die Tests f&uuml;r unsere Aktionen mit GUI<i>dancer</i> selbst.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('strength'); return false;">Wo liegt GUI<i>dancer</i>s / Jubulas Hauptst&auml;rke?</a></h3>
<div id="strength" style="display: none">
<p>
Unsere Hauptst&auml;rke liegt in unserem einfachen aber machtvollen Wiederverwendungskonzept.
Wir glauben, dass Tests die gleichen Best Practices wie ein Softwareprojekt einsetzen sollten,
und zwar ohne Programmieraufwand. Die Erstellung wiederverwendbarer Bausteine ist daher der Schl&uuml;ssel zu einer erfolgreichen Testautomatisierung.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('load'); return false;">Ist GUI<i>dancer</i> / Jubula ein Last-Test Tool?</a></h3>
<div id="load" style="display: none">
<p>
Wir bezeichnen uns als funktionales GUI-Test Tool. Das hei&szlig;t, Sie k&ouml;nnen Ihre Business-Regeln, sowie Reihenfolgeabh&auml;ngigkeiten,
Oberfl&auml;chenszenarien wie Aktivieren von Buttons/Textfeldern, Eingaben und Ergebnisse usw., &uuml;ber die Oberfl&auml;che pr&uuml;fen. Es werden
keine Lasttests durchgef&uuml;hrt.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('roi'); return false;">Wie schnell kann ich die ersten Erfolge in der Testautomatisierung erwarten?</a></h3>
<div id="roi" style="display: none">
<p>
Nach der Installation laufen Ihre ersten Tests innerhalb k&uuml;rzester Zeit. Sogar am ersten Tag werden Sie Tests f&uuml;r Ihre Anwendung erstellen
k&ouml;nnen, die ein immer wachsendes Sicherhetsnetz bilden. Sie m&uuml;ssen keine Zeit f&uuml;r die Programmierung von Aktionen oder Funktionen verwenden,
da eine vorgefertigte Bibliothek an Aktionen mit GUI<i>dancer</i> / Jubula ausgeliefert wird. Dank der Modularit&auml;t und der Struktur eines GUI<i>dancer</i> / Jubula
Tests bleibt der Test-Fortschritt auch nach Ver&auml;nderungen an der zu testenden Anwendung gro&szlig;.
</p>
</div>
</div> <!-- Div for end of section -->
<!-- Technical FAQs -->
<h2><a href="#" onclick="javascript:expandCollapse('techfaq'); return false;">Technische Fragen</a></h2>
<div id="techfaq" style="display: none">
<h3><a href="#" onclick="javascript:expandCollapse('autstarter'); return false;">Ich bekomme keine Verbindung zum AUT-Agent</a></h3>
<div id="autstarter" style="display: none">
<p>
Sollten Sie beim Versuch sich mit dem AUT-Agent zu verbinden eine Fehlermeldung bekommen, &uuml;berpr&uuml;fen Sie bitte folgendes:
</p>
<ul>
<li>Sie haben den AUT-Agent aus dem Start-Men&uuml; oder &uuml;ber die Kommandozeile gestartet.</li>
<li>Sie haben die AUT-Agent Hostname und Portnummer richtig eingestellt und ausgew&auml;hlt. Informationen hierzu finden Sie in den Preferences in GUI<i>dancer</i>.</li>
</ul>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('testapps'); return false;">Welche Anwendungen kann ich testen?</a></h3>
<div id="testapps" style="display: none">
<p>
Mit GUI<i>dancer</i> / Jubula k&ouml;nnen Sie Ihre Java- (Swing, SWT/RCP) und HTML-Anwendungen testen.
Wir unterst&uuml;tzen au&szlig;erdem Anwendungen, die GEF (Graphical Editing Framework) Komponenten enthalten.
GUI<i>dancer</i>-Nutzer k&ouml;nnen auch Anwendungen testen, die mit .NET oder iOS geschrieben wurden.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('webstart'); return false;">Kann GUI<i>dancer</i> / Jubula Java Web Start Anwendungen testen?</a></h3>
<div id="webstart" style="display: none">
<p>
Sie k&ouml;nnen Java Web Start Anwendungen starten und testen, wenn die Anwendung zuerst heruntergeladen und im Dateisystem gespeichert wird.
Der Java Web Start Mechanismus selbst wird zur Zeit nicht unterst&uuml;tzt.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('sysvor'); return false;">Was sind die Systemvoraussetzungen?</a></h3>
<div id="sysvor" style="display: none">
<p>
Sie k&ouml;nnen &uuml;ber die Systemvoraussetzungen in unserem
<a href="http://www.bredex.de/web/tl_files/BredexDateien/guidancer/technicaldatasheet.pdf" target="_blank">technischen Datenblatt</a> lesen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('javaversion'); return false;">Welche Java-Version wird ben&ouml;tigt um GUI<i>dancer</i> / Jubula zu starten?</a></h3>
<div id="javaversion" style="display: none">
<p>
Sie k&ouml;nnen &uuml;ber die ben&ouml;tigte Java-Version in unserem
<a href="http://www.bredex.de/web/tl_files/BredexDateien/guidancer/technicaldatasheet.pdf" target="_blank">technischen Datenblatt</a> lesen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('gij'); return false;">Unterst&uuml;tzt GUI<i>dancer</i> / Jubula die GCJ/GIJ und OpenJDK Java Runtime Environments?</a></h3>
<div id="gij" style="display: none">
<p>
GUI<i>dancer</i> und Jubula werden mit der Sun JRE getestet. Die GCJ/GIJ und OpenJDK Java
Runtime Environments verwenden eine nicht-standard Implementierung und werden von uns nicht unterst&uuml;tzt.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('rcp'); return false;">Wie konfiguriere ich GUI<i>dancer</i> / Jubla um RCP-Anwendungen zu testen?</a></h3>
<div id="rcp" style="display: none">
<p>Wenn Sie RCP-Anwendungen testen wollen, m&uuml;ssen Sie den RCP Remote Control Plugin
ins Pluginverzeichnis Ihrer Anwendung entzippen. Wir empfehlen, dass dieser Vorgang
als Teil des Build-Prozesses f&uuml;r Ihre AUT gemacht wird. Sie k&ouml;nnen
den Plugin aber auch manuell hinzuf&uuml;gen.</p>
<ol>
<li>F&uuml;gen Sie den org.eclipse.jubula.rc.rcp jar-Datei dem Pluginsverzeichnis Ihrer AUT hinzu.</li>
<li>In der <b>configuration/config.ini</b> Datei für Ihre AUT, finden Sie den <b>osgi.bundles</b> Parameter und
f&uuml;gen Sie <b>,org.eclipse.jubula.rc.rcp@start</b> ans Ende des <b>osgi.bundles</b> Parameters hinzu.
<li>Starten Sie Ihre AUT (nicht als AUT von der ITE), schlie&szlig;en Sie sie und dann starten Sie sie erneut.</li>
<li>&Ouml;ffnen Sie <b>Help/About</b> in Ihrer AUT. In den Plugin Details sollten Sie
<i>org.eclipse.jubula.rc.rcp</i> und <i>org.eclipse.jubula.rc.rcp.common</i> finden k&ouml;nnen.
Falls nicht, sprechen Sie bitte mit einem Mitglied Ihres Entwicklungsteams, um &uuml;ber das Hinzuf&uuml;gen
der Plugins zu reden.
<li>Wenn Sie die Plugins sehen k&ouml;nnen, dann ist Ihre AUT korrekt konfiguriert. Sie k&ouml;nnen sie nun aus der ITE oder &uuml;ber autrun starten.</li>
</ol>
<p>
Weitere Anweisungen finden Sie im Handbuch.
</p>
<p>
Wenn Sie eine neue Version verwenden, m&uuml;ssen Sie den neuen RCP Remote Control Plugin installieren.
Wir empfehlen es, Ihre Anwendung einmal mit <b>-clean</b> zu starten, um sicherzustellen, dass der neue Plugin eingebunden wird.
</p>
<p>
In der AUT Configuration f&uuml;r Ihre RCP-Anwendung m&uuml;ssen Sie zus&auml;tzlich ein Tastatur-Layout angeben.
Geben Sie das Tastatur-Layout ein, das in Ihren Systemeigenschaften steht. Die tats&auml;chlich angeschlossene Tastatur hat keine Auswirkung.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('toolkit'); return false;">Was ist ein Toolkit?</a></h3>
<div id="toolkit" style="display: none">
<p>
Unsere Tests basieren auf sogenannten Toolkits. Ein Toolkit ist ein GUI-Framework. Die unterst&uuml;tzten Toolkits sind: Swing, SWT, RCP, GEF und HTML.
GUI<i>dancer</i> unterst&uuml;tzt zudem .NET.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('keyboard'); return false;">Was ist ein Tastatur-Layout?</a></h3>
<div id="keyboard" style="display: none">
<p>
Wenn Sie SWT- oder RCP-Anwendungen testen, m&uuml;ssen Sie ein Tastatur-Layout in der AUT Configuration angeben.
Dieses teilt dem Client wichtige Informationen &uuml;ber Ihr System mit. Geben Sie das Tastatur-Layout ein, das in Ihren
Systemeigenschaften steht. Die tats&auml;chlich angeschlossene Tastatur hat keine Auswirkung.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('addkeyboard'); return false;">Kann ich weitere Tastatur-Layouts hinzuf&uuml;gen?</a></h3>
<div id="addkeyboard" style="display: none">
<p>
Wenn Ihre Anwendung ein Tastatur-Layout verwendet, das in der Standard-Installation nicht unterst&uuml;tzt wird,
k&ouml;nnen Sie eine Keyboard-Mapping-Datei erstellen und hinzuf&uuml;gen. Anweisungen zur Erstellung und zum Hinzuf&uuml;gen der
Mapping-Datei finden Sie im Reference Manual.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('integration'); return false;">Gibt es Integrationsm&ouml;glichkeiten mit anderen Tools zum Anforderungsmanagement, Bug-Tracking oder Reporting?</a></h3>
<div id="integration" style="display: none">
<p>
Projekte k&ouml;nnen als xml-Dateien exportiert werden. Sie sind deshalb in anderen Tools einfach zu verwalten.
</p>
<p>
Sie k&ouml;nnen ebenfalls anhand eindeutiger IDs Ihre Testf&auml;lle in externen Programmen referenzieren und anhand dieser ID in Ihren Tests suchen.
</p>
<p>
In GUI<i>dancer</i> (die kommerzielle Version von Jubula) k&ouml;nnen Sie Testergebnisse anhand des BIRT-Engines &uuml;ber l&auml;ngere Zeit verfolgen.
Anbindungen mit externen Systemen sind ebenfalls &uuml;ber Mylyn m&ouml;glich.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('utf16'); return false;">K&ouml;nnen Anwendungen getestet werden, die UTF-16 Zeichen verwenden?</a></h3>
<div id="utf16" style="display: none">
<p>
Ja, wir sind kompatibel sowohl mit UTF-8 als auch mit UTF-16 Anwendungen.
Das hei&szlig;t, Sie k&ouml;nnen sogar japanische oder chinesische Versionen Ihrer Anwendung testen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('db'); return false;">Kann ich auf Datenbanken in einem Test zugreifen?</a></h3>
<div id="db" style="display: none">
<p>
Es gibt keinen Testschritt, der es direkt erm&ouml;glicht, auf eine Datenbank zuzugreifen.
Externe Skripte k&ouml;nnen jedoch im Test ausgef&uuml;hrt werden. Ergebnisse von Datenbankabfragen k&ouml;nnen au&szlig;erdem in
Excel-Tabellen gespeichert werden. Excel-Tabellen k&ouml;nnen wiederum als Datenquellen f&uuml;r Tests benutzt werden.
</p>
<p>
Wenn Sie Ihre eigenen Datenbankabfragen unterst&uuml;tzen wollen, k&ouml;nnen Sie dieses mithilfe einer Erweiterung realisieren.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('extend'); return false;">Kann GUI<i>dancer</i> / Jubula erweitert werden?</a></h3>
<div id="extend" style="display: none">
<p>
Sie k&ouml;nnen GUI<i>dancer</i> oder Jubula um Ihre eigenen Komponenten und Aktionen anhand der API erweitern.
Sie k&ouml;nnen Erweiterungen f&uuml;r Swing, SWT und RCP schreiben, allerdings nicht f&uuml;r HTML oder .NET. Informationen zur Erweiterung finden
Sie im Extension Manual. Erweiterungen werden in Java geschrieben.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('debug'); return false;">Hat GUI<i>dancer</i> / Jubula einen Debug-Modus, um Tests schrittweise auszuf&uuml;hren?</a></h3>
<div id="debug" style="display: none">
<p>
Das schrittweise Ausf&uuml;hren von Tests ist nicht m&ouml;glich. Sie k&ouml;nnen allerdings einstellen,
dass der Test im Fehlerfall pausiert wird, um den genauen Fehlerzustand zu sehen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('headless'); return false;">Kann man Tests von der Kommandozeile starten?</a></h3>
<div id="headless" style="display: none">
<p>
Ja, &uuml;ber den sogenannten Test Executor k&ouml;nnen Sie Ihre Tests starten. Der Test Executor wird im User Manual beschrieben.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('ant'); return false;">Kann man Tests mit Ant starten?</a></h3>
<div id="ant" style="display: none">
<p>
Wir haben keine direkte Unterst&uuml;tzung von Ant-Targets. Sie k&ouml;nnen allerdings den <b>exec</b> Befehl verwenden:
</p>
<p>
< exec executable="testexec.exe" vmlauncher="false" failonerror="false" resultproperty="testResult" />
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('bestpractices'); return false;">Gibt es Best Practices, um GUI<i>dancer</i> / Jubula in die Build-Umgebung zu integrieren?</a></h3>
<div id="bestpractices" style="display: none">
<p>
Wir empfehlen Ihnen, ein Tool oder ein Framework zur Continuous Build Integration zu verwenden.
Somit k&ouml;nnen Sie Ihre Tests ausf&uuml;hren lassen, und die Ergebnisse evaluieren.
</p>
<p>
Wir benutzen Hudson als Continuous Build Integration Framework. Hudson l&auml;uft auf einem Testrechner,
auf dem sich eine stabile Testumgebung und Konfiguration befinden. Unsere Tests werden von hier aus ausgef&uuml;hrt.
Wir lassen AUT Agent sowohl lokal als auch auf anderen Testrechnern laufen. Hudson:
</p>
<ul>
<li>checkt die Quellen aus dem Repository aus,</li>
<li>baut die Anwendung,</li>
<li> startet die Tests, und</li>
<li>liefert die Testergebnisse.</li>
</ul>
<p>
Tests f&uuml;r Hauptfunktionalit&auml;ten (Smoke Tests) laufen nach jedem Check-In. Gr&ouml;&szlig;ere Tests
laufen jede Nacht und sehr zeitintensive Tests werden am Wochenende ausgef&uuml;hrt.
Somit k&ouml;nnen wir eine zeitnahe Fehlererkennung sicherstellen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('ports'); return false;">Welche Ports brauchen Sie um zu testen?</a></h3>
<div id="ports" style="display: none">
<p>
Wir ben&ouml;tigen verschiedene Ports zur Kommunikation in zwei Richtungen:
</p>
<ul>
<li>Richtung Client - AUT Agent: diesen Port bestimmen Sie selber in den Preferences.</li>
<li>Richtung AUT - Client: dieser Port wird bei jedem AUT-Start dynamisch bestimmt und kann zur Zeit nicht vom Benutzer
festgelegt werden. Deshalb m&uuml;ssen alle auf der Testmaschine verf&uuml;gbaren Ports auch auf dem Rechner, der die Tests steuert, freigeschaltet werden. </li>
</ul>
<p>
Alternativ zur Testausf&uuml;hrung &uuml;ber Rechnergrenzen hinweg, k&ouml;nnen Sie auch den Test Executor lokal auf dem
Rechner starten und mit dem lokalen AUT Agent verbinden und damit wiederum mit der lokalen AUT kommunizieren lassen.
So umgehen Sie das Problem nicht n&auml;her definierbare Ports freischalten zu m&uuml;ssen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('synchronize'); return false;">Wie kann ich zwei Testabl&auml;ufe miteinander synchronisieren?</a></h3>
<div id="synchronize" style="display: none">
<p>
Sie k&ouml;nnen verschiedene AUTs w&auml;hrend eines Tests mit einem ''Test Job'' bedienen.
In einem Test Job k&ouml;nnen sich mehrere Test Suites befinden, die nacheinander ausgef&uuml;hrt werden.
Jede Test Suite kann eine andere Anwendung bedienen.
</p>
</div>
</div> <!-- Div for end of section -->
<!-- Test specification -->
<h2><a href="#" onclick="javascript:expandCollapse('testspezifaq'); return false;">Testspezifikationsfragen</a></h2>
<div id="testspezifaq" style="display: none">
<h3><a href="#" onclick="javascript:expandCollapse('start'); return false;">Wo sollte ich anfangen?</a></h3>
<div id="start" style="display: none">
<p>
Wir empfehlen Ihnen, sich erstmal die Welcome Page anzuschauen.
Danach, rufen Sie &uuml;ber das <b>Help</b> Men&uuml; die Cheat Sheets im Integrated Test Environment auf.
Somit lernen Sie die Konzepte und Funktionen kennen.
</p>
<p>
GUI<i>dancer</i> und Jubula sind leistungsstarke Werkzeuge und unterst&uuml;tzen die Wiederverwendbarkeit von Testf&auml;llen.
Aus diesem Grund empfehlen wir, dass Sie sich Gedanken dar&uuml;ber machen, wie Ihre Test am besten strukturieren.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('structure'); return false;">Wie and warum sollte ich meine Tests strukturieren?</a></h3>
<div id="structure" style="display: none">
<p>
GUI<i>dancer</i> und Jubula Tests werden aus Bausteinen (Testf&auml;llen, Schl&uuml;sselw&ouml;rtern, Modulen)
zusammengebaut. Nach der Spezifikation eines Testfalls, kann dieser wiederverwendet werden. Der Vorteil daran ist, dass
Ihre Tests eine bessere Struktur haben. Je h&auml;ufiger Sie Testf&auml;lle wiederverwenden, desto wartbarer sind Ihre Tests,
denn zentrale Ver&auml;nderungen aktualisieren dann einen ganzen Test.
</p>
<p>
GUI<i>dancer</i> / Jubula unterst&uuml;tzt Wiederverwendbarkeit, indem er Ihnen auf verschiedene Weise anbietet,
Testf&auml;lle m&ouml;glichst flexibel zu halten.
Je abstrakter der Testfall, desto einfacher ist es, ihn an vielen Stellen wiederzuverwenden.
</p>
<p>
Wir empfehlen Ihnen, Ihre Daten getrennt von den Testf&auml;llen zu verwalten. Benutzen Sie in Ihren Testschritten
Referenzen statt fester Parameterwerten. Sie k&ouml;nnen Ihre Gesamtmenge an Testf&auml;llen reduzieren,
wenn Sie die zu testende Komponente in einem Testfall ver&auml;ndern. Wir unterst&uuml;tzen au&szlig;erdem
abstrakte Komponenten, um die Flexibilit&auml;t Ihrer Tests zu verbessern.
Mit der ausgelieferten Testfallbibliothek k&ouml;nnen Sie strukturierte, wartbare Tests einfach per Drag&amp;Drop erstellen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('help'); return false;">Wie kann ich Hilfe finden?</a></h3>
<div id="help" style="display: none">
<p>
Wir bieten Ihnen verschiedene Hilfsmittel f&uuml;r Ihren Einstieg an:
</p>
<ul>
<li>Dr&uuml;cken Sie F1 in der Oberfl&auml;che, um kontext-sensitive Hilfe zu sehen</li>
<li>I&Uuml;ber das Help-Men&uuml; k&ouml;nnen Sie das Handbuch und das Reference Manual in einem Browser &ouml;ffnen</li>
<li>Sie k&ouml;nnen Community-Support f&uuml;r Jubula auf der
<a href="http://www.eclipse.org/jubula/support.php">Jubula Website</a> sowie professionellen Support f&uuml;r Jubula und GUI<i>dancer</i>
&uuml;ber die <a href="https://cgi.bredex.de/GUIdancerShop/prices.do?lang=de">BREDEX-Seiten</a> erwerben.</li>
<li>BREDEX GmbH bietet au&szlig;erdem Schulungen und Beratung zu GUI<i>dancer</i> und Jubula an.</li>
</ul>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('abscomps'); return false;">Was sind abstrakte Komponenten?</a></h3>
<div id="abscomps" style="display: none">
<p>
Als ''abstrakt'' werden allgemeine Komponenten bezeichnet, welche die genaue Implementierung offen lassen.
Im Gegensatz zu sogenannten 'konkreten' Komponenten, die auf einen Komponententyp begrenzt sind (z.B Baum, Tabelle),
schlie&szlig;t eine abstrakte Komponente mehrere konkrete Komponenten ein, welche die gleichen Aktionen auf &auml;hnlichen
Komponenten ausf&uuml;hren. Die abstrakte ''Component with Text Input'' kann zum Beispiel den Text in verschiedenen Komponenten pr&uuml;fen.
</p>
<p>
Die Wiederverwendbarkeit Ihrer Testf&auml;lle wird durch solche Komponenten erh&ouml;ht. Ihre Allgemeinheit macht sie einfach wiederverwendbar,
denn die genauen Komponenten werden erst &uuml;ber das Object Mapping festgelegt. Abstrakte Komponenten verleihen Ihren Tests zudem eine gewisse Wartbarkeit,
da eine Ver&auml;nderung des Komponententyps einfach dem urspr&uuml;glichen Komponentennamen zugeordnet werden kann. Ein Testschritt zur Dateneingabe in einem
Textfeld, der mit einer 'Component with Text' spezifiziert wurde, kann sp&auml;ter auf einer Combobox gemappt werden.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('path'); return false;">Was ist ein Pfad?</a></h3>
<div id="path" style="display: none">
<p>
GUI<i>dancer</i> und Jubula verwenden viele benutzerfreundliche high-level Aktionen.
Dementsprechend verlangen viele Aktionen (z.B. auf B&auml;ume, Men&uuml;leisten, usw.) einen <i>Pfad</i> als Parameter,
weil sich die Komponenten so besser bedienen lassen. Der Pfad ist nichts anderes als der Weg durch das Men&uuml; oder durch den Baum,
um zum gew&uuml;nschten Eintrag oder Blatt zu kommen. Pfade k&ouml;nnen meistens entweder &uuml;ber den Inhalt, oder Textpfad (z.B. File/Edit)
oder &uuml;ber die Position der Elemente, den Indexpfad (z.B. 1/2) angegeben werden.
</p>
<p>
Wichtig bei Pfadangaben ist, dass ein Trennsymbol ('/') zwischen Elementen benutzt wird. Die Indexnummerierung beginnt immer bei ''1''.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('contextmenu'); return false;">Wie kann ich ein Kontext-Men&uuml; auf einer Komponente &ouml;ffnen?</a></h3>
<div id="contextmenu" style="display: none">
<p>
Kontext-Men&uuml;s werden in der Regel dadurch ge&ouml;ffnet, dass mit der rechten Maustaste auf einer bestimmten Stelle in einer
Komponente geklickt wird. Der Inhalt des Men&uuml;s h&auml;ngt von dieser Stelle und dem Zustand der Anwendung ab. Genauso &ouml;ffnen
GUI<i>dancer</i> und Jubula Kontext-Men&uuml;s. Sie w&auml;hlen eine Komponente aus, auf der Sie ein Men&uuml; &ouml;ffnen m&ouml;chten.
Danach verwenden Sie eine Aktion auf dieser Komponente, um das Kontext-Men&uuml; zu &ouml;ffnen und einen Eintrag darin zu selektieren (das &Ouml;ffnen
und das Selektieren sind beide Bestandteil der Aktion "Select from Context Menu").Sie haben
verschiedene M&ouml;glichkeiten anzugeben, wo das Men&uuml; ge&ouml;ffnet werden sollte, und wie der Men&uuml;eintrag selektiert werden sollte.
Diese Details werden &uuml;ber die Parameter der Aktion bestimmt.
</p>
<p>
Das Object Mapping erfolgt ganz normal indem Sie die Komponente aus der Anwendung einsammeln, auf der Sie das Kontext-Men&uuml; &ouml;ffnen m&ouml;chten
(z.B. Tree, Table).
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('regex'); return false;">Regul&auml;re Ausdr&uuml;cke zur Textselektion/-pr&uuml;fung.</a></h3>
<div id="regex" style="display: none">
<p>
Benutzen Sie regul&auml;re Ausdr&uuml;cke f&uuml;r Textselektion und -pr&uuml;fung, um Ihre
Tests robust zu halten. Sie k&ouml;nnen, zum Beispiel:
</p>
<ul>
<li>Men&uuml;s </li>
<li>B&auml;ume</li>
<li>Reiter</li>
<li>Andere Komponenten mit Text</li>
</ul>
<p>
mit regul&auml;ren Ausdr&uuml;cken pr&uuml;fen. Mit dem ''Operator'' <b>matches</b> k&ouml;nnen Sie regul&auml;re Ausdr&uuml;cke im Textstring verwenden.
<b>Simple match</b> ist eine einfache M&ouml;glichkeit, Wildcards zu benutzen. Das Sternchen (*) ersetzt ein oder mehrere Zeichen (z.B. <b>Projekt*</b>).
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('lib'); return false;">Wie kann ich die mitgelieferte Testfallbibliothek verwenden?</a></h3>
<div id="lib" style="display: none">
<p>
In GUI<i>dancer</i> und Jubula gibt es Projekte mit atomaren Testf&auml;llen, die alle unterst&uuml;tzen Aktionen abdecken.
</p>
<p>
Selektieren Sie den wiederzuverwendenden Testfall aus der Bibliothek und f&uuml;gen Sie ihn per Drag&amp;Drop zu Ihrem Testfall hinzu.
Geben Sie Parameterwerte oder Referenzen im Properties View ein, und &uuml;berschreiben Sie den Komponentennamen im Component Names View mit einem
sinnvollen Namen f&uuml;r die zu testende Komponente.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('popup'); return false;">Wie kann ich Pop-Ups und Fehler im Test handhaben?</a></h3>
<div id="popup" style="display: none">
<p>
Benutzen Sie <b>Event Handler</b>, um mit gelegentlichen Pop-Ups und anderen Fehlern umzugehen.
Event Handler sind Testf&auml;lle, die nur im Fehlerfall aufgerufen werden. Ein Event Handler zum Schlie&szlig;en eines Pop-Ups
(mit <b>Alt+F4</b>, zum Beispiel) k&ouml;nnte spezifiziert werden, um mit einem fehlgeschlagenen Testschritt umzugehen. Der Test kann dann weiterlaufen.
Sie finden ein ''Cheat Sheet'' zum Einsetzen von Event Handlers im <b>Help</b> Men&uuml; in der Anwendung.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('native'); return false;">Kann GUI<i>dancer</i> / Jubula Native Dialoge testen?</a></h3>
<div id="native" style="display: none">
<p>
Sie k&ouml;nnen Native Elemente (z.B. Auswahldialoge zum &Ouml;ffnen einer Datei) mit den Aktionen <b>external key combination</b>
und <b>external input text</b> bedienen. Diese Aktionen sind unter der ''Application'' Komponente zu finden und erlauben die Eingabe von Text
und das Schicken von Tastaturbefehlen an native Elemente.
</p>
<p>
Sie k&ouml;nnen auch die Aktionen <b>Copy to clipboard</b> und anschlie&szlig;end <b>Ctrl+V</b> (oder <b>Mod+V</b> f&uuml;r plattformunabh&auml;ngige Tests)
als Tastatureingabe (Komponente: ''Application'') verwenden, um Text und Dateipfade in native Dialoge einzugeben.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('check'); return false;">Wie setze ich Checkpoints?</a></h3>
<div id="check" style="display: none">
<p>
Ein Testfall zum Pr&uuml;fen von Eigenschaften ist ein Testfall wie jeder andere. W&auml;hlen Sie die Komponente,
auf der Sie eine Pr&uuml;fung ausf&uuml;hren wollen (z.B. eine <b>component with text</b>). Selektieren Sie dann die auszuf&uuml;hrende Pr&uuml;faktion
(z.B. <b>check text</b>). Geben Sie den zu pr&uuml;fenden Text als Parameter ein. Wenn Sie regul&auml;re Ausdr&uuml;cke f&uuml;r
Stringvergleiche verwenden, werden Ihre Tests robuster.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('empty'); return false;">Wie kann ich pr&uuml;fen, ob ein Feld leer ist?</a></h3>
<div id="empty" style="display: none">
<p>
Sie k&ouml;nnen leere Felder pr&uuml;fen, indem Sie:
</p>
<ul>
<li>Den Operator <b>matches</b> ausw&auml;hlen, und <b>'^\s*$'</b> oder <b>'^$'</b> als Parameter eingeben (einschlie&szlig;lich Anf&uuml;hrungszeichen). </li>
<li>Den Operator <b>equals</b>, <b>matches</b> oder <b>simple match</b> ausw&auml;hlen, und <b>''</b> (zwei Anf&uuml;hrungszeichen) als Parameter eingeben.</li>
</ul>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('esc'); return false;">Wie lautet das Escape-Symbol f&uuml;r Sonderzeichen?</a></h3>
<div id="esc" style="display: none">
<p>
Mit einem Backslash k&ouml;nnen Sie einzelne Sonderzeichen aufheben.
Um einen ganzen String mit verschiedenen Sonderzeichen einzugeben, verwenden Sie einfache Anf&uuml;hrungszeichen (z.B. <b>'</b>String<b>'</b>).
</p>
<p>
Im Reference Manual finden Sie weitere Informationen &uuml;ber Sonderzeichen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('loop'); return false;">Kann ich z.B. &quot;if...else&quot; Bedingungen spezifizieren?</a></h3>
<div id="loop" style="display: none">
<p>
In einem Test ist es einfach, Bedingungen wie die folgenden zu spezifizieren:
</p>
<ul>
<li>&quot;Warte bis der Text <b>Geladen</b> in der Statuszeile erscheint&quot;</li>
<li>&quot;Wenn die Checkbox nicht selektiert ist, dann selektiere sie&quot;</li>
<li>&quot;Wenn diese Aktion beim ersten Versuch fehlschl&auml;gt, f&uuml;hre andere (oder keine) Aktionen aus und
danach die zuvor fehlgeschlagene Aktion erneut.&quot; Die Anzahl an Versuchen kann konfiguriert werden. </li>
<li>&quot;Wenn diese Aktion fehlschl&auml;gt, f&uuml;hre eine oder mehrere Aktionen aus.&quot; Die im Fehlerfall
ausgef&uuml;hrten Aktionen k&ouml;nnen beliebige Aktionen sein, beispielsweise einen Screenshot machen oder die Anwendung neustarten. </li>
</ul>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('boolean'); return false;">Wie gebe ich boolesche Werte in eine Excel-Tabelle ein?</a></h3>
<div id="boolean" style="display: none">
<p>
Die Eingabe boolescher Werte in Excel kann zu Problemen f&uuml;hren.
Gibt man <b>true</b> oder <b>false</b> in eine Zelle ein, wird dieses automatisch in einen Excel-booleschen Wert umwandelt.
Der Test kann diesen Wert zur Laufzeit nicht auslesen.
</p>
<p>
Sie m&uuml;ssen die Formatierung f&uuml;r die Spalte auf <b>Text</b> setzen, damit die eingegebenen Werte nicht von Excel als
boolesch interpretiert werden. Somit kann der Client die Werte f&uuml;r die Testausf&uuml;hrung auslesen und verwenden.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('langs'); return false;">K&ouml;nnen Testdaten internationalisiert werden?</a></h3>
<div id="langs" style="display: none">
<p>
Ja, Sie k&ouml;nnen Ihre Testdaten einfach &uuml;bersetzen, damit Ihre Tests in allen Anwendungssprachen laufen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('restart'); return false;">Was kann ich machen, wenn meine Anwendung mit der Restart Aktion nicht richtig funktioniert?</a></h3>
<div id="restart" style="display: none">
<p>
Unsere <i>Restart</i> Aktion beendet die AUT mittels <i>java.lang.Runtime.exit()</i>. Wenn Ihre Anwendung nicht richtig
heruntergefahren wird oder nicht richtig wieder startet, k&ouml;nnen Sie folgendes hinzuf&uuml;gen:
<i>java.lang.Runtime.addShutdownHook()</i>. Diese Zeile wird vor dem Beenden ausgef&uuml;hrt und kann sich um alle Details k&uuml;mmern,
die f&uuml;r das richtige Herunterfahren ben&ouml;tigt werden.
</p>
</div>
</div> <!-- Div for End of Section -->
<!-- --------Installation questions -->
<h2><a href="#" onclick="javascript:expandCollapse('install'); return false;">Fragen zur Installation</a></h2>
<div id="install" style="display: none">
<h3><a href="#" onclick="javascript:expandCollapse('setup'); return false;">Was soll ich tun, wenn das Installationsprogramm sich pl&ouml;tzlich ohne Fehlermeldung beendet?</a></h3>
<div id="setup" style="display: none">
<p>
Es gibt ein bekanntes Problem mit einer Environment-Variablen, die von verschiedenen Werkzeugen, auch von anderen Test-Tools, gesetzt wird.
Die Variable hei&szlig;t ''_JAVA_OPTION'' und kann die Lauff&auml;higkeit von GUI<i>dancer</i> und anderen Java-Programmen beeintr&auml;chtigen.
Sie wird eventuell auch dann nicht entfernt, wenn das Programm deinstalliert wird.
</p>
<p>
Sie k&ouml;nnen sehen, ob diese Variable auf Ihrem Rechner installiert ist, indem Sie auf Ihrem Windows-Desktop mit der rechten
Maustaste auf das 'Arbeitsplatz' Icon klicken und 'Eigenschaften' ausw&auml;hlen. Selektieren Sie dann den 'Erweitert' Reiter im erschienenen
Dialog und klicken Sie auf den 'Environment-Variablen' Knopf. Sie werden dann eine Liste der Environment-Variablen sehen k&ouml;nnen.
Wenn die '_JAVA_OPTION' Variable aufgelistet ist und Sie das Programm bereits deinstalliert haben,
dann k&ouml;nnen Sie die Variable einfach l&ouml;schen.
</p>
</div>
<!-- ********** -->
<h3><a href="#" onclick="javascript:expandCollapse('newdb'); return false;">Darf ich das GUI<i>dancer</i> Schema mit anderen Schemata zusammen benutzen?</a></h3>
<div id="newdb" style="display: none">
<p>
Nein, das GUI<i>dancer</i> Schema darf nur f&uuml;r die GUI<i>dancer</i> Datenbank benutzt werden.
Keine Tabellen von anderen Anwendungen d&uuml;rfen sich in dem f&uuml;r GUI<i>dancer</i> bereitgestellten Schema befinden.
</p>
</div>
</div> <!-- Div for end of Section -->
<!-- -Object mapping -->
<h2><a href="#" onclick="javascript:expandCollapse('omfaq'); return false;">Fragen zum Object Mapping</a></h2>
<div id="omfaq" style="display: none">
<h3><a href="#" onclick="javascript:expandCollapse('omborder'); return false;">Warum erscheint der gr&uuml;ne Rahmen nicht um einzelne Baumknoten/Reiter?</a></h3>
<div id="omborder" style="display: none">
<p>
Unser Object-Mapping unterst&uuml;tzt verschiedene Komponenten, z.B. B&auml;ume, Tabellen, Comboboxen.
Wenn Sie eine Komponente aus der Anwendung ''einsammeln'', sind es genau solche unterst&uuml;tzten Komponenten, die gemappt
werden (und entsprechend mit einem gr&uuml;nen Rahmen versehen werden). Wenn Sie zum Beispiel einen Testschritt spezifiziert haben,
der eine Aktion auf einem Baum ausf&uuml;hrt, dann m&uuml;ssen Sie die (ganze) Baum-Komponente mappen.
</p>
</div>
</div> <!-- Div for end of section -->
<!-- Misc questions -->
<h2><a href="#" onclick="javascript:expandCollapse('misc'); return false;">Sonstige Fragen</a></h2>
<div id="misc" style="display: none">
<h3><a href="#" onclick="javascript:expandCollapse('logitech'); return false;">Probleme mit Logitech M&auml;usen und Eclipse Wizards.</a></h3>
<div id="logitech" style="display: none">
<p>
Es gibt ein bekanntes Problem mit dem Zusammenspiel zwischen Logitech M&auml;usen und Eclipse.
Das Programm <b>SetPoint.exe</b>, das h&auml;ufig mit einer Logitech Maus installiert wird,
f&uuml;hrt zu leeren Wizards in Eclipse. Das Beenden der SetPoint.exe und das Neustarten von Eclipse (oder GUI<i>dancer</i> / Jubula) behebt das Problem.
</p>
<p>
Weitere Informationen finden Sie auf der <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=205823" target="blank">Eclipse Bugs</a> Seite.
</p>
</div>
</div> <!-- - Div for end of section -->
</body>
</html>