<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://doc.expecco.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sr</id>
	<title>expecco Wiki (Version 25.x) - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://doc.expecco.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sr"/>
	<link rel="alternate" type="text/html" href="https://doc.expecco.de/wiki/Spezial:Beitr%C3%A4ge/Sr"/>
	<updated>2026-04-26T00:57:43Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27196</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27196"/>
		<updated>2022-10-20T12:40:04Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Verwendung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO im Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Verwendung==&lt;br /&gt;
- Gehen Sie in AIDYMO zu &amp;quot;Anforderungen&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hier finden Sie alle Issues. Diese Liste besteht bis auf den roten/grünen Balken aus Jira Daten. Klicken Sie auf den roten/grünen Balken um zu den Validierungsoptionen zu gelangen. Unter der Auswahl &amp;quot;Automatisch&amp;quot; können Sie das Issue mit mehreren Definitionen verknüpfen. Wann immer eine dieser Definitionen ausgeführt wird, wird dessen Ergebnis in den Validierungsstatus des Issues eingespielt -&amp;gt; Der Balken wird mehr oder weniger rot. In der List können Sie nach Validierung sortieren. Nach Wunsch kann jede Änderung am Validierungstatus auch direkt ins Jira zurück gespielt werden und dort auf ein Attribute oder Ähnliches abgebildet werden.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27195</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27195"/>
		<updated>2022-10-20T12:37:34Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Verwendung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO im Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Verwendung==&lt;br /&gt;
- Gehen Sie in AIDYMO zu &amp;quot;Anforderungen&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hier finden Sie alle Issues. Diese Liste besteht bis auf den roten/grünen Balken rein aus den Daten der Issues aus Jira. Klicken Sie auf den roten/grünen Balken um zu den Validierungsoptionen zu gelangen. Unter der Auswahl &amp;quot;Automatisch&amp;quot; können Sie das Issue mit mehreren Definitions verknüpfen. Wann immer eine dieser Definitions ausgeführt wird, wird dessen Ergebnis in den Validierungsstatus des Issues eingespielt -&amp;gt; Der Balken wird mehr rot oder mehr grün.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27194</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27194"/>
		<updated>2022-10-20T12:37:22Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Verwendung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO im Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Verwendung==&lt;br /&gt;
- Gehen Sie in AIDYMO zu &amp;quot;Anforderungen&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hier finden Sie alle Issues. Diess Liste besteht bis auf den roten/grünen Balken rein aus den Daten der Issues aus Jira. Klicken Sie auf den roten/grünen Balken um zu den Validierungsoptionen zu gelangen. Unter der Auswahl &amp;quot;Automatisch&amp;quot; können Sie das Issue mit mehreren Definitions verknüpfen. Wann immer eine dieser Definitions ausgeführt wird, wird dessen Ergebnis in den Validierungsstatus des Issues eingespielt -&amp;gt; Der Balken wird mehr rot oder mehr grün.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27193</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27193"/>
		<updated>2022-10-20T12:36:50Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Verwendung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO im Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Verwendung==&lt;br /&gt;
- Gehen Sie in AIDYMO zu &amp;quot;Anforderungen&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hier finden Sie alle Issues. Dies Liste besteht bis auf den roten/grünen Balken rein aus den Daten der Issues aus Jira. Klicken Sie auf den roten/grünen Balken um zu den Validierungsoptionen zu gelangen. Unter der Auswahl &amp;quot;Automatisch&amp;quot; können Sie das Issue mit mehreren Definitions verknüpfen. Wann immer eine dieser Definitions ausgeführt wird, wird dessen Ergebnis in den Validierungsstatus des Issues eingespielt -&amp;gt; Der Balken wird mehr rot oder mehr grün.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27192</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27192"/>
		<updated>2022-10-20T12:20:51Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Arbeiten mit den Jira Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO im Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Verwendung==&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27191</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27191"/>
		<updated>2022-10-20T12:20:10Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Einrichtung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO im Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arbeiten mit den Jira Issues==&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27190</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27190"/>
		<updated>2022-10-20T12:19:41Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Einrichtung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO in Ihrem Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arbeiten mit den Jira Issues==&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27189</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27189"/>
		<updated>2022-10-20T12:19:28Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Einrichtung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO in Ihrem Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Arbeiten mit den Jira Issues==&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27188</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27188"/>
		<updated>2022-10-20T12:18:03Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Einrichtung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO in Ihrem Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;Datenaktualisierung&amp;quot; kann man einen Interval festlegen. Dieser bestimmt wie oft AIDYMO von die Issues von Jira abholt/abgleicht. Zum sofortigen Abgleich &amp;quot;Jetzt aktualisieren&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27187</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27187"/>
		<updated>2022-10-20T12:12:03Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Einrichtung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO in Ihrem Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch die entsprechende Rechte zum Listen aller erwarteten Jira Issues hat. Prüfen Sie die Anmeldedaten über &amp;quot;Autorisierung testen&amp;quot;. Im &amp;quot;Fehler&amp;quot; Fall, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten zusätzliche Informationen was falsch sein könnte.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27186</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27186"/>
		<updated>2022-10-20T12:10:33Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Einrichtung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO in Ihrem Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tragen Sie nun die Adresse von Jira ein. Bspw.: &amp;quot;http://jira.exept.de&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Verwenden Sie einen Jira Benutzer der auch entsprechende Rechte hat zum Listen aller erwarteten Jira Issues.&lt;br /&gt;
Testen Sie die Anmeldeten über &amp;quot;Autorisierung testen&amp;quot;. Sollte der Test schiefgehen -&amp;gt; &amp;quot;Fehler&amp;quot;, können Sie die Maus über &amp;quot;Fehler&amp;quot; setzten und erhalten dann zusätzliche Informationen.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27185</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27185"/>
		<updated>2022-10-20T11:22:45Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Einrichtung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;br /&gt;
- Öffnen Sie AIDYMO in Ihrem Webbrowser&amp;lt;br&amp;gt;&lt;br /&gt;
- Melden Sie sich als Administrator an&amp;lt;br&amp;gt;&lt;br /&gt;
- Gehen Sie zu &amp;quot;Einstellungen&amp;quot; -&amp;gt; &amp;quot;Plugins&amp;quot; -&amp;gt; &amp;quot;Jira&amp;quot;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27184</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27184"/>
		<updated>2022-10-20T11:09:34Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung mit AIDYMO-Automation (Tests)&amp;lt;br&amp;gt;&lt;br /&gt;
- AIDYMO aktualisiert automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, bsplw. was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen)&lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27183</id>
		<title>AIDYMO Jira</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=AIDYMO_Jira&amp;diff=27183"/>
		<updated>2022-10-20T11:08:26Z</updated>

		<summary type="html">&lt;p&gt;Sr: Die Seite wurde neu angelegt: „==Funktionen== - Listung der Jira Issues in AIDYMO&amp;lt;br&amp;gt; - Verknüpfung der Jira Issues mit AIDYMO Tests&amp;lt;br&amp;gt; - Gefahrene AIDYMO Tests aktualisieren automatisch d…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funktionen==&lt;br /&gt;
- Listung der Jira Issues in AIDYMO&amp;lt;br&amp;gt;&lt;br /&gt;
- Verknüpfung der Jira Issues mit AIDYMO Tests&amp;lt;br&amp;gt;&lt;br /&gt;
- Gefahrene AIDYMO Tests aktualisieren automatisch den Status der Jira Issues&amp;lt;br&amp;gt;&lt;br /&gt;
- Sicht auf die Testabdeckung per Jira Issua in AIDYMO&amp;lt;br&amp;gt;&lt;br /&gt;
- Callback in das Jira Issue (Nach Wunsch, was wird im Issue geändert, wenn Test erfolgreich/fehlgeschlagen) &lt;br /&gt;
&lt;br /&gt;
==Einrichtung==&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Hauptseite&amp;diff=27182</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Hauptseite&amp;diff=27182"/>
		<updated>2022-10-20T08:40:58Z</updated>

		<summary type="html">&lt;p&gt;Sr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Hauptseite/en|English Version]]&lt;br /&gt;
&lt;br /&gt;
Klicken Sie links auf &amp;quot;Letzte Änderungen&amp;quot; um die neuesten Einträge in der Dokumentation zu sehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;expecco&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-wrap:wrap; padding:0; white-space:nowrap&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Icon_Landingpage.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Für Einsteiger&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Tutorials]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Was ist expecco?|Allgemeine Informationen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[usageHints/en|Hinweise zur Bedienung]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Glossary|Begriffserklärung]] (Glossar)&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Features|expecco Feature-List]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Testorganisation|Testorganisation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[FAQ]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Icon_Landingpage5.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Installation&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Installation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Installing additional Frameworks/en| Installation zusätzlicher Tools (Node, Python, ...)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Personal Settings|Persönliche&amp;amp;nbsp;Einstellungen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Configuration &amp;amp; Setup|Konfiguration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Anbindung expecco ALM]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[SAP_Testing|Anbindung expecco an SAP]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Spezifische Anpassung]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco UI]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco Mobile Remote App]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Probleme &amp;amp; Fehler]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		 &amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Icon_Landingpage4.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Werkzeuge&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[API von Elementaraktionen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Debugger]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Editoren]]&amp;lt;/li&amp;gt;		&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Standard Libraries/Bibliotheken]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Weitere Werkzeuge]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Weitere Funktionen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Icon_Landingpage6.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Reportgenerierung&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Report Generation|Reportgenerierung]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Errors during Execution|Fehler während der Ausführung]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Secret Strings|Geheime Zeichenketten und Passwörter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	 &amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Erweiterung_plugin.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Erweiterungen (Plugins)&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[GUI Testing]]&lt;br /&gt;
				&amp;lt;ul&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;[[Java GUI Plugins|Java Swing/FX/SWT UI Testing]]&amp;lt;/li&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;[[Mobile Testing Plugin|Mobile Testing auf Android und iOS]]&amp;lt;/li&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;[[WindowsAutomation Reference 2.0|UI Testing mit der Windows Automation Library]]&amp;lt;/li&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;[[Selenium_WebDriver_Plugin|Web Testing mit Selenium WebDriver]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                                        &amp;lt;li&amp;gt;[[VNC_Plugin_Reference|VNC UI Testing]]&amp;lt;/li&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;[[GUI Testing|Weitere GUI Testing Plugins]]&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;/ul&amp;gt;&lt;br /&gt;
			&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Schnittstellen zum SUT]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[ManualTest]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Produktivit&amp;amp;auml;t]]&lt;br /&gt;
				&amp;lt;ul&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;[[GIT Plugin]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                                        &amp;lt;li&amp;gt;[[HG Plugin (Mercurial)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;[[CVS Plugin]]&amp;lt;/li&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;[[Anbindung expecco ALM | expeccoALM Schnittstelle]]&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;/ul&amp;gt;&lt;br /&gt;
			&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Weitere Plugins]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe;  margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Icon_Landingpage3.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Elemente der Testsuite&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Tree Elements|Tree Elemente]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Folder Element|Ordner]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Testplan Element]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Aktionen/Aktionsblöcke]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Datatype Element|Datentyp Element]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Inventory Element]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Skill Element]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Resource Element|Ressource Element]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Attachment Element|Anhänge]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[ReportTemplate Element|Report Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		 &amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Diagramm.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Diagramm - Elemente&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[DiagramElements-Step|Schritt]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Pins (Ein - Ausgänge)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Code Ausführung]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[DiagramElements-Connection|Verbindung]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[DiagramElements-Pin|Pin Beschreibung]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[DiagramElements-Annotation|Notiz]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[DiagramElements-Probe|Messfühler]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		 &amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Refresh.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Sonstiges&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Release Notes 22.x]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Release Notes 21.x]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Release Notes 20.x]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Release Notes 19.x]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Release Notes 18.x]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Release Notes 2.x]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Release Notes 1.x]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Future releases expecco|Zukünftige Releases]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Smalltalk]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Beispiele_icon.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Beispiele&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
                &amp;lt;span style=&amp;quot;padding:0 1em;font-size:0.9em&amp;quot;&amp;gt;Sie haben Fragen, wie ein Projekt aussieht?&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
		&amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;amp;nbsp;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Beispiele | Hier finden Sie weitere Anwendungsbeispiele.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Beispiele_icon.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Unterstützung weiterer Qualitätsmanagement Tools&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
		&amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Jira_Plugin_Reference|Jira]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[PolarionPlugin_Reference|Polarion]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Aqua_Plugin_Reference|Aqua]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Starting_expecco_via_Command_Line#Integration_with_Jenkins|Jenkins Integration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;clear:left&amp;quot;&amp;gt;expecco ALM&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-wrap:wrap; padding:0; white-space:nowrap&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Sonstiges-Info.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Allgemein&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Was ist expecco ALM?]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Was ist der expecco Lizenzserver?]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Anbindung expecco ALM]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Rollen und Rechte]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Filter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[FAQ expeccoALM/en | FAQ]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Icon_Landingpage5.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Installation/Einrichten&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco ALM Installation|Installation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco ALM Installation Patches|expecco ALM Installation Patches]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco ALM Einrichten Vorgehensweise|expecco ALM Einrichten]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco ALM expecco Patch Service |Patchservice für expecco]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		 &amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Refresh.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Plugins&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[AIDYMO Jira|Atlassian Jira]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div style=&amp;quot;background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		 &amp;lt;span style=&amp;quot;padding-left:0.6em&amp;quot;&amp;gt;[[Datei:Refresh.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;Sonstiges&amp;lt;/span&amp;gt;&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		  &amp;lt;ul style=&amp;quot;font-size:0.8em; padding:0.7em 1em 1em 2.4em&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco ALM App]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Installation Lizenzserver]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco ALM Release Notes|Release Notes]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[expecco ALM Known Issues|Known Issues]]&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Datei:ReportExecutionTree.png&amp;diff=25452</id>
		<title>Datei:ReportExecutionTree.png</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Datei:ReportExecutionTree.png&amp;diff=25452"/>
		<updated>2021-12-08T10:10:51Z</updated>

		<summary type="html">&lt;p&gt;Sr: Sr lud eine neue Version von Datei:ReportExecutionTree.png hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25451</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25451"/>
		<updated>2021-12-08T10:10:13Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Activities&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeActivity.png|200px|thumb|right|Default vs. &amp;quot;Include Activity&amp;quot;]]If checked you can select activities (every result tree item, regardless if test case, test plan, compound, elementary etc.) which will be presented as test cases of one test plan.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Tag&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities which have at least one matching tag.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Name&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities by their name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completely Match&#039;&#039;&#039;&amp;lt;br&amp;gt;The full name must match completely, if not a matching substring is sufficient.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Use Match Pattern&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, you are able to define a match pattern string for the activity name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Unexecuted Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeUnexecuted.png|200px|thumb|right|Default vs. &amp;quot;Include Unexecuted&amp;quot;]]If checked also unexecuted but as test case expected activities will count as test case.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Hierachy within the Testcase Name&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportPrintHierachy.png|200px|thumb|right|Default vs. &amp;quot;Print Hierachy&amp;quot;]]If checked, the hierarchy will be printed inside the name column of the flat overview list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print the Execution Result Tree Instead of one Tree per Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportExecutionTree.png|200px|thumb|right|Default vs. &amp;quot;Print Execution Tree&amp;quot;]]If checked, the execution tree (same tree as shown in the expecco test plan editor) will be printed. If not, a tree for every test case is printed (using the test case as root item).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Activities if they have a Nested Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;Do not print activities which are not related to any test case.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Sub Activities of Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;Define how the sub activities of a test case has to be printed.&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Datei:ReportExecutionTree.png&amp;diff=25448</id>
		<title>Datei:ReportExecutionTree.png</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Datei:ReportExecutionTree.png&amp;diff=25448"/>
		<updated>2021-12-08T10:07:38Z</updated>

		<summary type="html">&lt;p&gt;Sr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25447</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25447"/>
		<updated>2021-12-08T10:07:21Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Activities&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeActivity.png|200px|thumb|right|Default vs. &amp;quot;Include Activity&amp;quot;]]If checked you can select activities (every result tree item, regardless if test case, test plan, compound, elementary etc.) which will be presented as test cases of one test plan.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Tag&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities which have at least one matching tag.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Name&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities by their name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completely Match&#039;&#039;&#039;&amp;lt;br&amp;gt;The full name must match completely, if not a matching substring is sufficient.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Use Match Pattern&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, you are able to define a match pattern string for the activity name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Unexecuted Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeUnexecuted.png|200px|thumb|right|Default vs. &amp;quot;Include Unexecuted&amp;quot;]]If checked also unexecuted but as test case expected activities will count as test case.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Hierachy within the Testcase Name&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportPrintHierachy.png|200px|thumb|right|Default vs. &amp;quot;Print Hierachy&amp;quot;]]If checked, the hierarchy will be printed inside the name column of the flat overview list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print the Execution Result Tree Instead of one Tree per Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportExecutionTree.png|200px|thumb|right|Default vs. &amp;quot;Print Execution Tree&amp;quot;]]If checked, the execution tree (same tree as shown in the expecco test plan editor) will be printed. If not, a tree for every test case is printed (using the test case as root item).&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Datei:ReportPrintHierachy.png&amp;diff=25438</id>
		<title>Datei:ReportPrintHierachy.png</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Datei:ReportPrintHierachy.png&amp;diff=25438"/>
		<updated>2021-12-08T09:51:56Z</updated>

		<summary type="html">&lt;p&gt;Sr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25437</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25437"/>
		<updated>2021-12-08T09:49:58Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Activities&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeActivity.png|200px|thumb|right|Default vs. &amp;quot;Include Activity&amp;quot;]]If checked you can select activities (every result tree item, regardless if test case, test plan, compound, elementary etc.) which will be presented as test cases of one test plan.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Tag&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities which have at least one matching tag.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Name&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities by their name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completely Match&#039;&#039;&#039;&amp;lt;br&amp;gt;The full name must match completely, if not a matching substring is sufficient.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Use Match Pattern&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, you are able to define a match pattern string for the activity name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Unexecuted Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeUnexecuted.png|200px|thumb|right|Default vs. &amp;quot;Include Unexecuted&amp;quot;]]If checked also unexecuted but as test case expected activities will count as test case.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Hierachy within the Testcase Name&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportPrintHierachy.png|200px|thumb|right|Default vs. &amp;quot;Print Hierachy&amp;quot;]]If checked, the hierarchy will be printed inside the name column of the flat overview list.&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Datei:ReportIncludeUnexecuted.png&amp;diff=25435</id>
		<title>Datei:ReportIncludeUnexecuted.png</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Datei:ReportIncludeUnexecuted.png&amp;diff=25435"/>
		<updated>2021-12-08T09:47:47Z</updated>

		<summary type="html">&lt;p&gt;Sr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25432</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25432"/>
		<updated>2021-12-08T09:44:28Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Activities&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeActivity.png|200px|thumb|right|Default vs. &amp;quot;Include Activity&amp;quot;]]If checked you can select activities (every result tree item, regardless if test case, test plan, compound, elementary etc.) which will be presented as test cases of one test plan.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Tag&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities which have at least one matching tag.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Name&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities by their name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completely Match&#039;&#039;&#039;&amp;lt;br&amp;gt;The full name must match completely, if not a matching substring is sufficient.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Use Match Pattern&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, you are able to define a match pattern string for the activity name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Unexecuted Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeUnexecuted.png|200px|thumb|right|Default vs. &amp;quot;Include Unexecuted&amp;quot;]]If checked also unexecuted but as test case expected activities will count as test case.&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25431</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25431"/>
		<updated>2021-12-08T09:43:54Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Activities&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeActivity.png|200px|thumb|right|Default vs. &amp;quot;Include Activity&amp;quot;]]If checked you can select activities (every result tree item, regardless if test case, test plan, compound, elementary etc.) which will be presented as test cases of one test plan.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Tag&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities which have at least one matching tag.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activities with Tag&#039;&#039;&#039;&amp;lt;br&amp;gt;Select activities by their name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completely Match&#039;&#039;&#039;&amp;lt;br&amp;gt;The full name must match completely, if not a matching substring is sufficient.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Use Match Pattern&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, you are able to define a match pattern string for the activity name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Unexecuted Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeUnexecuted.png|200px|thumb|right|Default vs. &amp;quot;Include Unexecuted&amp;quot;]]If checked also unexecuted but as test case expected activities will count as test case.&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Datei:ReportIncludeActivity.png&amp;diff=25428</id>
		<title>Datei:ReportIncludeActivity.png</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Datei:ReportIncludeActivity.png&amp;diff=25428"/>
		<updated>2021-12-08T09:07:30Z</updated>

		<summary type="html">&lt;p&gt;Sr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25427</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25427"/>
		<updated>2021-12-08T09:07:07Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Activities&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportIncludeActivity.png|200px|thumb|right|Default vs. &amp;quot;ReportIncludeActivity&amp;quot;]]If checked you can select activities (every result tree item, regardless if test case, test plan, compound, elementary etc.) which will be presented as test cases of one test plan.&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25426</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25426"/>
		<updated>2021-12-08T09:00:03Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Activities&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked you can select activities (every result tree item, regardless if test case, test plan, compound, elementary etc.) which will be presented as test cases of one test plan.&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25425</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25425"/>
		<updated>2021-12-08T08:53:57Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25424</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25424"/>
		<updated>2021-12-08T08:53:23Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25421</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25421"/>
		<updated>2021-12-07T10:54:09Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Include Nested Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
=====Include Nested Test Cases=====&lt;br /&gt;
[[Bild:ReportNestedTestCasesOn.png|200px|thumb|right|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25420</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25420"/>
		<updated>2021-12-07T10:49:31Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
=====Include Nested Test Cases=====&lt;br /&gt;
[[Bild:ReportNestedTestCasesOn.png|200px|thumb|left|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25419</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25419"/>
		<updated>2021-12-07T10:48:38Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
[[Bild:ReportNestedTestCasesOn.png|200px|thumb|left|Default vs. &amp;quot;Include Nested Test Cases&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25418</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25418"/>
		<updated>2021-12-07T10:47:28Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
[[Bild:ReportNestedTestCasesOn.png|200px|thumb|left|Default vs. &amp;quot;Nested Test Cases&amp;quot; on]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25417</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25417"/>
		<updated>2021-12-07T10:46:35Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
[[Bild:ReportNestedTestCasesOn.png|200px|thumb|left|Report Nested Test Cases On]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25416</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25416"/>
		<updated>2021-12-07T10:46:04Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
[[Bild:ReportNestedTestCasesOn.png]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Datei:ReportNestedTestCasesOn.png&amp;diff=25415</id>
		<title>Datei:ReportNestedTestCasesOn.png</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Datei:ReportNestedTestCasesOn.png&amp;diff=25415"/>
		<updated>2021-12-07T10:45:23Z</updated>

		<summary type="html">&lt;p&gt;Sr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25414</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25414"/>
		<updated>2021-12-07T10:44:59Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
[[Bild:ReportNestedTestCasesOn.png|Report Nested Test Cases On]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25409</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25409"/>
		<updated>2021-12-07T08:59:05Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Custom Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Include Nested Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If checked all nested test cases (list items of nested test plans) will count as test cases (instead of just the list items of the root test plan).&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_21.x&amp;diff=25408</id>
		<title>Release Notes 21.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_21.x&amp;diff=25408"/>
		<updated>2021-12-07T08:50:41Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Release 21.2 (December 2021) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 20.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 21.2 (December 2021) ==&lt;br /&gt;
* Feature: [[Report_Generation/en#Custom_Test_Cases|enhanced definition for custom test cases in the report]].&lt;br /&gt;
* Feature: nullable types (output pin attribute).&lt;br /&gt;
* Feature: value conversion (output pin attribute).&lt;br /&gt;
* Feature: [[DiagramElements-Pin/en#Input_Pin_Duplicate_Backslashes_Attribute|backslash duplication (input pin attribute)]].&lt;br /&gt;
* Feature: default data representation can be specified in attachment.&lt;br /&gt;
* Feature: copy/paste of testplan items now copies all attributes.&lt;br /&gt;
* Feature: [[Expecco_Reflection_Library | Reflection Library]]: additional actions for import, save and pin manipulations.&lt;br /&gt;
* Feature: Matlab support and better GNU Octave documentation ([[Octave_Script_Action_Tutorial |Tutorial]])&lt;br /&gt;
* Feature: Hotkeys to start,stop or pause a test run (default to CTRL-F1, CTRL-F2 and F6).&lt;br /&gt;
* Feature: release of [[PhysicalValues/en |physical values support]].&lt;br /&gt;
* Feature: new number class [[Number_API_Functions#Fixed_Decimals|FixedDecimal]] (special for monetary values)&lt;br /&gt;
* Feature: new number classes [[Number_API_Functions#QDouble|QDouble]] and [[Number_API_Functions#LargeFloat|LargeFloat]] for higher precision (experimental)&lt;br /&gt;
* Feature: Support of Java 16 for plugins using Java (Java GUI, Selenium WebDriver, Mobile Testing)&lt;br /&gt;
* Feature: Basic recording for JavaFX.&lt;br /&gt;
* Feature: [[Testplan_Editor-TestplanListView_Editor/en#SeverityIgnoreLimit|FAIL severity levels and limit setting to proceed with test]]&lt;br /&gt;
* Feature: [[QT_Testing/en#QtQuickQML|Testing QT-Quick / QML programs]]&lt;br /&gt;
* Feature: Testplan step in diagram has additional output pins for verdict and activityLog&lt;br /&gt;
* Feature: [[Starting expecco via Command Line/en#Utility Functions|&amp;quot;--vdiff&amp;quot; command line argument]] (visual diff)&lt;br /&gt;
* Feature: Added Lintcheck for [[Common_Errors/en#Self-Retriggering_does_not_Work | &amp;quot;Retrigger does not Work&amp;quot; situation]]&lt;br /&gt;
* Feature: support individual [[WSDLPlugin Reference/en#SOAP_timeout_pin|timeout pins for SOAP actions]]&lt;br /&gt;
* Feature: filter for showing unreferenced environment variables (only visible in expert mode)&lt;br /&gt;
* Feature: search for blocks defining environment variables that are never used in the &amp;quot;Special&amp;quot; tab.&lt;br /&gt;
* Feature: support for multicast UDP packets in the StandardLibrary&lt;br /&gt;
* Bugfix: corrected handling of .lnk (link) files on Windows in autoReImport&lt;br /&gt;
* Bugfix: [[Settings LookAndFeelSettings/en#Raise_Expecco_Window_when_Execution_Stopped_or_Finished |autoraise when finished]] setting: raised expecco above dialogs and popup menus&lt;br /&gt;
* Bugfix: JS code with complicated expression may break when interrupted by GC&lt;br /&gt;
* Change: The JavaGUITester.jar for Java testing has been enhanced. If you are testing remote, you have to copy the new version onto your remote machine.&lt;br /&gt;
&lt;br /&gt;
== Release 21.1 (July 2021) ==&lt;br /&gt;
* Feature: Support for XMPP/Jabber instant messaging in expecco and the StandardLibrary.&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;Clear Variable&#039;&#039;&amp;quot; in the testsuite environment editor&#039;s popup menu.&lt;br /&gt;
* Feature: Shell environment variables for scripts and bridges in the [[Settings_ExternalToolsSettings/en#Environment_Variables|&amp;quot;External Script Interpreters&amp;quot; settings]].&lt;br /&gt;
* Feature: Java-Plugins (Swing, SWT, FX) are combined to a unified usage: The CommonJavaGUITestLibrary contains new element blocks, which work with each of the three technologies. For applications containing more than one technology, these new blocks use compound paths to an embedded element. Context switch blocks are not needed. For more information see the [[Java_GUI_Plugins/en#Compound_Paths| Compound Paths]]. These new blocks only work with the current expecco version. The old blocks in the specific libraries are still working and use the old path behaviour. Both types can be used side by side.&lt;br /&gt;
* Feature: Java-Plugins (Swing, SWT, FX) support the CommonUILibrary.&lt;br /&gt;
* Feature: callEB (direct call of another elementary block) now supports a variable number of pins in the called action.&lt;br /&gt;
* Feature: &amp;lt;kbd&amp;gt;Ctrl-Shift-R&amp;lt;/kbd&amp;gt; shortcut to replace a step by the clipboard&#039;s action in the diagram editor.&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;SkipSubactivitiesInTrace&#039;&#039;&amp;quot; flag also for test cases (in test plan).&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;SkipSuccessfulSubactivitiesInTrace&#039;&#039;&amp;quot; flag for steps and action blocks.&lt;br /&gt;
* Feature: bridged Python code supports breakpoints and single steppping.&lt;br /&gt;
* Feature: improved element filter in the GUIBrowser.&lt;br /&gt;
* Feature: autoclose flag for control GUI (in the project&#039;s execution flags). This also affects the [[Manual_Test_Tutorial/en#Automatic_Close_when_no_longer_Needed | manual test wizard]].&lt;br /&gt;
* Feature: [[Attachment_Element/en#Encrypting_an_Attachment.27s_Contents | encrypted attachments]] (for passwords, etc.)&lt;br /&gt;
* Feature: SOAP additionally handles application/soap+xml Content-Type (but is still SOAP 1.1)&lt;br /&gt;
* Feature: the terminal has a recorder built in&lt;br /&gt;
* Feature: C-Bridge determines suffix of ccScript automatically&lt;br /&gt;
* Feature: Groovy updated to version 3.0.8&lt;br /&gt;
* Feature: Groovy blocks now support Unicode characters&lt;br /&gt;
* STD-LIB: New actions to control the &amp;quot;Control &amp;amp; Monitor&amp;quot; window &lt;br /&gt;
* UI Enhancement: better syntax error reporting in the editor (especially for bridged C actions).&lt;br /&gt;
* UI Enhancement: the [[Settings_CodeEditorSettings/en#Cursor_Behavior_at_Line-End | default line-end cursor behavior]] in text editors changed to conform to other editors.&lt;br /&gt;
* UI Enhancement: [[Settings_KeyboardSettings/en#Language_Specific_Dead_Keys | language specific dead keys]].&lt;br /&gt;
* UI Enhancement: Testcases with warnings (but otherwise successful) are marked with a yellow success icon.&lt;br /&gt;
* UI Enhancement: help-menu items to open a [[How_to_Program/en#Find_Functions_by_Example | Method Finder]] or an Action Finder.&lt;br /&gt;
* Bugfix: Actions directly called by another elementary action (via callEB) were not logged completely.&lt;br /&gt;
* Bugfix: actions with suppressed activity log (&amp;quot;&#039;&#039;skipInTrace&#039;&#039;&amp;quot; flag) failed to provide the execution time at that output pin.&lt;br /&gt;
* Bugfix: SQLite interface did not retrieve blobs.&lt;br /&gt;
* Bugfix: secret strings are now also hidden from the data inspector.&lt;br /&gt;
* Bugfix: secret strings were not always hidden from the report and activity log.&lt;br /&gt;
* Bugfix: alert boxes opened by bridge code did not auto-confirm (see [[Settings_ExecutionSettings/en#Auto-Confirm_Dialog_Boxes|settings]]).&lt;br /&gt;
* Bugfix: Python2.x bridges crashed with non-Ascii characters in source code (str() function problem).&lt;br /&gt;
* Bugfix: Condition check/set in testcase settings works with multiple variables.&lt;br /&gt;
* Bugfix: Condition set in testcase settings can set a variable defined in the testsuite environment (and not only in the executor environment).&lt;br /&gt;
* Bugfix: JavaFX applications without the module javafx.web can now be automated.&lt;br /&gt;
* Change: SeleniumWebDriverLibrary now supports only expecco version 18.2 and newer, backward compatibility code has been removed.&lt;br /&gt;
* Change: The JavaGUITester.jar for Java testing has been enhanced. If you are testing remote, you have to copy the new version onto your remote machine.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_21.x&amp;diff=25407</id>
		<title>Release Notes 21.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_21.x&amp;diff=25407"/>
		<updated>2021-12-07T08:50:21Z</updated>

		<summary type="html">&lt;p&gt;Sr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 20.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 21.2 (December 2021) ==&lt;br /&gt;
* Feature: [Report_Generation/en#Custom_Test_Cases|enhanced definition for custom test cases in the report]].&lt;br /&gt;
* Feature: nullable types (output pin attribute).&lt;br /&gt;
* Feature: value conversion (output pin attribute).&lt;br /&gt;
* Feature: [[DiagramElements-Pin/en#Input_Pin_Duplicate_Backslashes_Attribute|backslash duplication (input pin attribute)]].&lt;br /&gt;
* Feature: default data representation can be specified in attachment.&lt;br /&gt;
* Feature: copy/paste of testplan items now copies all attributes.&lt;br /&gt;
* Feature: [[Expecco_Reflection_Library | Reflection Library]]: additional actions for import, save and pin manipulations.&lt;br /&gt;
* Feature: Matlab support and better GNU Octave documentation ([[Octave_Script_Action_Tutorial |Tutorial]])&lt;br /&gt;
* Feature: Hotkeys to start,stop or pause a test run (default to CTRL-F1, CTRL-F2 and F6).&lt;br /&gt;
* Feature: release of [[PhysicalValues/en |physical values support]].&lt;br /&gt;
* Feature: new number class [[Number_API_Functions#Fixed_Decimals|FixedDecimal]] (special for monetary values)&lt;br /&gt;
* Feature: new number classes [[Number_API_Functions#QDouble|QDouble]] and [[Number_API_Functions#LargeFloat|LargeFloat]] for higher precision (experimental)&lt;br /&gt;
* Feature: Support of Java 16 for plugins using Java (Java GUI, Selenium WebDriver, Mobile Testing)&lt;br /&gt;
* Feature: Basic recording for JavaFX.&lt;br /&gt;
* Feature: [[Testplan_Editor-TestplanListView_Editor/en#SeverityIgnoreLimit|FAIL severity levels and limit setting to proceed with test]]&lt;br /&gt;
* Feature: [[QT_Testing/en#QtQuickQML|Testing QT-Quick / QML programs]]&lt;br /&gt;
* Feature: Testplan step in diagram has additional output pins for verdict and activityLog&lt;br /&gt;
* Feature: [[Starting expecco via Command Line/en#Utility Functions|&amp;quot;--vdiff&amp;quot; command line argument]] (visual diff)&lt;br /&gt;
* Feature: Added Lintcheck for [[Common_Errors/en#Self-Retriggering_does_not_Work | &amp;quot;Retrigger does not Work&amp;quot; situation]]&lt;br /&gt;
* Feature: support individual [[WSDLPlugin Reference/en#SOAP_timeout_pin|timeout pins for SOAP actions]]&lt;br /&gt;
* Feature: filter for showing unreferenced environment variables (only visible in expert mode)&lt;br /&gt;
* Feature: search for blocks defining environment variables that are never used in the &amp;quot;Special&amp;quot; tab.&lt;br /&gt;
* Feature: support for multicast UDP packets in the StandardLibrary&lt;br /&gt;
* Bugfix: corrected handling of .lnk (link) files on Windows in autoReImport&lt;br /&gt;
* Bugfix: [[Settings LookAndFeelSettings/en#Raise_Expecco_Window_when_Execution_Stopped_or_Finished |autoraise when finished]] setting: raised expecco above dialogs and popup menus&lt;br /&gt;
* Bugfix: JS code with complicated expression may break when interrupted by GC&lt;br /&gt;
* Change: The JavaGUITester.jar for Java testing has been enhanced. If you are testing remote, you have to copy the new version onto your remote machine.&lt;br /&gt;
&lt;br /&gt;
== Release 21.1 (July 2021) ==&lt;br /&gt;
* Feature: Support for XMPP/Jabber instant messaging in expecco and the StandardLibrary.&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;Clear Variable&#039;&#039;&amp;quot; in the testsuite environment editor&#039;s popup menu.&lt;br /&gt;
* Feature: Shell environment variables for scripts and bridges in the [[Settings_ExternalToolsSettings/en#Environment_Variables|&amp;quot;External Script Interpreters&amp;quot; settings]].&lt;br /&gt;
* Feature: Java-Plugins (Swing, SWT, FX) are combined to a unified usage: The CommonJavaGUITestLibrary contains new element blocks, which work with each of the three technologies. For applications containing more than one technology, these new blocks use compound paths to an embedded element. Context switch blocks are not needed. For more information see the [[Java_GUI_Plugins/en#Compound_Paths| Compound Paths]]. These new blocks only work with the current expecco version. The old blocks in the specific libraries are still working and use the old path behaviour. Both types can be used side by side.&lt;br /&gt;
* Feature: Java-Plugins (Swing, SWT, FX) support the CommonUILibrary.&lt;br /&gt;
* Feature: callEB (direct call of another elementary block) now supports a variable number of pins in the called action.&lt;br /&gt;
* Feature: &amp;lt;kbd&amp;gt;Ctrl-Shift-R&amp;lt;/kbd&amp;gt; shortcut to replace a step by the clipboard&#039;s action in the diagram editor.&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;SkipSubactivitiesInTrace&#039;&#039;&amp;quot; flag also for test cases (in test plan).&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;SkipSuccessfulSubactivitiesInTrace&#039;&#039;&amp;quot; flag for steps and action blocks.&lt;br /&gt;
* Feature: bridged Python code supports breakpoints and single steppping.&lt;br /&gt;
* Feature: improved element filter in the GUIBrowser.&lt;br /&gt;
* Feature: autoclose flag for control GUI (in the project&#039;s execution flags). This also affects the [[Manual_Test_Tutorial/en#Automatic_Close_when_no_longer_Needed | manual test wizard]].&lt;br /&gt;
* Feature: [[Attachment_Element/en#Encrypting_an_Attachment.27s_Contents | encrypted attachments]] (for passwords, etc.)&lt;br /&gt;
* Feature: SOAP additionally handles application/soap+xml Content-Type (but is still SOAP 1.1)&lt;br /&gt;
* Feature: the terminal has a recorder built in&lt;br /&gt;
* Feature: C-Bridge determines suffix of ccScript automatically&lt;br /&gt;
* Feature: Groovy updated to version 3.0.8&lt;br /&gt;
* Feature: Groovy blocks now support Unicode characters&lt;br /&gt;
* STD-LIB: New actions to control the &amp;quot;Control &amp;amp; Monitor&amp;quot; window &lt;br /&gt;
* UI Enhancement: better syntax error reporting in the editor (especially for bridged C actions).&lt;br /&gt;
* UI Enhancement: the [[Settings_CodeEditorSettings/en#Cursor_Behavior_at_Line-End | default line-end cursor behavior]] in text editors changed to conform to other editors.&lt;br /&gt;
* UI Enhancement: [[Settings_KeyboardSettings/en#Language_Specific_Dead_Keys | language specific dead keys]].&lt;br /&gt;
* UI Enhancement: Testcases with warnings (but otherwise successful) are marked with a yellow success icon.&lt;br /&gt;
* UI Enhancement: help-menu items to open a [[How_to_Program/en#Find_Functions_by_Example | Method Finder]] or an Action Finder.&lt;br /&gt;
* Bugfix: Actions directly called by another elementary action (via callEB) were not logged completely.&lt;br /&gt;
* Bugfix: actions with suppressed activity log (&amp;quot;&#039;&#039;skipInTrace&#039;&#039;&amp;quot; flag) failed to provide the execution time at that output pin.&lt;br /&gt;
* Bugfix: SQLite interface did not retrieve blobs.&lt;br /&gt;
* Bugfix: secret strings are now also hidden from the data inspector.&lt;br /&gt;
* Bugfix: secret strings were not always hidden from the report and activity log.&lt;br /&gt;
* Bugfix: alert boxes opened by bridge code did not auto-confirm (see [[Settings_ExecutionSettings/en#Auto-Confirm_Dialog_Boxes|settings]]).&lt;br /&gt;
* Bugfix: Python2.x bridges crashed with non-Ascii characters in source code (str() function problem).&lt;br /&gt;
* Bugfix: Condition check/set in testcase settings works with multiple variables.&lt;br /&gt;
* Bugfix: Condition set in testcase settings can set a variable defined in the testsuite environment (and not only in the executor environment).&lt;br /&gt;
* Bugfix: JavaFX applications without the module javafx.web can now be automated.&lt;br /&gt;
* Change: SeleniumWebDriverLibrary now supports only expecco version 18.2 and newer, backward compatibility code has been removed.&lt;br /&gt;
* Change: The JavaGUITester.jar for Java testing has been enhanced. If you are testing remote, you have to copy the new version onto your remote machine.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25406</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25406"/>
		<updated>2021-12-07T08:45:08Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* How to Customize a Report Template */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25405</id>
		<title>Report Generation/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Report_Generation/en&amp;diff=25405"/>
		<updated>2021-12-07T08:44:42Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* How to Customize a Report Template */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Automatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
Expecco can generate reports in a number of formats: as human readable PDF or HTML documents, or as machine readable XML-, CSV- or plain text containing all relevant information on the test execution. XML reports are further provided in 3 different formats: Junit compatible, Nunit compatible and the full detail XML.&lt;br /&gt;
&lt;br /&gt;
The full detail XML contains all data as collected during the run, including timestamps and input-/output values of every logged activity. By using XML and a processor such as XSLT, any custom report can be generated from it, if the other reports are not sufficient.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also save an &amp;quot;.elf&amp;quot; file (which stands for &amp;quot;&#039;&#039;expecco log file&#039;&#039;&amp;quot;).&lt;br /&gt;
This can later be reopened with expecco, to present the same view as after the run (i.e. the whole hierarchical execution trace is shown). Then, the test can be reexecuted or additional reports can be generated (possibly with different detail settings).&lt;br /&gt;
&lt;br /&gt;
== Report Templates ==&lt;br /&gt;
Report templates are used to specify the content and layout of created human readable reports. By default the so called &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is used, which is remembered in your user settings. &lt;br /&gt;
Other report templates can be created as tree elements and stored in the testsuite. They will be saved together with the testsuite. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&#039;&#039;Default Report Template&#039;&#039;&amp;quot; is stored in your settings file and thus private, whereas attached report templates are contained in the saved test suite file, and thus automatically available to everyone who gets the testsuite.&lt;br /&gt;
&lt;br /&gt;
== How to create a report ==&lt;br /&gt;
[[Bild:Report Settings.png|thumb|200px|Report Settings]]&lt;br /&gt;
To create a report, a test has to be executed first (or a &amp;quot;.elf&amp;quot; file be loaded from a previous run). &lt;br /&gt;
This can be either a single block test or a whole testplan. After the execution is finished, click on the &amp;quot;&#039;&#039;Print report&#039;&#039;&amp;quot; button ([[Bild:Icon Print Report.png|Report button]]) causing a dialog to open. &lt;br /&gt;
&lt;br /&gt;
Select the output format (PDF, HTML, XML, CSV or TEXT), the report language, a paper format and a template for the report. This template can be the default report template, a template from the current testsuite or a template which is stored separately in a file. You can also make ad-hoc changes to the printed report right before it is generated, by clicking on &amp;quot;&#039;&#039;Edit Default Report Template&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog. There, you can specify the detail and the look of the report (depth, detail, filter, company, logos, colours, fonts, etc.).&lt;br /&gt;
&lt;br /&gt;
Choose the format of the file(s) to be generated; you may select multiple output formats here.&lt;br /&gt;
&lt;br /&gt;
Human readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;PDF&#039;&#039;&#039; - for printable document&lt;br /&gt;
* &#039;&#039;&#039;HTML&#039;&#039;&#039; - to publish as an intranet or public web page &lt;br /&gt;
Machine readable formats are:&lt;br /&gt;
* &#039;&#039;&#039;XML&#039;&#039;&#039; - contains full detail&lt;br /&gt;
* &#039;&#039;&#039;jUnit&#039;&#039;&#039; - jUnit compatible XML (1)&lt;br /&gt;
* &#039;&#039;&#039;nUnit&#039;&#039;&#039; - nUnit compatible XML (2)&lt;br /&gt;
* &#039;&#039;&#039;CSV&#039;&#039;&#039; - to be imported into excel or word&lt;br /&gt;
* &#039;&#039;&#039;Text&#039;&#039;&#039; - plain text (3)&lt;br /&gt;
&lt;br /&gt;
If the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; box is checked, the generated reports are shown in a preview application. Otherwise, they are silently generated in the folder as specified in your report settings.  &lt;br /&gt;
&lt;br /&gt;
Now click on &amp;quot;&#039;&#039;Generate Report&#039;&#039;&amp;quot; in the &#039;Generate Report&#039; dialog,&lt;br /&gt;
(with the &amp;quot;&#039;&#039;Open Preview&#039;&#039;&amp;quot; checked, to see the output).&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Notes:&amp;lt;br&amp;gt;&lt;br /&gt;
(1) the jUnit format is compatible to the output generated by corresponding Java unit testing frameworks.&amp;lt;br&amp;gt;The jUnit format is documented in [https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd &amp;quot;https ://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd&amp;quot;].&amp;lt;br&amp;gt;These files can be imported by eg. Jenkins to generate trend- and statistic reports.&amp;lt;br&amp;gt;For how to integrate expecco into Jenkins, see [https://doc.expecco.de/wiki2.x/Starting_expecco_via_Command_Line/en#Integration_with_Jenkins &amp;quot;Integration with Jenkins&amp;quot;] in the doc-Wiki.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(2) the nUnit format is compatible to the output generated by corresponding .NET unit testing frameworks.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
(3) this simple format may be useful if the test result is to be sent as email or as an instant message (eg. Jabber)&lt;br /&gt;
&lt;br /&gt;
== How to Add a Report Template to the Tree ==&lt;br /&gt;
It is a good idea to add templates to the project&#039;s tree. Often users wish to generate both a full-detail report for developers and a summary report for the management. Also, quality reports for final test before delivery usually provide less detail and may be signed with a barcode or QR tag (which can be generated by expecco and placed into a PDF, for example).&lt;br /&gt;
&lt;br /&gt;
In the tree, select &amp;quot;&#039;&#039;New Report Template&#039;&#039;&amp;quot;, give it a reasonable name, and modify its settings.&lt;br /&gt;
For a summary report, you will usually set a limit on the depth (i.e. not showing sub activities) and not showing pin values. You may also set a filter, to only present values or actions with a particular tag.&lt;br /&gt;
&lt;br /&gt;
== Importing Report Templates ==&lt;br /&gt;
You can also put a number of report templates into a separate import library, to ensure that all test suites use a common (corporate identity conform) layout and detail.&lt;br /&gt;
&lt;br /&gt;
== How to Customize a Report Template ==&lt;br /&gt;
To customize a report template, select it in the navigation tree. The same editor is used as when modifying the default report template.&lt;br /&gt;
&lt;br /&gt;
=== Filter Settings ===&lt;br /&gt;
[[Bild:Report Filter Settings.png|thumb|200px|Filter Settings]]&lt;br /&gt;
These settings determine which items are part of the report to create either detailed or compact summary reports.&lt;br /&gt;
&lt;br /&gt;
==== Testsuite ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testsuite Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the testsuite environment, i.e. the variables defined in the current testsuite, are part of the test report. Please note that only variables which are defined as read-only will be shown in the report because the value of other variables can change during the test execution.&lt;br /&gt;
&lt;br /&gt;
==== Testplan ====&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Testplan Environment&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the environment of each executed testplan, i.e. the variables defined in the respective testplan, are included in the report. Please note that only variables which are defined as read-only will be shown in the report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Successful Testcases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes all successful test cases from the report when checked, so that only failed tests are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Only Print Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;If checked, this option will reduce every testplan to a summary of the results of the different testplan items, i.e. it removes all further information such as sub-activities or logs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Unexecuted Test Cases&#039;&#039;&#039;&amp;lt;br&amp;gt;This option also includes test cases in the report which have not been executed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Pre/Post Condition&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the pre- and post executions are presented in the report. There is also an option to include this information only for failed tests.&lt;br /&gt;
&lt;br /&gt;
==== Activity ====&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines to which level nested sub-activities are reported. This affects the length and also the level of detail of the generated report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Activity Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude activities spawned by certain blocks from the report, you can add tags to each block. These tags can be set in the [[Documentation Editor|documentation tab]] of the block. Later you can filter the executed blocks by their tags. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Sub-activities Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All sub activities which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub-activities of an activity are searched for existing tags, when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Input/Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the data of input and output pins is present in the report. You can also add this information only in case the execution failed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Do not Print Output Pins&#039;&#039;&#039;&amp;lt;br&amp;gt;This option removes the data of the output pins from the report, so that only input values are printed.&lt;br /&gt;
&lt;br /&gt;
==== Logs ====&lt;br /&gt;
These settings are used to specify how logs are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nesting Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine down to which level logs of nested sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Tags&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to include or exclude logs of certain blocks from the report you can add tags to each block. Please note that an inclusion to the report has priority over an exclusion.&lt;br /&gt;
**&#039;&#039;&#039;Include Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Exclude Tag(s)&#039;&#039;&#039;&amp;lt;br&amp;gt;All logs of blocks which do not have one or more of those tags will be present in the report. Multiple tags must be separated by &amp;quot;;&amp;quot;.&lt;br /&gt;
**&#039;&#039;&#039;Search Tags in Children&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the sub activities of an activity are searched for existing tags when filtering.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Log Types&#039;&#039;&#039;&amp;lt;br&amp;gt;These checkboxes are used to include or exclude different log message types from the report. Please note that there is a difference between logs that only change the state of an activity, e.g. &amp;quot;logFail&amp;quot;, and real exceptions that stop the execution, e.g. &amp;quot;fail&amp;quot;. The &amp;quot;All&amp;quot; button is used to toggle all types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modifications ===&lt;br /&gt;
&lt;br /&gt;
==== Custom Test Cases ====&lt;br /&gt;
When reporting a test plan result, only the test cases of the top test plan are printed as test cases in the report by default. The report chart including count &amp;quot;passed&amp;quot;, count &amp;quot;failed&amp;quot; etc. is based on those test cases. Also the flat overview list in the report is based on those test cases. In some cases, the test cases in the top test plan do not represent the actual test cases. The actual test cases can be nested deeper in the results tree, perhaps as test cases of a nested test plan, or perhaps as simple activities. Here you are able to define which activities have to be presented as test cases in the report (instead of the test cases of the top test plan).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Presentation Settings ===&lt;br /&gt;
[[Bild:Report Presentation Settings.png|thumb|200px|Presentation Settings]]&lt;br /&gt;
These settings are used to determine how the report is presented.&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
*&#039;&#039;&#039;Print Full Activity Name&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the corresponding block is printed when a step is reported. If the step-name is the same as the block name (which is the common case), then that option does not make a difference. But if a step has been renamed from the underlying block&#039;s name, then both names will be printed if they are different.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Print Activity Name in Logs as Well&#039;&#039;&#039;&amp;lt;br&amp;gt;This option determines whether the name of the activity which logged a message will be printed in front of the message.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Indention Level Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;This option is used to determine to which nesting level reported sub activities are indented.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Highlight Top State in Every Row&#039;&#039;&#039;&amp;lt;br&amp;gt;This option adds a colored area with the top state color in every row. This helps to keep track of the overall test case result in case that many sub activities are reported.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after a testplan summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Page Break after every Testcase&#039;&#039;&#039;&amp;lt;br&amp;gt;This option will add a page break after every test case.&lt;br /&gt;
&lt;br /&gt;
==== Fonts ====&lt;br /&gt;
These settings are used to change the fonts used for the document, the column headers and the activity reports.&lt;br /&gt;
&lt;br /&gt;
==== Colors ====&lt;br /&gt;
These settings are used to change the color of different report items. Its possible to use the default color as defined in the [[Settings#State Colors|settings]] for error and failure logs. You can also print a &amp;quot;Only Black &amp;amp; White&amp;quot; report by toggling the corresponding check-box.&lt;br /&gt;
&lt;br /&gt;
=== Test Overview Settings ===&lt;br /&gt;
[[Bild:Report Test Overview Settings.png|200px|thumb|Test Overview Settings]]&lt;br /&gt;
These settings can be used to customize the report summary.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Testplan Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of a testplan is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Activity Summary&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can specify how the summary of an activity is presented. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
&lt;br /&gt;
=== Document Settings ===&lt;br /&gt;
[[Bild:Report Document Settings.png|thumb|200px|Document Settings]]&lt;br /&gt;
These settings apply on the general design of the report. Note that the header and footer line will only be present in a PDF report.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Document Header&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can create a header for the report. The editor panel is described here: [[Report Generation#Editor Panel|Editor Panel]]&lt;br /&gt;
*&#039;&#039;&#039;Columns Width&#039;&#039;&#039;&amp;lt;br&amp;gt;Here you can resize the three columns of the report. Please note that each column has to fill at least 10 percent of the entire width.&lt;br /&gt;
*&#039;&#039;&#039;Header&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the header line of the report. The left fields are used to enter left aligned text, the center ones for center aligned text and the right ones for right aligned text. You can also create links by typing a target into the &amp;quot;link&amp;quot; fields under the text fields.&lt;br /&gt;
*&#039;&#039;&#039;Footer&#039;&#039;&#039;&amp;lt;br&amp;gt;These text fields are used to edit the footer line of the report. The usage is similar to the header line fields.&lt;br /&gt;
&lt;br /&gt;
=== Logo Settings ===&lt;br /&gt;
These settings are used to specify images, e.g. company logos, which can be used in the report. By default the expecco logo is used. To replace the default images just click on the &amp;quot;replace&amp;quot; button behind the filenames and select the new image&#039;s file in the file dialog. Please note that the file type has to be &amp;quot;.jpg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Here you can add a description for the report template. This can be useful to inform other users for example when to use this template.&lt;br /&gt;
&lt;br /&gt;
== Editor Panel ==&lt;br /&gt;
&amp;lt;!--[[Bild: Report Editor Panel.png|thumb|300px|Editor Panel]]--&amp;gt;&lt;br /&gt;
This editor panel is used to create style information for report summaries and the report header.&lt;br /&gt;
&lt;br /&gt;
The workspace is made up of a number of rows which are separated columns (limited to a maximum of 6 columns). A single field is called cell. It can contain either text or graphics, such as a pie chart or a logo.&lt;br /&gt;
&lt;br /&gt;
To enter text, double click on the cell causing a text editor to open.&lt;br /&gt;
&lt;br /&gt;
To insert graphics, right click on a cell and select &amp;quot;&#039;&#039;Insert Graphic&#039;&#039;&amp;quot;. Now you can select the type of the graphic. Please note that pie charts are only available for testplan reports and logos only for the document header.&lt;br /&gt;
&lt;br /&gt;
Inside text, the content of a placeholder variable, such as the name of the testsuite or the current date can be inserted: double click on a cell to open the editor and right click to open the context menu. Now select &amp;quot;&#039;&#039;Insert Variable&#039;&#039;&amp;quot; and choose one of the variables from the list.&lt;br /&gt;
Currently, variables available in a testplan overview are:&lt;br /&gt;
* %testplan_name% - The name of the testplan&lt;br /&gt;
* %testcases_size% - The number of testcases in the testplan&lt;br /&gt;
* %testcases_executed% - The number of testcases in the report&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The date when the testplan was started&lt;br /&gt;
* %start_time% - The time when the testplan was started&lt;br /&gt;
* %run_time% - the overall execution time of the testplan (when finished)&lt;br /&gt;
* %elapsed_time% - the elapsed execution time of the testplan (only useful if a GenerateReport block is used from within an executing testplan. same as run_time when finished)&lt;br /&gt;
&lt;br /&gt;
Variables available in an activity-overview are:&lt;br /&gt;
* %action_name% - The name of the activity&lt;br /&gt;
* %hostname% - The hostname of the executing machine&lt;br /&gt;
* %username% - The username (login name)&lt;br /&gt;
* %start_date% - The time when the activity was started&lt;br /&gt;
* %start_time% - The time when the activity was started&lt;br /&gt;
* %run_time% - the execution time of the activity&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
*[[Bild:Icon Insert Row.png]] Inserts a new row after the selected one&lt;br /&gt;
*[[Bild:Icon Insert Column.png]] Inserts a new column right from the selected one. Please note that only the selected row is affected.&lt;br /&gt;
*[[Bild:Icon Remove Row.png]] Removes the selected row&lt;br /&gt;
*[[Bild:Icon Remove Column.png]] Removes the selected column&lt;br /&gt;
*[[Bild:Icon Report Move Up.png]] [[Bild:Icon Report Move Down.png]] Moves the selected row up/down&lt;br /&gt;
*[[Bild:Icon Report Move Left.png]] [[Bild:Icon Report Move Right.png]] Moves the selected column left/right&lt;br /&gt;
*[[Bild:Icon Open Editor.png]] Opens an editor to modify the content of the selected column&lt;br /&gt;
*[[Bild:Icon Save Close Editor.png]] Closes the editor with saving changes&lt;br /&gt;
*[[Bild:Icon NoSave Close Editor.png]] Closes the editor without saving changes&lt;br /&gt;
*[[Bild:Icon Left Alignment.png]] [[Bild:Icon Center Alignment.png]] [[Bild:Icon Right Alignment.png]] Aligns the content of the column left/center/right&lt;br /&gt;
*[[Bild:Icon Show Hide Grid.png]] Shows/Hides a grid to resize the columns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report vs. expecco Log-File ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Im Gegensatz zu den Report Ausgaben, welche als abheftbare Dokumente oder als von anderen Programmen einlesbares Output gedacht sind, gibt es noch ein expecco internes Test-Ergebnis Speicherformat, die sogenannten expecco log file *.elf. In einer solchen Datei werden alle Relevanten Tree-Elemente, logDaten, Ein und Ausgangswerte usw. die nötig sind um den angezeigten Ergebnisbaum wiederherzustellen, abgespeichert.&lt;br /&gt;
&lt;br /&gt;
Genauso wie bei den Reports können Sie auch diese expecco log file nach der Ausführung eines Tests (ob Einzel Test block oder ganzer Testplan) wie folgend gezeigt erzeugen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
In contrast to the generated reports, which are meant to be either human readable archived documents (HTML, PDF, text) or machine readable, to be processed by other programs (CSV, XML),&lt;br /&gt;
there is another, expecco-internal storage format, the so called &amp;quot;expecco log files&amp;quot;, with a &amp;quot;.elf&amp;quot; extension.&lt;br /&gt;
These files store all relevant tree elements, log data, in- and output in values which are required to reconstruct a full activity log/result tree.&lt;br /&gt;
This also means, that they include a copy of the executed blocks and their definitions, independent of any changes done to the test suite in the meantime. As such, they can be also archived to proof exactly which version of a suite was executed.&lt;br /&gt;
&lt;br /&gt;
Just like regular reports, these log files can be generated after the execution of a test (both single block- and full testplan tests), and saved to a file:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf1.png‎]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
expecco ALM (formerly called &amp;quot;expeccoNET&amp;quot;) also provides central storage of all log files and makes them available later to team members with appropriate access rights.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
expecco ALM (früher &amp;quot;expeccoNET&amp;quot;) bietet Ihnen auch die Möglichkeit alle Ihre expecco log files zentral abzuspeichern und für einen definierten Benutzerpool zugänglich zu machen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Save_elf2.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, there is a menu item named &amp;quot;Load Test-Results (from expeccoNET)“ which loads those &amp;quot;.elf&amp;quot; files from this central database. If you do not have expecco ALM installed, you have to save/load those from a regular file.&lt;br /&gt;
After loading, the result tree is presented as it was right after the execution. You can also navigate through the tree, see pin values and other artefacts (however, of course, objects which where present on remote systems and only referred to via a bridge connection are no longer available. If required, these should be marshaled to XML or any other textual format, if that is required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wie Sie sehen existiert jeweils auch ein Menüeintrag „Load Test-Results (from expeccoNET)“ mit dem Sie eine solche *.elf Datei wieder einlesen können. Nach dem Einlesen wird Ihr Ergebnisbaum wieder so dargestellt wie er nach der Ausführung Ihres Tests dargestellt wurde.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another advantage of this format is that additional reports can be generated at any time later. For example, you can generate a new report with a different layout, look or detail. For example, if your company logo has changed in the meanwhile, or the product department needs another, less detailed report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Ein weiterer Vorteil Ihre expecco log files abzuspeichern, liegt darin aus dem eingelesenen expecco log file / Ergebnisbaum wiederum einen Report zu erzeugen. Funktioniert hier genauso wie zuvor unter Punkt bla beschrieben. So können Sie jeder Zeit einen Report mit anderem Layout erzeugen. Es könnte sich z.&amp;amp;#x202f;B. Ihr Firmenlogo verändert haben oder Sie benötigen gegebenenfalls einen Report mit mehr Details oder weniger Details oder mit anderem CI Layout usw.&lt;br /&gt;
&lt;br /&gt;
Weiter können Sie auch über den Druck Dialog einen Report über mehrere expecco log files erstellen. So können Sie zum Beispiel Testergebnisse von verschiedenen Benutzern/Abteilungen in einem Report zusammenfassen.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Print_elf.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Executive Summary vs. Developer Report ==&lt;br /&gt;
[[Bild:Report Executive Summary.png|thumb|links|200px|Executive Summary]] [[Bild:Report Developer Report.png|thumb|200px|Developer Report.]]&lt;br /&gt;
The main advantage of report templates is the possibility to create standardized reports for different purposes. This way you can for example create a condensed report as a summary for an executive or a very detailed one for the development team to track down error causes or to document a test run.&lt;br /&gt;
&lt;br /&gt;
In the shown example the executive summary solely shows the overall test results which are visualized by a pie chart. Other irrelevant information has been removed to keep the report clear and readable. A corresponding template can be found here: [[Datei:Executive Summary Template.ert]]&lt;br /&gt;
&lt;br /&gt;
The shown developer report is more detailed and shows all relevant data to track down a possible error. In this case all irrelevant data from the developer&#039;s point of view is left out. For example the pie chart might not be useful in this case. A corresponding template can be found here: [[Datei:Developer Report Template.ert]]&lt;br /&gt;
&lt;br /&gt;
= Programmatic Report Generation =&lt;br /&gt;
&lt;br /&gt;
In rare situations, the automatic generated reports are not sufficient to fullfill your needs. It may be required to conform to a particular document format, or contain additional data, or it may need to be postprocessed (for example: cryptographically signed).&lt;br /&gt;
&lt;br /&gt;
For this, you can either take the automatic report and post-process it with an expecco action (this would be the case when it has to be signed), or create your report completely driven by your own actions.&lt;br /&gt;
In the following, a few examples are provided to show possible solutions:&lt;br /&gt;
&lt;br /&gt;
== Postprocessing Reports ==&lt;br /&gt;
&lt;br /&gt;
You can define a post processing action to be executed after a test run (find the field in the lower area of the test plan editor). This action will get the generated activity log as argument at its input pin. Notice that this activity log contains all traced pin data, timestamps, notes and attachment information. The action can walk through this object and generate arbitrary output. An example for this is found in the deployed demo/example folder (&amp;quot;LOG-Processing example&amp;quot; in &amp;quot;&amp;lt;CODE&amp;gt;demos/d11_LOG_Processing_Example.ets&amp;lt;/CODE&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Generating CSV Report Files ==&lt;br /&gt;
If the default CSV format is not appropriate for your QM system, you may generate a fully custom CSV with the following procedure.&lt;br /&gt;
&lt;br /&gt;
Collect the CSV rows (i.e. the raw data to be put into the CSV columns) during the run, and write a CSV file at the end.&lt;br /&gt;
&lt;br /&gt;
For this:&lt;br /&gt;
* define an action, which creates an empty (sequencable) collection (i.e. &amp;quot;New OrderedCollection&amp;quot; will do).&lt;br /&gt;
* inside the action, store this created collection in a test suite variable (let&#039;s say: &amp;quot;collectedData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pre-action_csv_report.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* make this action a &amp;quot;pre-action&amp;quot; of your test plan&lt;br /&gt;
* during the run, add rows as required to the &amp;quot;collectedData&amp;quot; collection (give the vector to an &amp;quot;Add Element&amp;quot; step)&lt;br /&gt;
&lt;br /&gt;
[[Datei:Collect data csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
* define an action which saves the collectedData to a CSV file (use the &amp;quot;Write CSV&amp;quot; action) &lt;br /&gt;
&lt;br /&gt;
[[Datei:Post-action csv report.png|500px]]&lt;br /&gt;
   &lt;br /&gt;
* make this write-action a &amp;quot;post-action&amp;quot; of your test plan&lt;br /&gt;
&lt;br /&gt;
[[Datei:Testplan csv report.png|650px]]&lt;br /&gt;
&lt;br /&gt;
All of the above actions are found in the standard library; there is no need to do any textual coding.&lt;br /&gt;
However, if you prefer scripts, you can of course do so as well.&lt;br /&gt;
&lt;br /&gt;
== Generating a PDF Report ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:PDFGeneratorLibrary.png|mini]]&lt;br /&gt;
As part of the expecco installation, a PDF generator library is provided, which contains building blocks for PDF documents.&lt;br /&gt;
Similar to the above strategy, start PDF generation in a pre-action, collect data during the run and write the final PDF in a post-action at the end.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_21.x&amp;diff=25327</id>
		<title>Release Notes 21.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_21.x&amp;diff=25327"/>
		<updated>2021-12-06T08:31:38Z</updated>

		<summary type="html">&lt;p&gt;Sr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 20.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 21.2 (Planned Q4 2021) ==&lt;br /&gt;
* Feature: enhanced definition for custom test cases in the report.&lt;br /&gt;
* Feature: nullable types (output pin attribute).&lt;br /&gt;
* Feature: value conversion (output pin attribute).&lt;br /&gt;
* Feature: [[DiagramElements-Pin/en#Input_Pin_Duplicate_Backslashes_Attribute|backslash duplication (input pin attribute)]].&lt;br /&gt;
* Feature: default data representation can be specified in attachment.&lt;br /&gt;
* Feature: copy/paste of testplan items now copies all attributes.&lt;br /&gt;
* Feature: [[Expecco_Reflection_Library | Reflection Library]]: additional actions for import, save and pin manipulations.&lt;br /&gt;
* Feature: Matlab support and better GNU Octave documentation ([[Octave_Script_Action_Tutorial |Tutorial]])&lt;br /&gt;
* Feature: Hotkeys to start,stop or pause a test run (default to CTRL-F1, CTRL-F2 and F6).&lt;br /&gt;
* Feature: release of [[PhysicalValues/en |physical values support]].&lt;br /&gt;
* Feature: new number class [[Number_API_Functions#Fixed_Decimals|FixedDecimal]] (special for monetary values)&lt;br /&gt;
* Feature: new number classes [[Number_API_Functions#QDouble|QDouble]] and [[Number_API_Functions#LargeFloat|LargeFloat]] for higher precision (experimental)&lt;br /&gt;
* Feature: Support of Java 16 for plugins using Java (Java GUI, Selenium WebDriver, Mobile Testing)&lt;br /&gt;
* Feature: Basic recording for JavaFX.&lt;br /&gt;
* Feature: [[Testplan_Editor-TestplanListView_Editor/en#SeverityIgnoreLimit|FAIL severity levels and limit setting to proceed with test]]&lt;br /&gt;
* Feature: [[QT_Testing/en#QtQuickQML|Testing QT-Quick / QML programs]]&lt;br /&gt;
* Feature: Testplan step in diagram has additional output pins for verdict and activityLog&lt;br /&gt;
* Feature: [[Starting expecco via Command Line/en#Utility Functions|&amp;quot;--vdiff&amp;quot; command line argument]] (visual diff)&lt;br /&gt;
* Feature: Added Lintcheck for [[Common_Errors/en#Self-Retriggering_does_not_Work | &amp;quot;Retrigger does not Work&amp;quot; situation]]&lt;br /&gt;
* Feature: support individual [[WSDLPlugin Reference/en#SOAP_timeout_pin|timeout pins for SOAP actions]]&lt;br /&gt;
* Bugfix: corrected handling of .lnk (link) files on Windows in autoReImport&lt;br /&gt;
* Bugfix: [[Settings LookAndFeelSettings/en#Raise_Expecco_Window_when_Execution_Stopped_or_Finished |autoraise when finished]] setting: raised expecco above dialogs and popup menus&lt;br /&gt;
* Bugfix: JS code with complicated expression may break when interrupted by GC&lt;br /&gt;
&lt;br /&gt;
== Release 21.1 (July 2021) ==&lt;br /&gt;
* Feature: Support for XMPP/Jabber instant messaging in expecco and the StandardLibrary.&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;Clear Variable&#039;&#039;&amp;quot; in the testsuite environment editor&#039;s popup menu.&lt;br /&gt;
* Feature: Shell environment variables for scripts and bridges in the [[Settings_ExternalToolsSettings/en#Environment_Variables|&amp;quot;External Script Interpreters&amp;quot; settings]].&lt;br /&gt;
* Feature: Java-Plugins (Swing, SWT, FX) are combined to a unified usage: The CommonJavaGUITestLibrary contains new element blocks, which work with each of the three technologies. For applications containing more than one technology, these new blocks use compound paths to an embedded element. Context switch blocks are not needed. For more information see the [[Java_GUI_Plugins/en#Compound_Paths| Compound Paths]]. These new blocks only work with the current expecco version. The old blocks in the specific libraries are still working and use the old path behaviour. Both types can be used side by side.&lt;br /&gt;
* Feature: Java-Plugins (Swing, SWT, FX) support the CommonUILibrary.&lt;br /&gt;
* Feature: callEB (direct call of another elementary block) now supports a variable number of pins in the called action.&lt;br /&gt;
* Feature: &amp;lt;kbd&amp;gt;Ctrl-Shift-R&amp;lt;/kbd&amp;gt; shortcut to replace a step by the clipboard&#039;s action in the diagram editor.&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;SkipSubactivitiesInTrace&#039;&#039;&amp;quot; flag also for test cases (in test plan).&lt;br /&gt;
* Feature: &amp;quot;&#039;&#039;SkipSuccessfulSubactivitiesInTrace&#039;&#039;&amp;quot; flag for steps and action blocks.&lt;br /&gt;
* Feature: bridged Python code supports breakpoints and single steppping.&lt;br /&gt;
* Feature: improved element filter in the GUIBrowser.&lt;br /&gt;
* Feature: autoclose flag for control GUI (in the project&#039;s execution flags). This also affects the [[Manual_Test_Tutorial/en#Automatic_Close_when_no_longer_Needed | manual test wizard]].&lt;br /&gt;
* Feature: [[Attachment_Element/en#Encrypting_an_Attachment.27s_Contents | encrypted attachments]] (for passwords, etc.)&lt;br /&gt;
* Feature: SOAP additionally handles application/soap+xml Content-Type (but is still SOAP 1.1)&lt;br /&gt;
* Feature: the terminal has a recorder built in&lt;br /&gt;
* Feature: C-Bridge determines suffix of ccScript automatically&lt;br /&gt;
* Feature: Groovy updated to version 3.0.8&lt;br /&gt;
* Feature: Groovy blocks now support Unicode characters&lt;br /&gt;
* STD-LIB: New actions to control the &amp;quot;Control &amp;amp; Monitor&amp;quot; window &lt;br /&gt;
* UI Enhancement: better syntax error reporting in the editor (especially for bridged C actions).&lt;br /&gt;
* UI Enhancement: the [[Settings_CodeEditorSettings/en#Cursor_Behavior_at_Line-End | default line-end cursor behavior]] in text editors changed to conform to other editors.&lt;br /&gt;
* UI Enhancement: [[Settings_KeyboardSettings/en#Language_Specific_Dead_Keys | language specific dead keys]].&lt;br /&gt;
* UI Enhancement: Testcases with warnings (but otherwise successful) are marked with a yellow success icon.&lt;br /&gt;
* UI Enhancement: help-menu items to open a [[How_to_Program/en#Find_Functions_by_Example | Method Finder]] or an Action Finder.&lt;br /&gt;
* Bugfix: Actions directly called by another elementary action (via callEB) were not logged completely.&lt;br /&gt;
* Bugfix: actions with suppressed activity log (&amp;quot;&#039;&#039;skipInTrace&#039;&#039;&amp;quot; flag) failed to provide the execution time at that output pin.&lt;br /&gt;
* Bugfix: SQLite interface did not retrieve blobs.&lt;br /&gt;
* Bugfix: secret strings are now also hidden from the data inspector.&lt;br /&gt;
* Bugfix: secret strings were not always hidden from the report and activity log.&lt;br /&gt;
* Bugfix: alert boxes opened by bridge code did not auto-confirm (see [[Settings_ExecutionSettings/en#Auto-Confirm_Dialog_Boxes|settings]]).&lt;br /&gt;
* Bugfix: Python2.x bridges crashed with non-Ascii characters in source code (str() function problem).&lt;br /&gt;
* Bugfix: Condition check/set in testcase settings works with multiple variables.&lt;br /&gt;
* Bugfix: Condition set in testcase settings can set a variable defined in the testsuite environment (and not only in the executor environment).&lt;br /&gt;
* Bugfix: JavaFX applications without the module javafx.web can now be automated.&lt;br /&gt;
* Change: SeleniumWebDriverLibrary now supports only expecco version 18.2 and newer, backward compatibility code has been removed.&lt;br /&gt;
* Change: The JavaGUITester.jar for Java testing has been enhanced. If you are testing remote, you have to copy the new version onto your remote machine.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Installation&amp;diff=23614</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Installation&amp;diff=23614"/>
		<updated>2021-07-12T11:22:45Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Windows SmartScreen / Blockierte Ausführung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation von expecco auf Windows ==&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expeccoSetup-19.1.0.22.exe -&amp;gt; für die expecco-Basisinstallation&lt;br /&gt;
&lt;br /&gt;
wobei hier 19.1.0 der Versionsnummer von expecco entspricht und 22 der Build-Nummer.&lt;br /&gt;
&lt;br /&gt;
Bitte laden Sie das Installationsprogramm auf Ihren Rechner.&lt;br /&gt;
&lt;br /&gt;
=== Windows SmartScreen / Blockierte Ausführung ===&lt;br /&gt;
&lt;br /&gt;
Führen Sie das Installationsprogramm für die expecco-Basisinstallation aus (&#039;&#039;expeccoSetup-***.exe&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen, dass Ihr Anti-Virus-Programm wie bspw. der [https://de.wikipedia.org/wiki/Microsoft_Defender Windows Defender SmartScreen], die Installation blockiert. Dies ist bei neuen oder Vorab-expecco-Versionen vermutlich damit begründet, dass Ihr Anti-Virus-Programm unsere Software noch nicht gut genug kennt. Bitte stellen Sie in dem Fall sicher, dass die Installationsdatei ausschließlich aus folgenden Quellen heruntergeladen wurde http://exept.de/*, http://download.exept.de/*, http://cloud.exept.de/*. Wenn Sie sich sicher sind, dass die Installationsdatei von uns stammt, können Sie ohne Bedenken die Blockierung Ihres Anti-Virus-Programms ignorieren. &lt;br /&gt;
&lt;br /&gt;
Im Falle vom [https://de.wikipedia.org/wiki/Microsoft_Defender Windows Defender SmartScreen], gehen Sie bitte auf &amp;quot;Weitere Informationen&amp;quot; und dann auf &amp;quot;Trotzdem ausführen&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Windows_SmartScreen.png|300px|Report Settings]] [[Bild:Windows_SmartScreen_Trozdem_ausführen.png|300px|Report Settings]]&lt;br /&gt;
&lt;br /&gt;
Falls Sie ein anderes Anti-Virus-Programm haben, informieren Sie sich bitte wie man dort die Blockierung ignorieren oder die Installationsdatei als Ausnahme definieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgen Sie dabei dem Installationsassistenten.&lt;br /&gt;
Sie können hier das Laufwerk und das Verzeichnis angeben, unter dem expecco installiert werden soll.&lt;br /&gt;
Außerdem können Sie die Komponenten angeben, die Sie installieren wollen.&lt;br /&gt;
&lt;br /&gt;
Falls Sie Plugins für expecco lizenziert haben, können Sie bei der Installation die entsprechenden expecco-Plugins auswählen.&lt;br /&gt;
Angeboten werden alle Plugins - auch solche für die Sie keine Lizenzen erworben haben.&lt;br /&gt;
Falls Sie nicht lizenzierte Plugins installieren, ist deren Funktion in expecco nicht verfügbar und entsprechende Menu-Einträge entweder unsichtbar oder ausgegraut.&lt;br /&gt;
Installierte, aber nicht lizenzierte Plugins sind erst dann verfügbar, wenn die dazu passenden Lizenzen (nach-)installiert wurden.&lt;br /&gt;
Ansonsten belegen Sie nur Platz auf der Festplatte.&lt;br /&gt;
Weitere Plugins können auch jederzeit nachträglich installiert werden. Auch können weitere Lizenzen jederzeit später erworben werden.&lt;br /&gt;
&lt;br /&gt;
Nach der Installation finden Sie auf Ihrem Desktop das expecco-Symbol.&lt;br /&gt;
Über dieses Symbol können Sie expecco nun starten.&lt;br /&gt;
Beim erstmaligen Ausführen, erscheint ein Fenster, in dem eine Lizenz verlangt wird.&lt;br /&gt;
Je nachdem, ob Sie eine Einzellizenz oder eine Floating-Lizenz (per Lizenzserver) nutzen, müssen Sie die Lizenz entsprechend nachfolgender Beschreibung installieren.&lt;br /&gt;
&lt;br /&gt;
=== Automatische Installation von expecco via Commandline (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Sie können expecco über die Kommandozeile, via Batchdatei oder ähnlichem installieren. Führen Sie dazu expecco wie folgt aus:&lt;br /&gt;
    expeccoSetup-x.x.exe /S&lt;br /&gt;
Das &amp;quot;/S&amp;quot; steht für &amp;quot;&#039;&#039;Silent&#039;&#039;&amp;quot; und expecco installiert sich ohne GUI und ohne Fragen zu stellen.&lt;br /&gt;
Sie können optional auch ein spezifisches Installationsverzeichnis angeben:&lt;br /&gt;
    expeccoSetup-x.x.exe /S /D=&amp;quot;C:\Program Files (x86)\exept&amp;quot;&lt;br /&gt;
Damit expecco nach der Installation direkt starten kann, muss sichergestellt werden, dass eine Lizenz auf dem Zielrechner vorhanden ist. Hierfür kommen folgende Varianten in Frage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lizenz aus lokaler Lizenzdatei und Dongle&#039;&#039;&#039;:&amp;lt;br&amp;gt;&lt;br /&gt;
Stecken Sie den Dongle in den Zielrechner. Kopieren Sie Ihre Lizenzdatei in Ihr Benutzerverzeichnis bspw. &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\&amp;lt;/code&amp;gt;&amp;quot; unter dem Namen &amp;quot;&amp;lt;code&amp;gt;.expeccoLicense&amp;lt;/code&amp;gt;&amp;quot;, sodass die Datei &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\.expeccoLicense&amp;lt;/code&amp;gt;&amp;quot; Ihrer Lizenzdatei entspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lizenz vom Lizenzserver&#039;&#039;&#039;:&lt;br /&gt;
Hier müssen zunächst eine &amp;quot;Template&amp;quot; Lizenzdatei und &amp;quot;Template&amp;quot; expecco Einstellungen-Datei erstellt werden. Sie benötigen dafür ein laufendes expecco, welches mit Ihrem Lizenzserver verbunden ist. Starten Sie dieses expecco und konfigurieren Sie unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenz vom Lizenzserver&#039;&#039;&amp;quot; Ihre &amp;quot;Template&amp;quot; Lizenzdatei. Diese sollte alle Plugins, die auf dem Zielrechner für die automatisierte expecco Installation über Commandline benötigt werden, enthalten. Fordern Sie diese Lizenz vom Lizenzserver an. Setzen Sie den Haken &amp;quot;Lizenzserver nutzen&amp;quot; und drücken Sie anschließend &amp;quot;Sichern&amp;quot;. expecco hat nun die benötigten Template Dateien unter &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\AppData\Roaming\expecco&amp;lt;/code&amp;gt;&amp;quot; angelegt. Kopieren Sie die &amp;quot;&amp;lt;code&amp;gt;.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; und die &amp;quot;&amp;lt;code&amp;gt;expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; Datei vor der automatischen expecco Installation in das entsprechende Verzeichnis auf Ihrem Zielrechner. expecco kann somit direkt nach der automatischen Installation starten.&lt;br /&gt;
&lt;br /&gt;
=== Autostart von expecco ===&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu mit der &amp;lt;kbd&amp;gt;Windows-Taste&amp;lt;/KBD&amp;gt; + &amp;lt;KBD&amp;gt;&amp;quot;R&amp;quot;&amp;lt;/KBD&amp;gt; ein Ausführen-Fenster. Geben Sie dort &amp;quot;shell:startup&amp;quot; ein. Danach öffnet sich der Autostart-Ordner. Kopieren Sie die expecco-Verknüpfung vom Desktop in diesen Ordner. Nun wird expecco, nachdem sich dieser Benutzer angemeldet hat, automatisch gestartet. Folgend können Sie konfigurieren, dass sich dieser Benutzer automatisch anmeldet, wenn der Rechner angeschaltet wird. Drücken Sie dazu erneut &amp;lt;KBD&amp;gt;Windows-Taste&amp;lt;/KBD&amp;gt; + &amp;lt;KBD&amp;gt;&amp;quot;R&amp;quot;&amp;lt;/KBD&amp;gt;. Geben Sie nun &amp;quot;netplwiz&amp;quot; ein. Es öffnet sich der Benutzerkonten-Dialog. In diesem können Sie den Haken &amp;quot;Benutzer müssen Benutzernamen und Kennwort eingeben&amp;quot; abwählen. Diese Einstellung gilt nur für das Anmelden nachdem der Rechner hochgefahren ist.&lt;br /&gt;
&lt;br /&gt;
Übrigens können diverse Parameter auf der [[Command Line Options|expecco-Kommandozeile]] angegeben werden. Hier sind insbesondere die Optionen [[Command Line Options#Startup|&amp;quot;--licenseFile&amp;quot;]], [[Command Line Options#Startup|&amp;quot;--licenseServer&amp;quot;]] und [[Command Line Options#Startup|&amp;quot;--licenseServerPort&amp;quot;]] zu erwähnen.&lt;br /&gt;
&lt;br /&gt;
=== expecco Einstellungen vordefinieren ===&lt;br /&gt;
&lt;br /&gt;
Es kann in bestimmten Fällen Sinn machen, die expecco Einstellungen für neue Windows-Benutzerkonten vorzudefinieren.&lt;br /&gt;
Z.B. könnte man die Adresse des Lizenzserver und die benötigten Pluginlizenzen vordefinieren.&lt;br /&gt;
Dies hätte den Vorteil, dass neue Benutzer direkt mit expecco loslegen können.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie zum Vordefinieren der expecco Einstellungen für neue Windows-Benutzerkonten folgendermaßen vor:&lt;br /&gt;
* starten Sie expecco auf einem bereits vorhandenen Benutzerkonto (kann auch ein anderer Windows Rechner sein)&lt;br /&gt;
* stellen Sie dessen expecco Einstellungen (&amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;) wie zur Vorlage gewünscht ein und speichern Sie über &amp;quot;&#039;&#039;Sichern&#039;&#039;&amp;quot;&lt;br /&gt;
* navigieren Sie zu dem Verzeichnis &amp;quot;C:\Users\{IhrBenutzer}\AppData\Roaming\expecco\&amp;quot; und kopieren Sie die 2 Dateien &amp;quot;.expeccoPreferences&amp;quot; und &amp;quot;expeccoLicenseServerLicense&amp;quot;&lt;br /&gt;
* begeben Sie sich zum Zielrechner und erstellen Sie einen Ordner &amp;quot;expecco&amp;quot; unter &amp;quot;C:\Users\Default\AppData\Roaming\&amp;quot;&lt;br /&gt;
* fügen Sie die 2 kopierten Dateien auf dem Zielrechner unter &amp;quot;C:\Users\Default\AppData\Roaming\expecco\&amp;quot; ein&lt;br /&gt;
&lt;br /&gt;
Jetzt werden alle neuen Windows-Benutzerkonten diese Einstellungen als Ausgangseinstellungen verwenden. Sie können diese Einstellungen auch bereits existierenden Windows-Benutzerkonten zuweisen. Hierfür fügen Sie die 2 Dateien in die entsprechenden Benutzerverzeichnisse auf dem Zielrechner &amp;quot;C:\Users\{ExistierenderBenutzer}\AppData\Roaming\expecco\&amp;quot; ein.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: damit werden alle bereits getätigen Einstellungen der Benutzer überschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Update Installation von expecco (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Wie bei der Erstinstallation erhalten eine E-Mail mit dem Link zu den neuen expecco-Installationsdateien.&lt;br /&gt;
Bitte laden Sie die Installationsprogramme herunter.&lt;br /&gt;
Bei der Ausführung des Basis-Installationsprogramms &amp;quot;&amp;lt;code&amp;gt;expeccoSetup-xxx.exe&amp;lt;/code&amp;gt;&amp;quot; erkennt expecco, dass es bereits installiert ist, und zeigt einen Dialog an, in dem Sie um eine Bestätigung gebeten werden, dass die alte expecco-Version deinstalliert werden darf.&lt;br /&gt;
Bestätigen Sie bitte diesen Dialog. Die alte expecco-Version wird mit allen Plugins deinstalliert.&lt;br /&gt;
Ihre Einstellungen, Lizenzdateien und Ihre Testsuiten bleiben erhalten.&lt;br /&gt;
Anschließend wird die neue expecco-Version wie bei der Erstinstallation (s.o.) installiert.&lt;br /&gt;
&lt;br /&gt;
=== Lizenz installieren ===&lt;br /&gt;
&lt;br /&gt;
Beim erstmaligen Ausführen erscheint ein Fenster, in dem eine Lizenz verlangt wird. Je nachdem, ob Sie eine Einzellizenz oder eine Floating-Lizenz (per Lizenzserver) nutzen, können Sie die Lizenz konfigurieren.&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Einzellizenz | Konfiguration der Einzellizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Floating-Lizenz | Konfiguration der Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
== Installation von expecco auf Linux ==&lt;br /&gt;
&lt;br /&gt;
expecco läuft auf allen aktuellen Linux-Distributionen (Ubuntu, RedHat, Fedora, Oracle Linux, Debian, (Open-)SuSE, ...).&lt;br /&gt;
&lt;br /&gt;
=== Benötigte Linux Softwarepakete ===&lt;br /&gt;
&lt;br /&gt;
expecco läuft sowohl auf 32- als auch auf 64-bit Linux Systemen. Sie können expecco wahlweise als 64-bit-Version oder 32-bit-Version installieren.&lt;br /&gt;
Falls sie ein 64-bit Linux einsetzten (das ist mittlerweile der Standard) empfehlen wir die 64-bit expecco-Version.&amp;lt;br&amp;gt;&#039;&#039;&#039;Die 32-bit Linux-Version liefern wir nur noch auf Anfrage aus.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird eine glibc in der Version &amp;gt;= 2.14 benötigt.&lt;br /&gt;
&lt;br /&gt;
Installieren Sie über Ihren Paketmanager Ihrer Linux-Distribution folgende Pakete:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;libXinerama&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxrandr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libXft&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libusb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;unixODBC&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;odbcinst&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;libglib-2_0-0&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gnuplot&amp;lt;/code&amp;gt; (optional - falls Plot/Graph Aktionen benötigt)&lt;br /&gt;
&lt;br /&gt;
Diese Pakete hängen von weiteren Paketen ab, die der Paketmanager automatisch mit installiert.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu (ab 15.04) installieren Sie die Pakete mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \&lt;br /&gt;
        libxinerama1 libxft2 libxrandr2 unixodbc odbcinst libusb-1.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation von 32-bit expecco auf 64-bit Linux (nicht empfohlen!) ====&lt;br /&gt;
&lt;br /&gt;
Diese Konfiguration empfehlen wir nicht. Nutzen Sie stattdessen besser die 64-bit expecco Version. &lt;br /&gt;
Falls Sie expecco-32-bit doch auf 64-bit-Linux installieren wollen, benötigen Sie die Pakete in der 32-bit Ausführung.&lt;br /&gt;
&lt;br /&gt;
Es wird eine glibc in der Version &amp;gt;= 2.10 benötigt.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 64bit (ab 15.04 64-bit) für ein 32-bit expecco installieren Sie die Pakete mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \&lt;br /&gt;
        libxinerama1:i386 libxft2:i386 libxrandr2:i386 unixodbc:i386 odbcinst:i386 libusb-1.0.0:i386&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von expecco (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expecco-20.2.0.54.x86.package&lt;br /&gt;
&lt;br /&gt;
wobei hier 20.2.0 der Versionsnummer von expecco entspricht und 54 der Build-Nummer. Die Installationsdatei enthält das expecco-Basispaket sowie die Plugins.&lt;br /&gt;
&lt;br /&gt;
Für die Installation benötigen Sie bei einer erstmaligen Installation außerdem noch das &#039;&#039;autopackage&#039;&#039; Paket. Sie können es hier herunterladen: http://download.exept.de/transfer/autopackage/autopackage.tar.bz2. Entpacken Sie das Archive und installieren Sie dieses durch das Ausführen der INSTALL Datei im Root Verzeichnis des Archives. Sie werden ggf. gefragt ob die GUI Komponenten vom &amp;quot;Autopackage&amp;quot; herunter geladen und installiert werden sollen. Wählen Sie &amp;quot;NEIN&amp;quot; aus, da diese nicht benötigt werden und unter Umständen zu Fehlern führen können. &lt;br /&gt;
&lt;br /&gt;
Laden Sie die expecco-Installationsdatei und ggf. &#039;&#039;autopackage.tar.bz2&#039;&#039; in dasselbe Verzeichnis auf Ihrem Rechner.&lt;br /&gt;
&lt;br /&gt;
Sie können die Installation als Benutzer &#039;&#039;root&#039;&#039; oder als normaler Benutzer ausführen. Wenn Sie expecco als Benutzer &#039;&#039;root&#039;&#039; installieren, wird expecco im Verzeichnis &#039;&#039;/opt/expecco/bin&#039;&#039; installiert. Bei einer Installation als normaler Benutzer, wird expecco in Ihrem Home-Verzeichnis nach &#039;&#039;.local/bin&#039;&#039; installiert. &lt;br /&gt;
&lt;br /&gt;
Führen Sie aus:&lt;br /&gt;
    bash ./expecco-20.2.0.54.x86.package&lt;br /&gt;
&lt;br /&gt;
expecco wird daraufhin installiert, es erscheint folgende Ausgabe:&lt;br /&gt;
 # Preparing package: expecco - Graphical Test Modeling&lt;br /&gt;
 # Checking for required C library versions ... passed&lt;br /&gt;
 This may take a moment, please wait ... done&lt;br /&gt;
 # Installing package: expecco - Graphical Test Modeling (package 1 of 1)&lt;br /&gt;
 # 100%[==================================================] Extracting&lt;br /&gt;
 # Copying files to /opt/expecco/plugin&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge/javaBridge&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge/javaBridge/javaBridge_Server_Client&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/stx/libsnmp&lt;br /&gt;
 # Copying files to /opt/expecco/packages/stx/libsnmp/net-snmp-5.7.2/mibs&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/libraries&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/bin&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/lib&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/expecco/doc&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/libraries&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/examples&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/expecco/reportGenerator/tools&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/pdf/afm&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Installing USB Dongle access...&lt;br /&gt;
 # Updating package database...&lt;br /&gt;
 The following package was successfully installed:&lt;br /&gt;
 * expecco - Graphical Test Modeling&lt;br /&gt;
 This installation used 478.74 MiB (502.00 MB) of disk space.&lt;br /&gt;
 Remove this package by running package remove expecco from the command line.&lt;br /&gt;
&lt;br /&gt;
=== Spezielle Installations-Optionen ===&lt;br /&gt;
&lt;br /&gt;
Sie können das Verzeichnis, in das expecco installiert wird, wie folgt festlegen:&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package&lt;br /&gt;
             Installation als root nach /opt/expecco (Starten mit: /opt/expecco/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --prefix /opt/expecco-20.2&lt;br /&gt;
             Installation als root nach /opt/expecco-20.2 (Starten mit: /opt/expecco-20.2/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --local-only&lt;br /&gt;
             Installation als Benutzer nach $HOME/.local (Starten mit ~/.local/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --local-only --prefix ~/expecco&lt;br /&gt;
             Installation als Benutzer nach $HOME/expecco (Starten mit ~/expecco/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
=== Update Installation von expecco (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Wie bei der Erstinstallation erhalten eine E-Mail mit dem Link zu der neuen expecco-Installationsdatei.&lt;br /&gt;
Bitte laden Sie das Installationsprogramme herunter. Bei der Ausführung des Installationsprogramms &#039;&#039;bash expecco-***.x86.package&#039;&#039; erkennt expecco, dass eine andere Version bereits installiert wurde. Die alte expecco-Version wird mit allen Plugins automatisch deinstalliert. Ihre Einstellungen, Lizenzdateien und Ihre Testsuiten bleiben erhalten. Anschließend wird die neue expecco-Version wie bei der Erstinstallation (s.o.) installiert.&lt;br /&gt;
&lt;br /&gt;
=== Zusätzlich symbolische Links (libodbc,...) ===&lt;br /&gt;
&lt;br /&gt;
Aufgrund eines Fehlers in Ubuntu 14.04 und 14.10 müssen fehlende symbolische Links manuell angelegt werden. In Ubuntu 15.04 wurde der Fehler behoben.&lt;br /&gt;
&lt;br /&gt;
Es fehlen die Dateien: libodbc.so.2 sowie libodbcinst.so.2, die im Verzeichnis /usr/lib/i386-linux-gnu liegen.&lt;br /&gt;
&lt;br /&gt;
Die fehlenden Links können wie folgt angelegt werden:&lt;br /&gt;
    cd /usr/lib/i386-linux-gnu&lt;br /&gt;
    sudo ln -s libodbc.so.1 libodbc.so.2&lt;br /&gt;
    sudo ln -s libodbcinst.so.1 libodbcinst.so.2&lt;br /&gt;
&lt;br /&gt;
=== Deinstallieren ===&lt;br /&gt;
&lt;br /&gt;
    autopackage uninstall expecco&lt;br /&gt;
&lt;br /&gt;
=== Lizenz installieren ===&lt;br /&gt;
&lt;br /&gt;
Installieren Sie die Lizenz wie im nächsten Abschnitt beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Installation von expecco auf OS X ==&lt;br /&gt;
&lt;br /&gt;
Achtung: die OS X-Version ist z.Z. im Beta Test und auf Anfrage verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Benötigte macOS Softwarepakete ===&lt;br /&gt;
&lt;br /&gt;
expecco läuft auf 64-bit x64_64 mac OS X Systemen (eine Version für ältere 32bit Maschinen ist nur noch auf Anfrage erhältlich; beachten Sie, dass die neueren OS X Versionen 32bit Programme nicht mehr unterstützen).&lt;br /&gt;
Es wird mindestens OS X 10.6 benötigt.&lt;br /&gt;
&lt;br /&gt;
expecco benötigt XQuartz. Dieses sollten Sie vorher vom Apple Store oder [https://www.xquartz.org/ xquartz.org] installieren, falls nicht bereits vorinstalliert (kostenlos).&lt;br /&gt;
&lt;br /&gt;
=== Installation von expecco (OS X) ===&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expecco-2.11.0.1.dmg&lt;br /&gt;
&lt;br /&gt;
wobei hier 2.11.0 der Versionsnummer von expecco entspricht und 1 der Build-Nummer. Die Installationsdatei enthält das expecco-Basispaket sowie die Plugins.&lt;br /&gt;
&lt;br /&gt;
Zur Installation öffnen Sie die &amp;quot;&amp;lt;code&amp;gt;dmg&amp;lt;/code&amp;gt;&amp;quot;-Datei und verschieben &amp;quot;&amp;lt;code&amp;gt;expecco.app&amp;lt;/code&amp;gt;&amp;quot; in den &amp;quot;&amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt;&amp;quot;-Ordner (oder Ihren privaten &amp;quot;&amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt;&amp;quot;-Ordner, oder jeden beliebigen anderen Ordner).&lt;br /&gt;
&lt;br /&gt;
=== Deinstallation von expecco (OS X) ===&lt;br /&gt;
Sämtliche Dateien von expecco, mit Ausnahme Ihrer eigenen Suiten und Einstellungen sind im expecco.app Ordner. Löschen Sie diesen Ordner (und entleeren den Papierkorb) um expecco zu deinstallieren.&lt;br /&gt;
Ihre eigenen Einstellungen befinden sich im Homeverzeichnis unter &amp;quot;.expecco&amp;quot;; Ihre Suiten sind im Documentsordner, falls nicht explizit an anderer Stelle gespeichert.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration der Lizenz ==&lt;br /&gt;
&lt;br /&gt;
Beim erstmaligen Ausführen erscheint ein Fenster, in dem eine Lizenz verlangt wird. Falls Sie bereits eine Lizenz installiert haben und diese wechseln möchten können Sie den selben Dialog unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; öffnen, allerdings müssen Sie in diesem Fall nach dem Wechseln der Lizenz expecco neu starten.&lt;br /&gt;
&lt;br /&gt;
Fall Sie expecco auf einem Computer ohne GUI installiert haben, kann das zuvor erwähnte Fenster nicht geöffnet werden. In dem Fall müssen Sie expecco auch auf einem Computer mit GUI installieren und dort den Dialog ausfüllen. Danach kopieren Sie die Settingsdatei &amp;quot;&amp;lt;code&amp;gt;~/.expecco/.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;code&amp;gt;C:\users\IhrBenutzer\AppData\Roaming\expecco\.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; und die Lizenzdatei &amp;quot;&amp;lt;code&amp;gt;~/.expecco/expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;code&amp;gt;C:\users\IhrBenutzer\AppData\Roaming\expecco\expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; auf den Computer ohne GUI. &lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Einzellizenz | Konfiguration der Einzellizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Floating-Lizenz | Konfiguration der Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Auslösen einer Floating-Lizenz | Auslösen einer Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Einzellizenz ===&lt;br /&gt;
&lt;br /&gt;
Einzellizenzen werden üblicherweise mit einem USB-Dongle genutzt.&lt;br /&gt;
Ausnahmsweise können auch zeitlich limitierte Einzellizenzen ohne Dongle verwendet werden (sog. &amp;quot;&#039;&#039;Demo Lizenz&#039;&#039;&amp;quot;).&lt;br /&gt;
In beiden Fällen erhalten Sie eine Lizenzdatei.&lt;br /&gt;
Lizenzdateien und Dongle müssen jeweils zusammenpassen, wobei eine Lizenzdatei auch zu mehreren Dongles desselben Kunden passen kann.&lt;br /&gt;
&lt;br /&gt;
# falls Sie einen Dongle erhalten haben, stecken Sie ihn in einen freien USB-Port in Ihrem Rechner.&lt;br /&gt;
# Speichern Sie die Lizenzdatei auf Ihrem Rechner&lt;br /&gt;
# Ziehen Sie dann entweder die Datei mit der Maus aus dem Windows-Explorer in den Lizenzdialog, oder Sie wählen im Lizenzdialog Ihre Lizenzdatei direkt aus.&lt;br /&gt;
# Sie werden aufgefordert, expecco neu zu starten. Nach dem Neustart können Sie expecco nutzen.&lt;br /&gt;
&lt;br /&gt;
Lizenzdateien ohne Dongle sind zeitlich beschränkt.&lt;br /&gt;
Wenn Sie versehentlich den expecco-Dongle nicht in Ihren Rechner eingesteckt haben und expecco starten, erhalten Sie einen Hinweis, dass die Lizenz abgelaufen sei.&lt;br /&gt;
Sobald Sie den Dongle einstecken (bevor Sie expecco starten), erscheint dieser Hinweis beim Start von expecco nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Solange Sie mit expecco arbeiten, wird überwacht, ob der Dongle vorhanden ist.&lt;br /&gt;
Wenn Sie den Dongle währenddessen aus Ihrem Rechner entfernen, erhalten Sie einen Hinweis und können keine Tests mehr ausführen oder verändern.&lt;br /&gt;
Sie können allerdings die gerade bearbeitete Testsuite noch abspeichern, so dass keine Änderungen verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Floating-Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Um eine Floating-Lizenz zu nutzen, benötigen Sie einen expecco-Lizenzserver. Diesen (bzw. den Downloadlink) erhalten Sie von uns mit den Floatinglizenzen. Der Lizenzserver ist eine HTTP-Serviceanwendung, die auf einem beliebigen Rechner in einer Cloud oder Ihrer Firma oder Abteilung installiert wird. Sie läuft ohne eigenes Fenster, und wird über einen beliebigen WebBrowser bedient.&lt;br /&gt;
&lt;br /&gt;
Der Lizenzserver ist unter einem Rechnername bzw. IP-Adresse und einer Portnummer zu erreichen.&lt;br /&gt;
Der Administrator des Lizenzservers kann Ihnen diese Informationen geben, falls er eine andere als die default-Portnummer konfiguriert hat.&lt;br /&gt;
Es muss sichergestellt sein, dass eine TCP-Verbindung zum entsprechenden Port im Lizenzserver aufgebaut werden kann.&lt;br /&gt;
Router und Firewalls sind gegebenenfalls entsprechend zu konfigurieren bzw. Ports freizuschalten.&lt;br /&gt;
&lt;br /&gt;
Beim Start von expecco öffnet sich der Lizenzdialog.&lt;br /&gt;
Wählen Sie hier die Lizenzserver-Kachel aus.&lt;br /&gt;
Tragen Sie den Rechnernamen bzw. die IP-Adresse sowie die Portnummer des Lizenzservers ein.&lt;br /&gt;
Im allgemeinen kann die vorgeschlagene default Portnummer unverändert übernommen werden.&lt;br /&gt;
Lediglich in Netzwerken, bei denen nur bestimmte Ports durch Firewalls oder Router durchgeschaltet werden ist es u.U. notwendig, eine andere Portnummer zu verwenden.&lt;br /&gt;
Der Administrator des Lizenzservers kann Ihnen in diesem Fall diese Informationen geben&lt;br /&gt;
&lt;br /&gt;
Sie können jetzt auswählen, welche expecco-Ausprägung Sie verwenden wollen: &#039;&#039;expecco-developer&#039;&#039; oder &#039;&#039;expecco-runtime&#039;&#039;.&lt;br /&gt;
Über die Schaltfläche &amp;quot;&#039;&#039;Plugin-Liste vom Server aktualisieren&#039;&#039;&amp;quot; erhalten Sie die verfügbaren Plugins (bzw. Plugins für die noch Floating-Lizenzen verfügbar sind).&lt;br /&gt;
Wählen Sie die Plugins aus, die Sie für Ihre Tests benötigen.&lt;br /&gt;
Von den meisten Plugins benötigen Sie nur eine Lizenz.&lt;br /&gt;
Einzelne Plugins können für auf mehrere Rechner verteilte Tests mehr als eine Lizenz von einem Plugin benötigen - Sie können das für derartige Plugins angeben.&lt;br /&gt;
Im Dialog wird angezeigt, wie viele Lizenzen für ein bestimmtes Plugin auf dem Lizenzserver momentan noch zur Verfügung stehen.&lt;br /&gt;
Per Tooltip können Sie auch in Erfahrung bringen, wie viele Lizenzen generell vorhanden sind.&lt;br /&gt;
Die Differenz sind die momentan von anderen Benutzern verwendeten Lizenzen.&lt;br /&gt;
&lt;br /&gt;
Über die Schaltfläche &amp;quot;&#039;&#039;Lizenzdatei installieren&#039;&#039;&amp;quot; werden die Lizenzen vom Lizenzserver abonniert.&lt;br /&gt;
Starten Sie jetzt expecco neu, damit die lizenzierten Plugins geladen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn expecco beendet wird, werden alle Lizenzen wieder an den Lizenzserver zurück gegeben.&lt;br /&gt;
Expecco erneuert regelmäßig die Lizenzen vom Lizenzserver.&lt;br /&gt;
Wenn der Lizenzserver über einen gewissen Zeitraum nicht mehr erreichbar sein sollte (ca. 15 Minuten), wird expecco gesperrt, so dass keine Tests mehr ausgeführt oder verändert werden können. Geänderte Testsuiten können aber noch abgespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Wenn expecco nicht regulär beendet wurde, z.B. wenn der Rechner einfach ausgeschaltet wird, fallen die Lizenzen nach diesem Zeitraum an den Lizenzserver zurück und können dann von anderen Benutzern genutzt werden.&lt;br /&gt;
&lt;br /&gt;
expecco merkt sich, welche Lizenzen zuletzt abonniert wurden.&lt;br /&gt;
Wenn expecco gestartet wird, versucht es, die zuletzt abonnierten Lizenzen wieder zu erhalten.&lt;br /&gt;
Sollte das nicht möglich sein, da alle Lizenzen momentan vergeben sind, erscheint der Lizenzdialog, in dem die nicht oder nur teilweise erhaltenen Lizenzen rot unterlegt sind.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie neue Lizenzen benötigen oder bisher verwendete Lizenzen nicht mehr benötigen, können Sie die anzufordernden Lizenzen jederzeit über den Lizenzdialog anpassen.&lt;br /&gt;
Sie erreichen ihn über das Menü &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Auslösen einer Floating-Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Floatinglizenzen können auch ohne bestehende Verbindung zum Lizenzserver ausgelöst werden (sog. &amp;quot;&#039;&#039;road warrior&#039;&#039; Lizenzen&amp;quot;). Dies ermöglicht es Ihnen, auch zuhause, bei Kunden oder in isolierten Labors mit expecco zu arbeiten, ohne dass dafür ein Dongle benötigt wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verfügbar ab expecco Version 2.10.x.x&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auch wenn Ihr expecco keine Netzwerkverbindung hat, ist es möglich expecco mit einer Floating-Lizenz zu betreiben. Die Lizenz für expecco wird für eine bestimmte Zeitspanne ausgelöst. Nachdem diese Zeitspanne verstrichen ist, wird die ausgelöste Lizenz automatisch wieder zurückgegeben (eingegliedert). Bitte beachten Sie, dass es &#039;&#039;&#039;keine Möglichkeit gibt, eine ausgelöste Lizenz vor ihrem Ablauf wieder zurückzugeben!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hierfür brauchen Sie einen Lizenzservice (expecco ALM), aus welchem die Floating-Lizenz ausgelöst wird.&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen einer Floating-Lizenz starten Sie expecco und rufen Sie den Lizenzdialog unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; auf (beim erstmaligem Start erscheint dieser automatisch) und navigieren Sie in den Reiter &amp;quot;Ausgelöste Floating-Lizenz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dort haben Sie folgende Möglichkeiten:&lt;br /&gt;
==== Eine Anfrage zum Auslösen einer Floating-Lizenz erstellen ====&lt;br /&gt;
Stellen Sie sich Ihre gewünschte Lizenz zusammen. Definieren Sie den Typ (Runtime / Pro), die Plugins und wie lange Sie die Lizenz auslösen möchten. Sie können Ihre Anfrage dann entweder in eine Datei speichern oder in die Zwischenablage legen.&lt;br /&gt;
&lt;br /&gt;
Rufen Sie nun das Web-Interface des Lizenzservices (expecco ALM) in einem Webbrowser auf. Navigieren Sie in expecco ALM zu &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenz auslösen&#039;&#039;&amp;quot;. Dort können Sie dann Ihre Anfrage entweder über Datei hochladen oder aus der Zwischenablage in das freie Feld einfügen.&lt;br /&gt;
&lt;br /&gt;
Nach dem erfolgreichen Einspielen Ihrer Anfrage wird Ihnen Ihre Anfrage zur Gegenprüfung im Detail angezeigt. Sie können hier die Dauer der Auslösung ggf. erneut anpassen. Über den Knopf &amp;quot;Auslösen bestätigen&amp;quot; wird die Lizenz endgültig ausgelöst. Danach ist diese Lizenz bis zum Ablauf der Dauer ausschließlich für das expecco, von welchem die Anfrage erstellt wurde reserviert. Ihnen wird anschließend der Bestätigungsschlüssel angezeigt. Diesen können Sie wiederum als Datei speichern oder über Rechtsklick &amp;quot;Kopieren&amp;quot; in die Zwischenablage legen.&lt;br /&gt;
&lt;br /&gt;
Jetzt müssen Sie diesen Bestätigungsschlüssel an expecco übertragen (über USB-Stick, Zuruf, Telefon usw.) und eingeben oder die Datei auswählen.&lt;br /&gt;
&lt;br /&gt;
==== Eine bereits ausgelöste Floating-Lizenz in Betrieb nehmen ====&lt;br /&gt;
Falls Sie expecco aus Versehen während dem Prozess des Auslösens geschlossen haben oder der Prozess durch etwas ähnlich unterbrochen wurde, ist die ausgelöste Lizenz nicht verloren. Sie können diese Lizenz anhand Ihrer Anfrage und zugehörigem Bestätigungsschlüssel jederzeit in expecco aktivieren.&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu den Lizenzservice (expecco ALM) und navigieren Sie nach &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Im Einsatz&#039;&#039;&amp;quot;. Suchen Sie in dieser Liste nach einer passenden Lizenz. Eine passende Lizenz erkennen Sie bspw. an der Spalte &amp;quot;Rechnername&amp;quot;, diese Spalte sollte mit dem Rechnernamen auf dem expecco installiert ist übereinstimmen. Übertragen Sie die Anfrage sowie den Bestätigungsschlüssel aus den Spalten &amp;quot;Auslöse-Anfrage-Datei&amp;quot; und &amp;quot;Auslösungsschlüssel&amp;quot; zu expecco.&lt;br /&gt;
&lt;br /&gt;
In expecco müssen Sie die Auslöse-Anfrage-Datei auswählen und diese dann mit dem Bestätigungsschlüssel aktivieren.&lt;br /&gt;
&lt;br /&gt;
==== Die aktuell verwendete ausgelöste Floating-Lizenz verlängern ====&lt;br /&gt;
&lt;br /&gt;
Das Verlängern einer ausgelösten Floating-Lizenz ist nur möglich, solange diese noch gültig ist. Nach dem Ablauf einer ausgelösten Lizenz wird diese im Lizenzserver gelöscht und Sie müssen diese durch eine neue Anfrage erneuern (i.e. eine neue Lizenz auslösen).&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu den Lizenzservice (expecco ALM) und navigieren Sie nach &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Im Einsatz&#039;&#039;&amp;quot;. Suchen Sie in dieser Liste nach einer passenden Lizenz. Eine passende Lizenz erkennen Sie bspw. an der Spalte &amp;quot;Rechnername&amp;quot;. Diese Spalte sollte mit dem Rechnernamen, auf dem expecco installiert ist, übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
Klicken Sie nun auf &amp;quot;Verlängern&amp;quot;. Sie werden automatisch auf die Seite &amp;quot;Lizenz verlängern&amp;quot; weitergeleitet. Ihre Lizenz ist bereits vorselektiert. Sie können nun das gewünschte Datum eingeben. Danach wird Ihnen ein neuer Bestätigungsschlüssel angezeigt, diesen müssen Sie in expecco eingeben.&lt;br /&gt;
&lt;br /&gt;
=== Änderung des Lizenztyps nach der Installation ===&lt;br /&gt;
&lt;br /&gt;
Über das Menü &amp;quot;&#039;&#039;&amp;quot;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; können Sie die Lizenz nachträglich ändern.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Änderung des Lizenztyps werden permanent gespeichert, wenn Sie die Einstellung mit der Schaltfläche &amp;quot;Sichern&amp;quot; abspeichern.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Installation&amp;diff=23613</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Installation&amp;diff=23613"/>
		<updated>2021-07-12T11:22:10Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Windows SmartScreen / Blockierte Ausführung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation von expecco auf Windows ==&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expeccoSetup-19.1.0.22.exe -&amp;gt; für die expecco-Basisinstallation&lt;br /&gt;
&lt;br /&gt;
wobei hier 19.1.0 der Versionsnummer von expecco entspricht und 22 der Build-Nummer.&lt;br /&gt;
&lt;br /&gt;
Bitte laden Sie das Installationsprogramm auf Ihren Rechner.&lt;br /&gt;
&lt;br /&gt;
=== Windows SmartScreen / Blockierte Ausführung ===&lt;br /&gt;
&lt;br /&gt;
Führen Sie das Installationsprogramm für die expecco-Basisinstallation aus (&#039;&#039;expeccoSetup-***.exe&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen, dass Ihr Anti-Virus-Programm wie bspw. der [https://de.wikipedia.org/wiki/Microsoft_Defender Windows Defender SmartScreen], die Installation blockiert. Dies ist bei neuen oder Vorab-expecco-Versionen vermutlich damit begründet, dass Ihr Anti-Virus-Programm unsere Software noch nicht gut genug kennt. Bitte stellen Sie in dem Fall sicher, dass die Installationsdatei ausschließlich aus folgenden Quellen heruntergeladen wurde http://exept.de/*, http://download.exept.de/*, http://cloud.exept.de/*. Wenn Sie sich sicher sind, dass die Installationsdatei von uns stammt, können Sie ohne Bedenken die Blockierung Ihres Anti-Virus-Programms ignorieren. &lt;br /&gt;
&lt;br /&gt;
Im Fallse vom [https://de.wikipedia.org/wiki/Microsoft_Defender Windows Defender SmartScreen], gehen Sie bitte auf &amp;quot;Weitere Informationen&amp;quot; und dann auf &amp;quot;Trotzdem ausführen&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Windows_SmartScreen.png|300px|Report Settings]] [[Bild:Windows_SmartScreen_Trozdem_ausführen.png|300px|Report Settings]]&lt;br /&gt;
&lt;br /&gt;
Falls Sie ein anderes Anti-Virus-Programm haben, informieren Sie sich bitte wie man dort die Blockierung ignorieren oder die Installationsdatei als Ausnahme definieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgen Sie dabei dem Installationsassistenten.&lt;br /&gt;
Sie können hier das Laufwerk und das Verzeichnis angeben, unter dem expecco installiert werden soll.&lt;br /&gt;
Außerdem können Sie die Komponenten angeben, die Sie installieren wollen.&lt;br /&gt;
&lt;br /&gt;
Falls Sie Plugins für expecco lizenziert haben, können Sie bei der Installation die entsprechenden expecco-Plugins auswählen.&lt;br /&gt;
Angeboten werden alle Plugins - auch solche für die Sie keine Lizenzen erworben haben.&lt;br /&gt;
Falls Sie nicht lizenzierte Plugins installieren, ist deren Funktion in expecco nicht verfügbar und entsprechende Menu-Einträge entweder unsichtbar oder ausgegraut.&lt;br /&gt;
Installierte, aber nicht lizenzierte Plugins sind erst dann verfügbar, wenn die dazu passenden Lizenzen (nach-)installiert wurden.&lt;br /&gt;
Ansonsten belegen Sie nur Platz auf der Festplatte.&lt;br /&gt;
Weitere Plugins können auch jederzeit nachträglich installiert werden. Auch können weitere Lizenzen jederzeit später erworben werden.&lt;br /&gt;
&lt;br /&gt;
Nach der Installation finden Sie auf Ihrem Desktop das expecco-Symbol.&lt;br /&gt;
Über dieses Symbol können Sie expecco nun starten.&lt;br /&gt;
Beim erstmaligen Ausführen, erscheint ein Fenster, in dem eine Lizenz verlangt wird.&lt;br /&gt;
Je nachdem, ob Sie eine Einzellizenz oder eine Floating-Lizenz (per Lizenzserver) nutzen, müssen Sie die Lizenz entsprechend nachfolgender Beschreibung installieren.&lt;br /&gt;
&lt;br /&gt;
=== Automatische Installation von expecco via Commandline (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Sie können expecco über die Kommandozeile, via Batchdatei oder ähnlichem installieren. Führen Sie dazu expecco wie folgt aus:&lt;br /&gt;
    expeccoSetup-x.x.exe /S&lt;br /&gt;
Das &amp;quot;/S&amp;quot; steht für &amp;quot;&#039;&#039;Silent&#039;&#039;&amp;quot; und expecco installiert sich ohne GUI und ohne Fragen zu stellen.&lt;br /&gt;
Sie können optional auch ein spezifisches Installationsverzeichnis angeben:&lt;br /&gt;
    expeccoSetup-x.x.exe /S /D=&amp;quot;C:\Program Files (x86)\exept&amp;quot;&lt;br /&gt;
Damit expecco nach der Installation direkt starten kann, muss sichergestellt werden, dass eine Lizenz auf dem Zielrechner vorhanden ist. Hierfür kommen folgende Varianten in Frage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lizenz aus lokaler Lizenzdatei und Dongle&#039;&#039;&#039;:&amp;lt;br&amp;gt;&lt;br /&gt;
Stecken Sie den Dongle in den Zielrechner. Kopieren Sie Ihre Lizenzdatei in Ihr Benutzerverzeichnis bspw. &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\&amp;lt;/code&amp;gt;&amp;quot; unter dem Namen &amp;quot;&amp;lt;code&amp;gt;.expeccoLicense&amp;lt;/code&amp;gt;&amp;quot;, sodass die Datei &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\.expeccoLicense&amp;lt;/code&amp;gt;&amp;quot; Ihrer Lizenzdatei entspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lizenz vom Lizenzserver&#039;&#039;&#039;:&lt;br /&gt;
Hier müssen zunächst eine &amp;quot;Template&amp;quot; Lizenzdatei und &amp;quot;Template&amp;quot; expecco Einstellungen-Datei erstellt werden. Sie benötigen dafür ein laufendes expecco, welches mit Ihrem Lizenzserver verbunden ist. Starten Sie dieses expecco und konfigurieren Sie unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenz vom Lizenzserver&#039;&#039;&amp;quot; Ihre &amp;quot;Template&amp;quot; Lizenzdatei. Diese sollte alle Plugins, die auf dem Zielrechner für die automatisierte expecco Installation über Commandline benötigt werden, enthalten. Fordern Sie diese Lizenz vom Lizenzserver an. Setzen Sie den Haken &amp;quot;Lizenzserver nutzen&amp;quot; und drücken Sie anschließend &amp;quot;Sichern&amp;quot;. expecco hat nun die benötigten Template Dateien unter &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\AppData\Roaming\expecco&amp;lt;/code&amp;gt;&amp;quot; angelegt. Kopieren Sie die &amp;quot;&amp;lt;code&amp;gt;.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; und die &amp;quot;&amp;lt;code&amp;gt;expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; Datei vor der automatischen expecco Installation in das entsprechende Verzeichnis auf Ihrem Zielrechner. expecco kann somit direkt nach der automatischen Installation starten.&lt;br /&gt;
&lt;br /&gt;
=== Autostart von expecco ===&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu mit der &amp;lt;kbd&amp;gt;Windows-Taste&amp;lt;/KBD&amp;gt; + &amp;lt;KBD&amp;gt;&amp;quot;R&amp;quot;&amp;lt;/KBD&amp;gt; ein Ausführen-Fenster. Geben Sie dort &amp;quot;shell:startup&amp;quot; ein. Danach öffnet sich der Autostart-Ordner. Kopieren Sie die expecco-Verknüpfung vom Desktop in diesen Ordner. Nun wird expecco, nachdem sich dieser Benutzer angemeldet hat, automatisch gestartet. Folgend können Sie konfigurieren, dass sich dieser Benutzer automatisch anmeldet, wenn der Rechner angeschaltet wird. Drücken Sie dazu erneut &amp;lt;KBD&amp;gt;Windows-Taste&amp;lt;/KBD&amp;gt; + &amp;lt;KBD&amp;gt;&amp;quot;R&amp;quot;&amp;lt;/KBD&amp;gt;. Geben Sie nun &amp;quot;netplwiz&amp;quot; ein. Es öffnet sich der Benutzerkonten-Dialog. In diesem können Sie den Haken &amp;quot;Benutzer müssen Benutzernamen und Kennwort eingeben&amp;quot; abwählen. Diese Einstellung gilt nur für das Anmelden nachdem der Rechner hochgefahren ist.&lt;br /&gt;
&lt;br /&gt;
Übrigens können diverse Parameter auf der [[Command Line Options|expecco-Kommandozeile]] angegeben werden. Hier sind insbesondere die Optionen [[Command Line Options#Startup|&amp;quot;--licenseFile&amp;quot;]], [[Command Line Options#Startup|&amp;quot;--licenseServer&amp;quot;]] und [[Command Line Options#Startup|&amp;quot;--licenseServerPort&amp;quot;]] zu erwähnen.&lt;br /&gt;
&lt;br /&gt;
=== expecco Einstellungen vordefinieren ===&lt;br /&gt;
&lt;br /&gt;
Es kann in bestimmten Fällen Sinn machen, die expecco Einstellungen für neue Windows-Benutzerkonten vorzudefinieren.&lt;br /&gt;
Z.B. könnte man die Adresse des Lizenzserver und die benötigten Pluginlizenzen vordefinieren.&lt;br /&gt;
Dies hätte den Vorteil, dass neue Benutzer direkt mit expecco loslegen können.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie zum Vordefinieren der expecco Einstellungen für neue Windows-Benutzerkonten folgendermaßen vor:&lt;br /&gt;
* starten Sie expecco auf einem bereits vorhandenen Benutzerkonto (kann auch ein anderer Windows Rechner sein)&lt;br /&gt;
* stellen Sie dessen expecco Einstellungen (&amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;) wie zur Vorlage gewünscht ein und speichern Sie über &amp;quot;&#039;&#039;Sichern&#039;&#039;&amp;quot;&lt;br /&gt;
* navigieren Sie zu dem Verzeichnis &amp;quot;C:\Users\{IhrBenutzer}\AppData\Roaming\expecco\&amp;quot; und kopieren Sie die 2 Dateien &amp;quot;.expeccoPreferences&amp;quot; und &amp;quot;expeccoLicenseServerLicense&amp;quot;&lt;br /&gt;
* begeben Sie sich zum Zielrechner und erstellen Sie einen Ordner &amp;quot;expecco&amp;quot; unter &amp;quot;C:\Users\Default\AppData\Roaming\&amp;quot;&lt;br /&gt;
* fügen Sie die 2 kopierten Dateien auf dem Zielrechner unter &amp;quot;C:\Users\Default\AppData\Roaming\expecco\&amp;quot; ein&lt;br /&gt;
&lt;br /&gt;
Jetzt werden alle neuen Windows-Benutzerkonten diese Einstellungen als Ausgangseinstellungen verwenden. Sie können diese Einstellungen auch bereits existierenden Windows-Benutzerkonten zuweisen. Hierfür fügen Sie die 2 Dateien in die entsprechenden Benutzerverzeichnisse auf dem Zielrechner &amp;quot;C:\Users\{ExistierenderBenutzer}\AppData\Roaming\expecco\&amp;quot; ein.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: damit werden alle bereits getätigen Einstellungen der Benutzer überschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Update Installation von expecco (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Wie bei der Erstinstallation erhalten eine E-Mail mit dem Link zu den neuen expecco-Installationsdateien.&lt;br /&gt;
Bitte laden Sie die Installationsprogramme herunter.&lt;br /&gt;
Bei der Ausführung des Basis-Installationsprogramms &amp;quot;&amp;lt;code&amp;gt;expeccoSetup-xxx.exe&amp;lt;/code&amp;gt;&amp;quot; erkennt expecco, dass es bereits installiert ist, und zeigt einen Dialog an, in dem Sie um eine Bestätigung gebeten werden, dass die alte expecco-Version deinstalliert werden darf.&lt;br /&gt;
Bestätigen Sie bitte diesen Dialog. Die alte expecco-Version wird mit allen Plugins deinstalliert.&lt;br /&gt;
Ihre Einstellungen, Lizenzdateien und Ihre Testsuiten bleiben erhalten.&lt;br /&gt;
Anschließend wird die neue expecco-Version wie bei der Erstinstallation (s.o.) installiert.&lt;br /&gt;
&lt;br /&gt;
=== Lizenz installieren ===&lt;br /&gt;
&lt;br /&gt;
Beim erstmaligen Ausführen erscheint ein Fenster, in dem eine Lizenz verlangt wird. Je nachdem, ob Sie eine Einzellizenz oder eine Floating-Lizenz (per Lizenzserver) nutzen, können Sie die Lizenz konfigurieren.&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Einzellizenz | Konfiguration der Einzellizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Floating-Lizenz | Konfiguration der Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
== Installation von expecco auf Linux ==&lt;br /&gt;
&lt;br /&gt;
expecco läuft auf allen aktuellen Linux-Distributionen (Ubuntu, RedHat, Fedora, Oracle Linux, Debian, (Open-)SuSE, ...).&lt;br /&gt;
&lt;br /&gt;
=== Benötigte Linux Softwarepakete ===&lt;br /&gt;
&lt;br /&gt;
expecco läuft sowohl auf 32- als auch auf 64-bit Linux Systemen. Sie können expecco wahlweise als 64-bit-Version oder 32-bit-Version installieren.&lt;br /&gt;
Falls sie ein 64-bit Linux einsetzten (das ist mittlerweile der Standard) empfehlen wir die 64-bit expecco-Version.&amp;lt;br&amp;gt;&#039;&#039;&#039;Die 32-bit Linux-Version liefern wir nur noch auf Anfrage aus.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird eine glibc in der Version &amp;gt;= 2.14 benötigt.&lt;br /&gt;
&lt;br /&gt;
Installieren Sie über Ihren Paketmanager Ihrer Linux-Distribution folgende Pakete:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;libXinerama&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxrandr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libXft&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libusb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;unixODBC&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;odbcinst&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;libglib-2_0-0&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gnuplot&amp;lt;/code&amp;gt; (optional - falls Plot/Graph Aktionen benötigt)&lt;br /&gt;
&lt;br /&gt;
Diese Pakete hängen von weiteren Paketen ab, die der Paketmanager automatisch mit installiert.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu (ab 15.04) installieren Sie die Pakete mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \&lt;br /&gt;
        libxinerama1 libxft2 libxrandr2 unixodbc odbcinst libusb-1.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation von 32-bit expecco auf 64-bit Linux (nicht empfohlen!) ====&lt;br /&gt;
&lt;br /&gt;
Diese Konfiguration empfehlen wir nicht. Nutzen Sie stattdessen besser die 64-bit expecco Version. &lt;br /&gt;
Falls Sie expecco-32-bit doch auf 64-bit-Linux installieren wollen, benötigen Sie die Pakete in der 32-bit Ausführung.&lt;br /&gt;
&lt;br /&gt;
Es wird eine glibc in der Version &amp;gt;= 2.10 benötigt.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 64bit (ab 15.04 64-bit) für ein 32-bit expecco installieren Sie die Pakete mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \&lt;br /&gt;
        libxinerama1:i386 libxft2:i386 libxrandr2:i386 unixodbc:i386 odbcinst:i386 libusb-1.0.0:i386&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von expecco (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expecco-20.2.0.54.x86.package&lt;br /&gt;
&lt;br /&gt;
wobei hier 20.2.0 der Versionsnummer von expecco entspricht und 54 der Build-Nummer. Die Installationsdatei enthält das expecco-Basispaket sowie die Plugins.&lt;br /&gt;
&lt;br /&gt;
Für die Installation benötigen Sie bei einer erstmaligen Installation außerdem noch das &#039;&#039;autopackage&#039;&#039; Paket. Sie können es hier herunterladen: http://download.exept.de/transfer/autopackage/autopackage.tar.bz2. Entpacken Sie das Archive und installieren Sie dieses durch das Ausführen der INSTALL Datei im Root Verzeichnis des Archives. Sie werden ggf. gefragt ob die GUI Komponenten vom &amp;quot;Autopackage&amp;quot; herunter geladen und installiert werden sollen. Wählen Sie &amp;quot;NEIN&amp;quot; aus, da diese nicht benötigt werden und unter Umständen zu Fehlern führen können. &lt;br /&gt;
&lt;br /&gt;
Laden Sie die expecco-Installationsdatei und ggf. &#039;&#039;autopackage.tar.bz2&#039;&#039; in dasselbe Verzeichnis auf Ihrem Rechner.&lt;br /&gt;
&lt;br /&gt;
Sie können die Installation als Benutzer &#039;&#039;root&#039;&#039; oder als normaler Benutzer ausführen. Wenn Sie expecco als Benutzer &#039;&#039;root&#039;&#039; installieren, wird expecco im Verzeichnis &#039;&#039;/opt/expecco/bin&#039;&#039; installiert. Bei einer Installation als normaler Benutzer, wird expecco in Ihrem Home-Verzeichnis nach &#039;&#039;.local/bin&#039;&#039; installiert. &lt;br /&gt;
&lt;br /&gt;
Führen Sie aus:&lt;br /&gt;
    bash ./expecco-20.2.0.54.x86.package&lt;br /&gt;
&lt;br /&gt;
expecco wird daraufhin installiert, es erscheint folgende Ausgabe:&lt;br /&gt;
 # Preparing package: expecco - Graphical Test Modeling&lt;br /&gt;
 # Checking for required C library versions ... passed&lt;br /&gt;
 This may take a moment, please wait ... done&lt;br /&gt;
 # Installing package: expecco - Graphical Test Modeling (package 1 of 1)&lt;br /&gt;
 # 100%[==================================================] Extracting&lt;br /&gt;
 # Copying files to /opt/expecco/plugin&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge/javaBridge&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge/javaBridge/javaBridge_Server_Client&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/stx/libsnmp&lt;br /&gt;
 # Copying files to /opt/expecco/packages/stx/libsnmp/net-snmp-5.7.2/mibs&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/libraries&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/bin&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/lib&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/expecco/doc&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/libraries&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/examples&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/expecco/reportGenerator/tools&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/pdf/afm&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Installing USB Dongle access...&lt;br /&gt;
 # Updating package database...&lt;br /&gt;
 The following package was successfully installed:&lt;br /&gt;
 * expecco - Graphical Test Modeling&lt;br /&gt;
 This installation used 478.74 MiB (502.00 MB) of disk space.&lt;br /&gt;
 Remove this package by running package remove expecco from the command line.&lt;br /&gt;
&lt;br /&gt;
=== Spezielle Installations-Optionen ===&lt;br /&gt;
&lt;br /&gt;
Sie können das Verzeichnis, in das expecco installiert wird, wie folgt festlegen:&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package&lt;br /&gt;
             Installation als root nach /opt/expecco (Starten mit: /opt/expecco/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --prefix /opt/expecco-20.2&lt;br /&gt;
             Installation als root nach /opt/expecco-20.2 (Starten mit: /opt/expecco-20.2/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --local-only&lt;br /&gt;
             Installation als Benutzer nach $HOME/.local (Starten mit ~/.local/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --local-only --prefix ~/expecco&lt;br /&gt;
             Installation als Benutzer nach $HOME/expecco (Starten mit ~/expecco/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
=== Update Installation von expecco (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Wie bei der Erstinstallation erhalten eine E-Mail mit dem Link zu der neuen expecco-Installationsdatei.&lt;br /&gt;
Bitte laden Sie das Installationsprogramme herunter. Bei der Ausführung des Installationsprogramms &#039;&#039;bash expecco-***.x86.package&#039;&#039; erkennt expecco, dass eine andere Version bereits installiert wurde. Die alte expecco-Version wird mit allen Plugins automatisch deinstalliert. Ihre Einstellungen, Lizenzdateien und Ihre Testsuiten bleiben erhalten. Anschließend wird die neue expecco-Version wie bei der Erstinstallation (s.o.) installiert.&lt;br /&gt;
&lt;br /&gt;
=== Zusätzlich symbolische Links (libodbc,...) ===&lt;br /&gt;
&lt;br /&gt;
Aufgrund eines Fehlers in Ubuntu 14.04 und 14.10 müssen fehlende symbolische Links manuell angelegt werden. In Ubuntu 15.04 wurde der Fehler behoben.&lt;br /&gt;
&lt;br /&gt;
Es fehlen die Dateien: libodbc.so.2 sowie libodbcinst.so.2, die im Verzeichnis /usr/lib/i386-linux-gnu liegen.&lt;br /&gt;
&lt;br /&gt;
Die fehlenden Links können wie folgt angelegt werden:&lt;br /&gt;
    cd /usr/lib/i386-linux-gnu&lt;br /&gt;
    sudo ln -s libodbc.so.1 libodbc.so.2&lt;br /&gt;
    sudo ln -s libodbcinst.so.1 libodbcinst.so.2&lt;br /&gt;
&lt;br /&gt;
=== Deinstallieren ===&lt;br /&gt;
&lt;br /&gt;
    autopackage uninstall expecco&lt;br /&gt;
&lt;br /&gt;
=== Lizenz installieren ===&lt;br /&gt;
&lt;br /&gt;
Installieren Sie die Lizenz wie im nächsten Abschnitt beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Installation von expecco auf OS X ==&lt;br /&gt;
&lt;br /&gt;
Achtung: die OS X-Version ist z.Z. im Beta Test und auf Anfrage verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Benötigte macOS Softwarepakete ===&lt;br /&gt;
&lt;br /&gt;
expecco läuft auf 64-bit x64_64 mac OS X Systemen (eine Version für ältere 32bit Maschinen ist nur noch auf Anfrage erhältlich; beachten Sie, dass die neueren OS X Versionen 32bit Programme nicht mehr unterstützen).&lt;br /&gt;
Es wird mindestens OS X 10.6 benötigt.&lt;br /&gt;
&lt;br /&gt;
expecco benötigt XQuartz. Dieses sollten Sie vorher vom Apple Store oder [https://www.xquartz.org/ xquartz.org] installieren, falls nicht bereits vorinstalliert (kostenlos).&lt;br /&gt;
&lt;br /&gt;
=== Installation von expecco (OS X) ===&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expecco-2.11.0.1.dmg&lt;br /&gt;
&lt;br /&gt;
wobei hier 2.11.0 der Versionsnummer von expecco entspricht und 1 der Build-Nummer. Die Installationsdatei enthält das expecco-Basispaket sowie die Plugins.&lt;br /&gt;
&lt;br /&gt;
Zur Installation öffnen Sie die &amp;quot;&amp;lt;code&amp;gt;dmg&amp;lt;/code&amp;gt;&amp;quot;-Datei und verschieben &amp;quot;&amp;lt;code&amp;gt;expecco.app&amp;lt;/code&amp;gt;&amp;quot; in den &amp;quot;&amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt;&amp;quot;-Ordner (oder Ihren privaten &amp;quot;&amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt;&amp;quot;-Ordner, oder jeden beliebigen anderen Ordner).&lt;br /&gt;
&lt;br /&gt;
=== Deinstallation von expecco (OS X) ===&lt;br /&gt;
Sämtliche Dateien von expecco, mit Ausnahme Ihrer eigenen Suiten und Einstellungen sind im expecco.app Ordner. Löschen Sie diesen Ordner (und entleeren den Papierkorb) um expecco zu deinstallieren.&lt;br /&gt;
Ihre eigenen Einstellungen befinden sich im Homeverzeichnis unter &amp;quot;.expecco&amp;quot;; Ihre Suiten sind im Documentsordner, falls nicht explizit an anderer Stelle gespeichert.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration der Lizenz ==&lt;br /&gt;
&lt;br /&gt;
Beim erstmaligen Ausführen erscheint ein Fenster, in dem eine Lizenz verlangt wird. Falls Sie bereits eine Lizenz installiert haben und diese wechseln möchten können Sie den selben Dialog unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; öffnen, allerdings müssen Sie in diesem Fall nach dem Wechseln der Lizenz expecco neu starten.&lt;br /&gt;
&lt;br /&gt;
Fall Sie expecco auf einem Computer ohne GUI installiert haben, kann das zuvor erwähnte Fenster nicht geöffnet werden. In dem Fall müssen Sie expecco auch auf einem Computer mit GUI installieren und dort den Dialog ausfüllen. Danach kopieren Sie die Settingsdatei &amp;quot;&amp;lt;code&amp;gt;~/.expecco/.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;code&amp;gt;C:\users\IhrBenutzer\AppData\Roaming\expecco\.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; und die Lizenzdatei &amp;quot;&amp;lt;code&amp;gt;~/.expecco/expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;code&amp;gt;C:\users\IhrBenutzer\AppData\Roaming\expecco\expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; auf den Computer ohne GUI. &lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Einzellizenz | Konfiguration der Einzellizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Floating-Lizenz | Konfiguration der Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Auslösen einer Floating-Lizenz | Auslösen einer Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Einzellizenz ===&lt;br /&gt;
&lt;br /&gt;
Einzellizenzen werden üblicherweise mit einem USB-Dongle genutzt.&lt;br /&gt;
Ausnahmsweise können auch zeitlich limitierte Einzellizenzen ohne Dongle verwendet werden (sog. &amp;quot;&#039;&#039;Demo Lizenz&#039;&#039;&amp;quot;).&lt;br /&gt;
In beiden Fällen erhalten Sie eine Lizenzdatei.&lt;br /&gt;
Lizenzdateien und Dongle müssen jeweils zusammenpassen, wobei eine Lizenzdatei auch zu mehreren Dongles desselben Kunden passen kann.&lt;br /&gt;
&lt;br /&gt;
# falls Sie einen Dongle erhalten haben, stecken Sie ihn in einen freien USB-Port in Ihrem Rechner.&lt;br /&gt;
# Speichern Sie die Lizenzdatei auf Ihrem Rechner&lt;br /&gt;
# Ziehen Sie dann entweder die Datei mit der Maus aus dem Windows-Explorer in den Lizenzdialog, oder Sie wählen im Lizenzdialog Ihre Lizenzdatei direkt aus.&lt;br /&gt;
# Sie werden aufgefordert, expecco neu zu starten. Nach dem Neustart können Sie expecco nutzen.&lt;br /&gt;
&lt;br /&gt;
Lizenzdateien ohne Dongle sind zeitlich beschränkt.&lt;br /&gt;
Wenn Sie versehentlich den expecco-Dongle nicht in Ihren Rechner eingesteckt haben und expecco starten, erhalten Sie einen Hinweis, dass die Lizenz abgelaufen sei.&lt;br /&gt;
Sobald Sie den Dongle einstecken (bevor Sie expecco starten), erscheint dieser Hinweis beim Start von expecco nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Solange Sie mit expecco arbeiten, wird überwacht, ob der Dongle vorhanden ist.&lt;br /&gt;
Wenn Sie den Dongle währenddessen aus Ihrem Rechner entfernen, erhalten Sie einen Hinweis und können keine Tests mehr ausführen oder verändern.&lt;br /&gt;
Sie können allerdings die gerade bearbeitete Testsuite noch abspeichern, so dass keine Änderungen verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Floating-Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Um eine Floating-Lizenz zu nutzen, benötigen Sie einen expecco-Lizenzserver. Diesen (bzw. den Downloadlink) erhalten Sie von uns mit den Floatinglizenzen. Der Lizenzserver ist eine HTTP-Serviceanwendung, die auf einem beliebigen Rechner in einer Cloud oder Ihrer Firma oder Abteilung installiert wird. Sie läuft ohne eigenes Fenster, und wird über einen beliebigen WebBrowser bedient.&lt;br /&gt;
&lt;br /&gt;
Der Lizenzserver ist unter einem Rechnername bzw. IP-Adresse und einer Portnummer zu erreichen.&lt;br /&gt;
Der Administrator des Lizenzservers kann Ihnen diese Informationen geben, falls er eine andere als die default-Portnummer konfiguriert hat.&lt;br /&gt;
Es muss sichergestellt sein, dass eine TCP-Verbindung zum entsprechenden Port im Lizenzserver aufgebaut werden kann.&lt;br /&gt;
Router und Firewalls sind gegebenenfalls entsprechend zu konfigurieren bzw. Ports freizuschalten.&lt;br /&gt;
&lt;br /&gt;
Beim Start von expecco öffnet sich der Lizenzdialog.&lt;br /&gt;
Wählen Sie hier die Lizenzserver-Kachel aus.&lt;br /&gt;
Tragen Sie den Rechnernamen bzw. die IP-Adresse sowie die Portnummer des Lizenzservers ein.&lt;br /&gt;
Im allgemeinen kann die vorgeschlagene default Portnummer unverändert übernommen werden.&lt;br /&gt;
Lediglich in Netzwerken, bei denen nur bestimmte Ports durch Firewalls oder Router durchgeschaltet werden ist es u.U. notwendig, eine andere Portnummer zu verwenden.&lt;br /&gt;
Der Administrator des Lizenzservers kann Ihnen in diesem Fall diese Informationen geben&lt;br /&gt;
&lt;br /&gt;
Sie können jetzt auswählen, welche expecco-Ausprägung Sie verwenden wollen: &#039;&#039;expecco-developer&#039;&#039; oder &#039;&#039;expecco-runtime&#039;&#039;.&lt;br /&gt;
Über die Schaltfläche &amp;quot;&#039;&#039;Plugin-Liste vom Server aktualisieren&#039;&#039;&amp;quot; erhalten Sie die verfügbaren Plugins (bzw. Plugins für die noch Floating-Lizenzen verfügbar sind).&lt;br /&gt;
Wählen Sie die Plugins aus, die Sie für Ihre Tests benötigen.&lt;br /&gt;
Von den meisten Plugins benötigen Sie nur eine Lizenz.&lt;br /&gt;
Einzelne Plugins können für auf mehrere Rechner verteilte Tests mehr als eine Lizenz von einem Plugin benötigen - Sie können das für derartige Plugins angeben.&lt;br /&gt;
Im Dialog wird angezeigt, wie viele Lizenzen für ein bestimmtes Plugin auf dem Lizenzserver momentan noch zur Verfügung stehen.&lt;br /&gt;
Per Tooltip können Sie auch in Erfahrung bringen, wie viele Lizenzen generell vorhanden sind.&lt;br /&gt;
Die Differenz sind die momentan von anderen Benutzern verwendeten Lizenzen.&lt;br /&gt;
&lt;br /&gt;
Über die Schaltfläche &amp;quot;&#039;&#039;Lizenzdatei installieren&#039;&#039;&amp;quot; werden die Lizenzen vom Lizenzserver abonniert.&lt;br /&gt;
Starten Sie jetzt expecco neu, damit die lizenzierten Plugins geladen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn expecco beendet wird, werden alle Lizenzen wieder an den Lizenzserver zurück gegeben.&lt;br /&gt;
Expecco erneuert regelmäßig die Lizenzen vom Lizenzserver.&lt;br /&gt;
Wenn der Lizenzserver über einen gewissen Zeitraum nicht mehr erreichbar sein sollte (ca. 15 Minuten), wird expecco gesperrt, so dass keine Tests mehr ausgeführt oder verändert werden können. Geänderte Testsuiten können aber noch abgespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Wenn expecco nicht regulär beendet wurde, z.B. wenn der Rechner einfach ausgeschaltet wird, fallen die Lizenzen nach diesem Zeitraum an den Lizenzserver zurück und können dann von anderen Benutzern genutzt werden.&lt;br /&gt;
&lt;br /&gt;
expecco merkt sich, welche Lizenzen zuletzt abonniert wurden.&lt;br /&gt;
Wenn expecco gestartet wird, versucht es, die zuletzt abonnierten Lizenzen wieder zu erhalten.&lt;br /&gt;
Sollte das nicht möglich sein, da alle Lizenzen momentan vergeben sind, erscheint der Lizenzdialog, in dem die nicht oder nur teilweise erhaltenen Lizenzen rot unterlegt sind.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie neue Lizenzen benötigen oder bisher verwendete Lizenzen nicht mehr benötigen, können Sie die anzufordernden Lizenzen jederzeit über den Lizenzdialog anpassen.&lt;br /&gt;
Sie erreichen ihn über das Menü &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Auslösen einer Floating-Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Floatinglizenzen können auch ohne bestehende Verbindung zum Lizenzserver ausgelöst werden (sog. &amp;quot;&#039;&#039;road warrior&#039;&#039; Lizenzen&amp;quot;). Dies ermöglicht es Ihnen, auch zuhause, bei Kunden oder in isolierten Labors mit expecco zu arbeiten, ohne dass dafür ein Dongle benötigt wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verfügbar ab expecco Version 2.10.x.x&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auch wenn Ihr expecco keine Netzwerkverbindung hat, ist es möglich expecco mit einer Floating-Lizenz zu betreiben. Die Lizenz für expecco wird für eine bestimmte Zeitspanne ausgelöst. Nachdem diese Zeitspanne verstrichen ist, wird die ausgelöste Lizenz automatisch wieder zurückgegeben (eingegliedert). Bitte beachten Sie, dass es &#039;&#039;&#039;keine Möglichkeit gibt, eine ausgelöste Lizenz vor ihrem Ablauf wieder zurückzugeben!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hierfür brauchen Sie einen Lizenzservice (expecco ALM), aus welchem die Floating-Lizenz ausgelöst wird.&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen einer Floating-Lizenz starten Sie expecco und rufen Sie den Lizenzdialog unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; auf (beim erstmaligem Start erscheint dieser automatisch) und navigieren Sie in den Reiter &amp;quot;Ausgelöste Floating-Lizenz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dort haben Sie folgende Möglichkeiten:&lt;br /&gt;
==== Eine Anfrage zum Auslösen einer Floating-Lizenz erstellen ====&lt;br /&gt;
Stellen Sie sich Ihre gewünschte Lizenz zusammen. Definieren Sie den Typ (Runtime / Pro), die Plugins und wie lange Sie die Lizenz auslösen möchten. Sie können Ihre Anfrage dann entweder in eine Datei speichern oder in die Zwischenablage legen.&lt;br /&gt;
&lt;br /&gt;
Rufen Sie nun das Web-Interface des Lizenzservices (expecco ALM) in einem Webbrowser auf. Navigieren Sie in expecco ALM zu &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenz auslösen&#039;&#039;&amp;quot;. Dort können Sie dann Ihre Anfrage entweder über Datei hochladen oder aus der Zwischenablage in das freie Feld einfügen.&lt;br /&gt;
&lt;br /&gt;
Nach dem erfolgreichen Einspielen Ihrer Anfrage wird Ihnen Ihre Anfrage zur Gegenprüfung im Detail angezeigt. Sie können hier die Dauer der Auslösung ggf. erneut anpassen. Über den Knopf &amp;quot;Auslösen bestätigen&amp;quot; wird die Lizenz endgültig ausgelöst. Danach ist diese Lizenz bis zum Ablauf der Dauer ausschließlich für das expecco, von welchem die Anfrage erstellt wurde reserviert. Ihnen wird anschließend der Bestätigungsschlüssel angezeigt. Diesen können Sie wiederum als Datei speichern oder über Rechtsklick &amp;quot;Kopieren&amp;quot; in die Zwischenablage legen.&lt;br /&gt;
&lt;br /&gt;
Jetzt müssen Sie diesen Bestätigungsschlüssel an expecco übertragen (über USB-Stick, Zuruf, Telefon usw.) und eingeben oder die Datei auswählen.&lt;br /&gt;
&lt;br /&gt;
==== Eine bereits ausgelöste Floating-Lizenz in Betrieb nehmen ====&lt;br /&gt;
Falls Sie expecco aus Versehen während dem Prozess des Auslösens geschlossen haben oder der Prozess durch etwas ähnlich unterbrochen wurde, ist die ausgelöste Lizenz nicht verloren. Sie können diese Lizenz anhand Ihrer Anfrage und zugehörigem Bestätigungsschlüssel jederzeit in expecco aktivieren.&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu den Lizenzservice (expecco ALM) und navigieren Sie nach &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Im Einsatz&#039;&#039;&amp;quot;. Suchen Sie in dieser Liste nach einer passenden Lizenz. Eine passende Lizenz erkennen Sie bspw. an der Spalte &amp;quot;Rechnername&amp;quot;, diese Spalte sollte mit dem Rechnernamen auf dem expecco installiert ist übereinstimmen. Übertragen Sie die Anfrage sowie den Bestätigungsschlüssel aus den Spalten &amp;quot;Auslöse-Anfrage-Datei&amp;quot; und &amp;quot;Auslösungsschlüssel&amp;quot; zu expecco.&lt;br /&gt;
&lt;br /&gt;
In expecco müssen Sie die Auslöse-Anfrage-Datei auswählen und diese dann mit dem Bestätigungsschlüssel aktivieren.&lt;br /&gt;
&lt;br /&gt;
==== Die aktuell verwendete ausgelöste Floating-Lizenz verlängern ====&lt;br /&gt;
&lt;br /&gt;
Das Verlängern einer ausgelösten Floating-Lizenz ist nur möglich, solange diese noch gültig ist. Nach dem Ablauf einer ausgelösten Lizenz wird diese im Lizenzserver gelöscht und Sie müssen diese durch eine neue Anfrage erneuern (i.e. eine neue Lizenz auslösen).&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu den Lizenzservice (expecco ALM) und navigieren Sie nach &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Im Einsatz&#039;&#039;&amp;quot;. Suchen Sie in dieser Liste nach einer passenden Lizenz. Eine passende Lizenz erkennen Sie bspw. an der Spalte &amp;quot;Rechnername&amp;quot;. Diese Spalte sollte mit dem Rechnernamen, auf dem expecco installiert ist, übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
Klicken Sie nun auf &amp;quot;Verlängern&amp;quot;. Sie werden automatisch auf die Seite &amp;quot;Lizenz verlängern&amp;quot; weitergeleitet. Ihre Lizenz ist bereits vorselektiert. Sie können nun das gewünschte Datum eingeben. Danach wird Ihnen ein neuer Bestätigungsschlüssel angezeigt, diesen müssen Sie in expecco eingeben.&lt;br /&gt;
&lt;br /&gt;
=== Änderung des Lizenztyps nach der Installation ===&lt;br /&gt;
&lt;br /&gt;
Über das Menü &amp;quot;&#039;&#039;&amp;quot;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; können Sie die Lizenz nachträglich ändern.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Änderung des Lizenztyps werden permanent gespeichert, wenn Sie die Einstellung mit der Schaltfläche &amp;quot;Sichern&amp;quot; abspeichern.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Installation&amp;diff=23612</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Installation&amp;diff=23612"/>
		<updated>2021-07-12T11:21:11Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Windows SmartScreen / Blockierte Ausführung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation von expecco auf Windows ==&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expeccoSetup-19.1.0.22.exe -&amp;gt; für die expecco-Basisinstallation&lt;br /&gt;
&lt;br /&gt;
wobei hier 19.1.0 der Versionsnummer von expecco entspricht und 22 der Build-Nummer.&lt;br /&gt;
&lt;br /&gt;
Bitte laden Sie das Installationsprogramm auf Ihren Rechner.&lt;br /&gt;
&lt;br /&gt;
=== Windows SmartScreen / Blockierte Ausführung ===&lt;br /&gt;
&lt;br /&gt;
Führen Sie das Installationsprogramm für die expecco-Basisinstallation aus (&#039;&#039;expeccoSetup-***.exe&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen, dass Ihr Anti-Virus-Programm wie bspw. der [https://de.wikipedia.org/wiki/Microsoft_Defender Windows Defender SmartScreen], die Installation blockiert. Dies ist bei neuen oder Vorab-Versionen vermutlich damit begründet, dass Ihr Anti-Virus-Programm unsere Software noch nicht gut genug kennt. Bitte stellen Sie in dem Fall sicher, dass die Installationsdatei ausschließlich aus folgenden Quellen heruntergeladen wurde http://exept.de/*, http://download.exept.de/*, http://cloud.exept.de/*. Wenn Sie sich sicher sind, dass die Installationsdatei von uns stammt, können Sie ohne Bedenken die Blockierung Ihres Anti-Virus-Programms ignorieren. &lt;br /&gt;
&lt;br /&gt;
Im Fallse vom [https://de.wikipedia.org/wiki/Microsoft_Defender Windows Defender SmartScreen], gehen Sie bitte auf &amp;quot;Weitere Informationen&amp;quot; und dann auf &amp;quot;Trotzdem ausführen&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Windows_SmartScreen.png|300px|Report Settings]] [[Bild:Windows_SmartScreen_Trozdem_ausführen.png|300px|Report Settings]]&lt;br /&gt;
&lt;br /&gt;
Falls Sie ein anderes Anti-Virus-Programm haben, informieren Sie sich bitte wie man dort die Blockierung ignorieren oder die Installationsdatei als Ausnahme definieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgen Sie dabei dem Installationsassistenten.&lt;br /&gt;
Sie können hier das Laufwerk und das Verzeichnis angeben, unter dem expecco installiert werden soll.&lt;br /&gt;
Außerdem können Sie die Komponenten angeben, die Sie installieren wollen.&lt;br /&gt;
&lt;br /&gt;
Falls Sie Plugins für expecco lizenziert haben, können Sie bei der Installation die entsprechenden expecco-Plugins auswählen.&lt;br /&gt;
Angeboten werden alle Plugins - auch solche für die Sie keine Lizenzen erworben haben.&lt;br /&gt;
Falls Sie nicht lizenzierte Plugins installieren, ist deren Funktion in expecco nicht verfügbar und entsprechende Menu-Einträge entweder unsichtbar oder ausgegraut.&lt;br /&gt;
Installierte, aber nicht lizenzierte Plugins sind erst dann verfügbar, wenn die dazu passenden Lizenzen (nach-)installiert wurden.&lt;br /&gt;
Ansonsten belegen Sie nur Platz auf der Festplatte.&lt;br /&gt;
Weitere Plugins können auch jederzeit nachträglich installiert werden. Auch können weitere Lizenzen jederzeit später erworben werden.&lt;br /&gt;
&lt;br /&gt;
Nach der Installation finden Sie auf Ihrem Desktop das expecco-Symbol.&lt;br /&gt;
Über dieses Symbol können Sie expecco nun starten.&lt;br /&gt;
Beim erstmaligen Ausführen, erscheint ein Fenster, in dem eine Lizenz verlangt wird.&lt;br /&gt;
Je nachdem, ob Sie eine Einzellizenz oder eine Floating-Lizenz (per Lizenzserver) nutzen, müssen Sie die Lizenz entsprechend nachfolgender Beschreibung installieren.&lt;br /&gt;
&lt;br /&gt;
=== Automatische Installation von expecco via Commandline (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Sie können expecco über die Kommandozeile, via Batchdatei oder ähnlichem installieren. Führen Sie dazu expecco wie folgt aus:&lt;br /&gt;
    expeccoSetup-x.x.exe /S&lt;br /&gt;
Das &amp;quot;/S&amp;quot; steht für &amp;quot;&#039;&#039;Silent&#039;&#039;&amp;quot; und expecco installiert sich ohne GUI und ohne Fragen zu stellen.&lt;br /&gt;
Sie können optional auch ein spezifisches Installationsverzeichnis angeben:&lt;br /&gt;
    expeccoSetup-x.x.exe /S /D=&amp;quot;C:\Program Files (x86)\exept&amp;quot;&lt;br /&gt;
Damit expecco nach der Installation direkt starten kann, muss sichergestellt werden, dass eine Lizenz auf dem Zielrechner vorhanden ist. Hierfür kommen folgende Varianten in Frage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lizenz aus lokaler Lizenzdatei und Dongle&#039;&#039;&#039;:&amp;lt;br&amp;gt;&lt;br /&gt;
Stecken Sie den Dongle in den Zielrechner. Kopieren Sie Ihre Lizenzdatei in Ihr Benutzerverzeichnis bspw. &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\&amp;lt;/code&amp;gt;&amp;quot; unter dem Namen &amp;quot;&amp;lt;code&amp;gt;.expeccoLicense&amp;lt;/code&amp;gt;&amp;quot;, sodass die Datei &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\.expeccoLicense&amp;lt;/code&amp;gt;&amp;quot; Ihrer Lizenzdatei entspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lizenz vom Lizenzserver&#039;&#039;&#039;:&lt;br /&gt;
Hier müssen zunächst eine &amp;quot;Template&amp;quot; Lizenzdatei und &amp;quot;Template&amp;quot; expecco Einstellungen-Datei erstellt werden. Sie benötigen dafür ein laufendes expecco, welches mit Ihrem Lizenzserver verbunden ist. Starten Sie dieses expecco und konfigurieren Sie unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenz vom Lizenzserver&#039;&#039;&amp;quot; Ihre &amp;quot;Template&amp;quot; Lizenzdatei. Diese sollte alle Plugins, die auf dem Zielrechner für die automatisierte expecco Installation über Commandline benötigt werden, enthalten. Fordern Sie diese Lizenz vom Lizenzserver an. Setzen Sie den Haken &amp;quot;Lizenzserver nutzen&amp;quot; und drücken Sie anschließend &amp;quot;Sichern&amp;quot;. expecco hat nun die benötigten Template Dateien unter &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\AppData\Roaming\expecco&amp;lt;/code&amp;gt;&amp;quot; angelegt. Kopieren Sie die &amp;quot;&amp;lt;code&amp;gt;.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; und die &amp;quot;&amp;lt;code&amp;gt;expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; Datei vor der automatischen expecco Installation in das entsprechende Verzeichnis auf Ihrem Zielrechner. expecco kann somit direkt nach der automatischen Installation starten.&lt;br /&gt;
&lt;br /&gt;
=== Autostart von expecco ===&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu mit der &amp;lt;kbd&amp;gt;Windows-Taste&amp;lt;/KBD&amp;gt; + &amp;lt;KBD&amp;gt;&amp;quot;R&amp;quot;&amp;lt;/KBD&amp;gt; ein Ausführen-Fenster. Geben Sie dort &amp;quot;shell:startup&amp;quot; ein. Danach öffnet sich der Autostart-Ordner. Kopieren Sie die expecco-Verknüpfung vom Desktop in diesen Ordner. Nun wird expecco, nachdem sich dieser Benutzer angemeldet hat, automatisch gestartet. Folgend können Sie konfigurieren, dass sich dieser Benutzer automatisch anmeldet, wenn der Rechner angeschaltet wird. Drücken Sie dazu erneut &amp;lt;KBD&amp;gt;Windows-Taste&amp;lt;/KBD&amp;gt; + &amp;lt;KBD&amp;gt;&amp;quot;R&amp;quot;&amp;lt;/KBD&amp;gt;. Geben Sie nun &amp;quot;netplwiz&amp;quot; ein. Es öffnet sich der Benutzerkonten-Dialog. In diesem können Sie den Haken &amp;quot;Benutzer müssen Benutzernamen und Kennwort eingeben&amp;quot; abwählen. Diese Einstellung gilt nur für das Anmelden nachdem der Rechner hochgefahren ist.&lt;br /&gt;
&lt;br /&gt;
Übrigens können diverse Parameter auf der [[Command Line Options|expecco-Kommandozeile]] angegeben werden. Hier sind insbesondere die Optionen [[Command Line Options#Startup|&amp;quot;--licenseFile&amp;quot;]], [[Command Line Options#Startup|&amp;quot;--licenseServer&amp;quot;]] und [[Command Line Options#Startup|&amp;quot;--licenseServerPort&amp;quot;]] zu erwähnen.&lt;br /&gt;
&lt;br /&gt;
=== expecco Einstellungen vordefinieren ===&lt;br /&gt;
&lt;br /&gt;
Es kann in bestimmten Fällen Sinn machen, die expecco Einstellungen für neue Windows-Benutzerkonten vorzudefinieren.&lt;br /&gt;
Z.B. könnte man die Adresse des Lizenzserver und die benötigten Pluginlizenzen vordefinieren.&lt;br /&gt;
Dies hätte den Vorteil, dass neue Benutzer direkt mit expecco loslegen können.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie zum Vordefinieren der expecco Einstellungen für neue Windows-Benutzerkonten folgendermaßen vor:&lt;br /&gt;
* starten Sie expecco auf einem bereits vorhandenen Benutzerkonto (kann auch ein anderer Windows Rechner sein)&lt;br /&gt;
* stellen Sie dessen expecco Einstellungen (&amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;) wie zur Vorlage gewünscht ein und speichern Sie über &amp;quot;&#039;&#039;Sichern&#039;&#039;&amp;quot;&lt;br /&gt;
* navigieren Sie zu dem Verzeichnis &amp;quot;C:\Users\{IhrBenutzer}\AppData\Roaming\expecco\&amp;quot; und kopieren Sie die 2 Dateien &amp;quot;.expeccoPreferences&amp;quot; und &amp;quot;expeccoLicenseServerLicense&amp;quot;&lt;br /&gt;
* begeben Sie sich zum Zielrechner und erstellen Sie einen Ordner &amp;quot;expecco&amp;quot; unter &amp;quot;C:\Users\Default\AppData\Roaming\&amp;quot;&lt;br /&gt;
* fügen Sie die 2 kopierten Dateien auf dem Zielrechner unter &amp;quot;C:\Users\Default\AppData\Roaming\expecco\&amp;quot; ein&lt;br /&gt;
&lt;br /&gt;
Jetzt werden alle neuen Windows-Benutzerkonten diese Einstellungen als Ausgangseinstellungen verwenden. Sie können diese Einstellungen auch bereits existierenden Windows-Benutzerkonten zuweisen. Hierfür fügen Sie die 2 Dateien in die entsprechenden Benutzerverzeichnisse auf dem Zielrechner &amp;quot;C:\Users\{ExistierenderBenutzer}\AppData\Roaming\expecco\&amp;quot; ein.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: damit werden alle bereits getätigen Einstellungen der Benutzer überschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Update Installation von expecco (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Wie bei der Erstinstallation erhalten eine E-Mail mit dem Link zu den neuen expecco-Installationsdateien.&lt;br /&gt;
Bitte laden Sie die Installationsprogramme herunter.&lt;br /&gt;
Bei der Ausführung des Basis-Installationsprogramms &amp;quot;&amp;lt;code&amp;gt;expeccoSetup-xxx.exe&amp;lt;/code&amp;gt;&amp;quot; erkennt expecco, dass es bereits installiert ist, und zeigt einen Dialog an, in dem Sie um eine Bestätigung gebeten werden, dass die alte expecco-Version deinstalliert werden darf.&lt;br /&gt;
Bestätigen Sie bitte diesen Dialog. Die alte expecco-Version wird mit allen Plugins deinstalliert.&lt;br /&gt;
Ihre Einstellungen, Lizenzdateien und Ihre Testsuiten bleiben erhalten.&lt;br /&gt;
Anschließend wird die neue expecco-Version wie bei der Erstinstallation (s.o.) installiert.&lt;br /&gt;
&lt;br /&gt;
=== Lizenz installieren ===&lt;br /&gt;
&lt;br /&gt;
Beim erstmaligen Ausführen erscheint ein Fenster, in dem eine Lizenz verlangt wird. Je nachdem, ob Sie eine Einzellizenz oder eine Floating-Lizenz (per Lizenzserver) nutzen, können Sie die Lizenz konfigurieren.&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Einzellizenz | Konfiguration der Einzellizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Floating-Lizenz | Konfiguration der Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
== Installation von expecco auf Linux ==&lt;br /&gt;
&lt;br /&gt;
expecco läuft auf allen aktuellen Linux-Distributionen (Ubuntu, RedHat, Fedora, Oracle Linux, Debian, (Open-)SuSE, ...).&lt;br /&gt;
&lt;br /&gt;
=== Benötigte Linux Softwarepakete ===&lt;br /&gt;
&lt;br /&gt;
expecco läuft sowohl auf 32- als auch auf 64-bit Linux Systemen. Sie können expecco wahlweise als 64-bit-Version oder 32-bit-Version installieren.&lt;br /&gt;
Falls sie ein 64-bit Linux einsetzten (das ist mittlerweile der Standard) empfehlen wir die 64-bit expecco-Version.&amp;lt;br&amp;gt;&#039;&#039;&#039;Die 32-bit Linux-Version liefern wir nur noch auf Anfrage aus.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird eine glibc in der Version &amp;gt;= 2.14 benötigt.&lt;br /&gt;
&lt;br /&gt;
Installieren Sie über Ihren Paketmanager Ihrer Linux-Distribution folgende Pakete:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;libXinerama&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxrandr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libXft&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libusb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;unixODBC&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;odbcinst&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;libglib-2_0-0&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gnuplot&amp;lt;/code&amp;gt; (optional - falls Plot/Graph Aktionen benötigt)&lt;br /&gt;
&lt;br /&gt;
Diese Pakete hängen von weiteren Paketen ab, die der Paketmanager automatisch mit installiert.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu (ab 15.04) installieren Sie die Pakete mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \&lt;br /&gt;
        libxinerama1 libxft2 libxrandr2 unixodbc odbcinst libusb-1.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation von 32-bit expecco auf 64-bit Linux (nicht empfohlen!) ====&lt;br /&gt;
&lt;br /&gt;
Diese Konfiguration empfehlen wir nicht. Nutzen Sie stattdessen besser die 64-bit expecco Version. &lt;br /&gt;
Falls Sie expecco-32-bit doch auf 64-bit-Linux installieren wollen, benötigen Sie die Pakete in der 32-bit Ausführung.&lt;br /&gt;
&lt;br /&gt;
Es wird eine glibc in der Version &amp;gt;= 2.10 benötigt.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 64bit (ab 15.04 64-bit) für ein 32-bit expecco installieren Sie die Pakete mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \&lt;br /&gt;
        libxinerama1:i386 libxft2:i386 libxrandr2:i386 unixodbc:i386 odbcinst:i386 libusb-1.0.0:i386&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von expecco (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expecco-20.2.0.54.x86.package&lt;br /&gt;
&lt;br /&gt;
wobei hier 20.2.0 der Versionsnummer von expecco entspricht und 54 der Build-Nummer. Die Installationsdatei enthält das expecco-Basispaket sowie die Plugins.&lt;br /&gt;
&lt;br /&gt;
Für die Installation benötigen Sie bei einer erstmaligen Installation außerdem noch das &#039;&#039;autopackage&#039;&#039; Paket. Sie können es hier herunterladen: http://download.exept.de/transfer/autopackage/autopackage.tar.bz2. Entpacken Sie das Archive und installieren Sie dieses durch das Ausführen der INSTALL Datei im Root Verzeichnis des Archives. Sie werden ggf. gefragt ob die GUI Komponenten vom &amp;quot;Autopackage&amp;quot; herunter geladen und installiert werden sollen. Wählen Sie &amp;quot;NEIN&amp;quot; aus, da diese nicht benötigt werden und unter Umständen zu Fehlern führen können. &lt;br /&gt;
&lt;br /&gt;
Laden Sie die expecco-Installationsdatei und ggf. &#039;&#039;autopackage.tar.bz2&#039;&#039; in dasselbe Verzeichnis auf Ihrem Rechner.&lt;br /&gt;
&lt;br /&gt;
Sie können die Installation als Benutzer &#039;&#039;root&#039;&#039; oder als normaler Benutzer ausführen. Wenn Sie expecco als Benutzer &#039;&#039;root&#039;&#039; installieren, wird expecco im Verzeichnis &#039;&#039;/opt/expecco/bin&#039;&#039; installiert. Bei einer Installation als normaler Benutzer, wird expecco in Ihrem Home-Verzeichnis nach &#039;&#039;.local/bin&#039;&#039; installiert. &lt;br /&gt;
&lt;br /&gt;
Führen Sie aus:&lt;br /&gt;
    bash ./expecco-20.2.0.54.x86.package&lt;br /&gt;
&lt;br /&gt;
expecco wird daraufhin installiert, es erscheint folgende Ausgabe:&lt;br /&gt;
 # Preparing package: expecco - Graphical Test Modeling&lt;br /&gt;
 # Checking for required C library versions ... passed&lt;br /&gt;
 This may take a moment, please wait ... done&lt;br /&gt;
 # Installing package: expecco - Graphical Test Modeling (package 1 of 1)&lt;br /&gt;
 # 100%[==================================================] Extracting&lt;br /&gt;
 # Copying files to /opt/expecco/plugin&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge/javaBridge&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge/javaBridge/javaBridge_Server_Client&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/stx/libsnmp&lt;br /&gt;
 # Copying files to /opt/expecco/packages/stx/libsnmp/net-snmp-5.7.2/mibs&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/libraries&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/bin&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/lib&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/expecco/doc&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/libraries&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/examples&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/expecco/reportGenerator/tools&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/pdf/afm&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Installing USB Dongle access...&lt;br /&gt;
 # Updating package database...&lt;br /&gt;
 The following package was successfully installed:&lt;br /&gt;
 * expecco - Graphical Test Modeling&lt;br /&gt;
 This installation used 478.74 MiB (502.00 MB) of disk space.&lt;br /&gt;
 Remove this package by running package remove expecco from the command line.&lt;br /&gt;
&lt;br /&gt;
=== Spezielle Installations-Optionen ===&lt;br /&gt;
&lt;br /&gt;
Sie können das Verzeichnis, in das expecco installiert wird, wie folgt festlegen:&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package&lt;br /&gt;
             Installation als root nach /opt/expecco (Starten mit: /opt/expecco/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --prefix /opt/expecco-20.2&lt;br /&gt;
             Installation als root nach /opt/expecco-20.2 (Starten mit: /opt/expecco-20.2/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --local-only&lt;br /&gt;
             Installation als Benutzer nach $HOME/.local (Starten mit ~/.local/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --local-only --prefix ~/expecco&lt;br /&gt;
             Installation als Benutzer nach $HOME/expecco (Starten mit ~/expecco/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
=== Update Installation von expecco (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Wie bei der Erstinstallation erhalten eine E-Mail mit dem Link zu der neuen expecco-Installationsdatei.&lt;br /&gt;
Bitte laden Sie das Installationsprogramme herunter. Bei der Ausführung des Installationsprogramms &#039;&#039;bash expecco-***.x86.package&#039;&#039; erkennt expecco, dass eine andere Version bereits installiert wurde. Die alte expecco-Version wird mit allen Plugins automatisch deinstalliert. Ihre Einstellungen, Lizenzdateien und Ihre Testsuiten bleiben erhalten. Anschließend wird die neue expecco-Version wie bei der Erstinstallation (s.o.) installiert.&lt;br /&gt;
&lt;br /&gt;
=== Zusätzlich symbolische Links (libodbc,...) ===&lt;br /&gt;
&lt;br /&gt;
Aufgrund eines Fehlers in Ubuntu 14.04 und 14.10 müssen fehlende symbolische Links manuell angelegt werden. In Ubuntu 15.04 wurde der Fehler behoben.&lt;br /&gt;
&lt;br /&gt;
Es fehlen die Dateien: libodbc.so.2 sowie libodbcinst.so.2, die im Verzeichnis /usr/lib/i386-linux-gnu liegen.&lt;br /&gt;
&lt;br /&gt;
Die fehlenden Links können wie folgt angelegt werden:&lt;br /&gt;
    cd /usr/lib/i386-linux-gnu&lt;br /&gt;
    sudo ln -s libodbc.so.1 libodbc.so.2&lt;br /&gt;
    sudo ln -s libodbcinst.so.1 libodbcinst.so.2&lt;br /&gt;
&lt;br /&gt;
=== Deinstallieren ===&lt;br /&gt;
&lt;br /&gt;
    autopackage uninstall expecco&lt;br /&gt;
&lt;br /&gt;
=== Lizenz installieren ===&lt;br /&gt;
&lt;br /&gt;
Installieren Sie die Lizenz wie im nächsten Abschnitt beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Installation von expecco auf OS X ==&lt;br /&gt;
&lt;br /&gt;
Achtung: die OS X-Version ist z.Z. im Beta Test und auf Anfrage verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Benötigte macOS Softwarepakete ===&lt;br /&gt;
&lt;br /&gt;
expecco läuft auf 64-bit x64_64 mac OS X Systemen (eine Version für ältere 32bit Maschinen ist nur noch auf Anfrage erhältlich; beachten Sie, dass die neueren OS X Versionen 32bit Programme nicht mehr unterstützen).&lt;br /&gt;
Es wird mindestens OS X 10.6 benötigt.&lt;br /&gt;
&lt;br /&gt;
expecco benötigt XQuartz. Dieses sollten Sie vorher vom Apple Store oder [https://www.xquartz.org/ xquartz.org] installieren, falls nicht bereits vorinstalliert (kostenlos).&lt;br /&gt;
&lt;br /&gt;
=== Installation von expecco (OS X) ===&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expecco-2.11.0.1.dmg&lt;br /&gt;
&lt;br /&gt;
wobei hier 2.11.0 der Versionsnummer von expecco entspricht und 1 der Build-Nummer. Die Installationsdatei enthält das expecco-Basispaket sowie die Plugins.&lt;br /&gt;
&lt;br /&gt;
Zur Installation öffnen Sie die &amp;quot;&amp;lt;code&amp;gt;dmg&amp;lt;/code&amp;gt;&amp;quot;-Datei und verschieben &amp;quot;&amp;lt;code&amp;gt;expecco.app&amp;lt;/code&amp;gt;&amp;quot; in den &amp;quot;&amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt;&amp;quot;-Ordner (oder Ihren privaten &amp;quot;&amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt;&amp;quot;-Ordner, oder jeden beliebigen anderen Ordner).&lt;br /&gt;
&lt;br /&gt;
=== Deinstallation von expecco (OS X) ===&lt;br /&gt;
Sämtliche Dateien von expecco, mit Ausnahme Ihrer eigenen Suiten und Einstellungen sind im expecco.app Ordner. Löschen Sie diesen Ordner (und entleeren den Papierkorb) um expecco zu deinstallieren.&lt;br /&gt;
Ihre eigenen Einstellungen befinden sich im Homeverzeichnis unter &amp;quot;.expecco&amp;quot;; Ihre Suiten sind im Documentsordner, falls nicht explizit an anderer Stelle gespeichert.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration der Lizenz ==&lt;br /&gt;
&lt;br /&gt;
Beim erstmaligen Ausführen erscheint ein Fenster, in dem eine Lizenz verlangt wird. Falls Sie bereits eine Lizenz installiert haben und diese wechseln möchten können Sie den selben Dialog unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; öffnen, allerdings müssen Sie in diesem Fall nach dem Wechseln der Lizenz expecco neu starten.&lt;br /&gt;
&lt;br /&gt;
Fall Sie expecco auf einem Computer ohne GUI installiert haben, kann das zuvor erwähnte Fenster nicht geöffnet werden. In dem Fall müssen Sie expecco auch auf einem Computer mit GUI installieren und dort den Dialog ausfüllen. Danach kopieren Sie die Settingsdatei &amp;quot;&amp;lt;code&amp;gt;~/.expecco/.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;code&amp;gt;C:\users\IhrBenutzer\AppData\Roaming\expecco\.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; und die Lizenzdatei &amp;quot;&amp;lt;code&amp;gt;~/.expecco/expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;code&amp;gt;C:\users\IhrBenutzer\AppData\Roaming\expecco\expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; auf den Computer ohne GUI. &lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Einzellizenz | Konfiguration der Einzellizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Floating-Lizenz | Konfiguration der Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Auslösen einer Floating-Lizenz | Auslösen einer Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Einzellizenz ===&lt;br /&gt;
&lt;br /&gt;
Einzellizenzen werden üblicherweise mit einem USB-Dongle genutzt.&lt;br /&gt;
Ausnahmsweise können auch zeitlich limitierte Einzellizenzen ohne Dongle verwendet werden (sog. &amp;quot;&#039;&#039;Demo Lizenz&#039;&#039;&amp;quot;).&lt;br /&gt;
In beiden Fällen erhalten Sie eine Lizenzdatei.&lt;br /&gt;
Lizenzdateien und Dongle müssen jeweils zusammenpassen, wobei eine Lizenzdatei auch zu mehreren Dongles desselben Kunden passen kann.&lt;br /&gt;
&lt;br /&gt;
# falls Sie einen Dongle erhalten haben, stecken Sie ihn in einen freien USB-Port in Ihrem Rechner.&lt;br /&gt;
# Speichern Sie die Lizenzdatei auf Ihrem Rechner&lt;br /&gt;
# Ziehen Sie dann entweder die Datei mit der Maus aus dem Windows-Explorer in den Lizenzdialog, oder Sie wählen im Lizenzdialog Ihre Lizenzdatei direkt aus.&lt;br /&gt;
# Sie werden aufgefordert, expecco neu zu starten. Nach dem Neustart können Sie expecco nutzen.&lt;br /&gt;
&lt;br /&gt;
Lizenzdateien ohne Dongle sind zeitlich beschränkt.&lt;br /&gt;
Wenn Sie versehentlich den expecco-Dongle nicht in Ihren Rechner eingesteckt haben und expecco starten, erhalten Sie einen Hinweis, dass die Lizenz abgelaufen sei.&lt;br /&gt;
Sobald Sie den Dongle einstecken (bevor Sie expecco starten), erscheint dieser Hinweis beim Start von expecco nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Solange Sie mit expecco arbeiten, wird überwacht, ob der Dongle vorhanden ist.&lt;br /&gt;
Wenn Sie den Dongle währenddessen aus Ihrem Rechner entfernen, erhalten Sie einen Hinweis und können keine Tests mehr ausführen oder verändern.&lt;br /&gt;
Sie können allerdings die gerade bearbeitete Testsuite noch abspeichern, so dass keine Änderungen verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Floating-Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Um eine Floating-Lizenz zu nutzen, benötigen Sie einen expecco-Lizenzserver. Diesen (bzw. den Downloadlink) erhalten Sie von uns mit den Floatinglizenzen. Der Lizenzserver ist eine HTTP-Serviceanwendung, die auf einem beliebigen Rechner in einer Cloud oder Ihrer Firma oder Abteilung installiert wird. Sie läuft ohne eigenes Fenster, und wird über einen beliebigen WebBrowser bedient.&lt;br /&gt;
&lt;br /&gt;
Der Lizenzserver ist unter einem Rechnername bzw. IP-Adresse und einer Portnummer zu erreichen.&lt;br /&gt;
Der Administrator des Lizenzservers kann Ihnen diese Informationen geben, falls er eine andere als die default-Portnummer konfiguriert hat.&lt;br /&gt;
Es muss sichergestellt sein, dass eine TCP-Verbindung zum entsprechenden Port im Lizenzserver aufgebaut werden kann.&lt;br /&gt;
Router und Firewalls sind gegebenenfalls entsprechend zu konfigurieren bzw. Ports freizuschalten.&lt;br /&gt;
&lt;br /&gt;
Beim Start von expecco öffnet sich der Lizenzdialog.&lt;br /&gt;
Wählen Sie hier die Lizenzserver-Kachel aus.&lt;br /&gt;
Tragen Sie den Rechnernamen bzw. die IP-Adresse sowie die Portnummer des Lizenzservers ein.&lt;br /&gt;
Im allgemeinen kann die vorgeschlagene default Portnummer unverändert übernommen werden.&lt;br /&gt;
Lediglich in Netzwerken, bei denen nur bestimmte Ports durch Firewalls oder Router durchgeschaltet werden ist es u.U. notwendig, eine andere Portnummer zu verwenden.&lt;br /&gt;
Der Administrator des Lizenzservers kann Ihnen in diesem Fall diese Informationen geben&lt;br /&gt;
&lt;br /&gt;
Sie können jetzt auswählen, welche expecco-Ausprägung Sie verwenden wollen: &#039;&#039;expecco-developer&#039;&#039; oder &#039;&#039;expecco-runtime&#039;&#039;.&lt;br /&gt;
Über die Schaltfläche &amp;quot;&#039;&#039;Plugin-Liste vom Server aktualisieren&#039;&#039;&amp;quot; erhalten Sie die verfügbaren Plugins (bzw. Plugins für die noch Floating-Lizenzen verfügbar sind).&lt;br /&gt;
Wählen Sie die Plugins aus, die Sie für Ihre Tests benötigen.&lt;br /&gt;
Von den meisten Plugins benötigen Sie nur eine Lizenz.&lt;br /&gt;
Einzelne Plugins können für auf mehrere Rechner verteilte Tests mehr als eine Lizenz von einem Plugin benötigen - Sie können das für derartige Plugins angeben.&lt;br /&gt;
Im Dialog wird angezeigt, wie viele Lizenzen für ein bestimmtes Plugin auf dem Lizenzserver momentan noch zur Verfügung stehen.&lt;br /&gt;
Per Tooltip können Sie auch in Erfahrung bringen, wie viele Lizenzen generell vorhanden sind.&lt;br /&gt;
Die Differenz sind die momentan von anderen Benutzern verwendeten Lizenzen.&lt;br /&gt;
&lt;br /&gt;
Über die Schaltfläche &amp;quot;&#039;&#039;Lizenzdatei installieren&#039;&#039;&amp;quot; werden die Lizenzen vom Lizenzserver abonniert.&lt;br /&gt;
Starten Sie jetzt expecco neu, damit die lizenzierten Plugins geladen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn expecco beendet wird, werden alle Lizenzen wieder an den Lizenzserver zurück gegeben.&lt;br /&gt;
Expecco erneuert regelmäßig die Lizenzen vom Lizenzserver.&lt;br /&gt;
Wenn der Lizenzserver über einen gewissen Zeitraum nicht mehr erreichbar sein sollte (ca. 15 Minuten), wird expecco gesperrt, so dass keine Tests mehr ausgeführt oder verändert werden können. Geänderte Testsuiten können aber noch abgespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Wenn expecco nicht regulär beendet wurde, z.B. wenn der Rechner einfach ausgeschaltet wird, fallen die Lizenzen nach diesem Zeitraum an den Lizenzserver zurück und können dann von anderen Benutzern genutzt werden.&lt;br /&gt;
&lt;br /&gt;
expecco merkt sich, welche Lizenzen zuletzt abonniert wurden.&lt;br /&gt;
Wenn expecco gestartet wird, versucht es, die zuletzt abonnierten Lizenzen wieder zu erhalten.&lt;br /&gt;
Sollte das nicht möglich sein, da alle Lizenzen momentan vergeben sind, erscheint der Lizenzdialog, in dem die nicht oder nur teilweise erhaltenen Lizenzen rot unterlegt sind.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie neue Lizenzen benötigen oder bisher verwendete Lizenzen nicht mehr benötigen, können Sie die anzufordernden Lizenzen jederzeit über den Lizenzdialog anpassen.&lt;br /&gt;
Sie erreichen ihn über das Menü &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Auslösen einer Floating-Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Floatinglizenzen können auch ohne bestehende Verbindung zum Lizenzserver ausgelöst werden (sog. &amp;quot;&#039;&#039;road warrior&#039;&#039; Lizenzen&amp;quot;). Dies ermöglicht es Ihnen, auch zuhause, bei Kunden oder in isolierten Labors mit expecco zu arbeiten, ohne dass dafür ein Dongle benötigt wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verfügbar ab expecco Version 2.10.x.x&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auch wenn Ihr expecco keine Netzwerkverbindung hat, ist es möglich expecco mit einer Floating-Lizenz zu betreiben. Die Lizenz für expecco wird für eine bestimmte Zeitspanne ausgelöst. Nachdem diese Zeitspanne verstrichen ist, wird die ausgelöste Lizenz automatisch wieder zurückgegeben (eingegliedert). Bitte beachten Sie, dass es &#039;&#039;&#039;keine Möglichkeit gibt, eine ausgelöste Lizenz vor ihrem Ablauf wieder zurückzugeben!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hierfür brauchen Sie einen Lizenzservice (expecco ALM), aus welchem die Floating-Lizenz ausgelöst wird.&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen einer Floating-Lizenz starten Sie expecco und rufen Sie den Lizenzdialog unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; auf (beim erstmaligem Start erscheint dieser automatisch) und navigieren Sie in den Reiter &amp;quot;Ausgelöste Floating-Lizenz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dort haben Sie folgende Möglichkeiten:&lt;br /&gt;
==== Eine Anfrage zum Auslösen einer Floating-Lizenz erstellen ====&lt;br /&gt;
Stellen Sie sich Ihre gewünschte Lizenz zusammen. Definieren Sie den Typ (Runtime / Pro), die Plugins und wie lange Sie die Lizenz auslösen möchten. Sie können Ihre Anfrage dann entweder in eine Datei speichern oder in die Zwischenablage legen.&lt;br /&gt;
&lt;br /&gt;
Rufen Sie nun das Web-Interface des Lizenzservices (expecco ALM) in einem Webbrowser auf. Navigieren Sie in expecco ALM zu &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenz auslösen&#039;&#039;&amp;quot;. Dort können Sie dann Ihre Anfrage entweder über Datei hochladen oder aus der Zwischenablage in das freie Feld einfügen.&lt;br /&gt;
&lt;br /&gt;
Nach dem erfolgreichen Einspielen Ihrer Anfrage wird Ihnen Ihre Anfrage zur Gegenprüfung im Detail angezeigt. Sie können hier die Dauer der Auslösung ggf. erneut anpassen. Über den Knopf &amp;quot;Auslösen bestätigen&amp;quot; wird die Lizenz endgültig ausgelöst. Danach ist diese Lizenz bis zum Ablauf der Dauer ausschließlich für das expecco, von welchem die Anfrage erstellt wurde reserviert. Ihnen wird anschließend der Bestätigungsschlüssel angezeigt. Diesen können Sie wiederum als Datei speichern oder über Rechtsklick &amp;quot;Kopieren&amp;quot; in die Zwischenablage legen.&lt;br /&gt;
&lt;br /&gt;
Jetzt müssen Sie diesen Bestätigungsschlüssel an expecco übertragen (über USB-Stick, Zuruf, Telefon usw.) und eingeben oder die Datei auswählen.&lt;br /&gt;
&lt;br /&gt;
==== Eine bereits ausgelöste Floating-Lizenz in Betrieb nehmen ====&lt;br /&gt;
Falls Sie expecco aus Versehen während dem Prozess des Auslösens geschlossen haben oder der Prozess durch etwas ähnlich unterbrochen wurde, ist die ausgelöste Lizenz nicht verloren. Sie können diese Lizenz anhand Ihrer Anfrage und zugehörigem Bestätigungsschlüssel jederzeit in expecco aktivieren.&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu den Lizenzservice (expecco ALM) und navigieren Sie nach &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Im Einsatz&#039;&#039;&amp;quot;. Suchen Sie in dieser Liste nach einer passenden Lizenz. Eine passende Lizenz erkennen Sie bspw. an der Spalte &amp;quot;Rechnername&amp;quot;, diese Spalte sollte mit dem Rechnernamen auf dem expecco installiert ist übereinstimmen. Übertragen Sie die Anfrage sowie den Bestätigungsschlüssel aus den Spalten &amp;quot;Auslöse-Anfrage-Datei&amp;quot; und &amp;quot;Auslösungsschlüssel&amp;quot; zu expecco.&lt;br /&gt;
&lt;br /&gt;
In expecco müssen Sie die Auslöse-Anfrage-Datei auswählen und diese dann mit dem Bestätigungsschlüssel aktivieren.&lt;br /&gt;
&lt;br /&gt;
==== Die aktuell verwendete ausgelöste Floating-Lizenz verlängern ====&lt;br /&gt;
&lt;br /&gt;
Das Verlängern einer ausgelösten Floating-Lizenz ist nur möglich, solange diese noch gültig ist. Nach dem Ablauf einer ausgelösten Lizenz wird diese im Lizenzserver gelöscht und Sie müssen diese durch eine neue Anfrage erneuern (i.e. eine neue Lizenz auslösen).&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu den Lizenzservice (expecco ALM) und navigieren Sie nach &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Im Einsatz&#039;&#039;&amp;quot;. Suchen Sie in dieser Liste nach einer passenden Lizenz. Eine passende Lizenz erkennen Sie bspw. an der Spalte &amp;quot;Rechnername&amp;quot;. Diese Spalte sollte mit dem Rechnernamen, auf dem expecco installiert ist, übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
Klicken Sie nun auf &amp;quot;Verlängern&amp;quot;. Sie werden automatisch auf die Seite &amp;quot;Lizenz verlängern&amp;quot; weitergeleitet. Ihre Lizenz ist bereits vorselektiert. Sie können nun das gewünschte Datum eingeben. Danach wird Ihnen ein neuer Bestätigungsschlüssel angezeigt, diesen müssen Sie in expecco eingeben.&lt;br /&gt;
&lt;br /&gt;
=== Änderung des Lizenztyps nach der Installation ===&lt;br /&gt;
&lt;br /&gt;
Über das Menü &amp;quot;&#039;&#039;&amp;quot;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; können Sie die Lizenz nachträglich ändern.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Änderung des Lizenztyps werden permanent gespeichert, wenn Sie die Einstellung mit der Schaltfläche &amp;quot;Sichern&amp;quot; abspeichern.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Installation&amp;diff=23611</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Installation&amp;diff=23611"/>
		<updated>2021-07-12T11:18:57Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Windows SmartScreen / Blockierte Ausführung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation von expecco auf Windows ==&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expeccoSetup-19.1.0.22.exe -&amp;gt; für die expecco-Basisinstallation&lt;br /&gt;
&lt;br /&gt;
wobei hier 19.1.0 der Versionsnummer von expecco entspricht und 22 der Build-Nummer.&lt;br /&gt;
&lt;br /&gt;
Bitte laden Sie das Installationsprogramm auf Ihren Rechner.&lt;br /&gt;
&lt;br /&gt;
=== Windows SmartScreen / Blockierte Ausführung ===&lt;br /&gt;
&lt;br /&gt;
Führen Sie das Installationsprogramm für die expecco-Basisinstallation aus (&#039;&#039;expeccoSetup-***.exe&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen, dass Ihr Anti-Virus-Programm wie bspw. der Windows Defender SmartScreen, die Installation blockiert. Dies ist bei neuen oder Vorab-Versionen vermutlich damit begründet, dass Ihr Anti-Virus-Programm unsere Software noch nicht gut genug kennt. Bitte stellen Sie in dem Fall sicher, dass die Installationsdatei ausschließlich aus folgenden Quellen heruntergeladen wurde http://exept.de/*, http://download.exept.de/*, http://cloud.exept.de/*. Wenn Sie sich sicher sind, dass die Installationsdatei von uns stammt, können Sie ohne Bedenken die Blockierung Ihres Anti-Virus-Programms ignorieren. &lt;br /&gt;
&lt;br /&gt;
Im Fallse vom Windows Defender SmartScreen, gehen Sie bitte auf &amp;quot;Weitere Informationen&amp;quot; und dann auf &amp;quot;Trotzdem ausführen&amp;quot;.&lt;br /&gt;
Was ist der &amp;quot;[https://de.wikipedia.org/wiki/Microsoft_Defender Windows Defender]&amp;quot;? &lt;br /&gt;
&lt;br /&gt;
[[Bild:Windows_SmartScreen.png|300px|Report Settings]] [[Bild:Windows_SmartScreen_Trozdem_ausführen.png|300px|Report Settings]]&lt;br /&gt;
&lt;br /&gt;
Falls Sie ein anderes Anti-Virus-Programm haben, informieren Sie sich bitte wie man dort die Blockierung ignorieren oder die Installationsdatei als Ausnahme definieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgen Sie dabei dem Installationsassistenten.&lt;br /&gt;
Sie können hier das Laufwerk und das Verzeichnis angeben, unter dem expecco installiert werden soll.&lt;br /&gt;
Außerdem können Sie die Komponenten angeben, die Sie installieren wollen.&lt;br /&gt;
&lt;br /&gt;
Falls Sie Plugins für expecco lizenziert haben, können Sie bei der Installation die entsprechenden expecco-Plugins auswählen.&lt;br /&gt;
Angeboten werden alle Plugins - auch solche für die Sie keine Lizenzen erworben haben.&lt;br /&gt;
Falls Sie nicht lizenzierte Plugins installieren, ist deren Funktion in expecco nicht verfügbar und entsprechende Menu-Einträge entweder unsichtbar oder ausgegraut.&lt;br /&gt;
Installierte, aber nicht lizenzierte Plugins sind erst dann verfügbar, wenn die dazu passenden Lizenzen (nach-)installiert wurden.&lt;br /&gt;
Ansonsten belegen Sie nur Platz auf der Festplatte.&lt;br /&gt;
Weitere Plugins können auch jederzeit nachträglich installiert werden. Auch können weitere Lizenzen jederzeit später erworben werden.&lt;br /&gt;
&lt;br /&gt;
Nach der Installation finden Sie auf Ihrem Desktop das expecco-Symbol.&lt;br /&gt;
Über dieses Symbol können Sie expecco nun starten.&lt;br /&gt;
Beim erstmaligen Ausführen, erscheint ein Fenster, in dem eine Lizenz verlangt wird.&lt;br /&gt;
Je nachdem, ob Sie eine Einzellizenz oder eine Floating-Lizenz (per Lizenzserver) nutzen, müssen Sie die Lizenz entsprechend nachfolgender Beschreibung installieren.&lt;br /&gt;
&lt;br /&gt;
=== Automatische Installation von expecco via Commandline (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Sie können expecco über die Kommandozeile, via Batchdatei oder ähnlichem installieren. Führen Sie dazu expecco wie folgt aus:&lt;br /&gt;
    expeccoSetup-x.x.exe /S&lt;br /&gt;
Das &amp;quot;/S&amp;quot; steht für &amp;quot;&#039;&#039;Silent&#039;&#039;&amp;quot; und expecco installiert sich ohne GUI und ohne Fragen zu stellen.&lt;br /&gt;
Sie können optional auch ein spezifisches Installationsverzeichnis angeben:&lt;br /&gt;
    expeccoSetup-x.x.exe /S /D=&amp;quot;C:\Program Files (x86)\exept&amp;quot;&lt;br /&gt;
Damit expecco nach der Installation direkt starten kann, muss sichergestellt werden, dass eine Lizenz auf dem Zielrechner vorhanden ist. Hierfür kommen folgende Varianten in Frage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lizenz aus lokaler Lizenzdatei und Dongle&#039;&#039;&#039;:&amp;lt;br&amp;gt;&lt;br /&gt;
Stecken Sie den Dongle in den Zielrechner. Kopieren Sie Ihre Lizenzdatei in Ihr Benutzerverzeichnis bspw. &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\&amp;lt;/code&amp;gt;&amp;quot; unter dem Namen &amp;quot;&amp;lt;code&amp;gt;.expeccoLicense&amp;lt;/code&amp;gt;&amp;quot;, sodass die Datei &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\.expeccoLicense&amp;lt;/code&amp;gt;&amp;quot; Ihrer Lizenzdatei entspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lizenz vom Lizenzserver&#039;&#039;&#039;:&lt;br /&gt;
Hier müssen zunächst eine &amp;quot;Template&amp;quot; Lizenzdatei und &amp;quot;Template&amp;quot; expecco Einstellungen-Datei erstellt werden. Sie benötigen dafür ein laufendes expecco, welches mit Ihrem Lizenzserver verbunden ist. Starten Sie dieses expecco und konfigurieren Sie unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenz vom Lizenzserver&#039;&#039;&amp;quot; Ihre &amp;quot;Template&amp;quot; Lizenzdatei. Diese sollte alle Plugins, die auf dem Zielrechner für die automatisierte expecco Installation über Commandline benötigt werden, enthalten. Fordern Sie diese Lizenz vom Lizenzserver an. Setzen Sie den Haken &amp;quot;Lizenzserver nutzen&amp;quot; und drücken Sie anschließend &amp;quot;Sichern&amp;quot;. expecco hat nun die benötigten Template Dateien unter &amp;quot;&amp;lt;code&amp;gt;C:\Users\IhrBenutzername\AppData\Roaming\expecco&amp;lt;/code&amp;gt;&amp;quot; angelegt. Kopieren Sie die &amp;quot;&amp;lt;code&amp;gt;.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; und die &amp;quot;&amp;lt;code&amp;gt;expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; Datei vor der automatischen expecco Installation in das entsprechende Verzeichnis auf Ihrem Zielrechner. expecco kann somit direkt nach der automatischen Installation starten.&lt;br /&gt;
&lt;br /&gt;
=== Autostart von expecco ===&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu mit der &amp;lt;kbd&amp;gt;Windows-Taste&amp;lt;/KBD&amp;gt; + &amp;lt;KBD&amp;gt;&amp;quot;R&amp;quot;&amp;lt;/KBD&amp;gt; ein Ausführen-Fenster. Geben Sie dort &amp;quot;shell:startup&amp;quot; ein. Danach öffnet sich der Autostart-Ordner. Kopieren Sie die expecco-Verknüpfung vom Desktop in diesen Ordner. Nun wird expecco, nachdem sich dieser Benutzer angemeldet hat, automatisch gestartet. Folgend können Sie konfigurieren, dass sich dieser Benutzer automatisch anmeldet, wenn der Rechner angeschaltet wird. Drücken Sie dazu erneut &amp;lt;KBD&amp;gt;Windows-Taste&amp;lt;/KBD&amp;gt; + &amp;lt;KBD&amp;gt;&amp;quot;R&amp;quot;&amp;lt;/KBD&amp;gt;. Geben Sie nun &amp;quot;netplwiz&amp;quot; ein. Es öffnet sich der Benutzerkonten-Dialog. In diesem können Sie den Haken &amp;quot;Benutzer müssen Benutzernamen und Kennwort eingeben&amp;quot; abwählen. Diese Einstellung gilt nur für das Anmelden nachdem der Rechner hochgefahren ist.&lt;br /&gt;
&lt;br /&gt;
Übrigens können diverse Parameter auf der [[Command Line Options|expecco-Kommandozeile]] angegeben werden. Hier sind insbesondere die Optionen [[Command Line Options#Startup|&amp;quot;--licenseFile&amp;quot;]], [[Command Line Options#Startup|&amp;quot;--licenseServer&amp;quot;]] und [[Command Line Options#Startup|&amp;quot;--licenseServerPort&amp;quot;]] zu erwähnen.&lt;br /&gt;
&lt;br /&gt;
=== expecco Einstellungen vordefinieren ===&lt;br /&gt;
&lt;br /&gt;
Es kann in bestimmten Fällen Sinn machen, die expecco Einstellungen für neue Windows-Benutzerkonten vorzudefinieren.&lt;br /&gt;
Z.B. könnte man die Adresse des Lizenzserver und die benötigten Pluginlizenzen vordefinieren.&lt;br /&gt;
Dies hätte den Vorteil, dass neue Benutzer direkt mit expecco loslegen können.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie zum Vordefinieren der expecco Einstellungen für neue Windows-Benutzerkonten folgendermaßen vor:&lt;br /&gt;
* starten Sie expecco auf einem bereits vorhandenen Benutzerkonto (kann auch ein anderer Windows Rechner sein)&lt;br /&gt;
* stellen Sie dessen expecco Einstellungen (&amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;) wie zur Vorlage gewünscht ein und speichern Sie über &amp;quot;&#039;&#039;Sichern&#039;&#039;&amp;quot;&lt;br /&gt;
* navigieren Sie zu dem Verzeichnis &amp;quot;C:\Users\{IhrBenutzer}\AppData\Roaming\expecco\&amp;quot; und kopieren Sie die 2 Dateien &amp;quot;.expeccoPreferences&amp;quot; und &amp;quot;expeccoLicenseServerLicense&amp;quot;&lt;br /&gt;
* begeben Sie sich zum Zielrechner und erstellen Sie einen Ordner &amp;quot;expecco&amp;quot; unter &amp;quot;C:\Users\Default\AppData\Roaming\&amp;quot;&lt;br /&gt;
* fügen Sie die 2 kopierten Dateien auf dem Zielrechner unter &amp;quot;C:\Users\Default\AppData\Roaming\expecco\&amp;quot; ein&lt;br /&gt;
&lt;br /&gt;
Jetzt werden alle neuen Windows-Benutzerkonten diese Einstellungen als Ausgangseinstellungen verwenden. Sie können diese Einstellungen auch bereits existierenden Windows-Benutzerkonten zuweisen. Hierfür fügen Sie die 2 Dateien in die entsprechenden Benutzerverzeichnisse auf dem Zielrechner &amp;quot;C:\Users\{ExistierenderBenutzer}\AppData\Roaming\expecco\&amp;quot; ein.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: damit werden alle bereits getätigen Einstellungen der Benutzer überschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Update Installation von expecco (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Wie bei der Erstinstallation erhalten eine E-Mail mit dem Link zu den neuen expecco-Installationsdateien.&lt;br /&gt;
Bitte laden Sie die Installationsprogramme herunter.&lt;br /&gt;
Bei der Ausführung des Basis-Installationsprogramms &amp;quot;&amp;lt;code&amp;gt;expeccoSetup-xxx.exe&amp;lt;/code&amp;gt;&amp;quot; erkennt expecco, dass es bereits installiert ist, und zeigt einen Dialog an, in dem Sie um eine Bestätigung gebeten werden, dass die alte expecco-Version deinstalliert werden darf.&lt;br /&gt;
Bestätigen Sie bitte diesen Dialog. Die alte expecco-Version wird mit allen Plugins deinstalliert.&lt;br /&gt;
Ihre Einstellungen, Lizenzdateien und Ihre Testsuiten bleiben erhalten.&lt;br /&gt;
Anschließend wird die neue expecco-Version wie bei der Erstinstallation (s.o.) installiert.&lt;br /&gt;
&lt;br /&gt;
=== Lizenz installieren ===&lt;br /&gt;
&lt;br /&gt;
Beim erstmaligen Ausführen erscheint ein Fenster, in dem eine Lizenz verlangt wird. Je nachdem, ob Sie eine Einzellizenz oder eine Floating-Lizenz (per Lizenzserver) nutzen, können Sie die Lizenz konfigurieren.&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Einzellizenz | Konfiguration der Einzellizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Floating-Lizenz | Konfiguration der Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
== Installation von expecco auf Linux ==&lt;br /&gt;
&lt;br /&gt;
expecco läuft auf allen aktuellen Linux-Distributionen (Ubuntu, RedHat, Fedora, Oracle Linux, Debian, (Open-)SuSE, ...).&lt;br /&gt;
&lt;br /&gt;
=== Benötigte Linux Softwarepakete ===&lt;br /&gt;
&lt;br /&gt;
expecco läuft sowohl auf 32- als auch auf 64-bit Linux Systemen. Sie können expecco wahlweise als 64-bit-Version oder 32-bit-Version installieren.&lt;br /&gt;
Falls sie ein 64-bit Linux einsetzten (das ist mittlerweile der Standard) empfehlen wir die 64-bit expecco-Version.&amp;lt;br&amp;gt;&#039;&#039;&#039;Die 32-bit Linux-Version liefern wir nur noch auf Anfrage aus.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird eine glibc in der Version &amp;gt;= 2.14 benötigt.&lt;br /&gt;
&lt;br /&gt;
Installieren Sie über Ihren Paketmanager Ihrer Linux-Distribution folgende Pakete:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;libXinerama&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxrandr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libXft&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libusb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;unixODBC&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;odbcinst&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;libglib-2_0-0&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gnuplot&amp;lt;/code&amp;gt; (optional - falls Plot/Graph Aktionen benötigt)&lt;br /&gt;
&lt;br /&gt;
Diese Pakete hängen von weiteren Paketen ab, die der Paketmanager automatisch mit installiert.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu (ab 15.04) installieren Sie die Pakete mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \&lt;br /&gt;
        libxinerama1 libxft2 libxrandr2 unixodbc odbcinst libusb-1.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation von 32-bit expecco auf 64-bit Linux (nicht empfohlen!) ====&lt;br /&gt;
&lt;br /&gt;
Diese Konfiguration empfehlen wir nicht. Nutzen Sie stattdessen besser die 64-bit expecco Version. &lt;br /&gt;
Falls Sie expecco-32-bit doch auf 64-bit-Linux installieren wollen, benötigen Sie die Pakete in der 32-bit Ausführung.&lt;br /&gt;
&lt;br /&gt;
Es wird eine glibc in der Version &amp;gt;= 2.10 benötigt.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 64bit (ab 15.04 64-bit) für ein 32-bit expecco installieren Sie die Pakete mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \&lt;br /&gt;
        libxinerama1:i386 libxft2:i386 libxrandr2:i386 unixodbc:i386 odbcinst:i386 libusb-1.0.0:i386&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von expecco (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expecco-20.2.0.54.x86.package&lt;br /&gt;
&lt;br /&gt;
wobei hier 20.2.0 der Versionsnummer von expecco entspricht und 54 der Build-Nummer. Die Installationsdatei enthält das expecco-Basispaket sowie die Plugins.&lt;br /&gt;
&lt;br /&gt;
Für die Installation benötigen Sie bei einer erstmaligen Installation außerdem noch das &#039;&#039;autopackage&#039;&#039; Paket. Sie können es hier herunterladen: http://download.exept.de/transfer/autopackage/autopackage.tar.bz2. Entpacken Sie das Archive und installieren Sie dieses durch das Ausführen der INSTALL Datei im Root Verzeichnis des Archives. Sie werden ggf. gefragt ob die GUI Komponenten vom &amp;quot;Autopackage&amp;quot; herunter geladen und installiert werden sollen. Wählen Sie &amp;quot;NEIN&amp;quot; aus, da diese nicht benötigt werden und unter Umständen zu Fehlern führen können. &lt;br /&gt;
&lt;br /&gt;
Laden Sie die expecco-Installationsdatei und ggf. &#039;&#039;autopackage.tar.bz2&#039;&#039; in dasselbe Verzeichnis auf Ihrem Rechner.&lt;br /&gt;
&lt;br /&gt;
Sie können die Installation als Benutzer &#039;&#039;root&#039;&#039; oder als normaler Benutzer ausführen. Wenn Sie expecco als Benutzer &#039;&#039;root&#039;&#039; installieren, wird expecco im Verzeichnis &#039;&#039;/opt/expecco/bin&#039;&#039; installiert. Bei einer Installation als normaler Benutzer, wird expecco in Ihrem Home-Verzeichnis nach &#039;&#039;.local/bin&#039;&#039; installiert. &lt;br /&gt;
&lt;br /&gt;
Führen Sie aus:&lt;br /&gt;
    bash ./expecco-20.2.0.54.x86.package&lt;br /&gt;
&lt;br /&gt;
expecco wird daraufhin installiert, es erscheint folgende Ausgabe:&lt;br /&gt;
 # Preparing package: expecco - Graphical Test Modeling&lt;br /&gt;
 # Checking for required C library versions ... passed&lt;br /&gt;
 This may take a moment, please wait ... done&lt;br /&gt;
 # Installing package: expecco - Graphical Test Modeling (package 1 of 1)&lt;br /&gt;
 # 100%[==================================================] Extracting&lt;br /&gt;
 # Copying files to /opt/expecco/plugin&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge/javaBridge&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/technologyBridge/javaBridge/javaBridge_Server_Client&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/stx/libsnmp&lt;br /&gt;
 # Copying files to /opt/expecco/packages/stx/libsnmp/net-snmp-5.7.2/mibs&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/libraries&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/bin&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/lib&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/expecco/doc&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/libraries&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/testsuites/examples&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/expecco/reportGenerator/tools&lt;br /&gt;
 # Copying files to /opt/expecco/packages/exept/pdf/afm&lt;br /&gt;
 # 100%[==================================================] Copying&lt;br /&gt;
 # Installing USB Dongle access...&lt;br /&gt;
 # Updating package database...&lt;br /&gt;
 The following package was successfully installed:&lt;br /&gt;
 * expecco - Graphical Test Modeling&lt;br /&gt;
 This installation used 478.74 MiB (502.00 MB) of disk space.&lt;br /&gt;
 Remove this package by running package remove expecco from the command line.&lt;br /&gt;
&lt;br /&gt;
=== Spezielle Installations-Optionen ===&lt;br /&gt;
&lt;br /&gt;
Sie können das Verzeichnis, in das expecco installiert wird, wie folgt festlegen:&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package&lt;br /&gt;
             Installation als root nach /opt/expecco (Starten mit: /opt/expecco/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --prefix /opt/expecco-20.2&lt;br /&gt;
             Installation als root nach /opt/expecco-20.2 (Starten mit: /opt/expecco-20.2/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --local-only&lt;br /&gt;
             Installation als Benutzer nach $HOME/.local (Starten mit ~/.local/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
    bash expecco-20.2.0.54.x86.package --local-only --prefix ~/expecco&lt;br /&gt;
             Installation als Benutzer nach $HOME/expecco (Starten mit ~/expecco/bin/expecco)&lt;br /&gt;
&lt;br /&gt;
=== Update Installation von expecco (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Wie bei der Erstinstallation erhalten eine E-Mail mit dem Link zu der neuen expecco-Installationsdatei.&lt;br /&gt;
Bitte laden Sie das Installationsprogramme herunter. Bei der Ausführung des Installationsprogramms &#039;&#039;bash expecco-***.x86.package&#039;&#039; erkennt expecco, dass eine andere Version bereits installiert wurde. Die alte expecco-Version wird mit allen Plugins automatisch deinstalliert. Ihre Einstellungen, Lizenzdateien und Ihre Testsuiten bleiben erhalten. Anschließend wird die neue expecco-Version wie bei der Erstinstallation (s.o.) installiert.&lt;br /&gt;
&lt;br /&gt;
=== Zusätzlich symbolische Links (libodbc,...) ===&lt;br /&gt;
&lt;br /&gt;
Aufgrund eines Fehlers in Ubuntu 14.04 und 14.10 müssen fehlende symbolische Links manuell angelegt werden. In Ubuntu 15.04 wurde der Fehler behoben.&lt;br /&gt;
&lt;br /&gt;
Es fehlen die Dateien: libodbc.so.2 sowie libodbcinst.so.2, die im Verzeichnis /usr/lib/i386-linux-gnu liegen.&lt;br /&gt;
&lt;br /&gt;
Die fehlenden Links können wie folgt angelegt werden:&lt;br /&gt;
    cd /usr/lib/i386-linux-gnu&lt;br /&gt;
    sudo ln -s libodbc.so.1 libodbc.so.2&lt;br /&gt;
    sudo ln -s libodbcinst.so.1 libodbcinst.so.2&lt;br /&gt;
&lt;br /&gt;
=== Deinstallieren ===&lt;br /&gt;
&lt;br /&gt;
    autopackage uninstall expecco&lt;br /&gt;
&lt;br /&gt;
=== Lizenz installieren ===&lt;br /&gt;
&lt;br /&gt;
Installieren Sie die Lizenz wie im nächsten Abschnitt beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Installation von expecco auf OS X ==&lt;br /&gt;
&lt;br /&gt;
Achtung: die OS X-Version ist z.Z. im Beta Test und auf Anfrage verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Benötigte macOS Softwarepakete ===&lt;br /&gt;
&lt;br /&gt;
expecco läuft auf 64-bit x64_64 mac OS X Systemen (eine Version für ältere 32bit Maschinen ist nur noch auf Anfrage erhältlich; beachten Sie, dass die neueren OS X Versionen 32bit Programme nicht mehr unterstützen).&lt;br /&gt;
Es wird mindestens OS X 10.6 benötigt.&lt;br /&gt;
&lt;br /&gt;
expecco benötigt XQuartz. Dieses sollten Sie vorher vom Apple Store oder [https://www.xquartz.org/ xquartz.org] installieren, falls nicht bereits vorinstalliert (kostenlos).&lt;br /&gt;
&lt;br /&gt;
=== Installation von expecco (OS X) ===&lt;br /&gt;
&lt;br /&gt;
Sie erhalten eine E-Mail mit dem Link zu der expecco-Installationsdatei. Die Installationsdatei hat z.B. den Namen:&lt;br /&gt;
&lt;br /&gt;
* expecco-2.11.0.1.dmg&lt;br /&gt;
&lt;br /&gt;
wobei hier 2.11.0 der Versionsnummer von expecco entspricht und 1 der Build-Nummer. Die Installationsdatei enthält das expecco-Basispaket sowie die Plugins.&lt;br /&gt;
&lt;br /&gt;
Zur Installation öffnen Sie die &amp;quot;&amp;lt;code&amp;gt;dmg&amp;lt;/code&amp;gt;&amp;quot;-Datei und verschieben &amp;quot;&amp;lt;code&amp;gt;expecco.app&amp;lt;/code&amp;gt;&amp;quot; in den &amp;quot;&amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt;&amp;quot;-Ordner (oder Ihren privaten &amp;quot;&amp;lt;code&amp;gt;Application&amp;lt;/code&amp;gt;&amp;quot;-Ordner, oder jeden beliebigen anderen Ordner).&lt;br /&gt;
&lt;br /&gt;
=== Deinstallation von expecco (OS X) ===&lt;br /&gt;
Sämtliche Dateien von expecco, mit Ausnahme Ihrer eigenen Suiten und Einstellungen sind im expecco.app Ordner. Löschen Sie diesen Ordner (und entleeren den Papierkorb) um expecco zu deinstallieren.&lt;br /&gt;
Ihre eigenen Einstellungen befinden sich im Homeverzeichnis unter &amp;quot;.expecco&amp;quot;; Ihre Suiten sind im Documentsordner, falls nicht explizit an anderer Stelle gespeichert.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration der Lizenz ==&lt;br /&gt;
&lt;br /&gt;
Beim erstmaligen Ausführen erscheint ein Fenster, in dem eine Lizenz verlangt wird. Falls Sie bereits eine Lizenz installiert haben und diese wechseln möchten können Sie den selben Dialog unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot; &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; öffnen, allerdings müssen Sie in diesem Fall nach dem Wechseln der Lizenz expecco neu starten.&lt;br /&gt;
&lt;br /&gt;
Fall Sie expecco auf einem Computer ohne GUI installiert haben, kann das zuvor erwähnte Fenster nicht geöffnet werden. In dem Fall müssen Sie expecco auch auf einem Computer mit GUI installieren und dort den Dialog ausfüllen. Danach kopieren Sie die Settingsdatei &amp;quot;&amp;lt;code&amp;gt;~/.expecco/.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;code&amp;gt;C:\users\IhrBenutzer\AppData\Roaming\expecco\.expeccoPreferences&amp;lt;/code&amp;gt;&amp;quot; und die Lizenzdatei &amp;quot;&amp;lt;code&amp;gt;~/.expecco/expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;code&amp;gt;C:\users\IhrBenutzer\AppData\Roaming\expecco\expeccoLicenseServerLicense&amp;lt;/code&amp;gt;&amp;quot; auf den Computer ohne GUI. &lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Einzellizenz | Konfiguration der Einzellizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Konfiguration der Floating-Lizenz | Konfiguration der Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
[[#Auslösen einer Floating-Lizenz | Auslösen einer Floating-Lizenz]]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Einzellizenz ===&lt;br /&gt;
&lt;br /&gt;
Einzellizenzen werden üblicherweise mit einem USB-Dongle genutzt.&lt;br /&gt;
Ausnahmsweise können auch zeitlich limitierte Einzellizenzen ohne Dongle verwendet werden (sog. &amp;quot;&#039;&#039;Demo Lizenz&#039;&#039;&amp;quot;).&lt;br /&gt;
In beiden Fällen erhalten Sie eine Lizenzdatei.&lt;br /&gt;
Lizenzdateien und Dongle müssen jeweils zusammenpassen, wobei eine Lizenzdatei auch zu mehreren Dongles desselben Kunden passen kann.&lt;br /&gt;
&lt;br /&gt;
# falls Sie einen Dongle erhalten haben, stecken Sie ihn in einen freien USB-Port in Ihrem Rechner.&lt;br /&gt;
# Speichern Sie die Lizenzdatei auf Ihrem Rechner&lt;br /&gt;
# Ziehen Sie dann entweder die Datei mit der Maus aus dem Windows-Explorer in den Lizenzdialog, oder Sie wählen im Lizenzdialog Ihre Lizenzdatei direkt aus.&lt;br /&gt;
# Sie werden aufgefordert, expecco neu zu starten. Nach dem Neustart können Sie expecco nutzen.&lt;br /&gt;
&lt;br /&gt;
Lizenzdateien ohne Dongle sind zeitlich beschränkt.&lt;br /&gt;
Wenn Sie versehentlich den expecco-Dongle nicht in Ihren Rechner eingesteckt haben und expecco starten, erhalten Sie einen Hinweis, dass die Lizenz abgelaufen sei.&lt;br /&gt;
Sobald Sie den Dongle einstecken (bevor Sie expecco starten), erscheint dieser Hinweis beim Start von expecco nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Solange Sie mit expecco arbeiten, wird überwacht, ob der Dongle vorhanden ist.&lt;br /&gt;
Wenn Sie den Dongle währenddessen aus Ihrem Rechner entfernen, erhalten Sie einen Hinweis und können keine Tests mehr ausführen oder verändern.&lt;br /&gt;
Sie können allerdings die gerade bearbeitete Testsuite noch abspeichern, so dass keine Änderungen verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Floating-Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Um eine Floating-Lizenz zu nutzen, benötigen Sie einen expecco-Lizenzserver. Diesen (bzw. den Downloadlink) erhalten Sie von uns mit den Floatinglizenzen. Der Lizenzserver ist eine HTTP-Serviceanwendung, die auf einem beliebigen Rechner in einer Cloud oder Ihrer Firma oder Abteilung installiert wird. Sie läuft ohne eigenes Fenster, und wird über einen beliebigen WebBrowser bedient.&lt;br /&gt;
&lt;br /&gt;
Der Lizenzserver ist unter einem Rechnername bzw. IP-Adresse und einer Portnummer zu erreichen.&lt;br /&gt;
Der Administrator des Lizenzservers kann Ihnen diese Informationen geben, falls er eine andere als die default-Portnummer konfiguriert hat.&lt;br /&gt;
Es muss sichergestellt sein, dass eine TCP-Verbindung zum entsprechenden Port im Lizenzserver aufgebaut werden kann.&lt;br /&gt;
Router und Firewalls sind gegebenenfalls entsprechend zu konfigurieren bzw. Ports freizuschalten.&lt;br /&gt;
&lt;br /&gt;
Beim Start von expecco öffnet sich der Lizenzdialog.&lt;br /&gt;
Wählen Sie hier die Lizenzserver-Kachel aus.&lt;br /&gt;
Tragen Sie den Rechnernamen bzw. die IP-Adresse sowie die Portnummer des Lizenzservers ein.&lt;br /&gt;
Im allgemeinen kann die vorgeschlagene default Portnummer unverändert übernommen werden.&lt;br /&gt;
Lediglich in Netzwerken, bei denen nur bestimmte Ports durch Firewalls oder Router durchgeschaltet werden ist es u.U. notwendig, eine andere Portnummer zu verwenden.&lt;br /&gt;
Der Administrator des Lizenzservers kann Ihnen in diesem Fall diese Informationen geben&lt;br /&gt;
&lt;br /&gt;
Sie können jetzt auswählen, welche expecco-Ausprägung Sie verwenden wollen: &#039;&#039;expecco-developer&#039;&#039; oder &#039;&#039;expecco-runtime&#039;&#039;.&lt;br /&gt;
Über die Schaltfläche &amp;quot;&#039;&#039;Plugin-Liste vom Server aktualisieren&#039;&#039;&amp;quot; erhalten Sie die verfügbaren Plugins (bzw. Plugins für die noch Floating-Lizenzen verfügbar sind).&lt;br /&gt;
Wählen Sie die Plugins aus, die Sie für Ihre Tests benötigen.&lt;br /&gt;
Von den meisten Plugins benötigen Sie nur eine Lizenz.&lt;br /&gt;
Einzelne Plugins können für auf mehrere Rechner verteilte Tests mehr als eine Lizenz von einem Plugin benötigen - Sie können das für derartige Plugins angeben.&lt;br /&gt;
Im Dialog wird angezeigt, wie viele Lizenzen für ein bestimmtes Plugin auf dem Lizenzserver momentan noch zur Verfügung stehen.&lt;br /&gt;
Per Tooltip können Sie auch in Erfahrung bringen, wie viele Lizenzen generell vorhanden sind.&lt;br /&gt;
Die Differenz sind die momentan von anderen Benutzern verwendeten Lizenzen.&lt;br /&gt;
&lt;br /&gt;
Über die Schaltfläche &amp;quot;&#039;&#039;Lizenzdatei installieren&#039;&#039;&amp;quot; werden die Lizenzen vom Lizenzserver abonniert.&lt;br /&gt;
Starten Sie jetzt expecco neu, damit die lizenzierten Plugins geladen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn expecco beendet wird, werden alle Lizenzen wieder an den Lizenzserver zurück gegeben.&lt;br /&gt;
Expecco erneuert regelmäßig die Lizenzen vom Lizenzserver.&lt;br /&gt;
Wenn der Lizenzserver über einen gewissen Zeitraum nicht mehr erreichbar sein sollte (ca. 15 Minuten), wird expecco gesperrt, so dass keine Tests mehr ausgeführt oder verändert werden können. Geänderte Testsuiten können aber noch abgespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Wenn expecco nicht regulär beendet wurde, z.B. wenn der Rechner einfach ausgeschaltet wird, fallen die Lizenzen nach diesem Zeitraum an den Lizenzserver zurück und können dann von anderen Benutzern genutzt werden.&lt;br /&gt;
&lt;br /&gt;
expecco merkt sich, welche Lizenzen zuletzt abonniert wurden.&lt;br /&gt;
Wenn expecco gestartet wird, versucht es, die zuletzt abonnierten Lizenzen wieder zu erhalten.&lt;br /&gt;
Sollte das nicht möglich sein, da alle Lizenzen momentan vergeben sind, erscheint der Lizenzdialog, in dem die nicht oder nur teilweise erhaltenen Lizenzen rot unterlegt sind.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie neue Lizenzen benötigen oder bisher verwendete Lizenzen nicht mehr benötigen, können Sie die anzufordernden Lizenzen jederzeit über den Lizenzdialog anpassen.&lt;br /&gt;
Sie erreichen ihn über das Menü &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Auslösen einer Floating-Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Floatinglizenzen können auch ohne bestehende Verbindung zum Lizenzserver ausgelöst werden (sog. &amp;quot;&#039;&#039;road warrior&#039;&#039; Lizenzen&amp;quot;). Dies ermöglicht es Ihnen, auch zuhause, bei Kunden oder in isolierten Labors mit expecco zu arbeiten, ohne dass dafür ein Dongle benötigt wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verfügbar ab expecco Version 2.10.x.x&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auch wenn Ihr expecco keine Netzwerkverbindung hat, ist es möglich expecco mit einer Floating-Lizenz zu betreiben. Die Lizenz für expecco wird für eine bestimmte Zeitspanne ausgelöst. Nachdem diese Zeitspanne verstrichen ist, wird die ausgelöste Lizenz automatisch wieder zurückgegeben (eingegliedert). Bitte beachten Sie, dass es &#039;&#039;&#039;keine Möglichkeit gibt, eine ausgelöste Lizenz vor ihrem Ablauf wieder zurückzugeben!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hierfür brauchen Sie einen Lizenzservice (expecco ALM), aus welchem die Floating-Lizenz ausgelöst wird.&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen einer Floating-Lizenz starten Sie expecco und rufen Sie den Lizenzdialog unter &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; auf (beim erstmaligem Start erscheint dieser automatisch) und navigieren Sie in den Reiter &amp;quot;Ausgelöste Floating-Lizenz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dort haben Sie folgende Möglichkeiten:&lt;br /&gt;
==== Eine Anfrage zum Auslösen einer Floating-Lizenz erstellen ====&lt;br /&gt;
Stellen Sie sich Ihre gewünschte Lizenz zusammen. Definieren Sie den Typ (Runtime / Pro), die Plugins und wie lange Sie die Lizenz auslösen möchten. Sie können Ihre Anfrage dann entweder in eine Datei speichern oder in die Zwischenablage legen.&lt;br /&gt;
&lt;br /&gt;
Rufen Sie nun das Web-Interface des Lizenzservices (expecco ALM) in einem Webbrowser auf. Navigieren Sie in expecco ALM zu &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenz auslösen&#039;&#039;&amp;quot;. Dort können Sie dann Ihre Anfrage entweder über Datei hochladen oder aus der Zwischenablage in das freie Feld einfügen.&lt;br /&gt;
&lt;br /&gt;
Nach dem erfolgreichen Einspielen Ihrer Anfrage wird Ihnen Ihre Anfrage zur Gegenprüfung im Detail angezeigt. Sie können hier die Dauer der Auslösung ggf. erneut anpassen. Über den Knopf &amp;quot;Auslösen bestätigen&amp;quot; wird die Lizenz endgültig ausgelöst. Danach ist diese Lizenz bis zum Ablauf der Dauer ausschließlich für das expecco, von welchem die Anfrage erstellt wurde reserviert. Ihnen wird anschließend der Bestätigungsschlüssel angezeigt. Diesen können Sie wiederum als Datei speichern oder über Rechtsklick &amp;quot;Kopieren&amp;quot; in die Zwischenablage legen.&lt;br /&gt;
&lt;br /&gt;
Jetzt müssen Sie diesen Bestätigungsschlüssel an expecco übertragen (über USB-Stick, Zuruf, Telefon usw.) und eingeben oder die Datei auswählen.&lt;br /&gt;
&lt;br /&gt;
==== Eine bereits ausgelöste Floating-Lizenz in Betrieb nehmen ====&lt;br /&gt;
Falls Sie expecco aus Versehen während dem Prozess des Auslösens geschlossen haben oder der Prozess durch etwas ähnlich unterbrochen wurde, ist die ausgelöste Lizenz nicht verloren. Sie können diese Lizenz anhand Ihrer Anfrage und zugehörigem Bestätigungsschlüssel jederzeit in expecco aktivieren.&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu den Lizenzservice (expecco ALM) und navigieren Sie nach &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Im Einsatz&#039;&#039;&amp;quot;. Suchen Sie in dieser Liste nach einer passenden Lizenz. Eine passende Lizenz erkennen Sie bspw. an der Spalte &amp;quot;Rechnername&amp;quot;, diese Spalte sollte mit dem Rechnernamen auf dem expecco installiert ist übereinstimmen. Übertragen Sie die Anfrage sowie den Bestätigungsschlüssel aus den Spalten &amp;quot;Auslöse-Anfrage-Datei&amp;quot; und &amp;quot;Auslösungsschlüssel&amp;quot; zu expecco.&lt;br /&gt;
&lt;br /&gt;
In expecco müssen Sie die Auslöse-Anfrage-Datei auswählen und diese dann mit dem Bestätigungsschlüssel aktivieren.&lt;br /&gt;
&lt;br /&gt;
==== Die aktuell verwendete ausgelöste Floating-Lizenz verlängern ====&lt;br /&gt;
&lt;br /&gt;
Das Verlängern einer ausgelösten Floating-Lizenz ist nur möglich, solange diese noch gültig ist. Nach dem Ablauf einer ausgelösten Lizenz wird diese im Lizenzserver gelöscht und Sie müssen diese durch eine neue Anfrage erneuern (i.e. eine neue Lizenz auslösen).&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie dazu den Lizenzservice (expecco ALM) und navigieren Sie nach &amp;quot;&#039;&#039;Lizenzservice&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;expecco Lizenzen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Im Einsatz&#039;&#039;&amp;quot;. Suchen Sie in dieser Liste nach einer passenden Lizenz. Eine passende Lizenz erkennen Sie bspw. an der Spalte &amp;quot;Rechnername&amp;quot;. Diese Spalte sollte mit dem Rechnernamen, auf dem expecco installiert ist, übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
Klicken Sie nun auf &amp;quot;Verlängern&amp;quot;. Sie werden automatisch auf die Seite &amp;quot;Lizenz verlängern&amp;quot; weitergeleitet. Ihre Lizenz ist bereits vorselektiert. Sie können nun das gewünschte Datum eingeben. Danach wird Ihnen ein neuer Bestätigungsschlüssel angezeigt, diesen müssen Sie in expecco eingeben.&lt;br /&gt;
&lt;br /&gt;
=== Änderung des Lizenztyps nach der Installation ===&lt;br /&gt;
&lt;br /&gt;
Über das Menü &amp;quot;&#039;&#039;&amp;quot;Extras&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Einstellungen&#039;&#039;&amp;quot;  &amp;amp;#8594; &amp;quot;&#039;&#039;Lizenzinstallation&#039;&#039;&amp;quot; können Sie die Lizenz nachträglich ändern.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Änderung des Lizenztyps werden permanent gespeichert, wenn Sie die Einstellung mit der Schaltfläche &amp;quot;Sichern&amp;quot; abspeichern.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Lizenzserver_expecco_ALM&amp;diff=22745</id>
		<title>Lizenzserver expecco ALM</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Lizenzserver_expecco_ALM&amp;diff=22745"/>
		<updated>2021-03-04T10:55:01Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Übersicht==&lt;br /&gt;
&lt;br /&gt;
Der expecco Lizenzserver dient der zentralen Verwaltung von expecco Lizenzen. Durch den Lizenzserver kann expecco auf verschiedenen Rechnern (sowohl Entwicklungs- als auch reine Testausführungsrechner) ohne Dongle und lokale Lizenzdatei auf allen erreichbaren Rechnern im Netz installiert und ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Lizenzen werden dabei von den expecco-Rechnern vom Lizenzserver angefordert, im Lizenzserver reserviert,&lt;br /&gt;
und nach der Sitzung bzw. Testlauf wieder zurückgegeben. Damit können mehr Nutzer (allerdings nicht gleichzeitig) mit expecco arbeiten als Lizenzen erworben wurden.&lt;br /&gt;
&lt;br /&gt;
Lizenzen sind kryptographisch gesicherte Dateien, welche nur in Verbindung mit einem von eXept gelieferten Lizenzserver-Dongle gelesen bzw. genutzt werden können. Lizenzen sind Dongle-spezifisch. Es ist also nicht notwendig, Maßnahmen zum Schutz vor Diebstahl oder Kopieren von Lizenzdateien zu ergreifen. Allerdings ist ein Verlust des Dongles aus nahe liegenden Gründen zu vermeiden.&lt;br /&gt;
&lt;br /&gt;
{{SEITENTITEL:Lizenzservice Installation}}&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
Wir empfehlen expecco ALM auf einem durchgehend verfügbaren Server mit Windows Server 2008 / Windows 7 oder höher zu installieren. Die Installation auf anderen Betriebssystemen wäre bei Bedarf auch möglich. Ebenso ist die Installation in einer Cloud möglich, dort ist der Betrieb ohne Dongle möglich.&lt;br /&gt;
&lt;br /&gt;
Damit expecco ALM flüssig arbeiten kann, werden folgende Hardware-Anforderungen an den Server gestellt:&lt;br /&gt;
&amp;lt;br&amp;gt;- ein &amp;quot;dezidierter&amp;quot; Prozessor mit mindestens 2 GHz&lt;br /&gt;
&amp;lt;br&amp;gt;- mindestens 1 GB Arbeitsspeicher (ausschließlich für expecco ALM)&lt;br /&gt;
&amp;lt;br&amp;gt;- mindestens 10 GB Festplattenspeicher (je nach Größe der Daten die expecco ALM verwalten soll)&lt;br /&gt;
&lt;br /&gt;
Stellen Sie sicher, dass dieser Server für alle Clients erreichbar ist. Clients sind alle Rechner der expecco ALM Benutzer, Rechner die expecco ALM zur Testausführung dienen und Rechner mit &amp;quot;Floating&amp;quot; lizenziertem expecco. Bei Problemen bezüglich der Erreichbarkeit wenden Sie sich bitte an Ihren Netzwerkadministrator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Bitte halten Sie Ihre Lizenzdatei und Ihren Dongle für die Installation von expecco ALM bereit.&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Installation in der Cloud liefern wir eine Lizenzdatei mit entsprechender Mac-Adresse.&lt;br /&gt;
&lt;br /&gt;
Ihre Lizenzdatei und eine Verknüpfung zum aktuellen expecco ALM Setup haben wir Ihnen per E-Mail zu kommen lassen. Der Installer hat folgenden Namen &amp;quot;expecco ALM 1.9.0.1 Setup.exe&amp;quot;, wobei die Versionsnummer abweichen kann. Ihren Dongle haben wir per Post an Sie versendet (es sei denn Sie evaluieren expecco ALM oder nutzen die Cloud Variante mit der Mac-Adressen-Bindung).&lt;br /&gt;
&lt;br /&gt;
Gehen Sie bitte wie folgt vor:&lt;br /&gt;
&amp;lt;br&amp;gt;- Laden Sie den expecco ALM Installer auf dem Server, auf dem expecco ALM künftig laufen soll, herunter&lt;br /&gt;
&amp;lt;br&amp;gt;- Legen Sie Ihre Lizenzdatei ebenfalls auf dem Server ab&lt;br /&gt;
&amp;lt;br&amp;gt;- Verbinden Sie Ihren Dongle mit dem Server (Wenn Sie expecco ALM evaluieren oder die Cloud Variante mit der Mac-Adressen-Bindung nutzen, überspringen Sie diesen Schritt)&lt;br /&gt;
&amp;lt;br&amp;gt;- Führen Sie den expecco ALM Installer (&amp;quot;expecco ALM ?.?.?.? Setup.exe&amp;quot;) aus&lt;br /&gt;
&lt;br /&gt;
Nachdem der Installer erfolgreich ausgeführt wurde, läuft expecco ALM bereits als Service. Auf Ihrem Desktop wurde eine Verknüpfung zu expecco ALM angelegt. Es wurde auch ein Ordner für expecco ALM in Ihrem Startmenü erstellt. Dort können Sie unter &amp;quot;Konfiguration&amp;quot; den Port ändern (Standard ist Port 8081) oder über die &amp;quot;Logdatei&amp;quot; eventuelle Probleme feststellen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:InstallAlmLicense.png|mini|Anhang 1]]&lt;br /&gt;
Über die Verknüpfung auf Ihrem Desktop lässt sich expecco ALM mit Ihrem Standardbrowser öffnen. Es wird eine Seite zum Installieren Ihrer expecco ALM Lizenz angezeigt (Anhang 1). Über &amp;quot;Lizenzdatei installieren&amp;quot; können Sie Ihre Lizenzdatei (die Sie bereits auf dem Server abgelegt haben) auswählen. Nach dem expecco ALM Ihre Lizenzdatei akzeptiert hat, können Sie diese entfernen. Wenn bereits eine gültige Lizenz installiert ist, wird stattdessen die Anmeldeseite angezeigt. Falls es sich bei Ihnen um eine Erstinstallation handelt, können Sie sich mit Anmeldenamen &amp;quot;admin&amp;quot; und Kennwort &amp;quot;admin&amp;quot; anmelden.&lt;br /&gt;
&lt;br /&gt;
Falls eine leere Seite oder eine Fehlerseite angezeigt wird, probieren Sie einen anderen Port aus und/oder schauen Sie in der Logdatei nach Fehlermeldungen.&lt;br /&gt;
&lt;br /&gt;
== SSL-Verschlüsselung / Proxy-Server ==&lt;br /&gt;
expecco ALM unterstützt aktuell noch nicht direkt SSL-Verschlüsselung. Über einen Proxy-Server ist diese aber problemlos einzurichten, z.B. über einen Apache-Server. Falls auf ihrem Server weitere Webseiten gehostet werden, ist dies ja ohnehin erforderlich, da sich nicht mehrere Prozesse gleichzeitig an den Port 443 binden können.&lt;br /&gt;
&lt;br /&gt;
Eine Apache2 VirtualHost-Konfiguration würde entsprechend so aussehen (angenommen expecco ALM läuft mit Port 8466 - erforderliche Anpassung für ihre Konfiguration fett):&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
   ServerName &amp;lt;b&amp;gt;expeccoalm.xyz.de&amp;lt;/b&amp;gt;&lt;br /&gt;
   ServerAdmin &amp;lt;b&amp;gt;webmaster@xyz.de&amp;lt;/b&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   Include &amp;lt;b&amp;gt;/etc/letsencrypt/ssl-xyz.de.conf&amp;lt;/b&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   SSLProxyEngine On&lt;br /&gt;
   &lt;br /&gt;
   RewriteEngine on&lt;br /&gt;
   RewriteCond %{HTTP:Upgrade} =websocket [NC]&lt;br /&gt;
   RewriteRule /(.*)           ws://localhost:&amp;lt;b&amp;gt;8465&amp;lt;/b&amp;gt;/$1 [P,L]&lt;br /&gt;
   RewriteCond %{HTTP:Upgrade} !=websocket [NC]&lt;br /&gt;
   &lt;br /&gt;
   ProxyPass /               http://localhost:&amp;lt;b&amp;gt;8465&amp;lt;/b&amp;gt;/ nocanon&lt;br /&gt;
   ProxyPassReverse /        http://localhost:&amp;lt;b&amp;gt;8465&amp;lt;/b&amp;gt;/&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die SSL-Parameter mit dem Pfaden zu Ihren Zertifkaten uns Schlüsseln würden in diesem Konfigurations-Beispiel in der Apache-globalen Datei /etc/letsencrypt/ssl-xyz.de.conf liegen.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Lizenzierung ==&lt;br /&gt;
Wenn Sie expecco ALM erworben haben, erhalten Sie einen Dongle und eine Lizenzdatei. Falls Sie expecco ALM evaluieren, erhalten Sie ausschließlich die Lizenzdatei. Die Lizenzdatei beinhaltet eine für Sie individuelle expecco ALM Lizenz. So sind zum Beispiel: Der Name Ihrer Firma, für Sie freigeschaltete Module oder die Gültigkeitsdauer in der Lizenz hinterlegt. Der Dongle muss (insofern Sie expecco ALM erworben haben) ständig mit dem Server, auf dem expecco ALM ausgeführt wird, verbunden sein. Falls Sie den Dongle während des Betriebs abziehen, wird expecco ALM seinen Dienst einstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lizenz wechseln ==&lt;br /&gt;
[[Datei:ChangeAlmLicense.png|mini|Anhang 2]]&lt;br /&gt;
Falls Sie eine aktuelle expecco ALM Version haben, können Sie eine neue Lizenzdatei &amp;quot;expecco ALM Lizenz *.lic&amp;quot; über das Webinterface von expecco ALM einspielen. Betrachten Sie dazu den angehängten Screenshot (Anhang 2).&lt;br /&gt;
&lt;br /&gt;
Fall Sie eine ältere expecco ALM Version haben, müssen Sie folgendermaßen vorgehen:&lt;br /&gt;
&amp;lt;br&amp;gt;- Da Sie expecco ALM später neustarten müssen, tätigen Sie entsprechende Vorsorgemaßnahmen (Bspw. Benutzer abmelden, Datenbank sichern usw.)&lt;br /&gt;
&amp;lt;br&amp;gt;- Melden Sie sich auf dem Computer, der expecco ALM betreibt an&lt;br /&gt;
&amp;lt;br&amp;gt;- Begeben Sie sich in folgendes Verzeichnis &amp;quot;C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\expecco_ALM&amp;quot; oder falls es sich um ein 32Bit Betriebssystem handelt &amp;quot;C:\Windows\system32\config\systemprofile\AppData\Roaming\expecco_ALM&amp;quot; und löschen Sie die Datei &amp;quot;expecco_ALM.lic&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;- Starten Sie den expecco ALM Service über den Windows-Service-Manager neu oder beenden Sie über den Windows-Task-Manager den Prozess &amp;quot;expecco_ALM.exe&amp;quot;, in letzterem Fall wird der Windows-Service-Manager expecco ALM automatisch neustarten.&lt;br /&gt;
&amp;lt;br&amp;gt;- Nun können Sie das expecco ALM Webinterface aufrufen. Es wird eine Seite zum Installieren Ihrer expecco ALM Lizenz angezeigt (Anhang 1). Über &amp;quot;Lizenzdatei installieren&amp;quot; können Sie Ihre Lizenzdatei. auswählen. Nach dem expecco ALM Ihre Lizenzdatei akzeptiert hat, können Sie diese entfernen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einbringen von expecco Floating-Lizenzen ==&lt;br /&gt;
Der Lizenzservice von expecco ALM vergibt verfügbare expecco Floating-Lizenzen aus einem bestimmten Pool.&amp;lt;br&amp;gt;&lt;br /&gt;
In diesen zunächst leeren Pool können von eXept erworbene expecco Floating-Lizenzen eingebracht werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Diese expecco Floating-Lizenzen erhalten Sie als Lizenzdatei(en) üblicherweise per E-Mail.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Lizenzdatei kann eine oder mehrere expecco Floating-Lizenzen auch für verschiedene Komponenten (Basissystem, Plugins und Erweiterungen) enthalten.&amp;lt;br&amp;gt;&lt;br /&gt;
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
expecco Floating-Lizenzen werden immer spezifisch für eine expecco ALM Lizenz erstellt und sind nur mit dieser und deren Dongle nutzbar.&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist also nicht notwendig solche Lizenzdateien unter Verschluss zu halten oder über eine sichere Verbindung auszutauschen.&amp;lt;br&amp;gt;&lt;br /&gt;
Allerdings sollten Sie den Dongle sicher aufbewahren bzw. Diebstahl vorbeugen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zur Einbringen einer expecco Floating-Lizenz öffnen Sie expecco ALM und melden Sie sich an.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt navigieren Sie über die obere Hauptnavigationsleiste zum &amp;quot;Lizenzservice&amp;quot; Modul.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sie befinden sich nun im Lizenzservice und Ihnen wird die Liste der installierten expecco Floating-Lizenzen angezeigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wechseln Sie zur Registerkarte &amp;quot;expecco Lizenzdateien&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Navigieren Sie mithilfe des Navigationsmenüs auf der linken Seite zu &amp;quot;Hochladen/Upload&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier können Sie nun durch ein einfaches Hochladen Ihrer expecco Floating-Lizenzen selbige in den Pool einbringen.&amp;lt;br&amp;gt;&lt;br /&gt;
In der zuvor genannte Liste werden nun die eben hochgeladenen expecco Floating-Lizenzen anzeigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese sind von nun an auch von entfernten expecco Clients abrufbar.&amp;lt;br&amp;gt;&lt;br /&gt;
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lizenz Übersicht ==&lt;br /&gt;
Welche einzelnen expecco Floating-Lizenzen verfügbar oder vergeben sind, &amp;lt;br&amp;gt;&lt;br /&gt;
erfahren Sie indem Sie zur Registerkarte &amp;quot;expecco Lizenzen&amp;quot; wechseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Insbesondere ist hieraus ersichtlich, welcher Rechner/Benutzer welche expecco Floating-Lizenz aktuell nutzt.&amp;lt;br&amp;gt;&lt;br /&gt;
Dies ist beispielsweise sinnvoll, wenn ein expecco Client seine Sitzung versehentlich nicht beendet hat,&amp;lt;br&amp;gt;&lt;br /&gt;
und andere Nutzer eine entsprechende Lizenz benötigen.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Lizenzserver_expecco_ALM&amp;diff=22744</id>
		<title>Lizenzserver expecco ALM</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Lizenzserver_expecco_ALM&amp;diff=22744"/>
		<updated>2021-03-04T10:54:01Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Übersicht==&lt;br /&gt;
&lt;br /&gt;
Der expecco Lizenzserver dient der zentralen Verwaltung von expecco Lizenzen. Durch den Lizenzserver kann expecco auf verschiedenen Rechnern (sowohl Entwicklungs- als auch reine Testausführungsrechner) ohne Dongle und lokale Lizenzdatei auf allen erreichbaren Rechnern im Netz installiert und ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Lizenzen werden dabei von den expecco-Rechnern vom Lizenzserver angefordert, im Lizenzserver reserviert,&lt;br /&gt;
und nach der Sitzung bzw. Testlauf wieder zurückgegeben. Damit können mehr Nutzer (allerdings nicht gleichzeitig) mit expecco arbeiten als Lizenzen erworben wurden.&lt;br /&gt;
&lt;br /&gt;
Lizenzen sind kryptographisch gesicherte Dateien, welche nur in Verbindung mit einem von eXept gelieferten Lizenzserver-Dongle gelesen bzw. genutzt werden können. Lizenzen sind Dongle-spezifisch. Es ist also nicht notwendig, Maßnahmen zum Schutz vor Diebstahl oder Kopieren von Lizenzdateien zu ergreifen. Allerdings ist ein Verlust des Dongles aus nahe liegenden Gründen zu vermeiden.&lt;br /&gt;
&lt;br /&gt;
{{SEITENTITEL:Lizenzservice Installation}}&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
Wir empfehlen expecco ALM auf einem durchgehend verfügbaren Server mit Windows Server 2008 / Windows 7 oder höher zu installieren. Die Installation auf anderen Betriebssystemen wäre bei Bedarf auch möglich. Ebenso ist die Installation in einer Cloud möglich, dort ist der Betrieb ohne Dongle möglich.&lt;br /&gt;
&lt;br /&gt;
Damit expecco ALM flüssig arbeiten kann, werden folgende Hardware-Anforderungen an den Server gestellt:&lt;br /&gt;
&amp;lt;br&amp;gt;- ein &amp;quot;dezidierter&amp;quot; Prozessor mit mindestens 2 GHz&lt;br /&gt;
&amp;lt;br&amp;gt;- mindestens 1 GB Arbeitsspeicher (ausschließlich für expecco ALM)&lt;br /&gt;
&amp;lt;br&amp;gt;- mindestens 10 GB Festplattenspeicher (je nach Größe der Daten die expecco ALM verwalten soll)&lt;br /&gt;
&lt;br /&gt;
Stellen Sie sicher, dass dieser Server für alle Clients erreichbar ist. Clients sind alle Rechner der expecco ALM Benutzer, Rechner die expecco ALM zur Testausführung dienen und Rechner mit &amp;quot;Floating&amp;quot; lizenziertem expecco. Bei Problemen bezüglich der Erreichbarkeit wenden Sie sich bitte an Ihren Netzwerkadministrator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Bitte halten Sie Ihre Lizenzdatei und Ihren Dongle für die Installation von expecco ALM bereit.&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Installation in der Cloud liefern wir eine Lizenzdatei mit entsprechender Mac-Adresse.&lt;br /&gt;
&lt;br /&gt;
Ihre Lizenzdatei und eine Verknüpfung zum aktuellen expecco ALM Setup haben wir Ihnen per E-Mail zu kommen lassen. Der Installer hat folgenden Namen &amp;quot;expecco ALM 1.9.0.1 Setup.exe&amp;quot;, wobei die Versionsnummer abweichen kann. Ihren Dongle haben wir per Post an Sie versendet (es sei denn Sie evaluieren expecco ALM oder nutzen die Cloud Variante mit der Mac-Adressen-Bindung).&lt;br /&gt;
&lt;br /&gt;
Gehen Sie bitte wie folgt vor:&lt;br /&gt;
&amp;lt;br&amp;gt;- Laden Sie den expecco ALM Installer auf dem Server, auf dem expecco ALM künftig laufen soll, herunter&lt;br /&gt;
&amp;lt;br&amp;gt;- Legen Sie Ihre Lizenzdatei ebenfalls auf dem Server ab&lt;br /&gt;
&amp;lt;br&amp;gt;- Verbinden Sie Ihren Dongle mit dem Server (Wenn Sie expecco ALM evaluieren, überspringen Sie diesen Schritt)&lt;br /&gt;
&amp;lt;br&amp;gt;- Führen Sie den expecco ALM Installer (&amp;quot;expecco ALM ?.?.?.? Setup.exe&amp;quot;) aus&lt;br /&gt;
&lt;br /&gt;
Nachdem der Installer erfolgreich ausgeführt wurde, läuft expecco ALM bereits als Service. Auf Ihrem Desktop wurde eine Verknüpfung zu expecco ALM angelegt. Es wurde auch ein Ordner für expecco ALM in Ihrem Startmenü erstellt. Dort können Sie unter &amp;quot;Konfiguration&amp;quot; den Port ändern (Standard ist Port 8081) oder über die &amp;quot;Logdatei&amp;quot; eventuelle Probleme feststellen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:InstallAlmLicense.png|mini|Anhang 1]]&lt;br /&gt;
Über die Verknüpfung auf Ihrem Desktop lässt sich expecco ALM mit Ihrem Standardbrowser öffnen. Es wird eine Seite zum Installieren Ihrer expecco ALM Lizenz angezeigt (Anhang 1). Über &amp;quot;Lizenzdatei installieren&amp;quot; können Sie Ihre Lizenzdatei (die Sie bereits auf dem Server abgelegt haben) auswählen. Nach dem expecco ALM Ihre Lizenzdatei akzeptiert hat, können Sie diese entfernen. Wenn bereits eine gültige Lizenz installiert ist, wird stattdessen die Anmeldeseite angezeigt. Falls es sich bei Ihnen um eine Erstinstallation handelt, können Sie sich mit Anmeldenamen &amp;quot;admin&amp;quot; und Kennwort &amp;quot;admin&amp;quot; anmelden.&lt;br /&gt;
&lt;br /&gt;
Falls eine leere Seite oder eine Fehlerseite angezeigt wird, probieren Sie einen anderen Port aus und/oder schauen Sie in der Logdatei nach Fehlermeldungen.&lt;br /&gt;
&lt;br /&gt;
== SSL-Verschlüsselung / Proxy-Server ==&lt;br /&gt;
expecco ALM unterstützt aktuell noch nicht direkt SSL-Verschlüsselung. Über einen Proxy-Server ist diese aber problemlos einzurichten, z.B. über einen Apache-Server. Falls auf ihrem Server weitere Webseiten gehostet werden, ist dies ja ohnehin erforderlich, da sich nicht mehrere Prozesse gleichzeitig an den Port 443 binden können.&lt;br /&gt;
&lt;br /&gt;
Eine Apache2 VirtualHost-Konfiguration würde entsprechend so aussehen (angenommen expecco ALM läuft mit Port 8466 - erforderliche Anpassung für ihre Konfiguration fett):&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
   ServerName &amp;lt;b&amp;gt;expeccoalm.xyz.de&amp;lt;/b&amp;gt;&lt;br /&gt;
   ServerAdmin &amp;lt;b&amp;gt;webmaster@xyz.de&amp;lt;/b&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   Include &amp;lt;b&amp;gt;/etc/letsencrypt/ssl-xyz.de.conf&amp;lt;/b&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   SSLProxyEngine On&lt;br /&gt;
   &lt;br /&gt;
   RewriteEngine on&lt;br /&gt;
   RewriteCond %{HTTP:Upgrade} =websocket [NC]&lt;br /&gt;
   RewriteRule /(.*)           ws://localhost:&amp;lt;b&amp;gt;8465&amp;lt;/b&amp;gt;/$1 [P,L]&lt;br /&gt;
   RewriteCond %{HTTP:Upgrade} !=websocket [NC]&lt;br /&gt;
   &lt;br /&gt;
   ProxyPass /               http://localhost:&amp;lt;b&amp;gt;8465&amp;lt;/b&amp;gt;/ nocanon&lt;br /&gt;
   ProxyPassReverse /        http://localhost:&amp;lt;b&amp;gt;8465&amp;lt;/b&amp;gt;/&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die SSL-Parameter mit dem Pfaden zu Ihren Zertifkaten uns Schlüsseln würden in diesem Konfigurations-Beispiel in der Apache-globalen Datei /etc/letsencrypt/ssl-xyz.de.conf liegen.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Lizenzierung ==&lt;br /&gt;
Wenn Sie expecco ALM erworben haben, erhalten Sie einen Dongle und eine Lizenzdatei. Falls Sie expecco ALM evaluieren, erhalten Sie ausschließlich die Lizenzdatei. Die Lizenzdatei beinhaltet eine für Sie individuelle expecco ALM Lizenz. So sind zum Beispiel: Der Name Ihrer Firma, für Sie freigeschaltete Module oder die Gültigkeitsdauer in der Lizenz hinterlegt. Der Dongle muss (insofern Sie expecco ALM erworben haben) ständig mit dem Server, auf dem expecco ALM ausgeführt wird, verbunden sein. Falls Sie den Dongle während des Betriebs abziehen, wird expecco ALM seinen Dienst einstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lizenz wechseln ==&lt;br /&gt;
[[Datei:ChangeAlmLicense.png|mini|Anhang 2]]&lt;br /&gt;
Falls Sie eine aktuelle expecco ALM Version haben, können Sie eine neue Lizenzdatei &amp;quot;expecco ALM Lizenz *.lic&amp;quot; über das Webinterface von expecco ALM einspielen. Betrachten Sie dazu den angehängten Screenshot (Anhang 2).&lt;br /&gt;
&lt;br /&gt;
Fall Sie eine ältere expecco ALM Version haben, müssen Sie folgendermaßen vorgehen:&lt;br /&gt;
&amp;lt;br&amp;gt;- Da Sie expecco ALM später neustarten müssen, tätigen Sie entsprechende Vorsorgemaßnahmen (Bspw. Benutzer abmelden, Datenbank sichern usw.)&lt;br /&gt;
&amp;lt;br&amp;gt;- Melden Sie sich auf dem Computer, der expecco ALM betreibt an&lt;br /&gt;
&amp;lt;br&amp;gt;- Begeben Sie sich in folgendes Verzeichnis &amp;quot;C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\expecco_ALM&amp;quot; oder falls es sich um ein 32Bit Betriebssystem handelt &amp;quot;C:\Windows\system32\config\systemprofile\AppData\Roaming\expecco_ALM&amp;quot; und löschen Sie die Datei &amp;quot;expecco_ALM.lic&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;- Starten Sie den expecco ALM Service über den Windows-Service-Manager neu oder beenden Sie über den Windows-Task-Manager den Prozess &amp;quot;expecco_ALM.exe&amp;quot;, in letzterem Fall wird der Windows-Service-Manager expecco ALM automatisch neustarten.&lt;br /&gt;
&amp;lt;br&amp;gt;- Nun können Sie das expecco ALM Webinterface aufrufen. Es wird eine Seite zum Installieren Ihrer expecco ALM Lizenz angezeigt (Anhang 1). Über &amp;quot;Lizenzdatei installieren&amp;quot; können Sie Ihre Lizenzdatei. auswählen. Nach dem expecco ALM Ihre Lizenzdatei akzeptiert hat, können Sie diese entfernen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einbringen von expecco Floating-Lizenzen ==&lt;br /&gt;
Der Lizenzservice von expecco ALM vergibt verfügbare expecco Floating-Lizenzen aus einem bestimmten Pool.&amp;lt;br&amp;gt;&lt;br /&gt;
In diesen zunächst leeren Pool können von eXept erworbene expecco Floating-Lizenzen eingebracht werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Diese expecco Floating-Lizenzen erhalten Sie als Lizenzdatei(en) üblicherweise per E-Mail.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Lizenzdatei kann eine oder mehrere expecco Floating-Lizenzen auch für verschiedene Komponenten (Basissystem, Plugins und Erweiterungen) enthalten.&amp;lt;br&amp;gt;&lt;br /&gt;
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
expecco Floating-Lizenzen werden immer spezifisch für eine expecco ALM Lizenz erstellt und sind nur mit dieser und deren Dongle nutzbar.&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist also nicht notwendig solche Lizenzdateien unter Verschluss zu halten oder über eine sichere Verbindung auszutauschen.&amp;lt;br&amp;gt;&lt;br /&gt;
Allerdings sollten Sie den Dongle sicher aufbewahren bzw. Diebstahl vorbeugen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zur Einbringen einer expecco Floating-Lizenz öffnen Sie expecco ALM und melden Sie sich an.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt navigieren Sie über die obere Hauptnavigationsleiste zum &amp;quot;Lizenzservice&amp;quot; Modul.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sie befinden sich nun im Lizenzservice und Ihnen wird die Liste der installierten expecco Floating-Lizenzen angezeigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wechseln Sie zur Registerkarte &amp;quot;expecco Lizenzdateien&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Navigieren Sie mithilfe des Navigationsmenüs auf der linken Seite zu &amp;quot;Hochladen/Upload&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier können Sie nun durch ein einfaches Hochladen Ihrer expecco Floating-Lizenzen selbige in den Pool einbringen.&amp;lt;br&amp;gt;&lt;br /&gt;
In der zuvor genannte Liste werden nun die eben hochgeladenen expecco Floating-Lizenzen anzeigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese sind von nun an auch von entfernten expecco Clients abrufbar.&amp;lt;br&amp;gt;&lt;br /&gt;
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lizenz Übersicht ==&lt;br /&gt;
Welche einzelnen expecco Floating-Lizenzen verfügbar oder vergeben sind, &amp;lt;br&amp;gt;&lt;br /&gt;
erfahren Sie indem Sie zur Registerkarte &amp;quot;expecco Lizenzen&amp;quot; wechseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Insbesondere ist hieraus ersichtlich, welcher Rechner/Benutzer welche expecco Floating-Lizenz aktuell nutzt.&amp;lt;br&amp;gt;&lt;br /&gt;
Dies ist beispielsweise sinnvoll, wenn ein expecco Client seine Sitzung versehentlich nicht beendet hat,&amp;lt;br&amp;gt;&lt;br /&gt;
und andere Nutzer eine entsprechende Lizenz benötigen.&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Java_GUI_Plugins&amp;diff=22710</id>
		<title>Java GUI Plugins</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Java_GUI_Plugins&amp;diff=22710"/>
		<updated>2021-03-03T09:24:47Z</updated>

		<summary type="html">&lt;p&gt;Sr: /* Verbindung zu Entfernten Systemen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- [[Datei:AllJavaInterfaces.png|thumb|300px]] --&amp;gt; &amp;lt;!-- Matilk: Ich habe das Bild auskommentiert. Es ist wenig aussagekräftig und teilweise verzogen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Matilk: Ich habe den einleitenden Abschnitt auskommentiert. Der Großteil der aufgezählten Abschnitte sind so noch gar nicht auf der Seite beschrieben. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- expecco unterstützt unterschiedliche UI-Frameworks. Hierzu zählen unter anderem auch JavaFX,&lt;br /&gt;
Java Swing und Java SWT. Die folgenden Abschnitte sollen einen Überblick in die von expecco unterstützten Java UI-Frameworks geben, um Ihnen einen schnellen und einfachen Einstieg zu ermöglichen.&lt;br /&gt;
In diesem Zusammenhang wird Ihnen bei dieser Einführung von den Hauptmerkmalen der einzelnen Frameworks über die Funktionsweise, die Konfigurationen und den Anforderungen bis hin zur Verwendung einzelner Funktionsbausteine aus den jeweiligen &#039;Funktionsbibliotheken&#039; näher erläutert.&lt;br /&gt;
Um das Verständnis zum theoretischen Teil noch zu festigen, wird im Anschluss ein praxisnahes Beispiel Schritt für Schritt durchgearbeitet und beschrieben, bei dem Sie aktiv mitarbeiten können. Die dazu benötigten Testsuiten und Anwendungen laden Sie sich bitte über die in den Abschnitten zu Verfügung gestellten Links herunter. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Java-Technologien ==&lt;br /&gt;
expecco unterstützt die Automatisierung von Java-Anwendungen, die mit Java Swing, Java SWT oder JavaFX implementiert sind. Ebenso werden Anwendungen unterstützt, die mehrere dieser Technologien vereinen, z.B. eine Swing-Anwendung mit eingebettetem JavaFX-Inhalt.&lt;br /&gt;
&lt;br /&gt;
=== Java Swing ===&lt;br /&gt;
&lt;br /&gt;
Diese Erweiterung für expecco ermöglicht die Testautomatisierung von Java-Anwendungen, deren Benutzeroberflächen mit Swing erstellt wurden. Die Baustein-Bibliothek beinhaltet Blöcke zur Steuerung und Überprüfung von Swing-Benutzeroberflächen. Zudem integriert sich diese Erweiterung in die [[Expecco GUI Tests_Extension Reference|expecco GUI Test Extension]]. Diese dient der Unterstützung bei der Entwicklung von Testsequenzen.&lt;br /&gt;
&lt;br /&gt;
==== Hauptmerkmale ====&lt;br /&gt;
&lt;br /&gt;
* Automatisierte Bedienung und Überprüfung von Swing-Benutzeroberflächen&lt;br /&gt;
* Gleichzeitige Bedienung mehrerer Anwendungen&lt;br /&gt;
* Steuerung von Swing-Benutzeroberflächen auf entfernten Zielsystemen&lt;br /&gt;
* Steuerung von bereits eigenständig laufenden Java-Anwendungen (keine Änderung am Quell-Code notwendig, keine Rekompilierung der Anwendung nötig)&lt;br /&gt;
* Adressierung der Bedienelemente durch XPath&lt;br /&gt;
* Zugriff auf Objektebene durch Java Bridge Interface Library möglich&lt;br /&gt;
* Integration in die [[Expecco GUI Tests_Extension Reference|expecco GUI Tests Extension]]&lt;br /&gt;
* Block-Bibliothek mit Aktionen und Überprüfungen für Swing-Komponenten&lt;br /&gt;
&lt;br /&gt;
=== Java SWT ===&lt;br /&gt;
&lt;br /&gt;
=== JavaFX ===&lt;br /&gt;
Ab Java 11 ist JavaFX nicht mehr im JDK enthalten. Daher müssen Sie zusätzlich ein JavaFX SDK installieren, z.B. von [https://openjfx.io/ OpenJFX]. Kopieren Sie dann die jar-Dateien aus dem lib-Verzeichnis des JavaFX JDKs nach &amp;lt;code&amp;gt;packages\exept\expecco\plugin\javafx\lib&amp;lt;/code&amp;gt; im expecco-Installationsverzeichnis.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Interface baut eine Verbindung zur Java-VM auf und stellt Funktionen zum Lesen von Widget-Attributen, Aufnehmen von Benutzereingaben sowie zum Fernsteuern der Anwendung zur Verfügung. Außerdem werden in einer Bibliothek zusätzliche Bausteine zur Automatisierung von Tests bereitgestellt.&lt;br /&gt;
Im wesentlichen besteht das Java-Swing-Plugin aus zwei Teilen, der Erweiterung&lt;br /&gt;
für expecco und der Applikationssteuerung (Agent). Zur Steuerung der Swing-Anwendung wird ein so genannter Agent in die Java Virtual Machine der laufenden Java Anwendung geladen. Um den Agenten zu laden wird ein Java Development Kit 1.8 (JDK) oder höher benötigt. Die zu testende Anwendung kann jedoch in einer normalen Java Runtime Edition 1.8 (JRE) ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
== Anforderungen ==&lt;br /&gt;
&lt;br /&gt;
Auf dem Rechner auf dem die zu testende Anwendung laufen soll (lokal oder entfernt):&lt;br /&gt;
&lt;br /&gt;
* [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Java Development Kit 1.8] oder höher (zum Laden des Agents)&lt;br /&gt;
* [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java Runtime Edition 1.8] oder höher (zur Ausführung der zu testenden Anwendung)&lt;br /&gt;
&lt;br /&gt;
Auf dem expecco Rechner gelten die expecco Anforderungen.&lt;br /&gt;
&lt;br /&gt;
Bitte nehmen Sie zur Kenntnis, dass sowohl der Agent als auch die zu testende Anwendung jeweils beide entweder mit 32 oder 64 Bit Java gestartet werden müssen, da ansonsten keine Verbindung möglich ist.&lt;br /&gt;
&lt;br /&gt;
Aufgrund von JDK Änderungen zwischen den Java-Versionen können potentiell Versionskonflikte auftreten.&lt;br /&gt;
&lt;br /&gt;
Die Kompatibilität der Versionen ist wie folgt. [[Java GUI Plugins#Fehlerbehandlung|Weitere Informationen dazu.]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:JavaSwing Bridge Compatibility.png|border|200px|]]&lt;br /&gt;
&lt;br /&gt;
===Zugriffsberechtigungen===&lt;br /&gt;
&lt;br /&gt;
Um eine Verbindung auf dem Zielsystem garantieren zu können, müssen beim Start der zu testenden Anwendung (sowie des Java-Agenten) zusätzliche Parameter mitgegeben werden.&lt;br /&gt;
&lt;br /&gt;
Dabei ergeben sich zwei Möglichkeiten, dies zu tun:&lt;br /&gt;
&lt;br /&gt;
* Setzen einer Umgebungsvariablen die automatisch beim Start jeder Java-Anwendung geladen wird&lt;br /&gt;
* Manuelle Übergabe der Parameter bei jedem Start einer Java Anwendung&lt;br /&gt;
* (Alternativ kann man Zugriffsrechte in den module-info.java Dateien direkt verändern, dies ist jedoch alles andere als praktikabel)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bis Java 11&#039;&#039;&#039; sollte es ausreichen, folgende Parameter zu setzen:&lt;br /&gt;
:&amp;lt;code&amp;gt;-Djdk.attach.allowAttachSelf=true&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;--illegal-access=permit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Setzen einer Umgebungsvariable funktioniert folgendermaßen (&#039;&#039;Am Beispiel JDK_JAVA_OPTIONS, welche bei jedem JVM Start geladen wird&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;für Windows Systeme&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;setx JDK_JAVA_OPTIONS &amp;quot;-Djdk.attach.allowAttachSelf=true; --illegal-access=permit&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* oder über das GUI (Windowstaste + Pause).&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Windows Setenvironment.png|border|600px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;für Unix Systeme&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bash: &amp;lt;code&amp;gt;export _JAVA_OPTIONS=&#039;-Djdk.attach.allowAttachSelf=true; --illegal-access=permit&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
* C Shell: &amp;lt;code&amp;gt;setenv _JAVA_OPTIONS &#039;-Djdk.attach.allowAttachSelf=true; --illegal-access=permit&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ab Java 11&#039;&#039;&#039; erfolgt für die Kapselung von Modulen eine striktere Trennung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--illegal-access=permit&amp;lt;/code&amp;gt; wird dabei nicht mehr funktionieren, falls die Zielapplikation eine festgelegte Modulkapselung besitzt ([https://stackoverflow.com/questions/46741907/what-is-an-automatic-module Details]).&lt;br /&gt;
In diesem Fall müssen beim Programmstart zusätzliche Parameter angegeben werden, welche Expecco einen Zugriff auf die innewohnenden Ressourcen gewähren.&lt;br /&gt;
Je nach verwendeter Technologie können die benötigten Parameter variieren, weshalb Sie diese selbstständig herausfinden müssen.&lt;br /&gt;
&amp;lt;code&amp;gt;jdeps list-deps JARNAME.jar&amp;lt;/code&amp;gt; Jdeps ist dafür ein frei verfügbares (Teil des JDK) sehr nützliches Werkzeug.&lt;br /&gt;
Eine kurze Übersicht der Kommandos findet man [https://doc.expecco.de/w2.x/images/0/03/Java_module_cheat_sheet.pdf hier] [https://zeroturnaround.com/rebellabs ©]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel JavaFX&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Die Umgebungsvariable &amp;lt;code&amp;gt;PATH_TO_FX&amp;lt;/code&amp;gt;, die auf das JavaFX Verzeichnis zeigt, muss gesetzt sein (Funktionsweise s.o.) und die folgenden Parameter müssen beim Start der Java Anwendung vorhanden sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Parameterliste (ausklappbar)&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;--module-path &amp;quot;%PATH_TO_FX%&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-modules=javafx.controls &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-modules=javafx.swing &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-modules=javafx.web &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/com.sun.javafx.sg.prism=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.stage=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.scene=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.scene.layout=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.controls/javafx.scene.control=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.controls/javafx.scene.control.skin=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.controls/javafx.scene.chart=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-exports javafx.controls/com.sun.javafx.charts=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.controls/com.sun.javafx.charts=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-exports javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.scene.image=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.scene.shape=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.scene.text=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.application=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.geometry=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.scene.robot=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-exports javafx.graphics/com.sun.glass.ui=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/com.sun.glass.ui=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/com.sun.glass.ui.win=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.graphics/javafx.scene.input=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.base/javafx.event=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-exports javafx.base/com.sun.javafx.runtime=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-opens javafx.base/com.sun.javafx.runtime=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-exports javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-exports javafx.graphics/com.sun.javafx.util=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-exports javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--add-exports javafx.web/com.sun.webkit.dom=ALL-UNNAMED&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn Sie die Kommandozeilenoptionen nicht einzeln angeben wollen, können Sie anstatt dessen [[Datei:Java_fx_command_options.txt]] verwenden, indem sie das java Kommando aufrufen wie folgt:&lt;br /&gt;
    java @java_fx_command_options.txt ....&lt;br /&gt;
&lt;br /&gt;
Sollten Sie dennoch einen &amp;lt;code&amp;gt;java.lang.IllegalAccessError&amp;lt;/code&amp;gt; erhalten, müssen Sie diese Parameter in folgender Weise erweitern:&lt;br /&gt;
* Fehlertext der Art &amp;lt;code&amp;gt;module &amp;lt;module&amp;gt; does not &amp;quot;opens &amp;lt;package&amp;gt;&amp;quot; to unnamed module&amp;lt;/code&amp;gt;:&lt;br /&gt;
: &amp;lt;code&amp;gt;--add-opens &amp;lt;module&amp;gt;/&amp;lt;package&amp;gt;=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
: &#039;&#039;Beispiel:&#039;&#039; &amp;lt;code&amp;gt;module java.base does not &amp;quot;opens java.lang&amp;quot; to unnamed module&amp;lt;/code&amp;gt; &#039;&#039;lösen Sie mit:&#039;&#039; &amp;lt;code&amp;gt;--add-opens java.base/java.lang=ALL-UNNAMED&amp;lt;/code&amp;gt;&lt;br /&gt;
* Fehlertext der Art &amp;lt;code&amp;gt;cannot access class &amp;lt;package&amp;gt;.&amp;lt;class name&amp;gt; (in module &amp;lt;module&amp;gt;) because module &amp;lt;module&amp;gt; does not export &amp;lt;package&amp;gt; to unnamed module&amp;lt;/code&amp;gt;:&lt;br /&gt;
: &amp;lt;code&amp;gt;--add-exports &amp;lt;module&amp;gt;/&amp;lt;package&amp;gt;=ALL-UNNAMED &amp;lt;/code&amp;gt;&lt;br /&gt;
: &#039;&#039;Beispiel:&#039;&#039; &amp;lt;code&amp;gt;cannot access class com.sun.javafx.scene.input.ExtendedInputMethodRequests (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.scene.input to unnamed module&amp;lt;/code&amp;gt; &#039;&#039;lösen Sie mit:&#039;&#039; &amp;lt;code&amp;gt;--add-exports javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hilfsprogramm Erzeugen eines CommandLine-Files (Java 11 ff.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Siehe [[JavaBridgeOpenModule|Erzeugen eines CommandLine-Files für Module ab java 11]]&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Installation auf dem expecco Rechner ===&lt;br /&gt;
&lt;br /&gt;
Achten Sie bei der Installation von expecco darauf, dass das Java-Plugin als zu installierende Komponente ausgewählt ist.&lt;br /&gt;
&lt;br /&gt;
Wird die zu testende Anwendung zur Entwicklung von Testsequenzen auf dem gleichen Rechner ausgeführt, sollte nach dem Start von expecco unter&lt;br /&gt;
&amp;lt;code&amp;gt;Extras &amp;amp;#8594; Einstellungen &amp;amp;#8594; Erweiterungen &amp;amp;#8594; Java Bridge&amp;lt;/code&amp;gt; der lokale Pfad zu einem Java Development Kit 1.8 oder höher angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die unbedingt erforderliche Einstellung hier ist &amp;lt;code&amp;gt;Pfad zur JDK Installation&amp;lt;/code&amp;gt;, welche für die Hauptverbindung genutzt wird. &amp;lt;code&amp;gt;Pfad zur Java Installation&amp;lt;/code&amp;gt; ist eine alternative Einstellung für Groovy, welches nur ein JRE benötigt. Der Java Agent wird in lokalen Verbindungen automatisch mit diesen Einstellungen gestartet. &lt;br /&gt;
&lt;br /&gt;
[[Datei:JDKPfadEinstellungen.png|border|600px|]]&lt;br /&gt;
&lt;br /&gt;
=== Installation auf dem Testanwendungsrechner ===&lt;br /&gt;
&lt;br /&gt;
Es muss das javaBin Verzeichnis des Expecco Bridge Frameworks auf den Testrechner kopiert werden. Dieses befindet sich im expecco Installationsverzeichnis unter:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;...\packages\exept\bridgeFramework\javaBridge\javaBin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit expecco sich verbinden kann, muss der kopierte &amp;quot;AgentLoader&amp;quot; gestartet werden. &lt;br /&gt;
[https://doc.expecco.de/wiki2.x/Java_GUI_Plugins#Verbindung_zu_Entfernten_Systemen Starten des &amp;quot;AgentLoader&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
== expecco GUI Browser ==&lt;br /&gt;
&lt;br /&gt;
Der expecco GUI-Browser ist ein zusätzliches Werkzeug, welches die Möglichkeit bietet, laufende Anwendungen zu analysieren und Testsequenzen zu entwickeln. Anschließend kann man die Informationen, wie beispielsweise Namen und Eigenschaften einzelner Elemente dazu verwenden, um mit der Funktionsbibliothek Aktionen auszuführen bzw. mit einzelnen Elementen zu interagieren.&lt;br /&gt;
&lt;br /&gt;
=== Verbindungsaufbau ===&lt;br /&gt;
&lt;br /&gt;
Im Folgenden eine kurze Bilderstrecke, die Ihnen beim Einrichten einer Verbindung als &#039;&#039;&#039;Leitfaden&#039;&#039;&#039; dienen kann&lt;br /&gt;
&lt;br /&gt;
[[Datei:JavaSwing GUI Browser.png|border|600px|]]&lt;br /&gt;
&lt;br /&gt;
Zunächst wählt man über den &amp;lt;code&amp;gt;GUI Browser&amp;lt;/code&amp;gt; (schwarzer Kreis) im Reiter &amp;lt;code&amp;gt;Verbinden&amp;lt;/code&amp;gt; die Option &amp;lt;code&amp;gt;Java&amp;lt;/code&amp;gt; (roter Kreis) aus. Im sich öffnenden Dialog kann man nun zwischen 3 Optionen wählen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Anwendung auf der lokalen Maschine starten&#039;&#039;&#039;&lt;br /&gt;
: Liefert eine bequeme Möglichkeit eine lokale Java Anwendung per Kommandozeilenbefehl zu starten.&lt;br /&gt;
* &#039;&#039;&#039;Zu einer laufenden Anwendung auf der lokalen Maschine verbinden&#039;&#039;&#039;&lt;br /&gt;
: Ermöglicht die Verbindung zu lokal laufenden Java Anwendungen. Der Java-Agent wird automatisch mit der Java-Version, die Sie in den Expecco Einstellungen festgelegt haben, gestartet.&lt;br /&gt;
* &#039;&#039;&#039;Zu einer laufenden Anwendung auf einer anderen Maschine verbinden&#039;&#039;&#039;&lt;br /&gt;
: Ermöglicht die Verbindung zu einem bereits gestarteten Java-Agenten auf einer anderen Maschine. Dieser stellt dann die Verbindung zur dort laufenden Java Anwendung her.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:JavaSwing Connection Window.png|border|600px|]]&lt;br /&gt;
&lt;br /&gt;
Eine Suche nach Java-Anwendungen listet uns alle laufenden Java Virtuellen Maschinen (JVMs) auf, die sich auf dem Zielsystem befinden (im Beispiel: localhost). Eine Auswahl der einzelnen Einträge listet weitere Informationen über die betreffende Anwendung auf.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:JavaSwing Connection Connected.png|border|600px|]]&lt;br /&gt;
&lt;br /&gt;
Wenn eine Verbindung erfolgreich aufgebaut wurde, wird sie automatisch in die expecco Konfigurationsliste eingetragen.&lt;br /&gt;
Dort kann auch der GUI Aufbau der Anwendung als hierarchischer Baum eingesehen werden.&lt;br /&gt;
Informationen zum weiteren Vorgehen können Sie unter [[Expecco_GUI_Tests_Extension_Reference| GUI Test Referenz]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:JavaSwing Connection Reconnect.png|border|600px|]]&lt;br /&gt;
&lt;br /&gt;
Geschlossene Verbindngen bleiben im GUI-Browser erhalten. Wenn die Anwendung noch läuft, können Sie die Verbindung wieder aufbauen. Machen Sie dazu einen Rechtsklick auf den Eintrag und wählen Sie im Kontextmenu den Eintrag &#039;&#039;Verbinden&#039;&#039;.&lt;br /&gt;
Falls sich die Verbindungseinstellungen geändert haben, müssen Sie die Verbindung neu konfigurieren. Dies kann passieren, wenn Sie die Anwendung zwischenzeitlich neu gestartet haben. Bei Verwendung eines entfernten Systems gilt dies auch für den Agenten.&lt;br /&gt;
&lt;br /&gt;
=== Verbindung zu Entfernten Systemen ===&lt;br /&gt;
[[Datei:JavaSwing Connection RemoteSetup.png|border|600px|]]&lt;br /&gt;
&lt;br /&gt;
Um eine Verbindung remote zu erstellen, muss zunächst auf dem Zielrechner der Java-Agent gestartet werden.&lt;br /&gt;
Dazu navigieren Sie auf dem Rechner zum zuvor kopierten Verzeichnis &amp;lt;code&amp;gt;...\packages\exept\bridgeFramework\javaBridge\javaBin&amp;lt;/code&amp;gt;.&lt;br /&gt;
Dort liegt ein Skript, welches automatisch die Java-Version in JAVA_HOME erkennt und den korrekten Agenten startet.&lt;br /&gt;
* Windows Nutzer starten &amp;lt;code&amp;gt;startAgentLoader.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
* UNIX Nutzer starten &amp;lt;code&amp;gt;startAgentLoader.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
Diese Skripte können über die Kommandozeile wie im Bild gezeigt mit Parametern versehen werden.&lt;br /&gt;
* &amp;lt;code&amp;gt;-ip &amp;lt;HostnameOderIP&amp;gt;&amp;lt;/code&amp;gt; gibt dem Agenten eine spezielle IP an, auf der auf eine Verbindung gewartet werden soll. Nützlich für spezifische Netzwerkmasken.&lt;br /&gt;
:StandardHost ist 0.0.0.0.&lt;br /&gt;
* &amp;lt;code&amp;gt;-port &amp;gt;PortNummer&amp;lt;/code&amp;gt; gibt dem Agenten einen spezifischen Port an, auf dem auf Verbindungen von Expecco gewartet werden soll.&lt;br /&gt;
:Standardport ist 56784.&lt;br /&gt;
* &amp;lt;code&amp;gt;-foreground&amp;lt;/code&amp;gt; der Agent wird im Konsolenfenster ausgeführt. Log-Nachrichten werden direkt im Konsolenfenster angezeigt. Man kann den Agenten über das Konsolenfenster beenden. Ansonsten wird der Agent in einem separaten Hintergrundprozess ausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Warnhinweise ===&lt;br /&gt;
[[Datei:JavaSwing Connection Warnings.png|border|600px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sollten bei den Anwendungen in dieser Liste Probleme auftreten wie im oben stehenden Bild zu sehen ist,&lt;br /&gt;
liefert der Verbindungsdialog automatisch einen Lösungsvorschlag. Wenn der auftretende Fehler eine Verbindung unmöglich machen würde, wird der entsprechende Eintrag automatisch als ungültig markiert.&lt;br /&gt;
&lt;br /&gt;
Folgende Fehlermeldungen können auftreten und sind einfach zu beheben:&lt;br /&gt;
::{|&lt;br /&gt;
|style=&amp;quot;width: 22%;&amp;quot;|JAVA VERSION MISMATCH&lt;br /&gt;
|Wie im Bild zu sehen, kann es zu Java Versionskonflikten zwischen dem Agenten und der Anwendung kommen. In diesem Fall ist es am einfachsten die Expecco Einstellungen für Java Bridge anzupassen. Eine Remote Verbindung müsste das Programm stattdessen manuell mit der gewollten Java Version starten. Der Java Agent, wenn über das &amp;lt;code&amp;gt;startAgentLoader&amp;lt;/code&amp;gt; skript aufgerufen, wählt die Version Anhand von &amp;lt;code&amp;gt;JAVA_HOME&amp;lt;/code&amp;gt; auf dem remote System&lt;br /&gt;
|-&lt;br /&gt;
|32 BIT - 64 BIT KONFLIKT&lt;br /&gt;
|32 und 64 Bit Versionen von Java sind nicht miteinander Kompatibel. Sowohl der Agent als auch die Anwendung müssen mit der selben &amp;quot;Bit Version&amp;quot; von Java gestartet werden.&lt;br /&gt;
|-&lt;br /&gt;
|UNABLE TO DETERMINE VERSION&lt;br /&gt;
|Der Agent kann nicht feststellen, welche Java Version die Anwendung nutzt. Eine Verbindung ist eventuell möglich, es kann aber potentiell ein Versionskonflikt auftreten.&lt;br /&gt;
|}&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
== Technologieübergreifende Verbindungen ==&lt;br /&gt;
Falls eine Anwendung mehrere Java-Technologien verwendet, müssen Sie nur eine Verbindung aufbauen und dann die Bausteine aus der Library entsprechend der Technologie des anzusprechenden Elements verwenden.&lt;br /&gt;
&lt;br /&gt;
=== Eingebettetes JavaFX in Java Swing ===&lt;br /&gt;
Ist JavaFX in eine Swing-Anwendung eingebettet, enthält diese ein Element JFXPanel. Im GUI-Browser werden die JavaFX-Elemente unterhalb von diesem Panel angezeigt. Damit die FX-Bausteine diese eingebetteten FX-Elemente finden, muss zu Beginn der Baustein &#039;&#039;Set FX Context To Panel&#039;&#039; aus der Swing-Library mit dem Pfad zum JFXPanel ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== WebView in JavaFX ===&lt;br /&gt;
Ist ein WebView in JavaFX eingebunden, so werden dessen Elemente im GUI-Browser unterhalb des WebView-Elements angezeigt. Für diese Elemente gibt es eigene Bausteine in der JavaFX-Library, die im Ordner &#039;&#039;Embedded WebView&#039;&#039; zusammengefasst sind. Damit die Elemente im Test gefunden werden können, muss zuvor der Baustein &#039;&#039;Set WebView Context&#039;&#039; auf das Element WebView ausgeführt werden. Dieser Kontext ist gültig, bis sich die vom WebView dargestellte Seite ändert. In diesem Fall müssen Sie den Kontext erneut setzen, um auf die neuen Elemente zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
=== Eingebettetes Java Swing in JavaFX ===&lt;br /&gt;
Ist Java Swing in eine JavaFX-Anwendung eingebettet, enthält diese ein Element SwingNode. Im GUI-Browser wird dessen Inhalt bisher noch parallel zum FX-Inhalt angezeigt. Die Bausteine der Swing-Library können direkt mit diesen Elementen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
== JavaSwingLibrary ==&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Set an anchor for the Skip Mode entry --&amp;gt;&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Skip_Mode&amp;quot;&amp;gt; &#039;&#039;&#039;Der Baum im GUI-Browsers zeigt nicht alle Elemente meiner Applikation&#039;&#039;&#039; &amp;lt;/span&amp;gt;&lt;br /&gt;
:Eine Applikation besteht aus vielen verschiedenen Elementen. Manche davon sind nicht interaktiv, das heißt sie sind für den Anwender nicht direkt sichtbar und dienen lediglich der Formatierung, wie beispielsweise Panels. Das Vorhandensein solcher Elemente führt dazu, dass der Baum sehr groß und tief werden kann. Da diese Elemente in der Regel für die Automatisierung uninteressant sind, werden sie in expecco standardmäßig ausgeblendet.&lt;br /&gt;
:Wenn Sie in Ihrem Fall auf eines dieser Elemente zugreifen wollen oder es für das Erstellen eines eindeutigen Pfades brauchen, können Sie dieses Verhalten ändern. In der JavaSwingLibrary gibt es dafür den Baustein &#039;&#039;Set Skip Mode&#039;&#039;. Dabei sind vier Modi auswählbar:&lt;br /&gt;
::{|&lt;br /&gt;
|INTERACTIVE &lt;br /&gt;
|nur interaktive Elemente einsammeln&lt;br /&gt;
|-&lt;br /&gt;
|ALL&lt;br /&gt;
|alle Elemente einsammeln&lt;br /&gt;
|-&lt;br /&gt;
|INTERACTIVE_HYBRID&lt;br /&gt;
|wie INTERACTIVE, aber mit dem Fallback zu ALL wenn ein Pfad nicht aufgelöst werden kann&lt;br /&gt;
|-&lt;br /&gt;
|ALL_HYBRID&lt;br /&gt;
|wie ALL, aber mit dem Fallback auf INTERACTIVE wenn ein Pfad nicht aufgelöst werden kann&lt;br /&gt;
|}&lt;br /&gt;
:Durch das Ausführen des Bausteins ändert sich das Verhalten für die aktuelle Verbindung. Es bezieht sich sowohl darauf, was im Baum angezeigt wird, als auch, wie mit den Pfaden an den Bausteinen umgegangen wird. Ab expecco 19.1 ist die Standardeinstellung ALL_HYBRID und in früheren Versionen INTERACTIVE.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Ich kann mich nicht verbinden, aber alle Einstellungen stimmen&#039;&#039;&#039;&lt;br /&gt;
:Auch wenn dies generell nicht passieren sollte, hier ein paar Aspekte, die Einfluss auf die Verbindung nehmen können.&lt;br /&gt;
::{|&lt;br /&gt;
|FIREWALL &lt;br /&gt;
|Die Firewall kann das Kommunizieren des Java Agenten mit der Anwendung stören. &amp;lt;br&amp;gt;Entweder man richtet eine Ausnahmeregel für den Agenten ein oder aber man deaktiviert die Firewall für die Dauer des Tests.&lt;br /&gt;
|-&lt;br /&gt;
|SOCKET BELEGT&lt;br /&gt;
|Es kann vorkommen, besonders beim Debuggen, dass eine vorherige Instanz eines Java Agenten nicht korrekt geschlossen wurde. Das kann dazu führen, dass dieser den Socket belegt und andere Verbindungen abweist.&amp;lt;br&amp;gt;Über &amp;lt;code&amp;gt;Extras =&amp;gt; Fehleranalyse =&amp;gt; Alle Bridgeverbindung schließen / Alle Socketverbindungen schließen&amp;lt;/code&amp;gt; werden vorherige Instanzen entfernt. &amp;lt;br&amp;gt;Bitte beachten, dass damit auch alle anderen bestehenden (lokalen) Expecco Verbindungen geschlossen werden. Im Fall einer Remote-Verbindung sollte ein Neustart des Agenten und evtl. auch der Anwendung Abhilfe schaffen.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sr</name></author>
	</entry>
</feed>