<?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=Alkurz</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=Alkurz"/>
	<link rel="alternate" type="text/html" href="https://doc.expecco.de/wiki/Spezial:Beitr%C3%A4ge/Alkurz"/>
	<updated>2026-04-27T13:05:09Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30879</id>
		<title>Release Notes 25.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30879"/>
		<updated>2025-11-04T14:15:39Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 25.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 26.x]]&amp;lt;br /&amp;gt;&lt;br /&gt;
See also: [[Release Notes 24.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 25.2 ==&lt;br /&gt;
*Improvement: Inspector shows XML Dom if it starts with &#039;&amp;lt;&#039; and ends with &#039;&amp;gt;&#039; and is parsable without error.&lt;br /&gt;
*Improvement: Handles very long index-lists (eg. 100k) more graceful&lt;br /&gt;
*Improvement: Bundled python3 installer updated to version 3.13.7&lt;br /&gt;
*Feature: groovy version 5.0.0 (needed for Java 25 and later)&lt;br /&gt;
*Fix: (Windows) reading the linkInfo of a link file to a wide-char file returned wrong (non-wide) info&lt;br /&gt;
*Settings: Treat the test result &amp;quot;Pass (Warning)&amp;quot; as &amp;quot;Pass&#039; ([[Settings_DebuggerSettings/en#Treat_test_result_&amp;amp;quot;Pass_(Warning)&amp;amp;quot;_as_&amp;amp;quot;Pass&amp;amp;quot;|Settings: DebuggerSettings]])&lt;br /&gt;
&lt;br /&gt;
== Release 25.1 ==&lt;br /&gt;
*Improvement: additional &amp;quot;Info&amp;quot; tab in inspector views&lt;br /&gt;
*Improvement: less memory usage in the activity log&lt;br /&gt;
*Improvement: better error messages and more links to settings from the activity log&#039;s error message&lt;br /&gt;
*Improvement: additional units and conversions in the [[PhysicalValues/en|physical values framework]]&lt;br /&gt;
*Improvement: more precision in the [[Numeric_Limits/en#Higher_Precision_Numbers|high precision trigonometric and math functions]]&lt;br /&gt;
*Improvement: WindowsAutomation: Plugin Update to FlaUI 5&lt;br /&gt;
*Improvement: Mobile Testing: Better Device Lock/Unlock Support&lt;br /&gt;
*Improvement: StandardLibrary: &amp;quot;File [ *CSV ]&amp;quot; blocks got an additional &amp;quot;characterEncoding&amp;quot; pin (useful for reading/writing e.g. utf-8 encoded CSV files)&lt;br /&gt;
*Improvement: ExcelLib: better documentation. Now requires the openpyxl package version &amp;gt;= 3.1.5. &lt;br /&gt;
*Improvement: better model language editor (translate and fetch-strings functions)&lt;br /&gt;
*Improvement: ODBCLibrary: improved compatibility with different database vendors (supports the CedarDB database) &lt;br /&gt;
*Feature: translate and spell check in the workspace window&lt;br /&gt;
*Feature: EditLock of suites loaded from expeccoALM / AIDYMO&lt;br /&gt;
*Feature: Start Test in expeccoALM / AIDYMO (via expecco)&lt;br /&gt;
*Feature: new library containing expeccoALM control actions (those from the AIDYMO menu)&lt;br /&gt;
*Fix: the version diff viewer (did not correctly copy changed attachment files)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_DebuggerSettings/en&amp;diff=30878</id>
		<title>Settings DebuggerSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_DebuggerSettings/en&amp;diff=30878"/>
		<updated>2025-11-04T14:10:41Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Debug Pin and Field Value Types */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Debugger Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Debugging&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
These settings control if a debugger is to be shown when&lt;br /&gt;
errors, exceptions and breakpoints are encountered.&lt;br /&gt;
For free running tests (and also, if expecco is executed under the control of&lt;br /&gt;
another QM master), these flags should be off. In that case, breakpoints are&lt;br /&gt;
ignored and errors/exceptions lead to the corresponding activity/testcase&lt;br /&gt;
to fail.&lt;br /&gt;
&lt;br /&gt;
However, during test development, the debugger is a very useful tool which&lt;br /&gt;
helps a lot in finding errors inside the testsuite itself.&lt;br /&gt;
You will probably want to enable the debugger then.&lt;br /&gt;
&lt;br /&gt;
Notice, that the individual block test/demo execution offers two run buttons,&lt;br /&gt;
one using the settings as set in the expecco settings (i.e. the same that will&lt;br /&gt;
be active when the suite is executed as a whole),&lt;br /&gt;
and another (with a little bug in its icon), which enables debugging,&lt;br /&gt;
no matter what was specified in the settings.&lt;br /&gt;
&lt;br /&gt;
During test development, you will usually want to use that debug-run.&lt;br /&gt;
&lt;br /&gt;
=== Allow Invalid Pin and Field Value Types ===&lt;br /&gt;
Controls if at execution time, generated output pin values are consistent with the pin&#039;s datatype.&lt;br /&gt;
By default, this is not checked (i.e. allowed) and expecco &amp;quot;trusts&amp;quot; the code inside elementary blocks.&lt;br /&gt;
This can be disabled during test development and enabled for test execution &lt;br /&gt;
(it will slow down the execution a little bit)&lt;br /&gt;
&lt;br /&gt;
=== Allow Empty Compound Activities (no Steps) ===&lt;br /&gt;
Controls if empty compound actions (i.e. unimplemented) are reported as an error.&lt;br /&gt;
&lt;br /&gt;
=== Check for Empty Baskets when Compound Finished ===&lt;br /&gt;
If on, all input-pin baskets of the inner steps of a compound action&#039;s network are&lt;br /&gt;
checked for being empty, when a compound action is finished. &lt;br /&gt;
This ensures, that no missing trigger / missing data prevents other values from being processed.&lt;br /&gt;
&lt;br /&gt;
=== Debug Pin and Field Value Types ===&lt;br /&gt;
Similar to the above &amp;quot;Allow Invalid Pin and Field Value Types&amp;quot; (which will lead to an Error exception),&lt;br /&gt;
enable this to have a debugger opened when the situation arises.&lt;br /&gt;
&lt;br /&gt;
=== Treat test result &amp;quot;Pass (Warning)&amp;quot; as &amp;quot;Pass&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
(New in 25.2) Since version 25.1, test cases that contain a warning are marked with the status “Pass (Warning)” and displayed with a yellow check mark.&lt;br /&gt;
&lt;br /&gt;
This behavior can be disabled using this flag. The test result will then be “Pass” again.&lt;br /&gt;
&lt;br /&gt;
=== Freeze Values are Immutable ===&lt;br /&gt;
(New in 18.1) Enable this (now the default) to make freeze value collections (especially strings and arrays)&lt;br /&gt;
immutable. If passed to tother steps, which try to modify the contents, an error will be reported.&lt;br /&gt;
Typically this happens, when a frozen String or Array is passed to an &amp;quot;ElementAt:Put&amp;quot; block,&lt;br /&gt;
or the string is modified inside a user written elementary block.&lt;br /&gt;
If your old test suite does actually depend on a mutable freeze value (which is unlikely, bad style and should be punished),&lt;br /&gt;
disable this feature in the settings.&lt;br /&gt;
&lt;br /&gt;
=== Enable Halt Messages ===&lt;br /&gt;
By placing a &amp;quot;&amp;lt;CODE&amp;gt;halt()&amp;lt;/CODE&amp;gt;&amp;quot; call into your code, explicit (programmed) breakpoints can be added&lt;br /&gt;
to your elementary code. Typically, this is a statement like &amp;quot;&amp;lt;CODE&amp;gt;this.halt()&amp;lt;/CODE&amp;gt;&amp;quot; or simply &amp;quot;&amp;lt;CODE&amp;gt;halt()&amp;lt;/CODE&amp;gt;&amp;quot;&lt;br /&gt;
in JavaScript, or &amp;quot;&amp;lt;CODE&amp;gt;self halt&amp;lt;/CODE&amp;gt;&amp;quot; in Smalltalk code.&lt;br /&gt;
This flag controls if a debugger is opened when such a program breakpoint is reached.&lt;br /&gt;
For debugging, these halts can be put into elementary code, where a debugger is opened&lt;br /&gt;
for single stepping or to look at the activities&#039; local variables. For real test execution,&lt;br /&gt;
halts should be disabled.&lt;br /&gt;
The default is to ignore halts.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Debug all Exceptions ===&lt;br /&gt;
Controls if a debugger should be opened for all exceptions;&lt;br /&gt;
this includes internal notifications, such as inconclusive, success and failure notifications.&lt;br /&gt;
Also, this affects the behavior for non-coded elementary actions.&lt;br /&gt;
With this flag on, executions behave the same as if started with the&lt;br /&gt;
&amp;quot;Debug-Run&amp;quot;-button: [[Datei:RunWithDebugger.png]]&lt;br /&gt;
&lt;br /&gt;
=== Debug Activity Code ===&lt;br /&gt;
Controls if a debugger is opened for errors/exceptions which happen while&lt;br /&gt;
an activities&#039; elementary code is being executed.&lt;br /&gt;
This only applies to user-coded elementary actions (i.e. those with Smalltalk or JavaScript code).&lt;br /&gt;
No debugger is opened for errors in remote procedure calls.&lt;br /&gt;
Also, no debugger is opened if the exception is handled or ignored by the current activity.&lt;br /&gt;
&lt;br /&gt;
=== Debug Handled Exceptions in Activity Code ===&lt;br /&gt;
Controls if a debugger is opened for errors/exceptions which happen while&lt;br /&gt;
an activities&#039; elementary code is being executed.&lt;br /&gt;
This only applies to user-coded actions (i.e. those with Smalltalk or JavaScript code).&lt;br /&gt;
No debugger is opened for errors in remote procedure calls.&lt;br /&gt;
&lt;br /&gt;
=== Debug Pin and Field Value Types ===&lt;br /&gt;
Controls if a debugger is opened for invalid typed values of pins and field values. If off, an error is reported and the action is finished (unless the exception is handled).&lt;br /&gt;
&lt;br /&gt;
=== Debug Expecco ===&lt;br /&gt;
Controls if a debugger is opened for errors/exceptions which happen inside&lt;br /&gt;
expecco itself (i.e. not related to user-written activity code or test execution).&lt;br /&gt;
In the best of all worlds, there are no such events, but well...&lt;br /&gt;
This should normally only be turned on by the expecco development team.&lt;br /&gt;
&lt;br /&gt;
=== Suppress DialogBoxes for Warnings from alert() and warn: ===&lt;br /&gt;
If checked, no such dialog boxes are opened&lt;br /&gt;
Such code is often left in elementary code, during debugging&lt;br /&gt;
of the test suite or while debveloping.&lt;br /&gt;
For a test run you may temporarily disable them,&lt;br /&gt;
in case your boss wants to see a quick demo run.&lt;br /&gt;
&lt;br /&gt;
=== Suspend new Actions while a Debugger is Open ===&lt;br /&gt;
If checked (which is the default), new activities are blocked from being executed&lt;br /&gt;
in parallel, whenever a debugger is already open.&lt;br /&gt;
This prevents the popping of many debuggers, if there is an error (or an explicit halt)&lt;br /&gt;
in a step&#039;s activity, which is triggered multiple times. Especially, if it is triggered&lt;br /&gt;
by incoming streamed values.&lt;br /&gt;
&lt;br /&gt;
You should only uncheck this, if you are about to debug producer/consumer scenarios,&lt;br /&gt;
in which you want to single step through multiple activities in parallel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=QT_Testing&amp;diff=30877</id>
		<title>QT Testing</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=QT_Testing&amp;diff=30877"/>
		<updated>2025-11-03T08:35:55Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Deutsche Version&#039;&#039;&#039; | [[ QT Testing/en | English Version ]]&lt;br /&gt;
&lt;br /&gt;
==Vorbedingungen==&lt;br /&gt;
===Qt-Download===&lt;br /&gt;
https://www.qt.io/download &lt;br /&gt;
&lt;br /&gt;
===Unterstützte Versionen===&lt;br /&gt;
Expecco unterstützt das Testen von Qt-Applikationen unter Windows und Linux, Qt Quick/QML-Anwendungen ab der &#039;&#039;&#039;Qt Version 5&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Für die verschiedenen Qt-Versionen, Betriebssysteme, Entwicklungsumgebungen (VisualStudio, ...) und Rechnerarchitekturen (32/64 bit) stellen wir eigens erzeugte Bibliotheken (dll, so) zur Verfügung. Einige davon werden standardmäßig mit expecco ausgeliefert. Für andere Versionen erzeugen wir die Bibliothek auf Anfrage.&lt;br /&gt;
&lt;br /&gt;
Eine Übersicht über die ausgelieferten Bibliotheken und ihren Versionsstand finden sie [[#ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen|hier]].&lt;br /&gt;
&lt;br /&gt;
==Testen von Qt-Programmen==&lt;br /&gt;
&lt;br /&gt;
===Testvorbereitungen===&lt;br /&gt;
&lt;br /&gt;
====Einbinden der expeccoTestService-Bibliothek====&lt;br /&gt;
&lt;br /&gt;
Um mit expecco ein Qt-Programm zu testen, wird in das zu testenden Programms die von uns ausgelieferte Bibliothek &#039;&#039;expeccoTestService.[dll/so]&#039;&#039; eingebunden. Dies erfolgt über ein Batch- bzw. Shell-Skript ohne Eingriff in den Sourcecode des zu testenden Programms. Diese DLL übernimmt die Kommunikation zwischen dem Qt-Program und expecco über eine Socketverbindung.&lt;br /&gt;
&lt;br /&gt;
Im Batch- bzw. Shell-Skript können Sie auch das Logging für die expeccoTestService-Bibliothek aktivieren.&lt;br /&gt;
&lt;br /&gt;
Eine Anleitung für das jeweilige Betriebssystem des Testrechners finden Sie hier:&lt;br /&gt;
* [[Qt Inject Windows#Inject expeccoTestService-Library|Qt Inject für Windows]]&lt;br /&gt;
* [[Qt Inject Linux#Inject expeccoTestService-Library|Qt Inject für Linux / macOS]].&lt;br /&gt;
&lt;br /&gt;
Alternativ kann der Aufruf der ExpeccoTestService-Bibliothek auch in den Sourcecode der zu testenden Applikation eingefügt werden ([[Qt Inject Windows#Insert into Source Code (alternative)|Beschreibung]]).&lt;br /&gt;
&lt;br /&gt;
====Startparameter====&lt;br /&gt;
&lt;br /&gt;
Die ExpeccoTestService-Bibliothek kann über Umgebungsvariablen eingestellt werden:&lt;br /&gt;
* Log-Level: &amp;lt;code&amp;gt;ETS_QT_LOG_LEVEL&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; keine Logausgaben (Standardwert)&lt;br /&gt;
: vor expecco-Version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: Debug-Logausgaben&lt;br /&gt;
: ab expecco-Version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt; (Debug-Logausgaben), &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; (Info-Logausgaben),  &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; (Warnungen und Fehler)&lt;br /&gt;
&lt;br /&gt;
* Log-File: &amp;lt;code&amp;gt;ETS_QT_LOG_FILE&amp;lt;/code&amp;gt; (Standardwert: c:\Windows\temp\etsQt.log bzw. /tmp/etsQt.log)&lt;br /&gt;
* Server-Port: &amp;lt;code&amp;gt;ETS_QT_PORT_NUMBER&amp;lt;/code&amp;gt; (Standardwert: 8866)&lt;br /&gt;
* Timeout Vorschau im ms (nur Qt Quick): &amp;lt;code&amp;gt;ETS_TIMEOUT_QUICK_IMAGE&amp;lt;/code&amp;gt; (Standardwert: 200)&lt;br /&gt;
&lt;br /&gt;
====Benötigte Qt-Bibliotheken zur Laufzeit====&lt;br /&gt;
&lt;br /&gt;
Die ExpeccoTestService-Bibliothek ist abhängig von folgenden Qt-Bibliotheken:&lt;br /&gt;
* Qt5Core&lt;br /&gt;
* Qt5Gui&lt;br /&gt;
* Qt5Network&lt;br /&gt;
* Qt5Qml&lt;br /&gt;
* Qt5Quick (V2 mit Qt Quick-Integration (expecco 21.2))&lt;br /&gt;
* Qt5QmlModel (V2 mit Qt Quick-Integration (expecco 21.2))&lt;br /&gt;
* Qt5Widgets&lt;br /&gt;
&lt;br /&gt;
===Verbinden mit expecco GUI Browser===&lt;br /&gt;
&lt;br /&gt;
Mit dem GUI Browser kann eine Verbindung zum zu testenden Programm aufgebaut werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Verbinden&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Qt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im nachfolgenden Dialog die Netzwerkadresse des Rechners, auf dem die Applikation läuft eingeben sowie den Port für die Verbindung (Standardmäßig 8866)&lt;br /&gt;
&lt;br /&gt;
Anleitung [[Expecco GUI Tests_Extension Reference|GUI Browser]].&lt;br /&gt;
&lt;br /&gt;
==Qt Quick-/QML-Programme==&lt;br /&gt;
&lt;br /&gt;
Qt Quick-/QML-Anwendungen können ab expecco 21.2 mit der expecco QtLibrary getestet werden. &lt;br /&gt;
&lt;br /&gt;
Hierfür wird eine neue ExpeccoTextService-Bibliothek mit dem Namenszusatz &amp;lt;i&amp;gt;V2&amp;lt;/i&amp;gt; ausgeliefert. Die Bibliothek ist von zusätzlichen Qt-Bibliotheken abhängig (siehe [[#Benötigte Qt-Bibliotheken zur Laufzeit|Benötigte Qt-Bibliotheken zur Laufzeit]]).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Nur expecco 21.2&#039;&#039;&#039;&amp;lt;br&amp;gt;Es wird nur eine ExpeccoTextService-Bibliothek ausgeliefert, die aber bereits Qt Quick-/QML-Support bietet. Erst ab Version 22.1 werden zwei separate Bibliotheken bereitsgestellt.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
===Qt Quick/QML-Aktionen===&lt;br /&gt;
&lt;br /&gt;
Für den Test von Qt Quick-/QML-Programmen können fast alle Aktionen der QtLibrary verwendet werden, die für das Testen von Qt-Programmen auf Basis von QWidget / QApplication definiert sind. &lt;br /&gt;
&lt;br /&gt;
QWidget-Aktionen sind dabei für Qt Quick-Elemente, die sich von QQuickItem ableiten, anwendbar.&lt;br /&gt;
QQuickItemView-Aktionen sind für die Listen-Elemente von Qt Quick geeignet.&lt;br /&gt;
&lt;br /&gt;
Die unterschiedliche Behandlung kapselt der ExpeccoTestService. Die Aktion und die Eingangs- und Ausgangspins bleiben somit für beide Qt-Technologien gleich.&lt;br /&gt;
&lt;br /&gt;
Die Aktionen, die auch für Tests von Qt Quick-/QML-Programmen geeignet sind, sind mit dem Etikett / Tag &amp;lt;code&amp;gt;qt-quick&amp;lt;/code&amp;gt; versehen. Die Aktionen können dadurch mit einer konfigurierbaren Farbe dargestellt werden ([[Settings TagColorSettings/en|Extras - Einstellungen - Look &amp;amp; Feel - Farben per Etikett (Tag)]]).&lt;br /&gt;
&lt;br /&gt;
===Qt Quick-/QML-Besonderheiten===&lt;br /&gt;
&lt;br /&gt;
====Steuerung über Eigenschaften / Properties====&lt;br /&gt;
&lt;br /&gt;
Basis aller Qt Quick-/QML-Oberflächenelemente ist die Klasse QQuickItem. Über Properties / Eigenschaften können in ihr die meisten Eigenschaften eingestellt werden. Von QQuickItem gibt es eine Vielzahl von Ableitungen. Expecco stellt dafür keine speziellen Bausteine zur Verfügung, die Elemente sind aber über ihre Eigenschaften steuerbar.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Qt Quick-Element !! Eigenschaft !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
| Tumbler || currentIndex || &lt;br /&gt;
|-&lt;br /&gt;
| Switch|| checked || Geeignete Aktionen:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::GetState&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::SetState = %2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| wird fortgesetzt&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Aktionen für selektiertes Element====&lt;br /&gt;
Die Anzeige von Aktionen für GUI-Elemente im GUI-Browser ist nicht vollständig, da Qt Quick/QML nicht für jeden Oberflächenelement vordefinierte Elemente hat.&lt;br /&gt;
&lt;br /&gt;
====Noch nicht implementiert====&lt;br /&gt;
* TreeView&lt;br /&gt;
* Menu&lt;br /&gt;
* Selektion von Zellen - bisher kann nur eine Zeile selektiert werden&lt;br /&gt;
&lt;br /&gt;
==Bekannte Probleme==&lt;br /&gt;
&lt;br /&gt;
===XPath-Implementierung===&lt;br /&gt;
&lt;br /&gt;
Mit XPath kann auf Übereinstimmung von Namen oder Index der Elemente gesucht werden. Filterung nach Namensteilen (Anfang, Ende, Mitte) wird derzeit nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
===QApplication::ShortCutEvent===&lt;br /&gt;
&lt;br /&gt;
Aufgrund von internen Änderungen in Qt Version 5 funktioniert der Baustein nicht mehr. Ein Workaround besteht darin, die Tastenereignisse separat zu senden, wie im Beispiel im Reiter Test/Demo der Aktion gezeigt.&lt;br /&gt;
&lt;br /&gt;
==ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen==&lt;br /&gt;
&lt;br /&gt;
Aufstellung der Expecco-Versionen mit der letzten Aktualisierung der &#039;&#039;ExpeccoTestService&#039;&#039;-Bibliothek für die verschieden Qt-Versionen und Buildsysteme.&lt;br /&gt;
&lt;br /&gt;
Weitere Versionen können auf Anfrage geliefert werden.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco-Version !! Qt Version !! Architektur !! Build-System !! Verzeichnis !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2026-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.8.3 || x64 || vs2022 || vs2022_x64_Qt6.8.3 ||  rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 || &lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2024-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Protokollierung mit Einstellungen &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
* Mausereignis &amp;quot;Move&amp;quot; wurde überarbeitet (&amp;lt;i&amp;gt;QT:OS-MouseEvent...&amp;lt;/i&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Neuer Baustein &#039;&#039;QButton::Click&#039;&#039;: Direkter Klick, nicht an Thread delegiert&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Anbindung von Qt 6-Programmen&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Ausgabe von QT-Version und Buildparameter in Log-Datei bei DLL-Start&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Separate DLLs für QtQuick/QWidget und nur QWidget&lt;br /&gt;
* Feature: Auslesen Vertikaler Header bei Tabellen&lt;br /&gt;
* Feature: Screenshot bei Fehler&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.3 || x64 || vs2015 || vs2015_x64_Qt5.9.3&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2015 || vs2015_x64_Qt5.9.1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x86 || vs2015 || vs2015_x86_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.8.0  || x86 || vs2013 || vs2013_Qt5.8.0 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2019-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x64 || vs2013 || vs2013_x64_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2013 || vs2013_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2018-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.4.2 || x86 || vs2010 || vs2010_Qt5.4.2 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Linux / macOS===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco-Version !! Qt Version !! Architektur !! Build-System !! Verzeichnis !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 6.2.4 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt6.2.4 ||rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Neuer Baustein QButton::Click: Direkter Klick, nicht an Thread delegiert&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 6.2.4 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt6.2.4 ||rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Anbindung von Qt 6-Programmen&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Ausgabe von QT-Version und Buildparameter in Log-Datei bei DLL-Start&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Separate DLLs für QtQuick/QWidget und nur QWidget&lt;br /&gt;
* Feature: Auslesen Vertikaler Header bei Tabellen&lt;br /&gt;
* Feature: Screenshot bei Fehler&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0 || QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.2 || arm32 || gcc || gcc_arm32_Qt.12.2 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.5 || x64 || gcc || gcc_x64_Qt5.9.5 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.1 || x64 || gcc || gcc_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.3 || x64 || gcc || gcc_x64_Qt5.12.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Zurück zu [[Qt Plugin Reference]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=QT_Testing/en&amp;diff=30876</id>
		<title>QT Testing/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=QT_Testing/en&amp;diff=30876"/>
		<updated>2025-11-03T08:35:28Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[QT_Testing|Deutsche Version]] | &#039;&#039;&#039;English Version&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pre-requisites==&lt;br /&gt;
===Qt download===&lt;br /&gt;
https://www.qt.io/download &lt;br /&gt;
&lt;br /&gt;
===Supported Versions===&lt;br /&gt;
Expecco supports testing of Qt applications on Windows and Linux, Qt Quick/QML applications from &#039;&#039;&#039;Qt version 5&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For the different Qt versions, operating systems, development environments (VisualStudio, ...) and computer architectures (32/64 bit) we provide specially generated libraries (dll, so). Some of them are delivered with expecco by default. For other versions we generate the library on request.&lt;br /&gt;
&lt;br /&gt;
An overview of the delivered libraries and their version status can be found [[#ExpeccoTestService Library: Delivery in Expecco Versions|here]].&lt;br /&gt;
&lt;br /&gt;
==Testing Qt Programs==&lt;br /&gt;
&lt;br /&gt;
===Test Preparations===&lt;br /&gt;
&lt;br /&gt;
====Integrating the ExpeccoTestService Library====&lt;br /&gt;
&lt;br /&gt;
To test a Qt program with expecco, the library &#039;&#039;expeccoTestService.[dll/so]&#039;&#039; delivered by us is included in the program to be tested. This is done via a batch or shell script without intervention in the source code of the program to be tested. This DLL implements the communication between the Qt program and expecco.&lt;br /&gt;
&lt;br /&gt;
You can also activate logging for the expeccoTestService library in the batch or shell script.&lt;br /&gt;
&lt;br /&gt;
Instructions for the respective operating system of the test computer can be found here: &lt;br /&gt;
* [[Qt Inject Windows#Inject expeccoTestService-Library|Qt Inject for Windows]]&lt;br /&gt;
* [[Qt Inject Linux#Inject expeccoTestService-Library|Qt Inject for Linux / macOS]].&lt;br /&gt;
&lt;br /&gt;
Alternatively, the ExpeccoTestService library call can be inserted into the source code of the application under test ([[Qt Inject Windows/en#Insert into Source Code (alternative)|Description]]).&lt;br /&gt;
&lt;br /&gt;
====Start Parameters====&lt;br /&gt;
&lt;br /&gt;
The ExpeccoTestService library can be set via environment variables:&lt;br /&gt;
* Log level: &amp;lt;code&amp;gt;ETS_QT_LOG_LEVEL&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; no logging (default value)&amp;lt;br&amp;gt;&lt;br /&gt;
: before expecco version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: logging (debug)&amp;lt;br&amp;gt;&lt;br /&gt;
: from expecco version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt; (debug), &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; (info), &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; (warnings and errors)&lt;br /&gt;
* Log file: &amp;lt;code&amp;gt;ETS_QT_LOG_FILE&amp;lt;/code&amp;gt; (default value: c:\Windows\temp\etsQt.log or /tmp/etsQt.log).&lt;br /&gt;
* Server port: &amp;lt;code&amp;gt;ETS_QT_PORT_NUMBER&amp;lt;/code&amp;gt; (default value: 8866).&lt;br /&gt;
* Timeout preview in ms (only Qt Quick): &amp;lt;code&amp;gt;ETS_TIMEOUT_QUICK_IMAGE&amp;lt;/code&amp;gt; (default value: 200)&lt;br /&gt;
&lt;br /&gt;
====Required Qt Libraries at Runtime====&lt;br /&gt;
&lt;br /&gt;
The ExpeccoTestService library depends on the following Qt libraries:&lt;br /&gt;
* Qt5Core&lt;br /&gt;
* Qt5Gui&lt;br /&gt;
* Qt5Network&lt;br /&gt;
* Qt5Qml&lt;br /&gt;
* Qt5Quick (V2 with Qt Quick integration (expecco 21.2))&lt;br /&gt;
* Qt5QmlModel (V2 with Qt Quick integration (expecco 21.2))&lt;br /&gt;
* Qt5Widgets&lt;br /&gt;
&lt;br /&gt;
===Connecting with Expecco GUI Browser===&lt;br /&gt;
&lt;br /&gt;
The GUI Browser can be used to connect to the program under test:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Connect&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Qt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following dialog, enter the network address of the computer running the application and the port for the connection (8866 by default).&lt;br /&gt;
&lt;br /&gt;
Manual [[Expecco GUI Tests_Extension Reference|GUI Browser]].&lt;br /&gt;
&lt;br /&gt;
==Qt Quick/QML Programs==&lt;br /&gt;
Qt Quick/QML applications can be tested with the expecco QtLibrary starting with expecco 21.2.&lt;br /&gt;
&lt;br /&gt;
For this purpose, a new ExpeccoTextService library with the name suffix &amp;lt;i&amp;gt;V2&amp;lt;/i&amp;gt; is delivered. The library depends on additional Qt libraries (see [[#Required Qt Libraries at Runtime|Required Qt Libraries at Runtime]])&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Only expecco 21.2&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Only one ExpeccoTextService library is delivered, but it already offers Qt Quick/QML support. Only from version 22.1 two separate libraries are provided.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Qt Quick/QML Actions===&lt;br /&gt;
&lt;br /&gt;
For testing Qt Quick/QML programs almost all actions of the QtLibrary can be used, which are defined for testing Qt programs based on QWidget / QApplication.  &lt;br /&gt;
&lt;br /&gt;
QWidget actions are applicable to Qt Quick items derived from QQuickItem.&lt;br /&gt;
QQuickItemView actions are applicable to Qt Quick list items.&lt;br /&gt;
&lt;br /&gt;
The different handling is encapsulated by the ExpeccoTestService. Thus, the action and the input and output pins remain the same for both Qt technologies.&lt;br /&gt;
&lt;br /&gt;
The actions, which are also suitable for tests of Qt Quick/QML programmes, are provided with the label / tag &amp;lt;code&amp;gt;qt-quick&amp;lt;/code&amp;gt;. The actions can thus be displayed with a configurable colour ([[Settings TagColorSettings/en|Extras - Settings - Look &amp;amp; Feel - Colours per Label (Tag)]]).&lt;br /&gt;
&lt;br /&gt;
===Qt Quick/QML Peculiarities===&lt;br /&gt;
&lt;br /&gt;
====Control via Properties====&lt;br /&gt;
&lt;br /&gt;
The basis of all Qt Quick/QML interface elements is the QQuickItem class. Most of its properties can be set via properties. There are many derivations of QQuickItem. Expecco does not provide any special building blocks for this, but the elements can be controlled via their properties.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Qt Quick element !! property !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| Tumbler || currentIndex || &lt;br /&gt;
|-&lt;br /&gt;
| Switch|| checked || Suitable actions:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::GetState&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::SetState = %2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| will be continued&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Actions for Selected Element====&lt;br /&gt;
The display of actions for GUI elements in the GUI browser is not complete because Qt Quick/QML does not have predefined elements for each interface element.&lt;br /&gt;
&lt;br /&gt;
====Not yet implemented====&lt;br /&gt;
* TreeView&lt;br /&gt;
* Menu&lt;br /&gt;
* Selection of cells - so far only one row can be selected&lt;br /&gt;
&lt;br /&gt;
==Qt Known Problems==&lt;br /&gt;
&lt;br /&gt;
===XPath implementation===&lt;br /&gt;
&lt;br /&gt;
XPath can be used to search for matching names or index of elements. Filtering by name parts (starts-with, ends-with, contains) is currently not supported.&lt;br /&gt;
&lt;br /&gt;
===QApplication::ShortCutEvent===&lt;br /&gt;
&lt;br /&gt;
Due to internal changes in Qt version 5, the module no longer works. A workaround is to send the key events separately, as shown in the example in the Test/Demo tab of the action.&lt;br /&gt;
&lt;br /&gt;
==ExpeccoTestService Library: Delivery in Expecco Versions==&lt;br /&gt;
&lt;br /&gt;
List of Expecco versions with the latest update of the &#039;&#039;ExpeccoTestService&#039;&#039; library for the different Qt versions and build systems.&lt;br /&gt;
&lt;br /&gt;
Further versions can be delivered on request.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco Version !! Qt Version !! Architecture !! Build System !! Directory !! Comment&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2026-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.8.3 || x64 || vs2022 || vs2022_x64_Qt6.8.3 ||  rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 || &lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2024-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Logging with Loglevels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
* Mouse event Move has been revised (&amp;lt;i&amp;gt;QT:OS-MouseEvent...&amp;lt;/i&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* New Step &#039;&#039;QButton::Click&#039;&#039;: Direct click, not delegated to thread&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 || rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* QT6 support&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Output version and build date in etsLog at start-up&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Separate DLLs for QtQuick/QWidget and only QWidget&lt;br /&gt;
* Feature: Reading vertical headers for tables&lt;br /&gt;
* Feature: Screenshot in case of error&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.3 || x64 || vs2015 || vs2015_x64_Qt5.9.3&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2015 || vs2015_x64_Qt5.9.1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x86 || vs2015 || vs2015_x86_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.8.0 || x86 || vs2013 || vs2013_Qt5.8.0 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2019-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x64 || vs2013 || vs2013_x64_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2013 || vs2013_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2018-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.4.2 || x86 || vs2010 || vs2010_Qt5.4.2 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Linux / macOS===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco Version !! Qt Version !! Architecture !! Build System !! Directory !! Comment&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2024-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || gcc || gcc_x64_Qt6.2.4 || rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
* Logging with Loglevels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || gcc || gcc_x64_Qt6.2.4 || rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| QT6 support&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || valign=&amp;quot;top&amp;quot; | Output version and build date in etsLog at start-up &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Separate DLLs for QtQuick/QWidget and only QWidget&lt;br /&gt;
* Feature: Reading vertical headers for tables&lt;br /&gt;
* Feature: Screenshot in case of error&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0 || QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.2 || arm32 || gcc || gcc_arm32_Qt.12.2 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.5 || x64 || gcc || gcc_x64_Qt5.9.5 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.1 || x64 || gcc || gcc_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.3 || x64 || gcc || gcc_x64_Qt5.12.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Back to [[Qt Plugin Reference/en|Qt Plugin Reference]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_26.x&amp;diff=30875</id>
		<title>Release Notes 26.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_26.x&amp;diff=30875"/>
		<updated>2025-11-03T08:32:55Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: Die Seite wurde neu angelegt: „See also: Release Notes 25.x &amp;lt;br /&amp;gt;  == Release 26.2 ==  == Release 26.1 == *Feature: Qt-Plugin supports Qt6.8 (QT_Testing/en#ExpeccoTestService_Library%…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 25.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 26.2 ==&lt;br /&gt;
&lt;br /&gt;
== Release 26.1 ==&lt;br /&gt;
*Feature: Qt-Plugin supports Qt6.8 ([[QT_Testing/en#ExpeccoTestService_Library%3A_Delivery_in_Expecco_Versions|Delivered versions for QT and build environment]])&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30874</id>
		<title>Release Notes 25.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30874"/>
		<updated>2025-11-03T08:31:08Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 26.x]]&amp;lt;br /&amp;gt;&lt;br /&gt;
See also: [[Release Notes 24.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 25.2 ==&lt;br /&gt;
*Improvement: Inspector shows XML Dom if it starts with &#039;&amp;lt;&#039; and ends with &#039;&amp;gt;&#039; and is parsable without error.&lt;br /&gt;
*Improvement: Handles very long index-lists (eg. 100k) more graceful&lt;br /&gt;
*Improvement: Bundled python3 installer updated to version 3.13.7&lt;br /&gt;
*Feature: groovy version 5.0.0 (needed for Java 25 and later)&lt;br /&gt;
*Fix: (Windows) reading the linkInfo of a link file to a wide-char file returned wrong (non-wide) info&lt;br /&gt;
&lt;br /&gt;
== Release 25.1 ==&lt;br /&gt;
*Improvement: additional &amp;quot;Info&amp;quot; tab in inspector views&lt;br /&gt;
*Improvement: less memory usage in the activity log&lt;br /&gt;
*Improvement: better error messages and more links to settings from the activity log&#039;s error message&lt;br /&gt;
*Improvement: additional units and conversions in the [[PhysicalValues/en|physical values framework]]&lt;br /&gt;
*Improvement: more precision in the [[Numeric_Limits/en#Higher_Precision_Numbers|high precision trigonometric and math functions]]&lt;br /&gt;
*Improvement: WindowsAutomation: Plugin Update to FlaUI 5&lt;br /&gt;
*Improvement: Mobile Testing: Better Device Lock/Unlock Support&lt;br /&gt;
*Improvement: StandardLibrary: &amp;quot;File [ *CSV ]&amp;quot; blocks got an additional &amp;quot;characterEncoding&amp;quot; pin (useful for reading/writing e.g. utf-8 encoded CSV files)&lt;br /&gt;
*Improvement: ExcelLib: better documentation. Now requires the openpyxl package version &amp;gt;= 3.1.5. &lt;br /&gt;
*Improvement: better model language editor (translate and fetch-strings functions)&lt;br /&gt;
*Improvement: ODBCLibrary: improved compatibility with different database vendors (supports the CedarDB database) &lt;br /&gt;
*Feature: translate and spell check in the workspace window&lt;br /&gt;
*Feature: EditLock of suites loaded from expeccoALM / AIDYMO&lt;br /&gt;
*Feature: Start Test in expeccoALM / AIDYMO (via expecco)&lt;br /&gt;
*Feature: new library containing expeccoALM control actions (those from the AIDYMO menu)&lt;br /&gt;
*Fix: the version diff viewer (did not correctly copy changed attachment files)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30873</id>
		<title>Release Notes 25.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30873"/>
		<updated>2025-11-03T08:30:35Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 26.x]]&lt;br /&gt;
See also: [[Release Notes 24.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 25.2 ==&lt;br /&gt;
*Improvement: Inspector shows XML Dom if it starts with &#039;&amp;lt;&#039; and ends with &#039;&amp;gt;&#039; and is parsable without error.&lt;br /&gt;
*Improvement: Handles very long index-lists (eg. 100k) more graceful&lt;br /&gt;
*Improvement: Bundled python3 installer updated to version 3.13.7&lt;br /&gt;
*Feature: groovy version 5.0.0 (needed for Java 25 and later)&lt;br /&gt;
*Fix: (Windows) reading the linkInfo of a link file to a wide-char file returned wrong (non-wide) info&lt;br /&gt;
&lt;br /&gt;
== Release 25.1 ==&lt;br /&gt;
*Improvement: additional &amp;quot;Info&amp;quot; tab in inspector views&lt;br /&gt;
*Improvement: less memory usage in the activity log&lt;br /&gt;
*Improvement: better error messages and more links to settings from the activity log&#039;s error message&lt;br /&gt;
*Improvement: additional units and conversions in the [[PhysicalValues/en|physical values framework]]&lt;br /&gt;
*Improvement: more precision in the [[Numeric_Limits/en#Higher_Precision_Numbers|high precision trigonometric and math functions]]&lt;br /&gt;
*Improvement: WindowsAutomation: Plugin Update to FlaUI 5&lt;br /&gt;
*Improvement: Mobile Testing: Better Device Lock/Unlock Support&lt;br /&gt;
*Improvement: StandardLibrary: &amp;quot;File [ *CSV ]&amp;quot; blocks got an additional &amp;quot;characterEncoding&amp;quot; pin (useful for reading/writing e.g. utf-8 encoded CSV files)&lt;br /&gt;
*Improvement: ExcelLib: better documentation. Now requires the openpyxl package version &amp;gt;= 3.1.5. &lt;br /&gt;
*Improvement: better model language editor (translate and fetch-strings functions)&lt;br /&gt;
*Improvement: ODBCLibrary: improved compatibility with different database vendors (supports the CedarDB database) &lt;br /&gt;
*Feature: translate and spell check in the workspace window&lt;br /&gt;
*Feature: EditLock of suites loaded from expeccoALM / AIDYMO&lt;br /&gt;
*Feature: Start Test in expeccoALM / AIDYMO (via expecco)&lt;br /&gt;
*Feature: new library containing expeccoALM control actions (those from the AIDYMO menu)&lt;br /&gt;
*Fix: the version diff viewer (did not correctly copy changed attachment files)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30872</id>
		<title>Release Notes 25.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30872"/>
		<updated>2025-11-03T08:28:22Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 25.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 24.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 25.2 ==&lt;br /&gt;
*Improvement: Inspector shows XML Dom if it starts with &#039;&amp;lt;&#039; and ends with &#039;&amp;gt;&#039; and is parsable without error.&lt;br /&gt;
*Improvement: Handles very long index-lists (eg. 100k) more graceful&lt;br /&gt;
*Improvement: Bundled python3 installer updated to version 3.13.7&lt;br /&gt;
*Feature: groovy version 5.0.0 (needed for Java 25 and later)&lt;br /&gt;
*Fix: (Windows) reading the linkInfo of a link file to a wide-char file returned wrong (non-wide) info&lt;br /&gt;
&lt;br /&gt;
== Release 25.1 ==&lt;br /&gt;
*Improvement: additional &amp;quot;Info&amp;quot; tab in inspector views&lt;br /&gt;
*Improvement: less memory usage in the activity log&lt;br /&gt;
*Improvement: better error messages and more links to settings from the activity log&#039;s error message&lt;br /&gt;
*Improvement: additional units and conversions in the [[PhysicalValues/en|physical values framework]]&lt;br /&gt;
*Improvement: more precision in the [[Numeric_Limits/en#Higher_Precision_Numbers|high precision trigonometric and math functions]]&lt;br /&gt;
*Improvement: WindowsAutomation: Plugin Update to FlaUI 5&lt;br /&gt;
*Improvement: Mobile Testing: Better Device Lock/Unlock Support&lt;br /&gt;
*Improvement: StandardLibrary: &amp;quot;File [ *CSV ]&amp;quot; blocks got an additional &amp;quot;characterEncoding&amp;quot; pin (useful for reading/writing e.g. utf-8 encoded CSV files)&lt;br /&gt;
*Improvement: ExcelLib: better documentation. Now requires the openpyxl package version &amp;gt;= 3.1.5. &lt;br /&gt;
*Improvement: better model language editor (translate and fetch-strings functions)&lt;br /&gt;
*Improvement: ODBCLibrary: improved compatibility with different database vendors (supports the CedarDB database) &lt;br /&gt;
*Feature: translate and spell check in the workspace window&lt;br /&gt;
*Feature: EditLock of suites loaded from expeccoALM / AIDYMO&lt;br /&gt;
*Feature: Start Test in expeccoALM / AIDYMO (via expecco)&lt;br /&gt;
*Feature: new library containing expeccoALM control actions (those from the AIDYMO menu)&lt;br /&gt;
*Fix: the version diff viewer (did not correctly copy changed attachment files)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=QT_Testing&amp;diff=30869</id>
		<title>QT Testing</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=QT_Testing&amp;diff=30869"/>
		<updated>2025-10-23T10:53:44Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Deutsche Version&#039;&#039;&#039; | [[ QT Testing/en | English Version ]]&lt;br /&gt;
&lt;br /&gt;
==Vorbedingungen==&lt;br /&gt;
===Qt-Download===&lt;br /&gt;
https://www.qt.io/download &lt;br /&gt;
&lt;br /&gt;
===Unterstützte Versionen===&lt;br /&gt;
Expecco unterstützt das Testen von Qt-Applikationen unter Windows und Linux, Qt Quick/QML-Anwendungen ab der &#039;&#039;&#039;Qt Version 5&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Für die verschiedenen Qt-Versionen, Betriebssysteme, Entwicklungsumgebungen (VisualStudio, ...) und Rechnerarchitekturen (32/64 bit) stellen wir eigens erzeugte Bibliotheken (dll, so) zur Verfügung. Einige davon werden standardmäßig mit expecco ausgeliefert. Für andere Versionen erzeugen wir die Bibliothek auf Anfrage.&lt;br /&gt;
&lt;br /&gt;
Eine Übersicht über die ausgelieferten Bibliotheken und ihren Versionsstand finden sie [[#ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen|hier]].&lt;br /&gt;
&lt;br /&gt;
==Testen von Qt-Programmen==&lt;br /&gt;
&lt;br /&gt;
===Testvorbereitungen===&lt;br /&gt;
&lt;br /&gt;
====Einbinden der expeccoTestService-Bibliothek====&lt;br /&gt;
&lt;br /&gt;
Um mit expecco ein Qt-Programm zu testen, wird in das zu testenden Programms die von uns ausgelieferte Bibliothek &#039;&#039;expeccoTestService.[dll/so]&#039;&#039; eingebunden. Dies erfolgt über ein Batch- bzw. Shell-Skript ohne Eingriff in den Sourcecode des zu testenden Programms. Diese DLL übernimmt die Kommunikation zwischen dem Qt-Program und expecco über eine Socketverbindung.&lt;br /&gt;
&lt;br /&gt;
Im Batch- bzw. Shell-Skript können Sie auch das Logging für die expeccoTestService-Bibliothek aktivieren.&lt;br /&gt;
&lt;br /&gt;
Eine Anleitung für das jeweilige Betriebssystem des Testrechners finden Sie hier:&lt;br /&gt;
* [[Qt Inject Windows#Inject expeccoTestService-Library|Qt Inject für Windows]]&lt;br /&gt;
* [[Qt Inject Linux#Inject expeccoTestService-Library|Qt Inject für Linux / macOS]].&lt;br /&gt;
&lt;br /&gt;
Alternativ kann der Aufruf der ExpeccoTestService-Bibliothek auch in den Sourcecode der zu testenden Applikation eingefügt werden ([[Qt Inject Windows#Insert into Source Code (alternative)|Beschreibung]]).&lt;br /&gt;
&lt;br /&gt;
====Startparameter====&lt;br /&gt;
&lt;br /&gt;
Die ExpeccoTestService-Bibliothek kann über Umgebungsvariablen eingestellt werden:&lt;br /&gt;
* Log-Level: &amp;lt;code&amp;gt;ETS_QT_LOG_LEVEL&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; keine Logausgaben (Standardwert)&lt;br /&gt;
: vor expecco-Version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: Debug-Logausgaben&lt;br /&gt;
: ab expecco-Version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt; (Debug-Logausgaben), &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; (Info-Logausgaben),  &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; (Warnungen und Fehler)&lt;br /&gt;
&lt;br /&gt;
* Log-File: &amp;lt;code&amp;gt;ETS_QT_LOG_FILE&amp;lt;/code&amp;gt; (Standardwert: c:\Windows\temp\etsQt.log bzw. /tmp/etsQt.log)&lt;br /&gt;
* Server-Port: &amp;lt;code&amp;gt;ETS_QT_PORT_NUMBER&amp;lt;/code&amp;gt; (Standardwert: 8866)&lt;br /&gt;
* Timeout Vorschau im ms (nur Qt Quick): &amp;lt;code&amp;gt;ETS_TIMEOUT_QUICK_IMAGE&amp;lt;/code&amp;gt; (Standardwert: 200)&lt;br /&gt;
&lt;br /&gt;
====Benötigte Qt-Bibliotheken zur Laufzeit====&lt;br /&gt;
&lt;br /&gt;
Die ExpeccoTestService-Bibliothek ist abhängig von folgenden Qt-Bibliotheken:&lt;br /&gt;
* Qt5Core&lt;br /&gt;
* Qt5Gui&lt;br /&gt;
* Qt5Network&lt;br /&gt;
* Qt5Qml&lt;br /&gt;
* Qt5Quick (V2 mit Qt Quick-Integration (expecco 21.2))&lt;br /&gt;
* Qt5QmlModel (V2 mit Qt Quick-Integration (expecco 21.2))&lt;br /&gt;
* Qt5Widgets&lt;br /&gt;
&lt;br /&gt;
===Verbinden mit expecco GUI Browser===&lt;br /&gt;
&lt;br /&gt;
Mit dem GUI Browser kann eine Verbindung zum zu testenden Programm aufgebaut werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Verbinden&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Qt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im nachfolgenden Dialog die Netzwerkadresse des Rechners, auf dem die Applikation läuft eingeben sowie den Port für die Verbindung (Standardmäßig 8866)&lt;br /&gt;
&lt;br /&gt;
Anleitung [[Expecco GUI Tests_Extension Reference|GUI Browser]].&lt;br /&gt;
&lt;br /&gt;
==Qt Quick-/QML-Programme==&lt;br /&gt;
&lt;br /&gt;
Qt Quick-/QML-Anwendungen können ab expecco 21.2 mit der expecco QtLibrary getestet werden. &lt;br /&gt;
&lt;br /&gt;
Hierfür wird eine neue ExpeccoTextService-Bibliothek mit dem Namenszusatz &amp;lt;i&amp;gt;V2&amp;lt;/i&amp;gt; ausgeliefert. Die Bibliothek ist von zusätzlichen Qt-Bibliotheken abhängig (siehe [[#Benötigte Qt-Bibliotheken zur Laufzeit|Benötigte Qt-Bibliotheken zur Laufzeit]]).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Nur expecco 21.2&#039;&#039;&#039;&amp;lt;br&amp;gt;Es wird nur eine ExpeccoTextService-Bibliothek ausgeliefert, die aber bereits Qt Quick-/QML-Support bietet. Erst ab Version 22.1 werden zwei separate Bibliotheken bereitsgestellt.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
===Qt Quick/QML-Aktionen===&lt;br /&gt;
&lt;br /&gt;
Für den Test von Qt Quick-/QML-Programmen können fast alle Aktionen der QtLibrary verwendet werden, die für das Testen von Qt-Programmen auf Basis von QWidget / QApplication definiert sind. &lt;br /&gt;
&lt;br /&gt;
QWidget-Aktionen sind dabei für Qt Quick-Elemente, die sich von QQuickItem ableiten, anwendbar.&lt;br /&gt;
QQuickItemView-Aktionen sind für die Listen-Elemente von Qt Quick geeignet.&lt;br /&gt;
&lt;br /&gt;
Die unterschiedliche Behandlung kapselt der ExpeccoTestService. Die Aktion und die Eingangs- und Ausgangspins bleiben somit für beide Qt-Technologien gleich.&lt;br /&gt;
&lt;br /&gt;
Die Aktionen, die auch für Tests von Qt Quick-/QML-Programmen geeignet sind, sind mit dem Etikett / Tag &amp;lt;code&amp;gt;qt-quick&amp;lt;/code&amp;gt; versehen. Die Aktionen können dadurch mit einer konfigurierbaren Farbe dargestellt werden ([[Settings TagColorSettings/en|Extras - Einstellungen - Look &amp;amp; Feel - Farben per Etikett (Tag)]]).&lt;br /&gt;
&lt;br /&gt;
===Qt Quick-/QML-Besonderheiten===&lt;br /&gt;
&lt;br /&gt;
====Steuerung über Eigenschaften / Properties====&lt;br /&gt;
&lt;br /&gt;
Basis aller Qt Quick-/QML-Oberflächenelemente ist die Klasse QQuickItem. Über Properties / Eigenschaften können in ihr die meisten Eigenschaften eingestellt werden. Von QQuickItem gibt es eine Vielzahl von Ableitungen. Expecco stellt dafür keine speziellen Bausteine zur Verfügung, die Elemente sind aber über ihre Eigenschaften steuerbar.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Qt Quick-Element !! Eigenschaft !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
| Tumbler || currentIndex || &lt;br /&gt;
|-&lt;br /&gt;
| Switch|| checked || Geeignete Aktionen:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::GetState&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::SetState = %2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| wird fortgesetzt&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Aktionen für selektiertes Element====&lt;br /&gt;
Die Anzeige von Aktionen für GUI-Elemente im GUI-Browser ist nicht vollständig, da Qt Quick/QML nicht für jeden Oberflächenelement vordefinierte Elemente hat.&lt;br /&gt;
&lt;br /&gt;
====Noch nicht implementiert====&lt;br /&gt;
* TreeView&lt;br /&gt;
* Menu&lt;br /&gt;
* Selektion von Zellen - bisher kann nur eine Zeile selektiert werden&lt;br /&gt;
&lt;br /&gt;
==Bekannte Probleme==&lt;br /&gt;
&lt;br /&gt;
===XPath-Implementierung===&lt;br /&gt;
&lt;br /&gt;
Mit XPath kann auf Übereinstimmung von Namen oder Index der Elemente gesucht werden. Filterung nach Namensteilen (Anfang, Ende, Mitte) wird derzeit nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
===QApplication::ShortCutEvent===&lt;br /&gt;
&lt;br /&gt;
Aufgrund von internen Änderungen in Qt Version 5 funktioniert der Baustein nicht mehr. Ein Workaround besteht darin, die Tastenereignisse separat zu senden, wie im Beispiel im Reiter Test/Demo der Aktion gezeigt.&lt;br /&gt;
&lt;br /&gt;
==ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen==&lt;br /&gt;
&lt;br /&gt;
Aufstellung der Expecco-Versionen mit der letzten Aktualisierung der &#039;&#039;ExpeccoTestService&#039;&#039;-Bibliothek für die verschieden Qt-Versionen und Buildsysteme.&lt;br /&gt;
&lt;br /&gt;
Weitere Versionen können auf Anfrage geliefert werden.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco-Version !! Qt Version !! Architektur !! Build-System !! Verzeichnis !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2025-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.8.3 || x64 || vs2022 || vs2022_x64_Qt6.8.3 ||  rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 || &lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2024-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Protokollierung mit Einstellungen &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
* Mausereignis &amp;quot;Move&amp;quot; wurde überarbeitet (&amp;lt;i&amp;gt;QT:OS-MouseEvent...&amp;lt;/i&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Neuer Baustein &#039;&#039;QButton::Click&#039;&#039;: Direkter Klick, nicht an Thread delegiert&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Anbindung von Qt 6-Programmen&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Ausgabe von QT-Version und Buildparameter in Log-Datei bei DLL-Start&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Separate DLLs für QtQuick/QWidget und nur QWidget&lt;br /&gt;
* Feature: Auslesen Vertikaler Header bei Tabellen&lt;br /&gt;
* Feature: Screenshot bei Fehler&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.3 || x64 || vs2015 || vs2015_x64_Qt5.9.3&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2015 || vs2015_x64_Qt5.9.1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x86 || vs2015 || vs2015_x86_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.8.0  || x86 || vs2013 || vs2013_Qt5.8.0 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2019-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x64 || vs2013 || vs2013_x64_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2013 || vs2013_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2018-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.4.2 || x86 || vs2010 || vs2010_Qt5.4.2 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Linux / macOS===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco-Version !! Qt Version !! Architektur !! Build-System !! Verzeichnis !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 6.2.4 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt6.2.4 ||rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Neuer Baustein QButton::Click: Direkter Klick, nicht an Thread delegiert&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 6.2.4 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt6.2.4 ||rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Anbindung von Qt 6-Programmen&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Ausgabe von QT-Version und Buildparameter in Log-Datei bei DLL-Start&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Separate DLLs für QtQuick/QWidget und nur QWidget&lt;br /&gt;
* Feature: Auslesen Vertikaler Header bei Tabellen&lt;br /&gt;
* Feature: Screenshot bei Fehler&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0 || QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.2 || arm32 || gcc || gcc_arm32_Qt.12.2 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.5 || x64 || gcc || gcc_x64_Qt5.9.5 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.1 || x64 || gcc || gcc_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.3 || x64 || gcc || gcc_x64_Qt5.12.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Zurück zu [[Qt Plugin Reference]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=QT_Testing&amp;diff=30868</id>
		<title>QT Testing</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=QT_Testing&amp;diff=30868"/>
		<updated>2025-10-23T10:50:46Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Deutsche Version&#039;&#039;&#039; | [[ QT Testing/en | English Version ]]&lt;br /&gt;
&lt;br /&gt;
==Vorbedingungen==&lt;br /&gt;
===Qt-Download===&lt;br /&gt;
https://www.qt.io/download &lt;br /&gt;
&lt;br /&gt;
===Unterstützte Versionen===&lt;br /&gt;
Expecco unterstützt das Testen von Qt-Applikationen unter Windows und Linux, Qt Quick/QML-Anwendungen ab der &#039;&#039;&#039;Qt Version 5&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Für die verschiedenen Qt-Versionen, Betriebssysteme, Entwicklungsumgebungen (VisualStudio, ...) und Rechnerarchitekturen (32/64 bit) stellen wir eigens erzeugte Bibliotheken (dll, so) zur Verfügung. Einige davon werden standardmäßig mit expecco ausgeliefert. Für andere Versionen erzeugen wir die Bibliothek auf Anfrage.&lt;br /&gt;
&lt;br /&gt;
Eine Übersicht über die ausgelieferten Bibliotheken und ihren Versionsstand finden sie [[#ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen|hier]].&lt;br /&gt;
&lt;br /&gt;
==Testen von Qt-Programmen==&lt;br /&gt;
&lt;br /&gt;
===Testvorbereitungen===&lt;br /&gt;
&lt;br /&gt;
====Einbinden der expeccoTestService-Bibliothek====&lt;br /&gt;
&lt;br /&gt;
Um mit expecco ein Qt-Programm zu testen, wird in das zu testenden Programms die von uns ausgelieferte Bibliothek &#039;&#039;expeccoTestService.[dll/so]&#039;&#039; eingebunden. Dies erfolgt über ein Batch- bzw. Shell-Skript ohne Eingriff in den Sourcecode des zu testenden Programms. Diese DLL übernimmt die Kommunikation zwischen dem Qt-Program und expecco über eine Socketverbindung.&lt;br /&gt;
&lt;br /&gt;
Im Batch- bzw. Shell-Skript können Sie auch das Logging für die expeccoTestService-Bibliothek aktivieren.&lt;br /&gt;
&lt;br /&gt;
Eine Anleitung für das jeweilige Betriebssystem des Testrechners finden Sie hier:&lt;br /&gt;
* [[Qt Inject Windows#Inject expeccoTestService-Library|Qt Inject für Windows]]&lt;br /&gt;
* [[Qt Inject Linux#Inject expeccoTestService-Library|Qt Inject für Linux / macOS]].&lt;br /&gt;
&lt;br /&gt;
Alternativ kann der Aufruf der ExpeccoTestService-Bibliothek auch in den Sourcecode der zu testenden Applikation eingefügt werden ([[Qt Inject Windows#Insert into Source Code (alternative)|Beschreibung]]).&lt;br /&gt;
&lt;br /&gt;
====Startparameter====&lt;br /&gt;
&lt;br /&gt;
Die ExpeccoTestService-Bibliothek kann über Umgebungsvariablen eingestellt werden:&lt;br /&gt;
* Log-Level: &amp;lt;code&amp;gt;ETS_QT_LOG_LEVEL&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; keine Logausgaben (Standardwert)&lt;br /&gt;
: vor expecco-Version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: Debug-Logausgaben&lt;br /&gt;
: ab expecco-Version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt; (Debug-Logausgaben), &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; (Info-Logausgaben),  &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; (Warnungen und Fehler)&lt;br /&gt;
&lt;br /&gt;
* Log-File: &amp;lt;code&amp;gt;ETS_QT_LOG_FILE&amp;lt;/code&amp;gt; (Standardwert: c:\Windows\temp\etsQt.log bzw. /tmp/etsQt.log)&lt;br /&gt;
* Server-Port: &amp;lt;code&amp;gt;ETS_QT_PORT_NUMBER&amp;lt;/code&amp;gt; (Standardwert: 8866)&lt;br /&gt;
* Timeout Vorschau im ms (nur Qt Quick): &amp;lt;code&amp;gt;ETS_TIMEOUT_QUICK_IMAGE&amp;lt;/code&amp;gt; (Standardwert: 200)&lt;br /&gt;
&lt;br /&gt;
====Benötigte Qt-Bibliotheken zur Laufzeit====&lt;br /&gt;
&lt;br /&gt;
Die ExpeccoTestService-Bibliothek ist abhängig von folgenden Qt-Bibliotheken:&lt;br /&gt;
* Qt5Core&lt;br /&gt;
* Qt5Gui&lt;br /&gt;
* Qt5Network&lt;br /&gt;
* Qt5Qml&lt;br /&gt;
* Qt5Quick (V2 mit Qt Quick-Integration (expecco 21.2))&lt;br /&gt;
* Qt5QmlModel (V2 mit Qt Quick-Integration (expecco 21.2))&lt;br /&gt;
* Qt5Widgets&lt;br /&gt;
&lt;br /&gt;
===Verbinden mit expecco GUI Browser===&lt;br /&gt;
&lt;br /&gt;
Mit dem GUI Browser kann eine Verbindung zum zu testenden Programm aufgebaut werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Verbinden&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Qt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im nachfolgenden Dialog die Netzwerkadresse des Rechners, auf dem die Applikation läuft eingeben sowie den Port für die Verbindung (Standardmäßig 8866)&lt;br /&gt;
&lt;br /&gt;
Anleitung [[Expecco GUI Tests_Extension Reference|GUI Browser]].&lt;br /&gt;
&lt;br /&gt;
==Qt Quick-/QML-Programme==&lt;br /&gt;
&lt;br /&gt;
Qt Quick-/QML-Anwendungen können ab expecco 21.2 mit der expecco QtLibrary getestet werden. &lt;br /&gt;
&lt;br /&gt;
Hierfür wird eine neue ExpeccoTextService-Bibliothek mit dem Namenszusatz &amp;lt;i&amp;gt;V2&amp;lt;/i&amp;gt; ausgeliefert. Die Bibliothek ist von zusätzlichen Qt-Bibliotheken abhängig (siehe [[#Benötigte Qt-Bibliotheken zur Laufzeit|Benötigte Qt-Bibliotheken zur Laufzeit]]).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Nur expecco 21.2&#039;&#039;&#039;&amp;lt;br&amp;gt;Es wird nur eine ExpeccoTextService-Bibliothek ausgeliefert, die aber bereits Qt Quick-/QML-Support bietet. Erst ab Version 22.1 werden zwei separate Bibliotheken bereitsgestellt.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
===Qt Quick/QML-Aktionen===&lt;br /&gt;
&lt;br /&gt;
Für den Test von Qt Quick-/QML-Programmen können fast alle Aktionen der QtLibrary verwendet werden, die für das Testen von Qt-Programmen auf Basis von QWidget / QApplication definiert sind. &lt;br /&gt;
&lt;br /&gt;
QWidget-Aktionen sind dabei für Qt Quick-Elemente, die sich von QQuickItem ableiten, anwendbar.&lt;br /&gt;
QQuickItemView-Aktionen sind für die Listen-Elemente von Qt Quick geeignet.&lt;br /&gt;
&lt;br /&gt;
Die unterschiedliche Behandlung kapselt der ExpeccoTestService. Die Aktion und die Eingangs- und Ausgangspins bleiben somit für beide Qt-Technologien gleich.&lt;br /&gt;
&lt;br /&gt;
Die Aktionen, die auch für Tests von Qt Quick-/QML-Programmen geeignet sind, sind mit dem Etikett / Tag &amp;lt;code&amp;gt;qt-quick&amp;lt;/code&amp;gt; versehen. Die Aktionen können dadurch mit einer konfigurierbaren Farbe dargestellt werden ([[Settings TagColorSettings/en|Extras - Einstellungen - Look &amp;amp; Feel - Farben per Etikett (Tag)]]).&lt;br /&gt;
&lt;br /&gt;
===Qt Quick-/QML-Besonderheiten===&lt;br /&gt;
&lt;br /&gt;
====Steuerung über Eigenschaften / Properties====&lt;br /&gt;
&lt;br /&gt;
Basis aller Qt Quick-/QML-Oberflächenelemente ist die Klasse QQuickItem. Über Properties / Eigenschaften können in ihr die meisten Eigenschaften eingestellt werden. Von QQuickItem gibt es eine Vielzahl von Ableitungen. Expecco stellt dafür keine speziellen Bausteine zur Verfügung, die Elemente sind aber über ihre Eigenschaften steuerbar.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Qt Quick-Element !! Eigenschaft !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
| Tumbler || currentIndex || &lt;br /&gt;
|-&lt;br /&gt;
| Switch|| checked || Geeignete Aktionen:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::GetState&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::SetState = %2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| wird fortgesetzt&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Aktionen für selektiertes Element====&lt;br /&gt;
Die Anzeige von Aktionen für GUI-Elemente im GUI-Browser ist nicht vollständig, da Qt Quick/QML nicht für jeden Oberflächenelement vordefinierte Elemente hat.&lt;br /&gt;
&lt;br /&gt;
====Noch nicht implementiert====&lt;br /&gt;
* TreeView&lt;br /&gt;
* Menu&lt;br /&gt;
* Selektion von Zellen - bisher kann nur eine Zeile selektiert werden&lt;br /&gt;
&lt;br /&gt;
==Bekannte Probleme==&lt;br /&gt;
&lt;br /&gt;
===XPath-Implementierung===&lt;br /&gt;
&lt;br /&gt;
Mit XPath kann auf Übereinstimmung von Namen oder Index der Elemente gesucht werden. Filterung nach Namensteilen (Anfang, Ende, Mitte) wird derzeit nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
===QApplication::ShortCutEvent===&lt;br /&gt;
&lt;br /&gt;
Aufgrund von internen Änderungen in Qt Version 5 funktioniert der Baustein nicht mehr. Ein Workaround besteht darin, die Tastenereignisse separat zu senden, wie im Beispiel im Reiter Test/Demo der Aktion gezeigt.&lt;br /&gt;
&lt;br /&gt;
==ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen==&lt;br /&gt;
&lt;br /&gt;
Aufstellung der Expecco-Versionen mit der letzten Aktualisierung der &#039;&#039;ExpeccoTestService&#039;&#039;-Bibliothek für die verschieden Qt-Versionen und Buildsysteme.&lt;br /&gt;
&lt;br /&gt;
Weitere Versionen können auf Anfrage geliefert werden.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco-Version !! Qt Version !! Architektur !! Build-System !! Verzeichnis !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2025-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.8.3 || x64 || vs2022 || vs2022_x64_Qt6.8.3 ||  rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 || &lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2024-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Logging with Loglevels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
* Mouse event Move has been revised (&amp;lt;i&amp;gt;QT:OS-MouseEvent...&amp;lt;/i&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Neuer Baustein &#039;&#039;QButton::Click&#039;&#039;: Direkter Klick, nicht an Thread delegiert&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Anbindung von Qt 6-Programmen&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Ausgabe von QT-Version und Buildparameter in Log-Datei bei DLL-Start&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Separate DLLs für QtQuick/QWidget und nur QWidget&lt;br /&gt;
* Feature: Auslesen Vertikaler Header bei Tabellen&lt;br /&gt;
* Feature: Screenshot bei Fehler&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.3 || x64 || vs2015 || vs2015_x64_Qt5.9.3&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2015 || vs2015_x64_Qt5.9.1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x86 || vs2015 || vs2015_x86_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.8.0  || x86 || vs2013 || vs2013_Qt5.8.0 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2019-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x64 || vs2013 || vs2013_x64_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2013 || vs2013_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2018-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.4.2 || x86 || vs2010 || vs2010_Qt5.4.2 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Linux / macOS===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco-Version !! Qt Version !! Architektur !! Build-System !! Verzeichnis !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 6.2.4 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt6.2.4 ||rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Neuer Baustein QButton::Click: Direkter Klick, nicht an Thread delegiert&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 6.2.4 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt6.2.4 ||rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Anbindung von Qt 6-Programmen&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Ausgabe von QT-Version und Buildparameter in Log-Datei bei DLL-Start&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Separate DLLs für QtQuick/QWidget und nur QWidget&lt;br /&gt;
* Feature: Auslesen Vertikaler Header bei Tabellen&lt;br /&gt;
* Feature: Screenshot bei Fehler&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0 || QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.2 || arm32 || gcc || gcc_arm32_Qt.12.2 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.5 || x64 || gcc || gcc_x64_Qt5.9.5 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.1 || x64 || gcc || gcc_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.3 || x64 || gcc || gcc_x64_Qt5.12.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Zurück zu [[Qt Plugin Reference]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=QT_Testing/en&amp;diff=30867</id>
		<title>QT Testing/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=QT_Testing/en&amp;diff=30867"/>
		<updated>2025-10-23T10:50:17Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[QT_Testing|Deutsche Version]] | &#039;&#039;&#039;English Version&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pre-requisites==&lt;br /&gt;
===Qt download===&lt;br /&gt;
https://www.qt.io/download &lt;br /&gt;
&lt;br /&gt;
===Supported Versions===&lt;br /&gt;
Expecco supports testing of Qt applications on Windows and Linux, Qt Quick/QML applications from &#039;&#039;&#039;Qt version 5&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For the different Qt versions, operating systems, development environments (VisualStudio, ...) and computer architectures (32/64 bit) we provide specially generated libraries (dll, so). Some of them are delivered with expecco by default. For other versions we generate the library on request.&lt;br /&gt;
&lt;br /&gt;
An overview of the delivered libraries and their version status can be found [[#ExpeccoTestService Library: Delivery in Expecco Versions|here]].&lt;br /&gt;
&lt;br /&gt;
==Testing Qt Programs==&lt;br /&gt;
&lt;br /&gt;
===Test Preparations===&lt;br /&gt;
&lt;br /&gt;
====Integrating the ExpeccoTestService Library====&lt;br /&gt;
&lt;br /&gt;
To test a Qt program with expecco, the library &#039;&#039;expeccoTestService.[dll/so]&#039;&#039; delivered by us is included in the program to be tested. This is done via a batch or shell script without intervention in the source code of the program to be tested. This DLL implements the communication between the Qt program and expecco.&lt;br /&gt;
&lt;br /&gt;
You can also activate logging for the expeccoTestService library in the batch or shell script.&lt;br /&gt;
&lt;br /&gt;
Instructions for the respective operating system of the test computer can be found here: &lt;br /&gt;
* [[Qt Inject Windows#Inject expeccoTestService-Library|Qt Inject for Windows]]&lt;br /&gt;
* [[Qt Inject Linux#Inject expeccoTestService-Library|Qt Inject for Linux / macOS]].&lt;br /&gt;
&lt;br /&gt;
Alternatively, the ExpeccoTestService library call can be inserted into the source code of the application under test ([[Qt Inject Windows/en#Insert into Source Code (alternative)|Description]]).&lt;br /&gt;
&lt;br /&gt;
====Start Parameters====&lt;br /&gt;
&lt;br /&gt;
The ExpeccoTestService library can be set via environment variables:&lt;br /&gt;
* Log level: &amp;lt;code&amp;gt;ETS_QT_LOG_LEVEL&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; no logging (default value)&amp;lt;br&amp;gt;&lt;br /&gt;
: before expecco version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: logging (debug)&amp;lt;br&amp;gt;&lt;br /&gt;
: from expecco version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt; (debug), &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; (info), &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; (warnings and errors)&lt;br /&gt;
* Log file: &amp;lt;code&amp;gt;ETS_QT_LOG_FILE&amp;lt;/code&amp;gt; (default value: c:\Windows\temp\etsQt.log or /tmp/etsQt.log).&lt;br /&gt;
* Server port: &amp;lt;code&amp;gt;ETS_QT_PORT_NUMBER&amp;lt;/code&amp;gt; (default value: 8866).&lt;br /&gt;
* Timeout preview in ms (only Qt Quick): &amp;lt;code&amp;gt;ETS_TIMEOUT_QUICK_IMAGE&amp;lt;/code&amp;gt; (default value: 200)&lt;br /&gt;
&lt;br /&gt;
====Required Qt Libraries at Runtime====&lt;br /&gt;
&lt;br /&gt;
The ExpeccoTestService library depends on the following Qt libraries:&lt;br /&gt;
* Qt5Core&lt;br /&gt;
* Qt5Gui&lt;br /&gt;
* Qt5Network&lt;br /&gt;
* Qt5Qml&lt;br /&gt;
* Qt5Quick (V2 with Qt Quick integration (expecco 21.2))&lt;br /&gt;
* Qt5QmlModel (V2 with Qt Quick integration (expecco 21.2))&lt;br /&gt;
* Qt5Widgets&lt;br /&gt;
&lt;br /&gt;
===Connecting with Expecco GUI Browser===&lt;br /&gt;
&lt;br /&gt;
The GUI Browser can be used to connect to the program under test:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Connect&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Qt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following dialog, enter the network address of the computer running the application and the port for the connection (8866 by default).&lt;br /&gt;
&lt;br /&gt;
Manual [[Expecco GUI Tests_Extension Reference|GUI Browser]].&lt;br /&gt;
&lt;br /&gt;
==Qt Quick/QML Programs==&lt;br /&gt;
Qt Quick/QML applications can be tested with the expecco QtLibrary starting with expecco 21.2.&lt;br /&gt;
&lt;br /&gt;
For this purpose, a new ExpeccoTextService library with the name suffix &amp;lt;i&amp;gt;V2&amp;lt;/i&amp;gt; is delivered. The library depends on additional Qt libraries (see [[#Required Qt Libraries at Runtime|Required Qt Libraries at Runtime]])&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Only expecco 21.2&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Only one ExpeccoTextService library is delivered, but it already offers Qt Quick/QML support. Only from version 22.1 two separate libraries are provided.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Qt Quick/QML Actions===&lt;br /&gt;
&lt;br /&gt;
For testing Qt Quick/QML programs almost all actions of the QtLibrary can be used, which are defined for testing Qt programs based on QWidget / QApplication.  &lt;br /&gt;
&lt;br /&gt;
QWidget actions are applicable to Qt Quick items derived from QQuickItem.&lt;br /&gt;
QQuickItemView actions are applicable to Qt Quick list items.&lt;br /&gt;
&lt;br /&gt;
The different handling is encapsulated by the ExpeccoTestService. Thus, the action and the input and output pins remain the same for both Qt technologies.&lt;br /&gt;
&lt;br /&gt;
The actions, which are also suitable for tests of Qt Quick/QML programmes, are provided with the label / tag &amp;lt;code&amp;gt;qt-quick&amp;lt;/code&amp;gt;. The actions can thus be displayed with a configurable colour ([[Settings TagColorSettings/en|Extras - Settings - Look &amp;amp; Feel - Colours per Label (Tag)]]).&lt;br /&gt;
&lt;br /&gt;
===Qt Quick/QML Peculiarities===&lt;br /&gt;
&lt;br /&gt;
====Control via Properties====&lt;br /&gt;
&lt;br /&gt;
The basis of all Qt Quick/QML interface elements is the QQuickItem class. Most of its properties can be set via properties. There are many derivations of QQuickItem. Expecco does not provide any special building blocks for this, but the elements can be controlled via their properties.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Qt Quick element !! property !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| Tumbler || currentIndex || &lt;br /&gt;
|-&lt;br /&gt;
| Switch|| checked || Suitable actions:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::GetState&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::SetState = %2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| will be continued&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Actions for Selected Element====&lt;br /&gt;
The display of actions for GUI elements in the GUI browser is not complete because Qt Quick/QML does not have predefined elements for each interface element.&lt;br /&gt;
&lt;br /&gt;
====Not yet implemented====&lt;br /&gt;
* TreeView&lt;br /&gt;
* Menu&lt;br /&gt;
* Selection of cells - so far only one row can be selected&lt;br /&gt;
&lt;br /&gt;
==Qt Known Problems==&lt;br /&gt;
&lt;br /&gt;
===XPath implementation===&lt;br /&gt;
&lt;br /&gt;
XPath can be used to search for matching names or index of elements. Filtering by name parts (starts-with, ends-with, contains) is currently not supported.&lt;br /&gt;
&lt;br /&gt;
===QApplication::ShortCutEvent===&lt;br /&gt;
&lt;br /&gt;
Due to internal changes in Qt version 5, the module no longer works. A workaround is to send the key events separately, as shown in the example in the Test/Demo tab of the action.&lt;br /&gt;
&lt;br /&gt;
==ExpeccoTestService Library: Delivery in Expecco Versions==&lt;br /&gt;
&lt;br /&gt;
List of Expecco versions with the latest update of the &#039;&#039;ExpeccoTestService&#039;&#039; library for the different Qt versions and build systems.&lt;br /&gt;
&lt;br /&gt;
Further versions can be delivered on request.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco Version !! Qt Version !! Architecture !! Build System !! Directory !! Comment&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2025-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.8.3 || x64 || vs2022 || vs2022_x64_Qt6.8.3 ||  rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 || &lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2024-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Logging with Loglevels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
* Mouse event Move has been revised (&amp;lt;i&amp;gt;QT:OS-MouseEvent...&amp;lt;/i&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* New Step &#039;&#039;QButton::Click&#039;&#039;: Direct click, not delegated to thread&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 || rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* QT6 support&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Output version and build date in etsLog at start-up&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Separate DLLs for QtQuick/QWidget and only QWidget&lt;br /&gt;
* Feature: Reading vertical headers for tables&lt;br /&gt;
* Feature: Screenshot in case of error&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.3 || x64 || vs2015 || vs2015_x64_Qt5.9.3&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2015 || vs2015_x64_Qt5.9.1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x86 || vs2015 || vs2015_x86_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.8.0 || x86 || vs2013 || vs2013_Qt5.8.0 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2019-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x64 || vs2013 || vs2013_x64_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2013 || vs2013_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2018-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.4.2 || x86 || vs2010 || vs2010_Qt5.4.2 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Linux / macOS===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco Version !! Qt Version !! Architecture !! Build System !! Directory !! Comment&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2024-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || gcc || gcc_x64_Qt6.2.4 || rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
* Logging with Loglevels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || gcc || gcc_x64_Qt6.2.4 || rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| QT6 support&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || valign=&amp;quot;top&amp;quot; | Output version and build date in etsLog at start-up &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Separate DLLs for QtQuick/QWidget and only QWidget&lt;br /&gt;
* Feature: Reading vertical headers for tables&lt;br /&gt;
* Feature: Screenshot in case of error&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0 || QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.2 || arm32 || gcc || gcc_arm32_Qt.12.2 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.5 || x64 || gcc || gcc_x64_Qt5.9.5 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.1 || x64 || gcc || gcc_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.3 || x64 || gcc || gcc_x64_Qt5.12.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Back to [[Qt Plugin Reference/en|Qt Plugin Reference]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30866</id>
		<title>Release Notes 25.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30866"/>
		<updated>2025-10-23T10:48:06Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 25.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 24.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 25.2 ==&lt;br /&gt;
*Improvement: Inspector shows XML Dom if it starts with &#039;&amp;lt;&#039; and ends with &#039;&amp;gt;&#039; and is parsable without error.&lt;br /&gt;
*Improvement: Handles very long index-lists (eg. 100k) more graceful&lt;br /&gt;
*Improvement: Bundled python3 installer updated to version 3.13.7&lt;br /&gt;
*Qt-Plugin supports Qt6.8 ([[QT_Testing/en#ExpeccoTestService_Library%3A_Delivery_in_Expecco_Versions|Delivered versions for QT and build environment]])&lt;br /&gt;
&lt;br /&gt;
== Release 25.1 ==&lt;br /&gt;
*Improvement: additional &amp;quot;Info&amp;quot; tab in inspector views&lt;br /&gt;
*Improvement: less memory usage in the activity log&lt;br /&gt;
*Improvement: better error messages and more links to settings from the activity log&#039;s error message&lt;br /&gt;
*Improvement: additional units and conversions in the [[PhysicalValues/en|physical values framework]]&lt;br /&gt;
*Improvement: more precision in the [[Numeric_Limits/en#Higher_Precision_Numbers|high precision trigonometric and math functions]]&lt;br /&gt;
*Improvement: WindowsAutomation: Plugin Update to FlaUI 5&lt;br /&gt;
*Improvement: Mobile Testing: Better Device Lock/Unlock Support&lt;br /&gt;
*Improvement: StandardLibrary: &amp;quot;File [ *CSV ]&amp;quot; blocks got an additional &amp;quot;characterEncoding&amp;quot; pin (useful for reading/writing e.g. utf-8 encoded CSV files)&lt;br /&gt;
*Improvement: ExcelLib: better documentation. Now requires the openpyxl package version &amp;gt;= 3.1.5. &lt;br /&gt;
*Improvement: better model language editor (translate and fetch-strings functions)&lt;br /&gt;
*Improvement: ODBCLibrary: improved compatibility with different database vendors (supports the CedarDB database) &lt;br /&gt;
*Feature: translate and spell check in the workspace window&lt;br /&gt;
*Feature: EditLock of suites loaded from expeccoALM / AIDYMO&lt;br /&gt;
*Feature: Start Test in expeccoALM / AIDYMO (via expecco)&lt;br /&gt;
*Feature: new library containing expeccoALM control actions (those from the AIDYMO menu)&lt;br /&gt;
*Fix: the version diff viewer (did not correctly copy changed attachment files)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30865</id>
		<title>Release Notes 25.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30865"/>
		<updated>2025-10-23T10:47:32Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 25.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 24.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 25.2 ==&lt;br /&gt;
*Improvement: Inspector shows XML Dom if it starts with &#039;&amp;lt;&#039; and ends with &#039;&amp;gt;&#039; and is parsable without error.&lt;br /&gt;
*Improvement: Handles very long index-lists (eg. 100k) more graceful&lt;br /&gt;
*Improvement: Bundled python3 installer updated to version 3.13.7&lt;br /&gt;
*Qt-Plugin supports Qt6.8 [[QT_Testing/en#ExpeccoTestService_Library%3A_Delivery_in_Expecco_Versions|Delivered versions for QT and build environment]]&lt;br /&gt;
&lt;br /&gt;
== Release 25.1 ==&lt;br /&gt;
*Improvement: additional &amp;quot;Info&amp;quot; tab in inspector views&lt;br /&gt;
*Improvement: less memory usage in the activity log&lt;br /&gt;
*Improvement: better error messages and more links to settings from the activity log&#039;s error message&lt;br /&gt;
*Improvement: additional units and conversions in the [[PhysicalValues/en|physical values framework]]&lt;br /&gt;
*Improvement: more precision in the [[Numeric_Limits/en#Higher_Precision_Numbers|high precision trigonometric and math functions]]&lt;br /&gt;
*Improvement: WindowsAutomation: Plugin Update to FlaUI 5&lt;br /&gt;
*Improvement: Mobile Testing: Better Device Lock/Unlock Support&lt;br /&gt;
*Improvement: StandardLibrary: &amp;quot;File [ *CSV ]&amp;quot; blocks got an additional &amp;quot;characterEncoding&amp;quot; pin (useful for reading/writing e.g. utf-8 encoded CSV files)&lt;br /&gt;
*Improvement: ExcelLib: better documentation. Now requires the openpyxl package version &amp;gt;= 3.1.5. &lt;br /&gt;
*Improvement: better model language editor (translate and fetch-strings functions)&lt;br /&gt;
*Improvement: ODBCLibrary: improved compatibility with different database vendors (supports the CedarDB database) &lt;br /&gt;
*Feature: translate and spell check in the workspace window&lt;br /&gt;
*Feature: EditLock of suites loaded from expeccoALM / AIDYMO&lt;br /&gt;
*Feature: Start Test in expeccoALM / AIDYMO (via expecco)&lt;br /&gt;
*Feature: new library containing expeccoALM control actions (those from the AIDYMO menu)&lt;br /&gt;
*Fix: the version diff viewer (did not correctly copy changed attachment files)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=QT_Testing&amp;diff=30864</id>
		<title>QT Testing</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=QT_Testing&amp;diff=30864"/>
		<updated>2025-10-23T10:40:55Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Deutsche Version&#039;&#039;&#039; | [[ QT Testing/en | English Version ]]&lt;br /&gt;
&lt;br /&gt;
==Vorbedingungen==&lt;br /&gt;
===Qt-Download===&lt;br /&gt;
https://www.qt.io/download &lt;br /&gt;
&lt;br /&gt;
===Unterstützte Versionen===&lt;br /&gt;
Expecco unterstützt das Testen von Qt-Applikationen unter Windows und Linux, Qt Quick/QML-Anwendungen ab der &#039;&#039;&#039;Qt Version 5&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Für die verschiedenen Qt-Versionen, Betriebssysteme, Entwicklungsumgebungen (VisualStudio, ...) und Rechnerarchitekturen (32/64 bit) stellen wir eigens erzeugte Bibliotheken (dll, so) zur Verfügung. Einige davon werden standardmäßig mit expecco ausgeliefert. Für andere Versionen erzeugen wir die Bibliothek auf Anfrage.&lt;br /&gt;
&lt;br /&gt;
Eine Übersicht über die ausgelieferten Bibliotheken und ihren Versionsstand finden sie [[#ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen|hier]].&lt;br /&gt;
&lt;br /&gt;
==Testen von Qt-Programmen==&lt;br /&gt;
&lt;br /&gt;
===Testvorbereitungen===&lt;br /&gt;
&lt;br /&gt;
====Einbinden der expeccoTestService-Bibliothek====&lt;br /&gt;
&lt;br /&gt;
Um mit expecco ein Qt-Programm zu testen, wird in das zu testenden Programms die von uns ausgelieferte Bibliothek &#039;&#039;expeccoTestService.[dll/so]&#039;&#039; eingebunden. Dies erfolgt über ein Batch- bzw. Shell-Skript ohne Eingriff in den Sourcecode des zu testenden Programms. Diese DLL übernimmt die Kommunikation zwischen dem Qt-Program und expecco über eine Socketverbindung.&lt;br /&gt;
&lt;br /&gt;
Im Batch- bzw. Shell-Skript können Sie auch das Logging für die expeccoTestService-Bibliothek aktivieren.&lt;br /&gt;
&lt;br /&gt;
Eine Anleitung für das jeweilige Betriebssystem des Testrechners finden Sie hier:&lt;br /&gt;
* [[Qt Inject Windows#Inject expeccoTestService-Library|Qt Inject für Windows]]&lt;br /&gt;
* [[Qt Inject Linux#Inject expeccoTestService-Library|Qt Inject für Linux / macOS]].&lt;br /&gt;
&lt;br /&gt;
Alternativ kann der Aufruf der ExpeccoTestService-Bibliothek auch in den Sourcecode der zu testenden Applikation eingefügt werden ([[Qt Inject Windows#Insert into Source Code (alternative)|Beschreibung]]).&lt;br /&gt;
&lt;br /&gt;
====Startparameter====&lt;br /&gt;
&lt;br /&gt;
Die ExpeccoTestService-Bibliothek kann über Umgebungsvariablen eingestellt werden:&lt;br /&gt;
* Log-Level: &amp;lt;code&amp;gt;ETS_QT_LOG_LEVEL&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; keine Logausgaben (Standardwert)&lt;br /&gt;
: vor expecco-Version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: Debug-Logausgaben&lt;br /&gt;
: ab expecco-Version 24.1: &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt; (Debug-Logausgaben), &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; (Info-Logausgaben),  &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; (Warnungen und Fehler)&lt;br /&gt;
&lt;br /&gt;
* Log-File: &amp;lt;code&amp;gt;ETS_QT_LOG_FILE&amp;lt;/code&amp;gt; (Standardwert: c:\Windows\temp\etsQt.log bzw. /tmp/etsQt.log)&lt;br /&gt;
* Server-Port: &amp;lt;code&amp;gt;ETS_QT_PORT_NUMBER&amp;lt;/code&amp;gt; (Standardwert: 8866)&lt;br /&gt;
* Timeout Vorschau im ms (nur Qt Quick): &amp;lt;code&amp;gt;ETS_TIMEOUT_QUICK_IMAGE&amp;lt;/code&amp;gt; (Standardwert: 200)&lt;br /&gt;
&lt;br /&gt;
====Benötigte Qt-Bibliotheken zur Laufzeit====&lt;br /&gt;
&lt;br /&gt;
Die ExpeccoTestService-Bibliothek ist abhängig von folgenden Qt-Bibliotheken:&lt;br /&gt;
* Qt5Core&lt;br /&gt;
* Qt5Gui&lt;br /&gt;
* Qt5Network&lt;br /&gt;
* Qt5Qml&lt;br /&gt;
* Qt5Quick (V2 mit Qt Quick-Integration (expecco 21.2))&lt;br /&gt;
* Qt5QmlModel (V2 mit Qt Quick-Integration (expecco 21.2))&lt;br /&gt;
* Qt5Widgets&lt;br /&gt;
&lt;br /&gt;
===Verbinden mit expecco GUI Browser===&lt;br /&gt;
&lt;br /&gt;
Mit dem GUI Browser kann eine Verbindung zum zu testenden Programm aufgebaut werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Verbinden&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Qt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im nachfolgenden Dialog die Netzwerkadresse des Rechners, auf dem die Applikation läuft eingeben sowie den Port für die Verbindung (Standardmäßig 8866)&lt;br /&gt;
&lt;br /&gt;
Anleitung [[Expecco GUI Tests_Extension Reference|GUI Browser]].&lt;br /&gt;
&lt;br /&gt;
==Qt Quick-/QML-Programme==&lt;br /&gt;
&lt;br /&gt;
Qt Quick-/QML-Anwendungen können ab expecco 21.2 mit der expecco QtLibrary getestet werden. &lt;br /&gt;
&lt;br /&gt;
Hierfür wird eine neue ExpeccoTextService-Bibliothek mit dem Namenszusatz &amp;lt;i&amp;gt;V2&amp;lt;/i&amp;gt; ausgeliefert. Die Bibliothek ist von zusätzlichen Qt-Bibliotheken abhängig (siehe [[#Benötigte Qt-Bibliotheken zur Laufzeit|Benötigte Qt-Bibliotheken zur Laufzeit]]).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Nur expecco 21.2&#039;&#039;&#039;&amp;lt;br&amp;gt;Es wird nur eine ExpeccoTextService-Bibliothek ausgeliefert, die aber bereits Qt Quick-/QML-Support bietet. Erst ab Version 22.1 werden zwei separate Bibliotheken bereitsgestellt.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
===Qt Quick/QML-Aktionen===&lt;br /&gt;
&lt;br /&gt;
Für den Test von Qt Quick-/QML-Programmen können fast alle Aktionen der QtLibrary verwendet werden, die für das Testen von Qt-Programmen auf Basis von QWidget / QApplication definiert sind. &lt;br /&gt;
&lt;br /&gt;
QWidget-Aktionen sind dabei für Qt Quick-Elemente, die sich von QQuickItem ableiten, anwendbar.&lt;br /&gt;
QQuickItemView-Aktionen sind für die Listen-Elemente von Qt Quick geeignet.&lt;br /&gt;
&lt;br /&gt;
Die unterschiedliche Behandlung kapselt der ExpeccoTestService. Die Aktion und die Eingangs- und Ausgangspins bleiben somit für beide Qt-Technologien gleich.&lt;br /&gt;
&lt;br /&gt;
Die Aktionen, die auch für Tests von Qt Quick-/QML-Programmen geeignet sind, sind mit dem Etikett / Tag &amp;lt;code&amp;gt;qt-quick&amp;lt;/code&amp;gt; versehen. Die Aktionen können dadurch mit einer konfigurierbaren Farbe dargestellt werden ([[Settings TagColorSettings/en|Extras - Einstellungen - Look &amp;amp; Feel - Farben per Etikett (Tag)]]).&lt;br /&gt;
&lt;br /&gt;
===Qt Quick-/QML-Besonderheiten===&lt;br /&gt;
&lt;br /&gt;
====Steuerung über Eigenschaften / Properties====&lt;br /&gt;
&lt;br /&gt;
Basis aller Qt Quick-/QML-Oberflächenelemente ist die Klasse QQuickItem. Über Properties / Eigenschaften können in ihr die meisten Eigenschaften eingestellt werden. Von QQuickItem gibt es eine Vielzahl von Ableitungen. Expecco stellt dafür keine speziellen Bausteine zur Verfügung, die Elemente sind aber über ihre Eigenschaften steuerbar.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Qt Quick-Element !! Eigenschaft !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
| Tumbler || currentIndex || &lt;br /&gt;
|-&lt;br /&gt;
| Switch|| checked || Geeignete Aktionen:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::GetState&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;QCheckButton::SetState = %2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| wird fortgesetzt&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Aktionen für selektiertes Element====&lt;br /&gt;
Die Anzeige von Aktionen für GUI-Elemente im GUI-Browser ist nicht vollständig, da Qt Quick/QML nicht für jeden Oberflächenelement vordefinierte Elemente hat.&lt;br /&gt;
&lt;br /&gt;
====Noch nicht implementiert====&lt;br /&gt;
* TreeView&lt;br /&gt;
* Menu&lt;br /&gt;
* Selektion von Zellen - bisher kann nur eine Zeile selektiert werden&lt;br /&gt;
&lt;br /&gt;
==Bekannte Probleme==&lt;br /&gt;
&lt;br /&gt;
===XPath-Implementierung===&lt;br /&gt;
&lt;br /&gt;
Mit XPath kann auf Übereinstimmung von Namen oder Index der Elemente gesucht werden. Filterung nach Namensteilen (Anfang, Ende, Mitte) wird derzeit nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
===QApplication::ShortCutEvent===&lt;br /&gt;
&lt;br /&gt;
Aufgrund von internen Änderungen in Qt Version 5 funktioniert der Baustein nicht mehr. Ein Workaround besteht darin, die Tastenereignisse separat zu senden, wie im Beispiel im Reiter Test/Demo der Aktion gezeigt.&lt;br /&gt;
&lt;br /&gt;
==ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen==&lt;br /&gt;
&lt;br /&gt;
Aufstellung der Expecco-Versionen mit der letzten Aktualisierung der &#039;&#039;ExpeccoTestService&#039;&#039;-Bibliothek für die verschieden Qt-Versionen und Buildsysteme.&lt;br /&gt;
&lt;br /&gt;
Weitere Versionen können auf Anfrage geliefert werden.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco-Version !! Qt Version !! Architektur !! Build-System !! Verzeichnis !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2025-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.8.3 || x64 || vs2022 || vs2022_x64_Qt6.8.3 ||  rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 || &lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Neuer Baustein &#039;&#039;QButton::Click&#039;&#039;: Direkter Klick, nicht an Thread delegiert&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2022 || vs2022_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 6.2.4 || x64 || vs2019 || vs2019_x64_Qt6.2.4 ||  rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Anbindung von Qt 6-Programmen&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Ausgabe von QT-Version und Buildparameter in Log-Datei bei DLL-Start&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 ||  rowspan=&amp;quot;3&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Separate DLLs für QtQuick/QWidget und nur QWidget&lt;br /&gt;
* Feature: Auslesen Vertikaler Header bei Tabellen&lt;br /&gt;
* Feature: Screenshot bei Fehler&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.14.2 || x86 || vs2017 || vs2017_Qt5.14.2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || vs2019 || vs2019_x64_Qt5.15.0 || rowspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot;| QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
|| 5.15.0 || x86 || vs2019 || vs2019_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.3 || x64 || vs2015 || vs2015_x64_Qt5.9.3&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2015 || vs2015_x64_Qt5.9.1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x86 || vs2015 || vs2015_x86_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.8.0  || x86 || vs2013 || vs2013_Qt5.8.0 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2019-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.3 || x64 || vs2013 || vs2013_x64_Qt5.9.3 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.1 || x64 || vs2013 || vs2013_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2018-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.4.2 || x86 || vs2010 || vs2010_Qt5.4.2 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Linux / macOS===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Expecco-Version !! Qt Version !! Architektur !! Build-System !! Verzeichnis !! Kommentar&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 6.2.4 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt6.2.4 ||rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Neuer Baustein QButton::Click: Direkter Klick, nicht an Thread delegiert&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2023-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 6.2.4 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt6.2.4 ||rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
* Anbindung von Qt 6-Programmen&lt;br /&gt;
* Bugfix QtQuick: MouseClick&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-2&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Ausgabe von QT-Version und Buildparameter in Log-Datei bei DLL-Start&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2022-1&amp;lt;/b&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;| 5.15.0 || valign=&amp;quot;top&amp;quot;| x64 || valign=&amp;quot;top&amp;quot;| gcc || valign=&amp;quot;top&amp;quot;| gcc_x64_Qt5.15.0 || &lt;br /&gt;
* Separate DLLs für QtQuick/QWidget und nur QWidget&lt;br /&gt;
* Feature: Auslesen Vertikaler Header bei Tabellen&lt;br /&gt;
* Feature: Screenshot bei Fehler&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.15.0 || x64 || gcc || gcc_x64_Qt5.15.0 || QtQuick / QML&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2021-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.2 || arm32 || gcc || gcc_arm32_Qt.12.2 ||&lt;br /&gt;
|-&lt;br /&gt;
|| 5.9.5 || x64 || gcc || gcc_x64_Qt5.9.5 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-2&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.9.1 || x64 || gcc || gcc_x64_Qt5.9.1 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|&amp;lt;b&amp;gt;2020-1&amp;lt;/b&amp;gt;&lt;br /&gt;
|| 5.12.3 || x64 || gcc || gcc_x64_Qt5.12.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Zurück zu [[Qt Plugin Reference]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Lizenzserver_expecco_ALM&amp;diff=30839</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=30839"/>
		<updated>2025-09-04T09:10:56Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Voraussetzungen */&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 2012 / Windows 10 oder höher zu installieren. Die Installation auf anderen Betriebssystemen (wie z.B. Linux) 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;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Bitte halten Sie Ihre Lizenzdatei und ggfs. den Dongle für die Installation von expecco ALM bereit.&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Installation in der Cloud benötigen Sie keinen Dongle; wir liefern dann eine Lizenzdatei, die an die MAC-Adresse des Servers gebunden ist. Falls sich der Server und damit dessen MAC-Adresse ändert, erhalten Sie eine neue angepasste Lizenzdatei von uns.&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 24.2.0 Setup.exe&amp;quot;, wobei die Versionsnummer abweichen kann. Den 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;
* Laden Sie den expecco ALM Installer auf dem Server, auf dem expecco ALM künftig laufen soll, herunter&lt;br /&gt;
* Legen Sie Ihre Lizenzdatei ebenfalls auf dem Server ab&lt;br /&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;
* Führen Sie den expecco ALM Installer (&amp;quot;expecco ALM ?.?.?.? Setup.exe&amp;quot; bzw. unter Linux &amp;quot;expecco ALM ?.?.?.? Setup.package&amp;quot;) aus&lt;br /&gt;
&lt;br /&gt;
Für Linux werden zusätzliche Pakete der Linux-Distribution benötigt. Diese sind [[Installation#Installation_von_expecco_auf_Linux|hier]] aufgeführt.&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 8465 - 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>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30823</id>
		<title>Release Notes 25.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_25.x&amp;diff=30823"/>
		<updated>2025-07-23T07:20:30Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 25.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 24.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 25.1 ==&lt;br /&gt;
*Improvement: additional &amp;quot;Info&amp;quot; tab in inspector views&lt;br /&gt;
*Improvement: less memory usage in the activity log&lt;br /&gt;
*Improvement: better error messages and more links to settings from the activity log&#039;s error message&lt;br /&gt;
*Improvement: additional units and conversions in the [[PhysicalValues/en|physical values framework]]&lt;br /&gt;
*Improvement: more precision in the [[Numeric_Limits/en#Higher_Precision_Numbers|high precision trigonometric and math functions]]&lt;br /&gt;
*Improvement: WindowsAutomation: Plugin Update to FlaUI 5&lt;br /&gt;
*Improvement: Mobile Testing: Better Device Lock/Unlock Support&lt;br /&gt;
*Improvement: StandardLibrary: &amp;quot;File [ *CSV ]&amp;quot; blocks got an additional &amp;quot;characterEncoding&amp;quot; pin (useful for reading/writing e.g. utf-8 encoded CSV files)&lt;br /&gt;
*Improvement: ExcelLib: better documentation. Now requires the openpyxl package version &amp;gt;= 3.1.5. &lt;br /&gt;
*Improvement: better model language editor (translate and fetch-strings functions)&lt;br /&gt;
*Improvement: ODBCLibrary: improved compatibility with different database vendors (supports the CedarDB database) &lt;br /&gt;
*Feature: translate and spell check in the workspace window&lt;br /&gt;
*Feature: EditLock of suites loaded from expeccoALM / AIDYMO&lt;br /&gt;
*Feature: Start Test in expeccoALM / AIDYMO (via expecco)&lt;br /&gt;
*Feature: new library containing expeccoALM control actions (those from the AIDYMO menu)&lt;br /&gt;
*Fix: the version diff viewer (did not correctly copy changed attachment files)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Expecco_wiki:Impressum&amp;diff=30058</id>
		<title>Expecco wiki:Impressum</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Expecco_wiki:Impressum&amp;diff=30058"/>
		<updated>2025-03-26T07:30:56Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;eXept Software AG&amp;lt;br&amp;gt;&lt;br /&gt;
Talstr. 3&amp;lt;br&amp;gt;&lt;br /&gt;
74321 Bietigheim-Bissingen&amp;lt;br&amp;gt;&lt;br /&gt;
Germany&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tel.: +49 7142 91948-0&amp;lt;br&amp;gt;&lt;br /&gt;
Fax: +49 7142 91948-44&lt;br /&gt;
&lt;br /&gt;
E-Mail: info@exept.de&amp;lt;br&amp;gt;&lt;br /&gt;
Internet: www.exept.de&lt;br /&gt;
&lt;br /&gt;
Vorstand:&amp;lt;br&amp;gt;&lt;br /&gt;
Stefan Vogel&lt;br /&gt;
&lt;br /&gt;
Aufsichtsrat:&amp;lt;br&amp;gt;&lt;br /&gt;
Claus Gittinger (Vorsitzender)&lt;br /&gt;
&lt;br /&gt;
Registereinträge:&amp;lt;br&amp;gt;&lt;br /&gt;
Registergericht: Amtsgericht Stuttgart&amp;lt;br&amp;gt;&lt;br /&gt;
Registernummer: HRB 301567&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umsatzsteuer-Identifikationsnummer:&amp;lt;br&amp;gt;&lt;br /&gt;
DE 178373827&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haftungsausschluss:&amp;lt;br&amp;gt;&lt;br /&gt;
Die eXept AG distanziert sich in dieser Internetpräsenz ausdrücklich von allen Inhalten, die über Verweise (Links) von dieser Domain aus erreichbar sind, sofern diese Inhalte anstößig oder strafbar sind. Zum Zeitpunkt der Erstellung dieser Seiten war kein Inhalt, auf den von diesem Webangebot verwiesen wird, anstößig oder gar strafbar.&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&amp;diff=30039</id>
		<title>Expecco ALM Einrichten Vorgehensweise</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&amp;diff=30039"/>
		<updated>2025-03-13T16:38:45Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Schnellstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}&lt;br /&gt;
&lt;br /&gt;
==Vorab Informationen==&lt;br /&gt;
Nachdem Sie expecco ALM das erste Mal installiert haben, wird dies mit einer leeren Datenbank hochfahren. Jetzt können Sie expecco ALM entsprechend Ihrer Anforderungen einrichten. Hierzu sollten Sie Ihre Anforderungen genau definieren und auf ein Minimum herunterbrechen. Denn je komplexer Ihre Anforderungen sind, desto mehr müssen Sie sich mit den Konzepten und Funktionsweisen von expecco ALM auseinandersetzen, um auch in der Lage zu sein, diese komplexen Anforderungen in expecco ALM abzubilden.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich können Sie sich auch gerne an uns wenden und Ihre Anforderungen durchgeben. Unsere Profis werden Ihre Anforderungen bestmöglich auf expecco ALM abbilden und Ihnen das daraus entstandene Setup als Ausgangsdatenbank zukommen lassen.&lt;br /&gt;
&lt;br /&gt;
Definieren Sie Ihre Anforderungen anhand folgender Fragen:&lt;br /&gt;
* Was möchten Sie mit expecco ALM alles machen?&lt;br /&gt;
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?&lt;br /&gt;
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?&lt;br /&gt;
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?&lt;br /&gt;
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?&lt;br /&gt;
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?&lt;br /&gt;
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten, und falls ja, auf welche Felder?&lt;br /&gt;
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?&lt;br /&gt;
&lt;br /&gt;
==Schnellstart==&lt;br /&gt;
Wenn Sie schnell starten wollen, werden minimal benötigt:&lt;br /&gt;
* Teilnehmende Personen&lt;br /&gt;
:In kleinen Entwicklerteams können Sie auf individuelle Rollenvergabe verzichten und jedes Teammitglied &amp;quot;projektverantwortlich&amp;quot; machen. Damit haben erst einmal alle gleiche Rechte. Oder sie können sie in die Gruppen &amp;quot;Entwickler&amp;quot;, &amp;quot;Tester&amp;quot; und &amp;quot;Kunden/Anwender&amp;quot; aufteilen, und dabei letzteren lediglich Zugriff auf Fehler und Anforderungen geben, sie aber vom Testbetrieb ausschließen.&lt;br /&gt;
:&lt;br /&gt;
:Sie können jederzeit alles später wieder ändern, Personen anderen Gruppen zuteilen oder neue Rechte vergeben.&lt;br /&gt;
&lt;br /&gt;
* Mindestens ein Projekt&lt;br /&gt;
&lt;br /&gt;
==Organisation==&lt;br /&gt;
Unter dem Menüpunkt &amp;quot;&#039;&#039;Organisation&#039;&#039;&amp;quot; legen Sie Personen, Gruppen, Kunden und Orte an; &lt;br /&gt;
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.&lt;br /&gt;
&lt;br /&gt;
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.&lt;br /&gt;
&lt;br /&gt;
===Personen===&lt;br /&gt;
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System. Das Kennwort kann jederzeit über &amp;quot;&#039;&#039;Einstellungen/Kennwort&#039;&#039;&amp;quot; geändert werden.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.&lt;br /&gt;
&lt;br /&gt;
Die Rechte der Benutzer werden unter &amp;quot;&#039;&#039;Gruppe&#039;&#039;&amp;quot; vergeben.&lt;br /&gt;
&lt;br /&gt;
===Gruppen===&lt;br /&gt;
Hier werden Gruppen angelegt und erhalten einen Namen und einen Gruppenleiter.&lt;br /&gt;
&lt;br /&gt;
Im Kasten &amp;quot;&#039;&#039;Mitglieder&#039;&#039;&amp;quot; werden Ihnen alle Personen angezeigt. Wählen Sie die Gruppenmitglieder aus &lt;br /&gt;
und verschieben sie nacheinander mit dem Pfeil nach rechts, es öffnet sich ein Kasten für die Gruppenmitglieder. &lt;br /&gt;
Mit einem Klick auf den Namen aktivieren Sie die rechts angezeigten Rollen und können nun so jeder Person ihre Rolle zuordnen.&lt;br /&gt;
&lt;br /&gt;
Eine Person kann Mitglied mehrerer Gruppen sein und in jeder eine oder mehrere Rollen einnehmen: Projektverantwortlicher, Entwickler, Kunde, Tester, etc.&lt;br /&gt;
Die Rollen eines Benutzers können für verschiedene Projekte unterschiedlich sein. &lt;br /&gt;
Bei Bedarf können unter &amp;quot;&#039;&#039;Organisation/Rollen/Anlegen&#039;&#039;&amp;quot; eigene Rollen spezifiziert werden.&lt;br /&gt;
&lt;br /&gt;
===Kunden===&lt;br /&gt;
Expecco ALM ermöglicht es auch Ihren Kunden eine Sicht auf Projekte oder Teilaspekte davon anzubieten.&lt;br /&gt;
Ebenso können Anforderungen und Fehler vom Kunden gemeldet werden. Optional kann expecco ALM auch Serviceleistungen abrechnen, wozu ein Punktesystem (&amp;quot;Servicepunkte&amp;quot;) und ein Punktekonto zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
Fall Sie dies wünschen, können Sie hier jedem Kunden individuell Zugriff erteilen.  &lt;br /&gt;
&lt;br /&gt;
Bei &amp;quot;&#039;&#039;Kunden Anlegen&#039;&#039;&amp;quot; sollten Sie auch einen Verantwortlichen aus Ihrer Firma und den Ansprechpartner &amp;quot;&#039;&#039;Kontakt&#039;&#039;&amp;quot; beim Kunden angeben.&lt;br /&gt;
&lt;br /&gt;
In dieser Maske kann ein Servicelevel angegeben und der Kontostand eingetragen werden (falls Sie Servicepunkte abrechnen wollen).&lt;br /&gt;
&amp;lt;P&amp;gt;Ist der Kunde angelegt, wird die Menüleiste links aktiviert. Dort finden Sie:&lt;br /&gt;
&lt;br /&gt;
* Liste: die Liste aller Kunden. Die Auswahl der angezeigten Spalten können Sie in dem karierten Fenster (neben dem Filter) auswählen.&lt;br /&gt;
* Details: zum Kunden&lt;br /&gt;
* Supportpunkte: in der Übersicht können Sie Supportpunkte für einzelen Projekte reservieren.&lt;br /&gt;
&lt;br /&gt;
In der Liste werden die verbuchten Supportpunkte angezeigt.&lt;br /&gt;
&lt;br /&gt;
* Anhänge: hier werden alle hochgeladenen Anhänge aufgelistet.&lt;br /&gt;
* Interessenten: hier bestimmen Sie, bei welchen Änderungen Sie benachrichtigt werden möchten.&lt;br /&gt;
* Referenzen: Übersicht über alle Artefakte des Kunden - Benutzer, Projekte, Komponenten, Arbeitspakete, Aktionen, Fehler, Anforderungen&lt;br /&gt;
* Historie: über alle Änderungen&lt;br /&gt;
&lt;br /&gt;
===Orte===&lt;br /&gt;
&lt;br /&gt;
Anlegen der Orte für Besprechungen, Standorte für Geräte und Rechner.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie über einen größeren Gerätepark verfügen, in dem z.B: Meßgeräte beweglich sind, können Sie damit auch diese verwalten und damit helfen Testaufbauten (sog. &amp;quot;Testbeds&amp;quot;) zu beschleunigen. Natürlich lassen sich hier auch beliebige andere Ressourcen lokalisieren (z.B. Fahrzeuge). Bei Bedarf kann die Lokalisierung auch automatisiert werden (z.B. mittels NFC/RFID oder GPS Schnittstellen).&lt;br /&gt;
&lt;br /&gt;
===Kategorien===&lt;br /&gt;
&lt;br /&gt;
Hier werden primär Einträge für Auswahllisten und Attribute für Workflows definiert.&lt;br /&gt;
&lt;br /&gt;
Am besten erklärt sich das an konkreten Beispielen: &lt;br /&gt;
&lt;br /&gt;
* jede Fehlermeldung besitzt ein Feld &amp;quot;Systemtyp&amp;quot;, welches das Betriebssystem beschreibt (also &amp;quot;Windows10&amp;quot;, &amp;quot;Windows11&amp;quot;, &amp;quot;Linux&amp;quot; etc.)&lt;br /&gt;
:Die möglichen Werte sind unter der Kategorie &amp;quot;OperatingSystem&amp;quot; zu finden. Alle Einträge darunter scheinen in den entsprechenden Auswahllisten. &lt;br /&gt;
&lt;br /&gt;
* Arbeitsabläufe (&amp;quot;&#039;&#039;Workflows&#039;&#039;&amp;quot;) werden durch den Zustand eines Artefakts definiert. ZB. kann eine Anforderung die Zustände &amp;quot;gemeldet&amp;quot;, &amp;quot;angenommen&amp;quot;, &amp;quot;in Arbeit&amp;quot;, &amp;quot;abgelehnt&amp;quot; etc. annehmen. Je nach Zustand sind unterschiedliche Folgeaktionen möglich bzw. erforderlich, und auch u.U. unterschiedliche Eingabefelder sichtbar oder beschreibbar. Sowohl die Liste der möglichen Zustände (die hier definiert wird) als auch die Zuordnung zu Workflows und sichtbaren Feldern (die an anderer Stelle erfolgt) sind in expecco ALM frei definierbar und änderbar. Bei der Erstinstallation werden einige typische Workflows (for kleine, mittlere und große Unternehmen) mitgeliefert. Diese können so übernommen werden, aber auch individuellen Bedürfnissen angepasst, erweitert oder vereinfacht werden.&lt;br /&gt;
&lt;br /&gt;
Sie können hier die Liste der angebotenen Einträge erweitern, kürzen oder umbenennen. Ebenso können auch eigene Kategorien definiert werden (eg. &amp;quot;Antrieb&amp;quot;, &amp;quot;Antrieb/Diesel&amp;quot;, &amp;quot;Antrieb/Hybrid&amp;quot;, &amp;quot;Antrieb/Elektrisch&amp;quot;) und dann als &amp;quot;Customfeld&amp;quot; in einem Artefakt erscheinen.&lt;br /&gt;
&lt;br /&gt;
===Rechte===&lt;br /&gt;
&lt;br /&gt;
===Rollen===&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
&lt;br /&gt;
===Benutzerdefinierte Felder===&lt;br /&gt;
&lt;br /&gt;
==Projekte==&lt;br /&gt;
&lt;br /&gt;
Unter dem Menüpunkt &amp;quot;&#039;&#039;Projekte&#039;&#039;&amp;quot; legen Sie Projekte und Arbeitspakete (&#039;&#039;Releases&#039;&#039;) an.&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&amp;diff=30038</id>
		<title>Expecco ALM Einrichten Vorgehensweise</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&amp;diff=30038"/>
		<updated>2025-03-13T15:39:54Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}&lt;br /&gt;
&lt;br /&gt;
==Vorab Informationen==&lt;br /&gt;
Nachdem Sie expecco ALM das erste Mal installiert haben, wird dies mit einer leeren Datenbank hochfahren. Jetzt können Sie expecco ALM entsprechend Ihrer Anforderungen einrichten. Hierzu sollten Sie Ihre Anforderungen genau definieren und auf ein Minimum herunterbrechen. Denn je komplexer Ihre Anforderungen sind, desto mehr müssen Sie sich mit den Konzepten und Funktionsweisen von expecco ALM auseinandersetzen, um auch in der Lage zu sein, diese komplexen Anforderungen in expecco ALM abzubilden.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich können Sie sich auch gerne an uns wenden und Ihre Anforderungen durchgeben. Unsere Profis werden Ihre Anforderungen bestmöglich auf expecco ALM abbilden und Ihnen das daraus entstandene Setup als Ausgangsdatenbank zukommen lassen.&lt;br /&gt;
&lt;br /&gt;
Definieren Sie Ihre Anforderungen anhand folgender Fragen:&lt;br /&gt;
* Was möchten Sie mit expecco ALM alles machen?&lt;br /&gt;
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?&lt;br /&gt;
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?&lt;br /&gt;
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?&lt;br /&gt;
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?&lt;br /&gt;
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?&lt;br /&gt;
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten, und falls ja, auf welche Felder?&lt;br /&gt;
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?&lt;br /&gt;
&lt;br /&gt;
==Schnellstart==&lt;br /&gt;
Wenn Sie schnell starten wollen, werden minimal benötigt:&lt;br /&gt;
* teilnehmende Personen&lt;br /&gt;
:Sie können in kleinen Entwicklerteams auf individuelle Rollenvergabe verzichten, und jeden &amp;quot;projektverantwortlich&amp;quot; machen. Damit haben erst einmal alle Teammitglieder gleiche Rechte. Oder auch in &amp;quot;Entwickler&amp;quot;, &amp;quot;Tester&amp;quot; und &amp;quot;Kunden/Anwender&amp;quot; aufteilen, und letzteren lediglich Zugriff auf Fehler und Anforderungen geben, sie aber vom Testbetrieb ausschließen.&lt;br /&gt;
:&lt;br /&gt;
:Sie können alles später aber jederzeit wieder ändern, Personen anderen Gruppen zuteilen oder neue Rechte vergeben.&lt;br /&gt;
&lt;br /&gt;
* mindestens ein Projekt&lt;br /&gt;
&lt;br /&gt;
==Organisation==&lt;br /&gt;
Unter dem Menüpunkt &amp;quot;&#039;&#039;Organisation&#039;&#039;&amp;quot; legen Sie Personen, Gruppen, Kunden und Orte an; &lt;br /&gt;
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.&lt;br /&gt;
&lt;br /&gt;
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.&lt;br /&gt;
&lt;br /&gt;
===Personen===&lt;br /&gt;
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System. Das Kennwort kann jederzeit über &amp;quot;&#039;&#039;Einstellungen/Kennwort&#039;&#039;&amp;quot; geändert werden.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.&lt;br /&gt;
&lt;br /&gt;
Die Rechte der Benutzer werden unter &amp;quot;&#039;&#039;Gruppe&#039;&#039;&amp;quot; vergeben.&lt;br /&gt;
&lt;br /&gt;
===Gruppen===&lt;br /&gt;
Hier werden Gruppen angelegt und erhalten einen Namen und einen Gruppenleiter.&lt;br /&gt;
&lt;br /&gt;
Im Kasten &amp;quot;&#039;&#039;Mitglieder&#039;&#039;&amp;quot; werden Ihnen alle Personen angezeigt. Wählen Sie die Gruppenmitglieder aus &lt;br /&gt;
und verschieben sie nacheinander mit dem Pfeil nach rechts, es öffnet sich ein Kasten für die Gruppenmitglieder. &lt;br /&gt;
Mit einem Klick auf den Namen aktivieren Sie die rechts angezeigten Rollen und können nun so jeder Person ihre Rolle zuordnen.&lt;br /&gt;
&lt;br /&gt;
Eine Person kann Mitglied mehrerer Gruppen sein und in jeder eine oder mehrere Rollen einnehmen: Projektverantwortlicher, Entwickler, Kunde, Tester, etc.&lt;br /&gt;
Die Rollen eines Benutzers können für verschiedene Projekte unterschiedlich sein. &lt;br /&gt;
Bei Bedarf können unter &amp;quot;&#039;&#039;Organisation/Rollen/Anlegen&#039;&#039;&amp;quot; eigene Rollen spezifiziert werden.&lt;br /&gt;
&lt;br /&gt;
===Kunden===&lt;br /&gt;
Expecco ALM ermöglicht es auch Ihren Kunden eine Sicht auf Projekte oder Teilaspekte davon anzubieten.&lt;br /&gt;
Ebenso können Anforderungen und Fehler vom Kunden gemeldet werden. Optional kann expecco ALM auch Serviceleistungen abrechnen, wozu ein Punktesystem (&amp;quot;Servicepunkte&amp;quot;) und ein Punktekonto zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
Fall Sie dies wünschen, können Sie hier jedem Kunden individuell Zugriff erteilen.  &lt;br /&gt;
&lt;br /&gt;
Bei &amp;quot;&#039;&#039;Kunden Anlegen&#039;&#039;&amp;quot; sollten Sie auch einen Verantwortlichen aus Ihrer Firma und den Ansprechpartner &amp;quot;&#039;&#039;Kontakt&#039;&#039;&amp;quot; beim Kunden angeben.&lt;br /&gt;
&lt;br /&gt;
In dieser Maske kann ein Servicelevel angegeben und der Kontostand eingetragen werden (falls Sie Servicepunkte abrechnen wollen).&lt;br /&gt;
&amp;lt;P&amp;gt;Ist der Kunde angelegt, wird die Menüleiste links aktiviert. Dort finden Sie:&lt;br /&gt;
&lt;br /&gt;
* Liste: die Liste aller Kunden. Die Auswahl der angezeigten Spalten können Sie in dem karierten Fenster (neben dem Filter) auswählen.&lt;br /&gt;
* Details: zum Kunden&lt;br /&gt;
* Supportpunkte: in der Übersicht können Sie Supportpunkte für einzelen Projekte reservieren.&lt;br /&gt;
&lt;br /&gt;
In der Liste werden die verbuchten Supportpunkte angezeigt.&lt;br /&gt;
&lt;br /&gt;
* Anhänge: hier werden alle hochgeladenen Anhänge aufgelistet.&lt;br /&gt;
* Interessenten: hier bestimmen Sie, bei welchen Änderungen Sie benachrichtigt werden möchten.&lt;br /&gt;
* Referenzen: Übersicht über alle Artefakte des Kunden - Benutzer, Projekte, Komponenten, Arbeitspakete, Aktionen, Fehler, Anforderungen&lt;br /&gt;
* Historie: über alle Änderungen&lt;br /&gt;
&lt;br /&gt;
===Orte===&lt;br /&gt;
&lt;br /&gt;
Anlegen der Orte für Besprechungen, Standorte für Geräte und Rechner.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie über einen größeren Gerätepark verfügen, in dem z.B: Meßgeräte beweglich sind, können Sie damit auch diese verwalten und damit helfen Testaufbauten (sog. &amp;quot;Testbeds&amp;quot;) zu beschleunigen. Natürlich lassen sich hier auch beliebige andere Ressourcen lokalisieren (z.B. Fahrzeuge). Bei Bedarf kann die Lokalisierung auch automatisiert werden (z.B. mittels NFC/RFID oder GPS Schnittstellen).&lt;br /&gt;
&lt;br /&gt;
===Kategorien===&lt;br /&gt;
&lt;br /&gt;
Hier werden primär Einträge für Auswahllisten und Attribute für Workflows definiert.&lt;br /&gt;
&lt;br /&gt;
Am besten erklärt sich das an konkreten Beispielen: &lt;br /&gt;
&lt;br /&gt;
* jede Fehlermeldung besitzt ein Feld &amp;quot;Systemtyp&amp;quot;, welches das Betriebssystem beschreibt (also &amp;quot;Windows10&amp;quot;, &amp;quot;Windows11&amp;quot;, &amp;quot;Linux&amp;quot; etc.)&lt;br /&gt;
:Die möglichen Werte sind unter der Kategorie &amp;quot;OperatingSystem&amp;quot; zu finden. Alle Einträge darunter scheinen in den entsprechenden Auswahllisten. &lt;br /&gt;
&lt;br /&gt;
* Arbeitsabläufe (&amp;quot;&#039;&#039;Workflows&#039;&#039;&amp;quot;) werden durch den Zustand eines Artefakts definiert. ZB. kann eine Anforderung die Zustände &amp;quot;gemeldet&amp;quot;, &amp;quot;angenommen&amp;quot;, &amp;quot;in Arbeit&amp;quot;, &amp;quot;abgelehnt&amp;quot; etc. annehmen. Je nach Zustand sind unterschiedliche Folgeaktionen möglich bzw. erforderlich, und auch u.U. unterschiedliche Eingabefelder sichtbar oder beschreibbar. Sowohl die Liste der möglichen Zustände (die hier definiert wird) als auch die Zuordnung zu Workflows und sichtbaren Feldern (die an anderer Stelle erfolgt) sind in expecco ALM frei definierbar und änderbar. Bei der Erstinstallation werden einige typische Workflows (for kleine, mittlere und große Unternehmen) mitgeliefert. Diese können so übernommen werden, aber auch individuellen Bedürfnissen angepasst, erweitert oder vereinfacht werden.&lt;br /&gt;
&lt;br /&gt;
Sie können hier die Liste der angebotenen Einträge erweitern, kürzen oder umbenennen. Ebenso können auch eigene Kategorien definiert werden (eg. &amp;quot;Antrieb&amp;quot;, &amp;quot;Antrieb/Diesel&amp;quot;, &amp;quot;Antrieb/Hybrid&amp;quot;, &amp;quot;Antrieb/Elektrisch&amp;quot;) und dann als &amp;quot;Customfeld&amp;quot; in einem Artefakt erscheinen.&lt;br /&gt;
&lt;br /&gt;
===Rechte===&lt;br /&gt;
&lt;br /&gt;
===Rollen===&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
&lt;br /&gt;
===Benutzerdefinierte Felder===&lt;br /&gt;
&lt;br /&gt;
==Projekte==&lt;br /&gt;
&lt;br /&gt;
Unter dem Menüpunkt &amp;quot;&#039;&#039;Projekte&#039;&#039;&amp;quot; legen Sie Projekte und Arbeitspakete (&#039;&#039;Releases&#039;&#039;) an.&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29764</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29764"/>
		<updated>2024-12-09T11:04:12Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Future Release 24.2 (4Q 2024) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future Release 24.2 (4Q 2024) ==&lt;br /&gt;
*Feature: WindowsAutomation: &amp;quot;Mouse Wheel Simulation&amp;quot; support&lt;br /&gt;
*Feature: Any and template typed parameters in testcase (of testplan)&lt;br /&gt;
*Feature: Negated [[Testplan_Editor/en#Condition_Variables|condition variable]] check&lt;br /&gt;
*Fix: Project Difference Viewer showed wrong tab for steps inside the test/demo diagram&lt;br /&gt;
*Fix: Exchange connection function of diagram editor left an invisible connection at the pin. Lead to wrong output value forwarding during the current session, but cured itself when saving and reloading.&lt;br /&gt;
*Improving the function and operation of variable pins ([[Scheme_Editor/en#Variable_Number_of_Pins|Scheme_Editor/Variable_Number_of_Pins]])&lt;br /&gt;
*Fix/Feature: Severity level limit is passed on in sub-test plans with the option of tightening the severity level per test plan level&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; ([[Qt_Inject_Windows/en#Logging|Qt-Logging]])&lt;br /&gt;
*Feature: Qt-Testing: Qt-Connections now use the ConnectionManager like the other Gui test technologies&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Show Log and [[Timeline/en|Timeline view]] for testplans&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: [[Embedded Systems C Bridge API|C-Bridge]] now supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Feature: [[Testsuite_Editor-ExecutionSettings_Editor/en|Settings for execution]] (thread pool and log activities/pins/info) can now be saved in the test suite settings&lt;br /&gt;
*Feature: CSV test report, values for start time, end time and duration added&lt;br /&gt;
*Feature: Improved refactoring for compound blocks: &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;br /&gt;
*Feature: Enhanced expecco reflection library&lt;br /&gt;
*Feature: Logprocessors can be executed for embedded testplans&lt;br /&gt;
*Feature: Logging of background actions can be individually enabled and disabled for testplans and nested testplans&lt;br /&gt;
*Feature: Support for script actions written in the [[Installing_additional_Frameworks/en#Julia_Installation|Julia]] programming language&lt;br /&gt;
*Feature: Powershell actions: support functions for writing to pins, logging, opening dialogs, etc. &lt;br /&gt;
*Fix: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Fix: WindowsAutomation: Fix blocking of applications after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Fix: Bridges: Detect (and ignore) invalid requests from forked background bridge threads&lt;br /&gt;
*Fix: Acitivity logs of asynchronous events in background actions are now displayed correctly in the background activity log.&lt;br /&gt;
*Fix: Qt: Drag and drop improved by revising the &amp;quot;Move mouse event&amp;quot; (Windows)&lt;br /&gt;
*Fix: Disabling logs of sub-activities (if successful, if not successful, etc.)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29750</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29750"/>
		<updated>2024-11-06T16:09:57Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Future Release 24.2 (4Q 2024) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future Release 24.2 (4Q 2024) ==&lt;br /&gt;
*Feature: WindowsAutomation: &amp;quot;Mouse Wheel Simulation&amp;quot; support&lt;br /&gt;
*Feature: Any and template typed parameters in testcase (of testplan)&lt;br /&gt;
*Fix: Project Difference Viewer showed wrong tab for steps inside the test/demo diagram&lt;br /&gt;
*Fix: Exchange connection function of diagram editor left an invisible connection at the pin. Lead to wrong output value forwarding during the current session, but cured itself when saving and reloading.&lt;br /&gt;
*Improving the function and operation of variable pins ([[Scheme_Editor/en#Variable_Number_of_Pins|Scheme_Editor/Variable_Number_of_Pins]])&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; ([[Qt_Inject_Windows/en#Logging|Qt-Logging]])&lt;br /&gt;
*Feature: Qt-Testing: Qt-Connections now use the ConnectionManager like the other Gui test technologies&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Show Log and [[Timeline/en|Timeline view]] for testplans&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: [[Embedded Systems C Bridge API|C-Bridge]] now supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Feature: [[Testsuite_Editor-ExecutionSettings_Editor/en|Settings for execution]] (thread pool and log activities/pins/info) can now be saved in the test suite settings&lt;br /&gt;
*Feature: CSV test report, values for start time, end time and duration added&lt;br /&gt;
*Feature: Improved refactoring for compound blocks: &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;br /&gt;
*Feature: Enhanced expecco reflection library&lt;br /&gt;
*Feature: Logprocessors can be executed for embedded testplans&lt;br /&gt;
*Feature: Logging of background actions can be individually enabled and disabled for testplans and nested testplans&lt;br /&gt;
*Feature: Support for script actions written in the [[Installing_additional_Frameworks/en#Julia_Installation|Julia]] programming language&lt;br /&gt;
*Feature: Powershell actions: support functions for writing to pins, logging, opening dialogs, etc. &lt;br /&gt;
*Fix: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Fix: WindowsAutomation: Fix blocking of applications after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Fix: Bridges: Detect (and ignore) invalid requests from forked background bridge threads&lt;br /&gt;
*Fix: Acitivity logs of asynchronous events in background actions are now displayed correctly in the background activity log.&lt;br /&gt;
*Fix: Qt: Drag and drop improved by revising the &amp;quot;Move mouse event&amp;quot; (Windows)&lt;br /&gt;
*Fix: Disabling logs of sub-activities (if successful, if not successful, etc.)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Scheme_Editor/en&amp;diff=29749</id>
		<title>Scheme Editor/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Scheme_Editor/en&amp;diff=29749"/>
		<updated>2024-11-06T16:06:15Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Variable Number of Pins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Schema Editor.png|thumb|300px|Schema Editor]]&lt;br /&gt;
The schema editor is used to define the external interface and some other attributes of an action block (both [[ ElementaryBlock_Element/en | elementary]] and [[ CompoundBlock_Element/en| compound]] actions).&lt;br /&gt;
It is found on the &amp;quot;&#039;&#039;Schema&#039;&#039;&amp;quot; tab after selecting either an elementary or a compound action in the navigation tree.&lt;br /&gt;
&lt;br /&gt;
The block&#039;s interface consists of the input and output pins and its trigger behavior.&lt;br /&gt;
The editor shows a box representation of the action, where inputs are located on the left, outputs on the right. This is the &amp;quot;outside view&amp;quot; of the action; i.e. the action&#039;s look when placed as a step in a diagram.&lt;br /&gt;
&lt;br /&gt;
To the right, you see an example for the interface of a action with a single [[DiagramElements-Pin#Input Pin|input pin]] (in) and a single [[DiagramElements-Pin#Output Pin|output pin]] (out). In a network, a step with this action will trigger when all connected input pins have received a value (&amp;quot;&#039;&#039;AndConnected&#039;&#039;&amp;quot; trigger condition).&lt;br /&gt;
&lt;br /&gt;
Schema editors can also be invoked on actions that are write protected, e.g. actions from imported libraries, such as the standard library or your own block libraries.&lt;br /&gt;
Such components cannot be modified, but they can however be shown and inspected by the editor.&lt;br /&gt;
&lt;br /&gt;
== Pins ==&lt;br /&gt;
=== Adding &amp;amp; Removing [[DiagramElements-Pin|Pins]] ===&lt;br /&gt;
New input and output pins can be added using the icon buttons in the top corners of each side of the action&#039;s representation box ([[Bild:Icon Add Inputpin.png]] / [[Bild:Icon Add Outputpin.png]]). Existing inputs and outputs can be removed using the icon buttons directly beside the buttons for adding ([[Bild:Icon Remove Pin.png]]), but a pin has to be selected for this operation first. Please note that some builtin blocks, like shell command blocks, have a fixed set of pins which can not be removed.&lt;br /&gt;
&lt;br /&gt;
When new pins are added, they get default names attached with a sequential number, like &#039;&#039;in1&#039;&#039;, &#039;&#039;in2&#039;&#039;, &#039;&#039;out1&#039;&#039;, &#039;&#039;out2&#039;&#039;, etc.&lt;br /&gt;
&lt;br /&gt;
=== Special Pins ===&lt;br /&gt;
Some actions (i.e. script and bridged execution actions) support additional special pins, with a predefined (and hardcoded) functionality. For script actions, these are used to provide the execution directory, environment variables, standard input, exitCode handling and output line buffering options.&lt;br /&gt;
For bridged actions, these provide the bridge connection handle and/or script interpreter handle on which the script is to be executed.&lt;br /&gt;
&lt;br /&gt;
Special pins are added with the &amp;quot;&#039;&#039;Special Pins&#039;&#039;&amp;quot; menu, and removed by selecting the pin and deleting it (via key or menu).&lt;br /&gt;
&lt;br /&gt;
These special pins are described in [[DiagramElements-Pin/en#Special_Pins_of_Script_Action_Blocks | &amp;quot;Special Pins of Script Action Blocks&amp;quot;]], [[DiagramElements-Pin/en#Special_Pins_of_Bridged_Action_Blocks | &amp;quot;Special Pins of Bridged Action Blocks&amp;quot;]]  and also in [[Expecco_Scripting_API | &amp;quot;Expecco Scripting API&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:NotBeginner.png|20px]]Note: these menu items are not shown if your experience setting is &amp;quot;&#039;&#039;Beginner&#039;&#039;&amp;quot;. Go to the &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Look &amp;amp; Feel&#039;&#039;&amp;quot; - dialog to change your experience setting.&lt;br /&gt;
&lt;br /&gt;
=== Renaming of Pins ===&lt;br /&gt;
The name of a pin can be changed (*) by clicking on the name field, which then turns into an input text field. There, type in a new name for the pin. The pin will be renamed when either the &amp;lt;kbd&amp;gt;Enter&amp;lt;/kbd&amp;gt; key is pressed, or the input field is left (i.e. clicking on any other element in the editor).&lt;br /&gt;
The &amp;lt;kbd&amp;gt;Escape&amp;lt;/kbd&amp;gt; key cancels the rename operation.&lt;br /&gt;
&lt;br /&gt;
For a subset of the supported programming languages, the editor will rewrite the code to use the new name.&lt;br /&gt;
 &lt;br /&gt;
(*): except for special pins which cannot be renamed.&lt;br /&gt;
&lt;br /&gt;
===== Restrictions on Pin Naming for Elementary Blocks =====&lt;br /&gt;
In elementary blocks, pin names are not only used for description purpose but also to access the pin&#039;s value in the action&#039;s source code (i.e. for actions written in a textual programming language). Therefore, some naming restrictions apply to ensure that the pin name represents a valid identifier in the block&#039;s code (i.e. it must be a valid variable identifier in the programming language of the action&#039;s code, which can be JavaScript, Smalltalk, Groovy, Python, C etc.). &lt;br /&gt;
&lt;br /&gt;
In practice, the identifier should be a sequence of letters, digits or the underline character (_), where the very first character should not be a digit. It may also not be a keyword of the language (i.e. &amp;quot;&amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt;&amp;quot; in Groovy, &amp;quot;&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&amp;quot; in JavaScript or &amp;quot;&amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;&amp;quot; in Smalltalk). &lt;br /&gt;
&lt;br /&gt;
Such restrictions do not apply to compound blocks; however, if you ever plan to convert or generate elementary code, it is a good idea to restrict your naming there too.&lt;br /&gt;
&lt;br /&gt;
===== Restrictions on Pin Naming for JavaScript and Groovy Elementary Blocks =====&lt;br /&gt;
The syntax of those two languages contains a much larger number of language keywords, which cannot be used as identifier. For example, &amp;quot;&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&amp;quot;, &amp;quot;&amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt;&amp;quot;, &amp;quot;&amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt;&amp;quot; and &amp;quot;&amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt;&amp;quot; are all reserved words in those languages and cannot be used. Otherwise, a syntax error will be reported when code is entered.&lt;br /&gt;
&lt;br /&gt;
It is a good practice to name pins as &amp;quot;&#039;&#039;inPin1&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;textPin&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;xxxPin&#039;&#039;&amp;quot; in general, to avoid such conflicts right from the beginning. Such naming convention also make the code more readable, as it reduces chances for confusing the name of a pin with a name of a variable used for a pin&#039;s data value (remember: in the code, the pin-name refers to the pin - not the pin&#039;s value).&lt;br /&gt;
&lt;br /&gt;
===== Restrictions on Pin Naming for Other Languages =====&lt;br /&gt;
&lt;br /&gt;
Similar restrictions apply to the other supported languages (Python, C, etc.).&lt;br /&gt;
&lt;br /&gt;
=== Edit Functions for Existing Pins ===&lt;br /&gt;
For all other pin operations, the pin to be modified has to be selected first. &lt;br /&gt;
&lt;br /&gt;
To select a pin, click on it with the left mouse button. &lt;br /&gt;
&lt;br /&gt;
You can select multiple pins: keep the &amp;lt;span style=&amp;quot;box-shadow: 1px 1px 2px rgba(0,0,0,0.3);&amp;quot;&amp;gt;&amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt; key down while clicking, to toggle the pin into or out of the selection. Press the &amp;lt;kbd&amp;gt;Shift&amp;lt;/kbd&amp;gt;-key while clicking to select all pins in between the previously selected pin and the clicked-on pin.&lt;br /&gt;
You can also select multiple pins with a rectangle-drag operation (click outside, keep holding the mouse button, and drag to the other corner, to select all pins inside the rectangle).&lt;br /&gt;
 &lt;br /&gt;
The selected pin(s) will appear highlighted in a red color.&lt;br /&gt;
&lt;br /&gt;
To open the context menu for a pin or group of pins, first select the pin(s), then press the right mouse button. The context menu provides additional pin related functions. Since input and output pins have slightly different properties, their context menus are different and described below.&lt;br /&gt;
&lt;br /&gt;
=== Setup / Change Datatype ===&lt;br /&gt;
Each pin has a [[Datatype|data type]] attribute that determines which kind of data is expected or generated by the pin. Every new pin initially gets the data type that was last used; initially the [[Datatype#General_Types|data type &amp;quot;Any&amp;quot;]] is assigned by default. This type is also used as default, whenever no other reasonable data type can be predicted. The pin&#039;s data type is displayed beside the pin, outside of the representation box. The data type for a pin can be changed in the context menu, through its &amp;quot;&#039;&#039;datatype&#039;&#039;&amp;quot; sub-menu, which brings up a list of available types. &lt;br /&gt;
&lt;br /&gt;
Note that when you have already placed [[DiagramElements-Step|step]] instances of the modified action block in any activity diagram, a change in the data type of a pin may affect existing connections in which the pin is involved. If the new type is incompatible with a connection, it is drawn as dotted line in the diagram, or when a preset value becomes incompatible, the value is displayed in a red color.&lt;br /&gt;
&lt;br /&gt;
=== Default Values for Pins ===&lt;br /&gt;
Default values for unconnected step-pins can be defined here, by &amp;quot;&#039;&#039;freezing&#039;&#039;&amp;quot; a pin in this schema editor. Both constant-value and environment-freeze values are possible.&lt;br /&gt;
&lt;br /&gt;
=== Pin Specific Options (Context Menu) ===&lt;br /&gt;
[[Bild:Icon Input Desc.png|thumb|328px|Input Pin Options]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Icon Output Desc.png|thumb|278px|Output Pin Options]]&lt;br /&gt;
&lt;br /&gt;
;Undo&lt;br /&gt;
:Undo last change(s). The text shown after the word &amp;quot;&#039;&#039;Undo&#039;&#039;&amp;quot; (in parentheses) is the name of operation that will be undone.&lt;br /&gt;
&lt;br /&gt;
;Copy Pin&lt;br /&gt;
:Copy all attributes from selected pin.&lt;br /&gt;
&lt;br /&gt;
;Remove Pin&lt;br /&gt;
:This option simply removes the selected pin.&lt;br /&gt;
&lt;br /&gt;
;Datatype&lt;br /&gt;
:This option is used to specify the [[Datatype Element/en|data type]] of the selected pin. This brings up a list of the available data types.&lt;br /&gt;
&lt;br /&gt;
;Default Value Editor&lt;br /&gt;
:This option allows you to specify the editor type for the freeze value, e.g. strings can be entered single line, multi-line or as a password string.&lt;br /&gt;
&lt;br /&gt;
;Show Datatype&lt;br /&gt;
:This option opens a view which shows the pins data type. Note that you can not change the datatype in this view.&lt;br /&gt;
&lt;br /&gt;
;Default Value As&lt;br /&gt;
:This option allows, for most standard data types, presetting the input value according to the data type, by typing a valid value into a text input field. The identifier of the data type in the menu entry differs depending on the data type of the pin. A freeze value defined in this schema defines the input value of unconnected step-pins. It will only be in effect, if the action is placed as a step and the corresponding step-pin is not connected or frozen.&lt;br /&gt;
&lt;br /&gt;
;Default Value from Clipboard&lt;br /&gt;
:Freeze pin with the data stored in the clipboard.&lt;br /&gt;
&lt;br /&gt;
;Default Value from Environment Variable&lt;br /&gt;
:This option causes a dialog to open up, allowing specifying the environment variable&#039;s name in a text input field. For more information see: [[Environment Freeze Value]]. This freeze value is only effective for unconnected step pins (read description above).&lt;br /&gt;
&lt;br /&gt;
;Delete Default Value&lt;br /&gt;
:This option is only available if the selected pin is frozen to a value or to an environment variable. No matter if the pin was preset with a direct value or with an environment variable, the preset information will be lost.&lt;br /&gt;
&lt;br /&gt;
;Parameter (Non Consuming;Non Triggering)&lt;br /&gt;
:This option determines whether the select input pin is a parameter pin. For more information see: [[DiagramElements-Pin#Input Pin Trigger Attributes|Diagram Elements]].&lt;br /&gt;
&lt;br /&gt;
;Telegram (Non Consuming;Non Triggering;Deliver While Executing)&lt;br /&gt;
:This option determines whether the selected input pin is a telegram pin. For more Information see: [[DiagramElements-Pin#Telegram Pin|Telegram Pin]].&lt;br /&gt;
&lt;br /&gt;
;Buffered&lt;br /&gt;
:This option sets the buffering mode of the selected output pin to on or off. For more information see: [[DiagramElements-Pin#Output Pin|Diagram Elements - Output Pin]]&lt;br /&gt;
&lt;br /&gt;
;Special Attributs&lt;br /&gt;
:A submenu offering additional functions (see below)&lt;br /&gt;
&lt;br /&gt;
;Comment&lt;br /&gt;
:This option causes a text editor to open on the pin&#039;s comment. That comment will be displayed as a tooltip of the selected pin.&lt;br /&gt;
&lt;br /&gt;
;Move Up/Down&lt;br /&gt;
:With those options you can change the sequence of the pins.&lt;br /&gt;
&lt;br /&gt;
====Special Attributes====&lt;br /&gt;
=====Input Pins=====&lt;br /&gt;
The input pin behavior can be controlled in more detail here. Individual control of the triggering/non-triggering, consuming/non-consuming and&lt;br /&gt;
buffered/passed-through attributes is offered here.&lt;br /&gt;
&lt;br /&gt;
;Consuming / Non-Consuming&lt;br /&gt;
:This option determines whether the input pin consumes its input value from the input basket or leaves it. Non-consuming pins are sometimes required, when the step is executed in a loop, and the input value should be reused for each iteration. Also, frozen parameter pins should be defined as non-consuming, as otherwise, the freeze value is only available once (in the first loop iteration).&lt;br /&gt;
:More info in: [[DiagramElements-Pin#Consuming_vs._Non-Consuming | Diagram Elements-Pin]].&lt;br /&gt;
&lt;br /&gt;
;Triggering / Non Triggering&lt;br /&gt;
:This option determines whether the input pin is considered in the action triggering process or not. Triggering pins must have a value present in order for an activity to be created. Non-triggering pins are not.&lt;br /&gt;
:More info in: [[DiagramElements-Pin#Input_Pin_Trigger_Attributes | Diagram Elements-Pin]].&lt;br /&gt;
&lt;br /&gt;
; Mailbox / Non-Mailbox (also called &amp;quot;&#039;&#039;Telegram Pin&#039;&#039;&amp;quot;)&lt;br /&gt;
:This option determines whether the selected pin is a telegram pin. Normal pins &amp;quot;latch&amp;quot; their input value when the action is triggered and provide that value to internal steps (be aware, that it might be consumed). If another value arrives at the pin while it is beeing executed, another activity will be started to process the next value.&lt;br /&gt;
:Mailbox pins behave differently: any value arriving there will be forwarded to inside connected steps. Mailbox pins are most useful to implement a controlled cancel operation (eg. by setting a variable inside, which stops a loop).&lt;br /&gt;
:For more Information see: [[DiagramElements-Pin#Telegram_and_Mailbox_Pins| Diagram Elements-Pin]].&lt;br /&gt;
&lt;br /&gt;
=====Output Pins=====&lt;br /&gt;
;Buffered / Unbuffered&lt;br /&gt;
:Buffered outputs will send their value(s) when the action has finished with success. Unbuffered outputs will send any value immediately (and thus may trigger other actions while this action is still executing).&lt;br /&gt;
:For more Information see: [[DiagramElements-Pin/en#Output_Pin_Buffer_Attribute| Diagram Elements-Pin]].&lt;br /&gt;
&lt;br /&gt;
=====Variable Number of Pins=====&lt;br /&gt;
&lt;br /&gt;
An input and output pin can be specified as a &amp;quot;variable pin&amp;quot;. Such a pin appears in the block description (the schema) as a single pin, but it can be instantiated multiple times in one step. In other words, the number of these variable pins can be defined individually for each step. Variable pins are marked with a small plus sign.&lt;br /&gt;
&lt;br /&gt;
Variable pins can only be the last pins, which are combined into a variable pin group. This pin group can be &amp;quot;replicated&amp;quot; in steps as often as required. Individual pins within a group can have different data types, and the replicated pins adopt the data type of their corresponding pin from the schema definition of the action. This is very useful for defining “multi-key-value” groups, e.g. for multi-setter actions of collections or user data objects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This option is only possible for elementary actions and the elementary code must be written to access these pins with a pin index.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Defining the variable pin group&lt;br /&gt;
&lt;br /&gt;
:In the context menu of a pin, the start of the variable pin group can be set via the sub menu &amp;lt;code&amp;gt;Special attributes&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Start Variable Pin Group here&amp;lt;/code&amp;gt;. The selected pin and the following pins become variable pins, the pins before them become or remain fixed pins. &lt;br /&gt;
&lt;br /&gt;
:This function can also be used to subsequently move the start of the pin group.&lt;br /&gt;
&lt;br /&gt;
;Remove the variable pins.&lt;br /&gt;
&lt;br /&gt;
:Context menu of a variable pin via the sub menu &amp;lt;code&amp;gt;Special attributes&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Convert all Variable Pins to Fixed Pins&amp;lt;/code&amp;gt;: This converts all variable pins to fixed pins.&lt;br /&gt;
&lt;br /&gt;
;Equal Number of Variable Input and Output Pin Groups&lt;br /&gt;
&lt;br /&gt;
:If a variable pin group is defined in the input and output pins, the number of pin groups can be synchronized. The number of replications of the input and output pins is the same.&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;Special attributes&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;Equal Number of Variable Input and Output Pin Groups&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also in [[DiagramElements-Pin/en#Variable_Number_of_Pins | Diagram Elements-Pin - Variable Number of Pins]].&lt;br /&gt;
&lt;br /&gt;
== Action ==&lt;br /&gt;
To open the context menu for an action, select the box representation of the action, then press the right mouse button. The context menu supports the following functions.&lt;br /&gt;
&lt;br /&gt;
=== Changing Triggering Conditions ===&lt;br /&gt;
The triggering condition of an action block defines which input pins must have received data on order for a new activity to be triggered and started. The so called &amp;quot;&#039;&#039;triggering condition&#039;&#039;&amp;quot; can be:&lt;br /&gt;
&lt;br /&gt;
;ANDConnected (Default)&lt;br /&gt;
: All connected input pins which are &amp;quot;&#039;&#039;triggering&#039;&#039;&amp;quot; must have received data - unconnected pins are ignored.&lt;br /&gt;
;AND&lt;br /&gt;
: All triggering input pins must have received data.&lt;br /&gt;
;OR&lt;br /&gt;
: At least one triggering input pin must have received data.&lt;br /&gt;
&lt;br /&gt;
Previous versions of expecco showed a (discussable wrong) behavior when a step had the autostart flag set AND an enable input pin with no value provided.&lt;br /&gt;
This behavior will be set when an old (pre 19.2) suite is loaded to remain backward compatible, but it will be displayed as:&lt;br /&gt;
;AND (old behavior)&lt;br /&gt;
: Same as AND, but will start with autoStart and enablePin present.&lt;br /&gt;
;OR (old behavior)&lt;br /&gt;
: Same as OR, but will start with autoStart and enablePin present.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The most common trigger condition is &#039;&#039;&#039;&#039;AndConnected&#039;&#039;&#039;&#039;. The &#039;&#039;&#039;&#039;Or&#039;&#039;&#039;&#039; condition allows for a step to be activated whenever any input arrives on any of its pins. It is especially useful to handle events or input data coming from different sources (i.e. a demultiplexer action).&lt;br /&gt;
&lt;br /&gt;
You can also change the triggering conditions by a left click on the trigger-condition field&lt;br /&gt;
(located at the top left of the block) and select one of the conditions.&lt;br /&gt;
&lt;br /&gt;
New in the 2.8 version of expecco: The default triggering condition for new compound action blocks is &amp;quot;&#039;&#039;And&#039;&#039;&amp;quot;, and &amp;quot;&#039;&#039;AndConnected&#039;&#039;&amp;quot; for all other (elementary) actions. It used to be &amp;quot;&#039;&#039;AndConnected&#039;&#039;&amp;quot; for all action blocks in previous versions.&lt;br /&gt;
&lt;br /&gt;
=== Renaming of Actions ===&lt;br /&gt;
An action can be renamed either using the context menu option or rename the action in the project menu. The name of the action in project tree and the Scheme editor are identical.&amp;lt;br&amp;gt;&lt;br /&gt;
The rename of an action will also rename all already placed [[DiagramElements-Step|step]] instances of this action containing the previous (original) action name. If a step was renamed itself, the step will keep its name.&lt;br /&gt;
&lt;br /&gt;
=== Action Specific Options (Context Menu) ===&lt;br /&gt;
;Undo&lt;br /&gt;
:Undo last change(s).&lt;br /&gt;
&lt;br /&gt;
;Rename&lt;br /&gt;
:Open an inplace editor within the headline of the representing box for the action. Initially the current name of the action is selected and the editor will replace the current name with the new name. On lost focus (enter, cursor down, mouse click) the changes will be saved. Cancel editing without saving the changes can be done by pressing the &amp;quot;&amp;lt;span style=&amp;quot;box-shadow: 1px 1px 2px rgba(0,0,0,0.3);&amp;quot;&amp;gt;&amp;lt;kbd&amp;gt;ESC&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt;&amp;quot; key.&lt;br /&gt;
&lt;br /&gt;
;Copy Pin Interface&lt;br /&gt;
:Copy all pins (input/output) with all attributes&lt;br /&gt;
&lt;br /&gt;
;Paste Pin Interface&lt;br /&gt;
:Paste a previous copied pin interface&lt;br /&gt;
&lt;br /&gt;
;Paste Pin&lt;br /&gt;
:Paste a previous copied single pin (see pin context menu)&lt;br /&gt;
&lt;br /&gt;
;Trigger Condition&lt;br /&gt;
:[[#Changing Triggering Conditions | see Changing Triggering Conditions]]&lt;br /&gt;
&lt;br /&gt;
;Role in Load and Performance Tests&lt;br /&gt;
:These settings are also not yet used. They are only effective for load and performance tests, which are not yet officially released.&lt;br /&gt;
&lt;br /&gt;
;Semantic Attributes&lt;br /&gt;
:[[#Declaring Semantic Attributes | see Declaring Semantic Attributes below]]&lt;br /&gt;
&lt;br /&gt;
;Execution Debugging Attributes&lt;br /&gt;
:[[#Execution Debugging Attributes | see Execution Debugging Attributes below]]&lt;br /&gt;
&lt;br /&gt;
;Attributes&lt;br /&gt;
:Open an editor to define the background and frame color besides the tag and name settings for this action.&lt;br /&gt;
&lt;br /&gt;
== Declaring Semantic Attributes ==&lt;br /&gt;
The block&#039;s pop up menu also allows for a number of semantic attributes to be defined for the action.&lt;br /&gt;
&lt;br /&gt;
Currently, semantic attributes are:&lt;br /&gt;
&lt;br /&gt;
;Blocking (Immediately Start new Activity Process)&lt;br /&gt;
:Tells the executor, that this action may block for a noticeable time; for example if it reads from an external stream (typically a socket), or by opening a user-dialog, or by waiting for some other external event.&amp;lt;br&amp;gt;By default, the executor will wait for some grace period and then start another execution thread to continue processing other action blocks. However, this grace period may be too long (a few seconds, by default) and the overall execution time may be shortened, if this is done immediately.&amp;lt;br&amp;gt;Of course, this only makes sense if it is known in advance, that this action will block the executor, and that there might be other activities to be executed in parallel. It also only makes sense if the time it takes to start another execution thread (which does involve some overhead) is shorter than the expected wait time.&amp;lt;br&amp;gt;Notice also, that this flag can also be set for individual steps - and it is usually a better place to set this flag.&lt;br /&gt;
&lt;br /&gt;
;Operator Required&lt;br /&gt;
:Informational flag that the action needs operator assistance. Please set this flag if a containing action opens a UI dialog, or otherwise needs an operator assistance. This will help to identify test cases which can be run without operator assistance. You can find blocks with inconsistent &amp;quot;&#039;&#039;Operator required&#039;&#039;&amp;quot; setting in the &amp;quot;&#039;&#039;Special&#039;&#039;&amp;quot; test suite search. If the &amp;quot;&#039;&#039;Operator Needed&#039;&#039;&amp;quot; Flag missing option is enabled all those blocks will be listed. The operator required flag can be validated against a test case&#039;s &amp;quot;&#039;&#039;Operator Required&#039;&#039;&amp;quot; flag, which is actually used by QM systems to effectively schedule tests which require human personal.&lt;br /&gt;
&lt;br /&gt;
Except for the previous &amp;quot;&#039;&#039;Blocking&#039;&#039;&amp;quot; and &amp;quot;&#039;&#039;Operator Required&#039;&#039;&amp;quot; attributes, the following are only relevant for the error checker and the code generator (which is not yet officially released).&lt;br /&gt;
When set, these flags allow for the error checker to make more specific tests and the code generator / executor to optimize the execution speed of the action.&lt;br /&gt;
&lt;br /&gt;
;Functional&lt;br /&gt;
:Hint for the code generator, and the execution engine, that the action&#039;s code is purely functional. This means, that the output value(s) only depend(s) on the input value(s), and that neither the input values themselves nor any other global data is modified by any side effect. Purely functional blocks can be executed in parallel without a need for synchronization.&lt;br /&gt;
&lt;br /&gt;
;Modifies an Input Object (Side Effect)&lt;br /&gt;
:Hint for the code generator and executor, that the action&#039;s code is modifying any of its input values. This means basically, that probably no other step which possibly uses this value should execute concurrently.&lt;br /&gt;
&lt;br /&gt;
;Modifies an Object or External State (Side Effect)&lt;br /&gt;
:Hint for the code generator and executor, that the action&#039;s code is modifying any object. This means basically, that probably no other step at all should execute concurrently.&lt;br /&gt;
&lt;br /&gt;
;Writes all Output(s) exactly Once&lt;br /&gt;
:Hint for the code generator, that the elementary code writes all of the output pins, but only once. This allows for the code generator to eliminate any data queues along the output connections, and pass these values to follow up action code as a function call; effectively allowing for faster execution.&lt;br /&gt;
&lt;br /&gt;
;Writes any Output exactly Once&lt;br /&gt;
:Hint for the code generator, that the elementary code writes any of the output pins, but only once. This also allows for the code generator to generate shorter, more efficient code.&lt;br /&gt;
&lt;br /&gt;
;May write an Output more than Once&lt;br /&gt;
:Hint for the code generator, that the elementary code may write any of the output pins more than once. The code generator will create data queues for the output pins. Also, the error checker makes use of this flag, when looking for input values being consumed in a loop or consumed multiple times even if only written once.&lt;br /&gt;
&lt;br /&gt;
Notice: these flags should only be set if you know what you are doing and how the elementary code behaves. In a future version, a more advanced code analysis might be added, which may make these flag settings obsolete. If in doubt, leave these flags unchanged (the worst thing that happens in this case, is that any generated elementary code executes slightly slower, and that the error checker finds less errors).&lt;br /&gt;
&lt;br /&gt;
== Execution Debugging Attributes ==&lt;br /&gt;
The debug submenu allows for additional debug checks to be defined for the action:&lt;br /&gt;
;Assert Executed&lt;br /&gt;
:Adds a check to the executor, that any step of this kind must be executed if present inside a compound action&#039;s diagram.&amp;lt;br&amp;gt;If a compound action which has such a step in its activity diagram, finishes execution and that step was not executed, an error is reported.&amp;lt;br&amp;gt;Use this, to ensure that verifying actions which are placed into a diagram are certain to be executed (i.e. not skipped due to missing data)&lt;br /&gt;
&lt;br /&gt;
;Assert Executed within Time&lt;br /&gt;
:Adds a check to the executor, that any step of this kind must be executed within a given time limit. This has the same effect as the time limit pin at a concrete step; however, it allows for a global upper limit to be set eg. on UI actions, on protocol actions (transmission or connection times) without a need to add it to each of its steps separately.&lt;br /&gt;
:If a step has a time limit input, the value there takes precedence over any default value specified here.&lt;br /&gt;
&lt;br /&gt;
;Assert Any Output Written&lt;br /&gt;
:Adds a check to the executor, that steps of this kind must generate a datum on at least one of its output pins.&amp;lt;br&amp;gt;If a compound action which has such a step in its activity diagram, finishes execution and that step did not generate at least one output value, an error is reported.&lt;br /&gt;
&lt;br /&gt;
;Assert All Outputs Written&lt;br /&gt;
:Adds a check to the executor, that steps of this kind must generate a datum on every of its output pins.&amp;lt;br&amp;gt;If a compound action which has such a step in its activity diagram, finishes execution and that step did not generate output values for every output pin, an error is reported.&lt;br /&gt;
&lt;br /&gt;
Notice that these flags can also be set on a per-step basis. The settings here will be ored with the flag settings of individual steps.&lt;br /&gt;
(i.e. the check will be done if either the block, OR the individual step has the flag set.&lt;br /&gt;
&lt;br /&gt;
== Adding Pre- and Post Actions ==&lt;br /&gt;
[[CompoundBlock Element|Compound blocks]] can have pre- and post-actions. The pre-action block will be executed each time the owning block is triggered; the post execution block is executed after the owning block is finished, but not if a pre-action was present and that pre-action failed. This can be useful e.g. to allocate and/or release resources.&lt;br /&gt;
To add a pre- or post-action, drag and drop any action from the navigation tree into the corresponding field at the bottom. Please note that these blocks cannot not have input pins.&lt;br /&gt;
&lt;br /&gt;
== Advanced and Expert Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Defining the Implemented Interface ===&lt;br /&gt;
A [[VirtualBlock Element|virtual action]] defines the interface (number of pins and their datatypes) of an action, but not its implementation. They can be placed into a network like any other action.&amp;lt;br&amp;gt;&lt;br /&gt;
At execution time, a real (concrete) action must be provided for it, either explicitly, via a performer input pin, or implicit, via an imported library which contains a concrete action which implements that virtual action.&lt;br /&gt;
The &amp;quot;&#039;&#039;Interface&#039;&#039;&amp;quot; field at the bottom of the editor assigns such an interface to a concrete action, and specifies that the edited action is able to play that virtual action&#039;s role.&lt;br /&gt;
&lt;br /&gt;
[[Datei:NotBeginner.png|20px]]Note: this field is not shown if your experience setting is &amp;quot;&#039;&#039;Beginner&#039;&#039;&amp;quot;.&amp;lt;br&amp;gt;Go to the &amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Look &amp;amp; Feel&#039;&#039;&amp;quot; - dialog to change your experience setting.&lt;br /&gt;
&lt;br /&gt;
=== Add / Remove / Test Action User Interface (Action-UI) ===&lt;br /&gt;
You can specify a graphical user interface (UI) for an action. If defined, that UI will be displayed as long as the action is executed during a test run. The action can communicate with the UI using environment variables. The environment variables will be created by the [[GUI Editor-GUICode Editor|UI Editor]] during creation / editing the UI.&lt;br /&gt;
&lt;br /&gt;
[[Datei:NotBeginner.png|20px]]Note: this field is not shown unless your experience setting is &amp;quot;&#039;&#039;Expert&#039;&#039;&amp;quot;.&amp;lt;br&amp;gt;Go to the&amp;quot;&#039;&#039;Extras&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Look &amp;amp; Feel&#039;&#039;&amp;quot; - dialog to change your experience setting.&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;span style=&amp;quot;box-shadow: 1px 1px 2px rgba(0,0,0,0.3);&amp;quot;&amp;gt;&amp;lt;kbd&amp;gt;Ctrl-i&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039; - &amp;quot;&#039;&#039;New InputPin&#039;&#039;&amp;quot;.&amp;lt;br&amp;gt;Adds a new input pin - same as clicking on the &amp;quot;&#039;&#039;Add Input Pin&#039;&#039;&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;span style=&amp;quot;box-shadow: 1px 1px 2px rgba(0,0,0,0.3);&amp;quot;&amp;gt;&amp;lt;kbd&amp;gt;Ctrl-o&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039; - &amp;quot;&#039;&#039;New OutputPin&#039;&#039;&amp;quot;.&amp;lt;br&amp;gt;Adds a new output pin - same as clicking on the &amp;quot;&#039;&#039;Add Output Pin&#039;&#039;&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
==== If a Pin is Selected ====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;span style=&amp;quot;box-shadow: 1px 1px 2px rgba(0,0,0,0.3);&amp;quot;&amp;gt;&amp;lt;kbd&amp;gt;Ctrl-n&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039; - &amp;quot;&#039;&#039;New Pin&#039;&#039;&amp;quot;.&amp;lt;br&amp;gt;Adds a new input or output pin, depending on the currently selected pin&#039;s type.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;span style=&amp;quot;box-shadow: 1px 1px 2px rgba(0,0,0,0.3);&amp;quot;&amp;gt;&amp;lt;kbd&amp;gt;Ctrl-e&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039; - &amp;quot;&#039;&#039;Environment&#039;&#039;&amp;quot;.&amp;lt;br&amp;gt;Opens a dialog to adds an environment-freeze (the value is read from a variable, if the pin is unconnected)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;span style=&amp;quot;box-shadow: 1px 1px 2px rgba(0,0,0,0.3);&amp;quot;&amp;gt;&amp;lt;kbd&amp;gt;Ctrl-p&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039; - &amp;quot;&#039;&#039;Parameter&#039;&#039;&amp;quot;.&amp;lt;br&amp;gt;Toggles the &amp;quot;&#039;&#039;is parameter pin&#039;&#039;&amp;quot; attribute of the pin&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;span style=&amp;quot;box-shadow: 1px 1px 2px rgba(0,0,0,0.3);&amp;quot;&amp;gt;&amp;lt;kbd&amp;gt;Ctrl-d&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt;&#039;&#039;&#039; - &amp;quot;&#039;&#039;Datatype&#039;&#039;&amp;quot;.&amp;lt;br&amp;gt;Opens the datatype selection menu for the pin&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
[[Code_Editor/en | Code Editor]]&lt;br /&gt;
&lt;br /&gt;
[[ElementaryBlock_Element/en|Elementary Action]], [[CompoundBlock_Element/en|Compound Action]] &lt;br /&gt;
&lt;br /&gt;
For the programmer API for the builtin languages see: [[Expecco API]];&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sections of interest are the [[Expecco_API/en#Pin Functions  | Pin-API ]], [[ Expecco_API/en#Current Activity | Activity-API ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Editors]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Was_ist_expecco%3F&amp;diff=29674</id>
		<title>Was ist expecco?</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Was_ist_expecco%3F&amp;diff=29674"/>
		<updated>2024-08-01T10:02:05Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Konzept */ Schreibfehler&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Übersicht ==&lt;br /&gt;
&lt;br /&gt;
=== expecco + expecco ALM = AIDYMO ===&lt;br /&gt;
&lt;br /&gt;
expecco ist die Komponente innerhalb der AIDYMO Werkzeugkette, welche der Entwicklung und Ausführung von Automatisierungen (und damit auch Tests) dient. expecco ist eine &amp;quot;&#039;&#039;Native Client&#039;&#039;&amp;quot;-Anwendung, welche entweder auf dem Rechner des Testentwicklers oder Testers läuft, oder als &amp;quot;&#039;&#039;Test-Ausführungs-Knecht&#039;&#039;&amp;quot; in einer (möglicherweise virtualisierten) Serverfarm oder einem Docker Container installiert wurde. Mit expecco werden Testpläne in einer Testsuite definiert und ausgeführt.&lt;br /&gt;
&lt;br /&gt;
expecco ALM ist eine Serveranwendung mit Webbrowseroberfläche, welche für die Verteilung und ordentliche Ausführung der Automatisierungsaufgaben und Tests innerhalb der Serverfarm sorgt, Testressourcen verwaltet und Nutzungskonflikte vermeidet, Testsuiten und Resultate archiviert und versioniert, den Projektfortschritt beobachtet und berichtet, Benachrichtigungen verschickt etc.&lt;br /&gt;
Mit &amp;quot;expecco ALM&amp;quot; werden Testläufe automatisch auf &amp;quot;Ausführungs-Knechte&amp;quot; im lokalen Netz oder in einer Cloudumgebung zur Ausführung gebracht und die Resultate abgeholt und archiviert.&lt;br /&gt;
&lt;br /&gt;
Sowohl expecco als auch expecco ALM sind eigenständige Produkte, welche gesondert bestellt, installiert und eingesetzt werden können, doch im Zusammenspiel realisieren sie eine vollautomatisierte Ausführung und Qualitätskontrolle. Beide zusammen werden unter dem Namen AIDYMO vertrieben.&lt;br /&gt;
&lt;br /&gt;
=== expecco Basissystem (Plattform) ===&lt;br /&gt;
expecco ist ein [[expecco Architecture | modulares System]], welches aus einer Basisplattform sowie Erweiterungen (&amp;quot;&#039;&#039;Plugins&#039;&#039;&amp;quot;) besteht. Plugins realisieren domänenspezifische Funktionen und Anbindungen (z.B. Anbindungen an spezielle Hardware, Protokolle oder UI-Technologien).&lt;br /&gt;
&lt;br /&gt;
Das Basissystem umfasst:&lt;br /&gt;
* Laden und Speichern von Projekten (aka. Testsuiten oder Automatisierungen)&lt;br /&gt;
* Anlegen, Bearbeiten und Pflege von Projekten&lt;br /&gt;
* Ausführung&lt;br /&gt;
* Entwicklung mit Singlestep, Breakpoints, Ausführung von Teilsequenzen&lt;br /&gt;
* Inspektoren / Betrachter für verschiedene Datenformate&lt;br /&gt;
* Entwicklung mit &amp;quot;Live changes while the system runs&amp;quot; (i.e. Hotswap von Code, kurze Turnaround Zeiten)&lt;br /&gt;
* Debugging auf hoher (Diagramm-) als auch auf niedriger (Script/Code) Ebene&lt;br /&gt;
* Nahtlose Integration verschiedener Programmiersprachen wie Java, Node.JS, Python, C/C++ u.a.m.&lt;br /&gt;
* Beobachtung der Ausführung, Sammeln von Trace-, Zeit- und Logdaten&lt;br /&gt;
* Sammeln aller Datenflüsse, Nachrichtenpakete und Zwischenergebnisse zur späteren Inspektion&lt;br /&gt;
* Reportgenerierung als Mensch- und Maschinenlesbare Dokumente in verschiedenen Formaten&lt;br /&gt;
* expecco ALM Schnittstelle zu unserem eigenen QM Produkt (up/down load von Projekten, Logdateien, Resultaten und Reports)&lt;br /&gt;
&lt;br /&gt;
Die Ausführung kann sowohl unter Aufsicht und Kontrolle eines Bedieners, als auch komplett unbeobachtet erfolgen. Ersteres wird typischerweise bei der Testentwicklung, letzteres in der Produktionsumgebung der Fall sein, wenn die Tests automatisiert zum Ablauf kommen.&lt;br /&gt;
&lt;br /&gt;
Die automatisierte Ausführung kann durch die Kommandozeile oder durch entfernte Rechner via SOAP, REST oder von einem Mobilgerät bzw. einer Weboberfläche initiiert und kontrolliert werden. &lt;br /&gt;
Somit kann die Ausführung auch per cron-Job (Unix), scheduled tasks (Windows), Jenkins oder beliebigen anderen Programmen angestossen werden.&lt;br /&gt;
&lt;br /&gt;
Das Basissystem enthält: &lt;br /&gt;
* expecco IDE&lt;br /&gt;
* Bibliotheken - (Standard, ODBC, XML, uam.)&lt;br /&gt;
* Webtest - Browserautomatisierung (Selenium, Webdriver, HTML5, Smart GWT, etc.) für Firefox, IE, Safari, Opera und Chrome Browser&lt;br /&gt;
* Manuelle Tests - (Benutzergeführter Testablauf)&lt;br /&gt;
* Ports - seriell/USB/parallel&lt;br /&gt;
* Anbindungen - (DLL, CSV, etc.)&lt;br /&gt;
* Webservices - (REST, SOAP, RPC)&lt;br /&gt;
* JavaBridge - (Java Code ausführen sowie Code Injection in Java Programme)&lt;br /&gt;
* .NETBridge - (DotNET Code ausführen)&lt;br /&gt;
* NodeJS Bridge ab v19.1 (Node/Javascript Code ausführen)&lt;br /&gt;
* Python Bridge ab v19.2 (Python und Jython Code ausführen)&lt;br /&gt;
* C Bridge ab v22.1 (C und C++ Code ausführen)&lt;br /&gt;
* Automatischer Report&lt;br /&gt;
* Remote Control ab v23.1 (Kontrolle via Browser, Android oder IOS)&lt;br /&gt;
&lt;br /&gt;
expecco ist modular aufgebaut – das Basissystem kann jederzeit durch Plugins erweitert und an Ihren individuellen Bedarf oder an den Projektfortschritt angepasst werden.&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
Erweiterungen (&amp;quot;&#039;&#039;Plugins&#039;&#039;&amp;quot;) realisieren die Schnittstellen zu verschiedenen UI-Technologien, zu Hard- und Software Schnittstellen, Protokollen sowie Dokumentformaten. Diese Plugins sind z.T. im Basissystem enthalten oder können nach Bedarf bestellt werden. Es ist auch möglich, eigene Plugins zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel:&lt;br /&gt;
* &amp;quot;Mobile Testing Plugin&amp;quot; für Apps unter iOS und Android&lt;br /&gt;
* GUI Testing für Java-Swing, SWT und andere Java UI-Frameworks&lt;br /&gt;
* GUI Testing für Windows Anwendungen (Windows Automation / UI-Automation)&lt;br /&gt;
* GUI Testing für Qt und andere C/C++ basierte UI-Frameworks&lt;br /&gt;
* GUI Test von VisualWorks Anwendungen&lt;br /&gt;
* GUI Test via VNC&lt;br /&gt;
* Schnittstellen zu CAN-Bus Systemen wie CANoe (Automotive)&lt;br /&gt;
* Schnittstellen zu SomeIP Brokern / Klienten (Automotive)&lt;br /&gt;
* Schnittstellen zu EDIFACT und SWIFT Systemen (B2B, Finance)&lt;br /&gt;
* Schnittstellen zu MQTT und OPC Systemen (Manufacturing, Internet of Things, Automotive)&lt;br /&gt;
* Integration und Ausführung von Functional Mockup Units (FMU)&lt;br /&gt;
* Import von Testspezifikationen (z.B. aus Excel- oder Word-Dokumenten)&lt;br /&gt;
* Schnittstellen zu spezifischen Laborgeräten (Telekom/Automotive)&lt;br /&gt;
&lt;br /&gt;
Typischerweise bestehen Plugins aus zusätzlichen dll- und Blockbibliotheken, welche domänenspezifische Funktionen als &amp;quot;ready-to-use&amp;quot; Bausteine beinhalten. Diese werden dann mit drag &amp;amp; drop in die Testsequenzen eingefügt. Die GUI Plugins beinhalten zusätzliche Recorderfuntionen so dass Benutzerinterationen (z.B. mit einem Mobilgerät) als ablauffähiges Aktionsdiagram aufgezeichnet werden können.&lt;br /&gt;
&lt;br /&gt;
Andere Plugins dienen der Integration in eine existierende QM Infrastruktur:&lt;br /&gt;
* Polarion Plugin, um Tests im Polarion ALM System zusammenzustellen und mit expecco zu automatisieren&lt;br /&gt;
* Quality Center Plugin als Schnittstelle zu HP-QC&lt;br /&gt;
* Jira Plugin, um nach Testläufen Jira-Issues automatisch anzulegen bzw. zu aktualisieren&lt;br /&gt;
&lt;br /&gt;
=== Verfügbarkeit ===&lt;br /&gt;
&lt;br /&gt;
expecco und expecco ALM sind verfügbar für Windows und Linux Systeme, sowohl als 32bit als auch als 64bit Version. Eine Version für macOS (64bit) ist in der Beta Testphase und auf Anfrage verfügbar. Versionen für Solaris und andere Unix Systeme können ebenfalls auf Anfrage bereit gestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== Lizenzierung ===&lt;br /&gt;
&lt;br /&gt;
Lizenzen für expecco sind verfügbar als Einzelplatz (Nodelock oder Dongle), Floating (mit Hilfe eines Lizenzmanagers/Lizenzservers) oder als Firmenlizenz. &lt;br /&gt;
expecco kann (mittels Einzelplatz- oder vom Lizenzserver ausgelöster Lizenz) in isolierten Umgebungen, ohne Zugang zum Firmennetz oder Internet eingesetzt werden. &lt;br /&gt;
&lt;br /&gt;
Zu Preisen, Rabattstaffeln und Konditionen kontaktieren Sie bitte eXept.&lt;br /&gt;
&lt;br /&gt;
== Architektur ==&lt;br /&gt;
&lt;br /&gt;
Im Prinzip ist expecco ein &amp;quot;Black Box&amp;quot; Testsystem, welches keine Instrumentierung des getesteten Systems ([[Glossary/en#SUT_.28System_Under_Test.29|SUT = &amp;quot;System Under Test&amp;quot;]]) erwartet oder benötigt (d.h. es ist nicht notwendig, das [[Glossary/en#SUT_.28System_Under_Test.29|SUT]] mit speziellem Code zu erweitern oder spezielle Bibliotheken dazu zubinden). &lt;br /&gt;
Es ermöglicht aber &amp;quot;code injection&amp;quot; bei Java-, .NET- und PythonAnwendungen, wodurch &amp;quot;Grey Box&amp;quot; und &amp;quot;White Box&amp;quot; Tests ebenfalls unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
Testszenarien können in expecco sowohl auf einer hohen Abstraktionsebene als (Aktivitäts-) Diagramme, als &amp;quot;Keyword-Driven&amp;quot; Testsequenzen oder als textuelle Skripte in verschiedenen Programmiersprachen formuliert werden. Skripte können sowohl in expecco selbst, als auch im [[Glossary/en#SUT_.28System_Under_Test.29|SUT]] oder anderen Maschinen ausgeführt werden (z.B. um das SUT zu stimulieren, oder um Last zu generieren).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgendes grobes Architekturbild gibt dazu eine Übersicht (nicht alle verfügbaren Plugins sind darin enthalten):&lt;br /&gt;
&lt;br /&gt;
[[Datei:expeccoArchitecture1.png|1000px|thumb|left|expecco Architektur (nicht alle Plugins dargestellt)]]&lt;br /&gt;
&lt;br /&gt;
(oder als PDF: [[Datei:expeccoArchitecture1.pdf]])&lt;br /&gt;
&lt;br /&gt;
== Konzept ==&lt;br /&gt;
Die Grundphilosophie von Expecco ist, dass Testabläufe sowohl von Entwicklern und Programmierern, als auch von Domänenexperten und Analysten erstellt, gewartet und ausgeführt werden können,&lt;br /&gt;
ohne dass dazu spezielle Programmierkenntnisse notwendig wären.&lt;br /&gt;
Dabei darf es aber keine Einschränkungen geben, und ein erfahrener Nutzer hat alle Mittel zur Verfügung, um eigenen Code, Scripte und erweiterte Funktionen zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Um beiden Anforderungen gerecht zu werden, können Abläufe in Expecco sowohl als Aktivitätsdiagramm (&amp;quot;&#039;&#039;Kästchen und Pfeile&#039;&#039;&amp;quot;) als auch als Scriptcode in verschiedenen Programmiersprachen definiert werden.&lt;br /&gt;
Die ermöglicht einen &amp;quot;&#039;&#039;Best of both Worlds&#039;&#039;&amp;quot; Ansatz: einerseits können Nichtprogrammierer auf einer hohen Abstraktionsebene bestehende Aktionsbausteine mittels &amp;quot;&#039;&#039;Drag &amp;amp; Drop&#039;&#039;&amp;quot; oder Recording von GUI Aktionen zu komplexen Szenarien verbinden,&lt;br /&gt;
andererseits ist es möglich, fehlende Funktionsbausteine als Scriptcode zu erstellen, und als Aktionsbaustein für andere Aktionen bereit zu stellen. Wobei &amp;quot;Scriptcode&amp;quot; hier für JavaScript, Python, Java, Shell/Batch bis hin zu C/C++ steht. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Hardcore&amp;quot; Entwickler können selbstverständlich auch den gesamten Testablauf als Script/Programmcode definieren - allerdings geht dadurch u.U. die Verständlichkeit und modulare Nutzbarkeit für Nichtprogrammierer mehr oder weniger verloren. Wir raten daher im Allgemeinen dazu, Programmcode nur zu verwenden, um Anbindungen an bestehende Frameworks zu kapseln, und den eigentlichen Ablauf als Aktivitätsdiagramm zu formulieren.   &lt;br /&gt;
&lt;br /&gt;
In der Praxis wird es zu einer Aufgabenteilung kommen: für die Anbindung an das getestete System (SUT - System under Test) werden oft spezielle Aktionsbausteine benötigt, die ein Programmierer entwickeln wird (z.B. Anbindungen an Protokolle, Hardware oder Dokumentformate). Der Ablauf der Testszenarien wird dann gemeinsam von Entwicklern, Testern und Analysten durch Diagramme auf einer höheren Abstraktionsebene definiert, wobei hierzu kein Programmierknowhow benötigt wird.&lt;br /&gt;
&lt;br /&gt;
== Erweiterbar ==&lt;br /&gt;
Eigene Aktionsbausteine können eine große Menge an frei verfügbarem und bereits existierenden Code nutzen. Somit können Anbindungen an Protokolle, Hardware oder Dokumentformate schnell und preisgünstig realisiert werden. Sie können interaktiv Codefragmente in ihre Szenarien einbinden, welche in JavaScript (Node.js/npm), Python, Java (jar-Dateien), DotNET (Assemblies), R (statistische Auswertungen), Gnuplot (Grafiken erstellen) u.a.m. erstellt wurden.&lt;br /&gt;
Für diese Programmiersprachen gibt es eine große Menge an frei verfügbaren oder auch lizensierbaren Programmpaketen, z.B. in github oder als npm (Node.js) bzw. pip (Python) Pakete.&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Hauptseite&amp;diff=29673</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Hauptseite&amp;diff=29673"/>
		<updated>2024-08-01T09:59:27Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: Hack für &amp;quot;Was ist expecco?&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Hauptseite/en|English Version]]&lt;br /&gt;
&lt;br /&gt;
Klicken Sie links auf &#039;&#039;&amp;quot;Letzte Änderungen&amp;quot;&#039;&#039; (&amp;quot;Recent changes&amp;quot;) um die neuesten Einträge in der Dokumentation zu sehen.&amp;lt;br&amp;gt;Sie sehen dann meist, woran unsere Entwickler gerade vornehmlich arbeiten.&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;!-- Link mit Fragezeichen funktioniert nicht, deshalb externer Link --&amp;gt;&lt;br /&gt;
			&amp;lt;!-- &amp;lt;li&amp;gt;[[Was ist expecco?|Allgemeine Informationen]]&amp;lt;/li&amp;gt; --&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[https://doc.expecco.de/w2.x/index.php?title=Was_ist_expecco%3F Allgemeine Informationen]&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Expecco Usecases|Einsatzbereiche]]&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;[[Tutorials]]&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;!-- &amp;lt;li&amp;gt;[[Testorganisation|Testorganisation]]&amp;lt;/li&amp;gt; --&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_Remote_Control_App|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:Icon_Landingpage3.png|30px]]&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;padding:0 1em&amp;quot;&amp;gt;API Referenz (Elementarbausteine)&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|Übersicht]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Expecco API#JavaScript_and_Smalltalk_Elementary_Blocks|Smalltalk &amp;amp; JavaScript]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Expecco API#Groovy_Elementary_Blocks|Groovy]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Expecco_API#Node.js_.28Bridged.29_Elementary_Blocks|NodeJS]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Expecco_API#Bridged_Python_Elementary_Blocks|Python]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Expecco_API#Bridged_Ruby_Elementary_Blocks|Ruby]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Expecco_API#Bridged_C_Elementary_Blocks|C]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Expecco API#VisualBasic_Elementary_Blocks|VisualBasic ]]&amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;li&amp;gt;[[Expecco Scripting API|Shell und Script Languages]]&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 24.x]]&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;[[Release Notes 23.x]]&amp;lt;/li&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;li&amp;gt;[[CustomerSpecific|Kundenspezifische Portale]]&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>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Expecco_wiki:Impressum&amp;diff=29672</id>
		<title>Expecco wiki:Impressum</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Expecco_wiki:Impressum&amp;diff=29672"/>
		<updated>2024-08-01T09:42:51Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;eXept Software AG&amp;lt;br&amp;gt;&lt;br /&gt;
Talstr. 4&amp;lt;br&amp;gt;&lt;br /&gt;
74321 Bietigheim-Bissingen&amp;lt;br&amp;gt;&lt;br /&gt;
Germany&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tel.: +49 7142 91948-0&amp;lt;br&amp;gt;&lt;br /&gt;
Fax: +49 7142 91948-44&lt;br /&gt;
&lt;br /&gt;
E-Mail: info@exept.de&amp;lt;br&amp;gt;&lt;br /&gt;
Internet: www.exept.de&lt;br /&gt;
&lt;br /&gt;
Vorstand:&amp;lt;br&amp;gt;&lt;br /&gt;
Stefan Vogel&lt;br /&gt;
&lt;br /&gt;
Aufsichtsrat:&amp;lt;br&amp;gt;&lt;br /&gt;
Claus Gittinger (Vorsitzender)&lt;br /&gt;
&lt;br /&gt;
Registereinträge:&amp;lt;br&amp;gt;&lt;br /&gt;
Registergericht: Amtsgericht Stuttgart&amp;lt;br&amp;gt;&lt;br /&gt;
Registernummer: HRB 301567&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umsatzsteuer-Identifikationsnummer:&amp;lt;br&amp;gt;&lt;br /&gt;
DE 178373827&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haftungsausschluss:&amp;lt;br&amp;gt;&lt;br /&gt;
Die eXept AG distanziert sich in dieser Internetpräsenz ausdrücklich von allen Inhalten, die über Verweise (Links) von dieser Domain aus erreichbar sind, sofern diese Inhalte anstößig oder strafbar sind. Zum Zeitpunkt der Erstellung dieser Seiten war kein Inhalt, auf den von diesem Webangebot verwiesen wird, anstößig oder gar strafbar.&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Datei:Execution_Editor.png&amp;diff=29401</id>
		<title>Datei:Execution Editor.png</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Datei:Execution_Editor.png&amp;diff=29401"/>
		<updated>2024-05-15T10:08:28Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: Alkurz lud eine neue Version von Datei:Execution Editor.png hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing file&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29400</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29400"/>
		<updated>2024-05-15T09:54:19Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 24.1 (2Q 2024) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; ([[Qt_Inject_Windows/en#Logging|Qt-Logging]])&lt;br /&gt;
*Feature: Qt-Testing: Qt-Connections now use the ConnectionManager like the other Gui test technologies&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Show Log and [[Timeline/en|Timeline view]] for testplans&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: [[Embedded Systems C Bridge API|C-Bridge]] now supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Feature: [[Testsuite_Editor-ExecutionSettings_Editor/en|Settings for execution]] (thread pool and log activities/pins/info) can now be saved in the test suite settings&lt;br /&gt;
*Feature: CSV test report, values for start time, end time and duration added&lt;br /&gt;
*Feature: Improved refactoring for compound blocks: &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;br /&gt;
*Feature: Enhanced expecco reflection library&lt;br /&gt;
*Fix: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Fix: WindowsAutomation: Fix blocking of applications after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Fix: Bridges: Detect (and ignore) invalid requests from forked background bridge threads&lt;br /&gt;
*Fix: Acitivity logs of asynchronous events in background actions are now displayed correctly in the background activity log.&lt;br /&gt;
*Fix: Qt: Drag and drop improved by revising the &amp;quot;Move mouse event&amp;quot; (Windows)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29399</id>
		<title>Testsuite Editor-ExecutionSettings Editor/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29399"/>
		<updated>2024-05-15T09:42:30Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Logging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Execution Editor_en.png|thumb|300px|Execution Editor]]&lt;br /&gt;
The execution editor is used to modify the execution settings of a [[TestSuite Element|test suite]]. It is located under the &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; tab when the test suite element (the top element) is selected in the navigation tree.&lt;br /&gt;
&lt;br /&gt;
== Execution ==&lt;br /&gt;
;Use Values of the User Execution Settings&lt;br /&gt;
:The following settings are also defined in the user execution settings. If this option is activated, the values from the user execution settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Long-Running Activities&lt;br /&gt;
:This check toggle controls if multiple activities are allowed to execute in parallel (are executed by separate threads). By default, this is enabled, but for some programs, it makes sense to disable this feature. (Usually badly formulated activities, which do not care for synchronized access to shared data.)&lt;br /&gt;
&lt;br /&gt;
;When execution longer than&lt;br /&gt;
:Due to the fact that starting up new processes is a slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without the need for an expensive creation of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of Activity Processes&lt;br /&gt;
:This limits the number of parallel executing separate processes. Because a process is a somewhat expensive resource in a computer (memory, disk space etc.), allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computers operation.&lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Suspended Activities&lt;br /&gt;
:Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without creating of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Recursion Level&lt;br /&gt;
:This parameter limits the nesting of activities during execution (i.e. the nesting of compound activities which invokes another compound activity). If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous. &lt;br /&gt;
&lt;br /&gt;
:Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter. &lt;br /&gt;
&lt;br /&gt;
;Max. Cleanup Time&lt;br /&gt;
:This parameter limits the max. execution time of cleanup actions. This allows for cleanup actions which try to communicate with dead connections to be terminated and thus avoids blocking. If a cleanup action executes longer, a dialog is shown, asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user. If expecco is executed in non-interactive mode (slave-mode or executed via command line), the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time. &lt;br /&gt;
&lt;br /&gt;
== Probes ==&lt;br /&gt;
&lt;br /&gt;
;Set probe mode to checking&lt;br /&gt;
:If there are [[Probe|Probes]] in your test suite, set them to checking mode.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
Specifies the set of resources (devices, operators etc.) which are available for resource allocation.&lt;br /&gt;
&lt;br /&gt;
;Default Inventory&lt;br /&gt;
:Specifies the set of resources which are available during developing and tests of the testsuite. This resource template might differ to the ALM Template.&lt;br /&gt;
&lt;br /&gt;
;ALM Template&lt;br /&gt;
:Optional Resources used by ALM/expeccoNET. If unspecified, the default inventory will be used.&lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
Specifies if and how the optional user interface of actions with GUI is to be shown.&lt;br /&gt;
This affects only actions which have a GUI attached. In version 2.x, this is a non-supported feature which is not yet released for public use, so we recommend to not use GUI actions and to leave the setting here as defaulted &amp;quot;none&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Logging ==&lt;br /&gt;
These settings specify, how log entries should be stored in the activity log as shown in the [[Testplan_Editor/en|testplan editor]]. The activity log is also the base of test reports, so limiting the log entries in the activity log also limits, what can be shown in a test report.&lt;br /&gt;
&lt;br /&gt;
Older versions of expecco included also Report Parameter settings here. These are now kept as [[ReportTemplate_Element/en|Report Template Element]] in the project tree. Multiple of them can be stored and maintained within a single test suite, to provide specifications for multiple reports with different detail for different target audiences.&lt;br /&gt;
&lt;br /&gt;
;Use Values of the User Activity-Log Settings&lt;br /&gt;
:The following settings are also defined in the user activity-log settings. If this option is activated, the values from the user activity-log settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Log Activities&lt;br /&gt;
:If enabled, each activity is stored in an activity log.&lt;br /&gt;
:If disabled, only failed activities are stored.&lt;br /&gt;
:At least there is one activity log, which keeps the whole information about the execution.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of kept Subactivities per [[Executor#Activity|Activity]]&lt;br /&gt;
:Maximum number of subactivities per activity stored in the activity log. This setting is used to limit the amount of log data during execution. If nothing is specified, all sub activities are stored.&amp;lt;br&amp;gt;The default setting is specified in the testsuite.&lt;br /&gt;
&lt;br /&gt;
;Log Pin Data&lt;br /&gt;
:If enabled, all input and output pin values are stored in the activity log. Otherwise all values are discarded.&lt;br /&gt;
&lt;br /&gt;
;Log Info&lt;br /&gt;
:If enabled, all information messages are stored in the activity log. Otherwise all information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Trace [[Glossary/en#Stdout | Stdout]] and [[Glossary/en#Stderr | Stderr]] on [[Tools_Transcript/en|Transcript]]&lt;br /&gt;
:If enabled, the Stdout and Stderr are shown on the transcript.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The default values can also be changed in the more convenient [[Settings#Logging Settings|settings dialog]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Editors]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29398</id>
		<title>Testsuite Editor-ExecutionSettings Editor/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29398"/>
		<updated>2024-05-15T09:40:50Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Logging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Execution Editor_en.png|thumb|300px|Execution Editor]]&lt;br /&gt;
The execution editor is used to modify the execution settings of a [[TestSuite Element|test suite]]. It is located under the &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; tab when the test suite element (the top element) is selected in the navigation tree.&lt;br /&gt;
&lt;br /&gt;
== Execution ==&lt;br /&gt;
;Use Values of the User Execution Settings&lt;br /&gt;
:The following settings are also defined in the user execution settings. If this option is activated, the values from the user execution settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Long-Running Activities&lt;br /&gt;
:This check toggle controls if multiple activities are allowed to execute in parallel (are executed by separate threads). By default, this is enabled, but for some programs, it makes sense to disable this feature. (Usually badly formulated activities, which do not care for synchronized access to shared data.)&lt;br /&gt;
&lt;br /&gt;
;When execution longer than&lt;br /&gt;
:Due to the fact that starting up new processes is a slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without the need for an expensive creation of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of Activity Processes&lt;br /&gt;
:This limits the number of parallel executing separate processes. Because a process is a somewhat expensive resource in a computer (memory, disk space etc.), allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computers operation.&lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Suspended Activities&lt;br /&gt;
:Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without creating of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Recursion Level&lt;br /&gt;
:This parameter limits the nesting of activities during execution (i.e. the nesting of compound activities which invokes another compound activity). If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous. &lt;br /&gt;
&lt;br /&gt;
:Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter. &lt;br /&gt;
&lt;br /&gt;
;Max. Cleanup Time&lt;br /&gt;
:This parameter limits the max. execution time of cleanup actions. This allows for cleanup actions which try to communicate with dead connections to be terminated and thus avoids blocking. If a cleanup action executes longer, a dialog is shown, asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user. If expecco is executed in non-interactive mode (slave-mode or executed via command line), the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time. &lt;br /&gt;
&lt;br /&gt;
== Probes ==&lt;br /&gt;
&lt;br /&gt;
;Set probe mode to checking&lt;br /&gt;
:If there are [[Probe|Probes]] in your test suite, set them to checking mode.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
Specifies the set of resources (devices, operators etc.) which are available for resource allocation.&lt;br /&gt;
&lt;br /&gt;
;Default Inventory&lt;br /&gt;
:Specifies the set of resources which are available during developing and tests of the testsuite. This resource template might differ to the ALM Template.&lt;br /&gt;
&lt;br /&gt;
;ALM Template&lt;br /&gt;
:Optional Resources used by ALM/expeccoNET. If unspecified, the default inventory will be used.&lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
Specifies if and how the optional user interface of actions with GUI is to be shown.&lt;br /&gt;
This affects only actions which have a GUI attached. In version 2.x, this is a non-supported feature which is not yet released for public use, so we recommend to not use GUI actions and to leave the setting here as defaulted &amp;quot;none&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Logging ==&lt;br /&gt;
These settings specify, how log entries should be stored in the activity log as shown in the [[TestplanEditor]]. The activity log is also the base of test reports, so limiting the log entries in the activity log also limits, what can be shown in a test report.&lt;br /&gt;
&lt;br /&gt;
Older versions of expecco included also Report Parameter settings here. These are now kept as [[Report Template Element]] in the project tree. Multiple of them can be stored and maintained within a single test suite, to provide specifications for multiple reports with different detail for different target audiences.&lt;br /&gt;
&lt;br /&gt;
;Use Values of the User Activity-Log Settings&lt;br /&gt;
:The following settings are also defined in the user activity-log settings. If this option is activated, the values from the user activity-log settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Log Activities&lt;br /&gt;
:If enabled, each activity is stored in an activity log.&lt;br /&gt;
:If disabled, only failed activities are stored.&lt;br /&gt;
:At least there is one activity log, which keeps the whole information about the execution.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of kept Subactivities per [[Executor#Activity|Activity]]&lt;br /&gt;
:Maximum number of subactivities per activity stored in the activity log. This setting is used to limit the amount of log data during execution. If nothing is specified, all sub activities are stored.&amp;lt;br&amp;gt;The default setting is specified in the testsuite.&lt;br /&gt;
&lt;br /&gt;
;Log Pin Data&lt;br /&gt;
:If enabled, all input and output pin values are stored in the activity log. Otherwise all values are discarded.&lt;br /&gt;
&lt;br /&gt;
;Log Info&lt;br /&gt;
:If enabled, all information messages are stored in the activity log. Otherwise all information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Trace [[Glossary/en#Stdout | Stdout]] and [[Glossary/en#Stderr | Stderr]] on [[Tools_Transcript/en|Transcript]]&lt;br /&gt;
:If enabled, the Stdout and Stderr are shown on the transcript.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The default values can also be changed in the more convenient [[Settings#Logging Settings|settings dialog]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Editors]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29397</id>
		<title>Testsuite Editor-ExecutionSettings Editor/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29397"/>
		<updated>2024-05-15T09:36:38Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Execution Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Execution Editor_en.png|thumb|300px|Execution Editor]]&lt;br /&gt;
The execution editor is used to modify the execution settings of a [[TestSuite Element|test suite]]. It is located under the &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; tab when the test suite element (the top element) is selected in the navigation tree.&lt;br /&gt;
&lt;br /&gt;
== Execution ==&lt;br /&gt;
;Use Values of the User Execution Settings&lt;br /&gt;
:The following settings are also defined in the user execution settings. If this option is activated, the values from the user execution settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Long-Running Activities&lt;br /&gt;
:This check toggle controls if multiple activities are allowed to execute in parallel (are executed by separate threads). By default, this is enabled, but for some programs, it makes sense to disable this feature. (Usually badly formulated activities, which do not care for synchronized access to shared data.)&lt;br /&gt;
&lt;br /&gt;
;When execution longer than&lt;br /&gt;
:Due to the fact that starting up new processes is a slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without the need for an expensive creation of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of Activity Processes&lt;br /&gt;
:This limits the number of parallel executing separate processes. Because a process is a somewhat expensive resource in a computer (memory, disk space etc.), allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computers operation.&lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Suspended Activities&lt;br /&gt;
:Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without creating of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Recursion Level&lt;br /&gt;
:This parameter limits the nesting of activities during execution (i.e. the nesting of compound activities which invokes another compound activity). If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous. &lt;br /&gt;
&lt;br /&gt;
:Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter. &lt;br /&gt;
&lt;br /&gt;
;Max. Cleanup Time&lt;br /&gt;
:This parameter limits the max. execution time of cleanup actions. This allows for cleanup actions which try to communicate with dead connections to be terminated and thus avoids blocking. If a cleanup action executes longer, a dialog is shown, asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user. If expecco is executed in non-interactive mode (slave-mode or executed via command line), the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time. &lt;br /&gt;
&lt;br /&gt;
== Probes ==&lt;br /&gt;
&lt;br /&gt;
;Set probe mode to checking&lt;br /&gt;
:If there are [[Probe|Probes]] in your test suite, set them to checking mode.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
Specifies the set of resources (devices, operators etc.) which are available for resource allocation.&lt;br /&gt;
&lt;br /&gt;
;Default Inventory&lt;br /&gt;
:Specifies the set of resources which are available during developing and tests of the testsuite. This resource template might differ to the ALM Template.&lt;br /&gt;
&lt;br /&gt;
;ALM Template&lt;br /&gt;
:Optional Resources used by ALM/expeccoNET. If unspecified, the default inventory will be used.&lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
Specifies if and how the optional user interface of actions with GUI is to be shown.&lt;br /&gt;
This affects only actions which have a GUI attached. In version 2.x, this is a non-supported feature which is not yet released for public use, so we recommend to not use GUI actions and to leave the setting here as defaulted &amp;quot;none&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Logging ==&lt;br /&gt;
These settings specify, how log entries should be stored in the activity log as shown in the [[TestplanEditor]]. The activity log is also the base of test reports, so limiting the log entries in the activity log also limits, what can be shown in a test report.&lt;br /&gt;
&lt;br /&gt;
Older versions of expecco included also Report Parameter settings here. These are now kept as [[Report Template Element]] in the project tree. Multiple of them can be stored and maintained within a single test suite, to provide specifications for multiple reports with different detail for different target audiences.&lt;br /&gt;
&lt;br /&gt;
;Use Values of the User Activity-Log Settings&lt;br /&gt;
:The following settings are also defined in the user activity-log settings. If this option is activated, the values from the user activity-log settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Log Activities&lt;br /&gt;
:If enabled, each activity is stored in an activity log.&lt;br /&gt;
:If disabled, only failed activities are stored.&lt;br /&gt;
:At least there is one activity log, which keeps the whole information about the execution.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of kept Subactivities per [[Executor#Activity|Activity]]&lt;br /&gt;
:Maximum number of subactivities per activity stored in the activity log. This setting is used to limit the amount of log data during execution. If nothing is specified, all sub activities are stored.&amp;lt;br&amp;gt;The default setting is specified in the testsuite.&lt;br /&gt;
&lt;br /&gt;
;Log Pin Data&lt;br /&gt;
:If enabled, all input and output pin values are stored in the activity log. Otherwise all values are discarded.&lt;br /&gt;
&lt;br /&gt;
;Log Info&lt;br /&gt;
:If enabled, all information messages are stored in the activity log. Otherwise all information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Trace [[Glossary/en#Stdout | Stdout]] and [[Glossary/en#Stderr | Stderr]] on [[Transcript]]&lt;br /&gt;
:If enabled, the Stdout and Stderr are shown on the transcript.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The default values can also be changed in the more convenient [[Settings#Logging Settings|settings dialog]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Editors]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29396</id>
		<title>Testsuite Editor-ExecutionSettings Editor/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29396"/>
		<updated>2024-05-15T09:36:00Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Logging Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Execution Editor_en.png|thumb|300px|Execution Editor]]&lt;br /&gt;
The execution editor is used to modify the execution settings of a [[TestSuite Element|test suite]]. It is located under the &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; tab when the test suite element (the top element) is selected in the navigation tree.&lt;br /&gt;
&lt;br /&gt;
== Execution Settings ==&lt;br /&gt;
;Use Values of the User Execution Settings&lt;br /&gt;
:The following settings are also defined in the user execution settings. If this option is activated, the values from the user execution settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Long-Running Activities&lt;br /&gt;
:This check toggle controls if multiple activities are allowed to execute in parallel (are executed by separate threads). By default, this is enabled, but for some programs, it makes sense to disable this feature. (Usually badly formulated activities, which do not care for synchronized access to shared data.)&lt;br /&gt;
&lt;br /&gt;
;When execution longer than&lt;br /&gt;
:Due to the fact that starting up new processes is a slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without the need for an expensive creation of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of Activity Processes&lt;br /&gt;
:This limits the number of parallel executing separate processes. Because a process is a somewhat expensive resource in a computer (memory, disk space etc.), allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computers operation.&lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Suspended Activities&lt;br /&gt;
:Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without creating of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Recursion Level&lt;br /&gt;
:This parameter limits the nesting of activities during execution (i.e. the nesting of compound activities which invokes another compound activity). If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous. &lt;br /&gt;
&lt;br /&gt;
:Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter. &lt;br /&gt;
&lt;br /&gt;
;Max. Cleanup Time&lt;br /&gt;
:This parameter limits the max. execution time of cleanup actions. This allows for cleanup actions which try to communicate with dead connections to be terminated and thus avoids blocking. If a cleanup action executes longer, a dialog is shown, asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user. If expecco is executed in non-interactive mode (slave-mode or executed via command line), the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Set probe mode to checking&lt;br /&gt;
:If there are [[Probe|Probes]] in your test suite, set them to checking mode.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
Specifies the set of resources (devices, operators etc.) which are available for resource allocation.&lt;br /&gt;
&lt;br /&gt;
;Default Inventory&lt;br /&gt;
:Specifies the set of resources which are available during developing and tests of the testsuite. This resource template might differ to the ALM Template.&lt;br /&gt;
&lt;br /&gt;
;ALM Template&lt;br /&gt;
:Optional Resources used by ALM/expeccoNET. If unspecified, the default inventory will be used.&lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
Specifies if and how the optional user interface of actions with GUI is to be shown.&lt;br /&gt;
This affects only actions which have a GUI attached. In version 2.x, this is a non-supported feature which is not yet released for public use, so we recommend to not use GUI actions and to leave the setting here as defaulted &amp;quot;none&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Logging ==&lt;br /&gt;
These settings specify, how log entries should be stored in the activity log as shown in the [[TestplanEditor]]. The activity log is also the base of test reports, so limiting the log entries in the activity log also limits, what can be shown in a test report.&lt;br /&gt;
&lt;br /&gt;
Older versions of expecco included also Report Parameter settings here. These are now kept as [[Report Template Element]] in the project tree. Multiple of them can be stored and maintained within a single test suite, to provide specifications for multiple reports with different detail for different target audiences.&lt;br /&gt;
&lt;br /&gt;
;Use Values of the User Activity-Log Settings&lt;br /&gt;
:The following settings are also defined in the user activity-log settings. If this option is activated, the values from the user activity-log settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Log Activities&lt;br /&gt;
:If enabled, each activity is stored in an activity log.&lt;br /&gt;
:If disabled, only failed activities are stored.&lt;br /&gt;
:At least there is one activity log, which keeps the whole information about the execution.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of kept Subactivities per [[Executor#Activity|Activity]]&lt;br /&gt;
:Maximum number of subactivities per activity stored in the activity log. This setting is used to limit the amount of log data during execution. If nothing is specified, all sub activities are stored.&amp;lt;br&amp;gt;The default setting is specified in the testsuite.&lt;br /&gt;
&lt;br /&gt;
;Log Pin Data&lt;br /&gt;
:If enabled, all input and output pin values are stored in the activity log. Otherwise all values are discarded.&lt;br /&gt;
&lt;br /&gt;
;Log Info&lt;br /&gt;
:If enabled, all information messages are stored in the activity log. Otherwise all information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Trace [[Glossary/en#Stdout | Stdout]] and [[Glossary/en#Stderr | Stderr]] on [[Transcript]]&lt;br /&gt;
:If enabled, the Stdout and Stderr are shown on the transcript.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The default values can also be changed in the more convenient [[Settings#Logging Settings|settings dialog]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Editors]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29395</id>
		<title>Testsuite Editor-ExecutionSettings Editor/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29395"/>
		<updated>2024-05-15T09:35:31Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Inventory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Execution Editor_en.png|thumb|300px|Execution Editor]]&lt;br /&gt;
The execution editor is used to modify the execution settings of a [[TestSuite Element|test suite]]. It is located under the &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; tab when the test suite element (the top element) is selected in the navigation tree.&lt;br /&gt;
&lt;br /&gt;
== Execution Settings ==&lt;br /&gt;
;Use Values of the User Execution Settings&lt;br /&gt;
:The following settings are also defined in the user execution settings. If this option is activated, the values from the user execution settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Long-Running Activities&lt;br /&gt;
:This check toggle controls if multiple activities are allowed to execute in parallel (are executed by separate threads). By default, this is enabled, but for some programs, it makes sense to disable this feature. (Usually badly formulated activities, which do not care for synchronized access to shared data.)&lt;br /&gt;
&lt;br /&gt;
;When execution longer than&lt;br /&gt;
:Due to the fact that starting up new processes is a slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without the need for an expensive creation of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of Activity Processes&lt;br /&gt;
:This limits the number of parallel executing separate processes. Because a process is a somewhat expensive resource in a computer (memory, disk space etc.), allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computers operation.&lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Suspended Activities&lt;br /&gt;
:Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without creating of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Recursion Level&lt;br /&gt;
:This parameter limits the nesting of activities during execution (i.e. the nesting of compound activities which invokes another compound activity). If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous. &lt;br /&gt;
&lt;br /&gt;
:Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter. &lt;br /&gt;
&lt;br /&gt;
;Max. Cleanup Time&lt;br /&gt;
:This parameter limits the max. execution time of cleanup actions. This allows for cleanup actions which try to communicate with dead connections to be terminated and thus avoids blocking. If a cleanup action executes longer, a dialog is shown, asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user. If expecco is executed in non-interactive mode (slave-mode or executed via command line), the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Set probe mode to checking&lt;br /&gt;
:If there are [[Probe|Probes]] in your test suite, set them to checking mode.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
Specifies the set of resources (devices, operators etc.) which are available for resource allocation.&lt;br /&gt;
&lt;br /&gt;
;Default Inventory&lt;br /&gt;
:Specifies the set of resources which are available during developing and tests of the testsuite. This resource template might differ to the ALM Template.&lt;br /&gt;
&lt;br /&gt;
;ALM Template&lt;br /&gt;
:Optional Resources used by ALM/expeccoNET. If unspecified, the default inventory will be used.&lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
Specifies if and how the optional user interface of actions with GUI is to be shown.&lt;br /&gt;
This affects only actions which have a GUI attached. In version 2.x, this is a non-supported feature which is not yet released for public use, so we recommend to not use GUI actions and to leave the setting here as defaulted &amp;quot;none&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Logging Settings ==&lt;br /&gt;
These settings specify, how log entries should be stored in the activity log as shown in the [[TestplanEditor]]. The activity log is also the base of test reports, so limiting the log entries in the activity log also limits, what can be shown in a test report.&lt;br /&gt;
&lt;br /&gt;
Older versions of expecco included also Report Parameter settings here. These are now kept as [[Report Template Element]] in the project tree. Multiple of them can be stored and maintained within a single test suite, to provide specifications for multiple reports with different detail for different target audiences.&lt;br /&gt;
&lt;br /&gt;
;Use Values of the User Activity-Log Settings&lt;br /&gt;
:The following settings are also defined in the user activity-log settings. If this option is activated, the values from the user activity-log settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Log Activities&lt;br /&gt;
:If enabled, each activity is stored in an activity log.&lt;br /&gt;
:If disabled, only failed activities are stored.&lt;br /&gt;
:At least there is one activity log, which keeps the whole information about the execution.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of kept Subactivities per [[Executor#Activity|Activity]]&lt;br /&gt;
:Maximum number of subactivities per activity stored in the activity log. This setting is used to limit the amount of log data during execution. If nothing is specified, all sub activities are stored.&amp;lt;br&amp;gt;The default setting is specified in the testsuite.&lt;br /&gt;
&lt;br /&gt;
;Log Pin Data&lt;br /&gt;
:If enabled, all input and output pin values are stored in the activity log. Otherwise all values are discarded.&lt;br /&gt;
&lt;br /&gt;
;Log Info&lt;br /&gt;
:If enabled, all information messages are stored in the activity log. Otherwise all information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Trace [[Glossary/en#Stdout | Stdout]] and [[Glossary/en#Stderr | Stderr]] on [[Transcript]]&lt;br /&gt;
:If enabled, the Stdout and Stderr are shown on the transcript.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The default values can also be changed in the more convenient [[Settings#Logging Settings|settings dialog]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Editors]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29394</id>
		<title>Testsuite Editor-ExecutionSettings Editor/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Testsuite_Editor-ExecutionSettings_Editor/en&amp;diff=29394"/>
		<updated>2024-05-15T09:33:14Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Execution Editor_en.png|thumb|300px|Execution Editor]]&lt;br /&gt;
The execution editor is used to modify the execution settings of a [[TestSuite Element|test suite]]. It is located under the &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; tab when the test suite element (the top element) is selected in the navigation tree.&lt;br /&gt;
&lt;br /&gt;
== Execution Settings ==&lt;br /&gt;
;Use Values of the User Execution Settings&lt;br /&gt;
:The following settings are also defined in the user execution settings. If this option is activated, the values from the user execution settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Long-Running Activities&lt;br /&gt;
:This check toggle controls if multiple activities are allowed to execute in parallel (are executed by separate threads). By default, this is enabled, but for some programs, it makes sense to disable this feature. (Usually badly formulated activities, which do not care for synchronized access to shared data.)&lt;br /&gt;
&lt;br /&gt;
;When execution longer than&lt;br /&gt;
:Due to the fact that starting up new processes is a slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without the need for an expensive creation of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of Activity Processes&lt;br /&gt;
:This limits the number of parallel executing separate processes. Because a process is a somewhat expensive resource in a computer (memory, disk space etc.), allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computers operation.&lt;br /&gt;
&lt;br /&gt;
;Separate Processes for Suspended Activities&lt;br /&gt;
:Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing power, the expecco system delays the creation of new processes for some time, in order to allow for short activities to finish without creating of a new process. If an activity is finished within that time duration, no new process is created. Effectively, short-term activities are sequentially executed, as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
;Max. Recursion Level&lt;br /&gt;
:This parameter limits the nesting of activities during execution (i.e. the nesting of compound activities which invokes another compound activity). If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous. &lt;br /&gt;
&lt;br /&gt;
:Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter. &lt;br /&gt;
&lt;br /&gt;
;Max. Cleanup Time&lt;br /&gt;
:This parameter limits the max. execution time of cleanup actions. This allows for cleanup actions which try to communicate with dead connections to be terminated and thus avoids blocking. If a cleanup action executes longer, a dialog is shown, asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user. If expecco is executed in non-interactive mode (slave-mode or executed via command line), the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Set probe mode to checking&lt;br /&gt;
:If there are [[Probe|Probes]] in your test suite, set them to checking mode.&lt;br /&gt;
&lt;br /&gt;
== Inventory ==&lt;br /&gt;
Specifies the set of resources (devices, operators etc.) which are available for resource allocation.&lt;br /&gt;
&lt;br /&gt;
;Default Inventory&lt;br /&gt;
:Specifies the set of resources which are available during developing and tests of the testsuite. This resource template might differ to the expeccoNET Template.&lt;br /&gt;
&lt;br /&gt;
;ExpeccoNET Template&lt;br /&gt;
:Optional Resources used by expeccoNET. If unspecified, the default inventory will be used.&lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
Specifies if and how the optional user interface of actions with GUI is to be shown.&lt;br /&gt;
This affects only actions which have a GUI attached. In version 2.x, this is a non-supported feature which is not yet released for public use, so we recommend to not use GUI actions and to leave the setting here as defaulted &amp;quot;none&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Logging Settings ==&lt;br /&gt;
These settings specify, how log entries should be stored in the activity log as shown in the [[TestplanEditor]]. The activity log is also the base of test reports, so limiting the log entries in the activity log also limits, what can be shown in a test report.&lt;br /&gt;
&lt;br /&gt;
Older versions of expecco included also Report Parameter settings here. These are now kept as [[Report Template Element]] in the project tree. Multiple of them can be stored and maintained within a single test suite, to provide specifications for multiple reports with different detail for different target audiences.&lt;br /&gt;
&lt;br /&gt;
;Use Values of the User Activity-Log Settings&lt;br /&gt;
:The following settings are also defined in the user activity-log settings. If this option is activated, the values from the user activity-log settings are used, otherwise the values defined here in the test suite are used &lt;br /&gt;
&lt;br /&gt;
;Log Activities&lt;br /&gt;
:If enabled, each activity is stored in an activity log.&lt;br /&gt;
:If disabled, only failed activities are stored.&lt;br /&gt;
:At least there is one activity log, which keeps the whole information about the execution.&lt;br /&gt;
&lt;br /&gt;
;Max. Number of kept Subactivities per [[Executor#Activity|Activity]]&lt;br /&gt;
:Maximum number of subactivities per activity stored in the activity log. This setting is used to limit the amount of log data during execution. If nothing is specified, all sub activities are stored.&amp;lt;br&amp;gt;The default setting is specified in the testsuite.&lt;br /&gt;
&lt;br /&gt;
;Log Pin Data&lt;br /&gt;
:If enabled, all input and output pin values are stored in the activity log. Otherwise all values are discarded.&lt;br /&gt;
&lt;br /&gt;
;Log Info&lt;br /&gt;
:If enabled, all information messages are stored in the activity log. Otherwise all information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Trace [[Glossary/en#Stdout | Stdout]] and [[Glossary/en#Stderr | Stderr]] on [[Transcript]]&lt;br /&gt;
:If enabled, the Stdout and Stderr are shown on the transcript.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The default values can also be changed in the more convenient [[Settings#Logging Settings|settings dialog]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Editors]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Datei:Execution_Editor_en.png&amp;diff=29393</id>
		<title>Datei:Execution Editor en.png</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Datei:Execution_Editor_en.png&amp;diff=29393"/>
		<updated>2024-05-15T09:08:07Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29341</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29341"/>
		<updated>2024-05-07T14:57:17Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 24.1 (2Q 2024) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; ([[Qt_Inject_Windows/en#Logging|Qt-Logging]])&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Show Log and [[Timeline/en|Timeline view]] for testplans&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: [[Embedded Systems C Bridge API|C-Bridge]] now supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Feature: Settings for execution (thread pool and log activities/pins/info) can now be saved in the test suite settings&lt;br /&gt;
*Feature: CSV test report, values for start time, end time and duration added&lt;br /&gt;
*Feature: Improved Refactoring &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;br /&gt;
*Fix: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Fix: WindowsAutomation: Fix blocking of applications after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Fix: Bridges: Detect (and ignore) invalid requests from forked background bridge threads&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29340</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29340"/>
		<updated>2024-05-07T14:56:42Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 24.1 (2Q 2024) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; ([[Qt_Inject_Windows/en#Logging|Qt-Logging]])&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Show Log and [[Timeline/en|Timeline view]] for testplans&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: [[Embedded Systems C Bridge API|C-Bridge]] now supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Feature: Settings for execution (thread pool and log activities/pins/info) can now be saved in the test suite settings&lt;br /&gt;
*Feature: CSV test report, values for start time, end time and duration added&lt;br /&gt;
*Feature: Improved Refactoring &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;br /&gt;
*Feature: More information in CSV test reports&lt;br /&gt;
*Fix: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Fix: WindowsAutomation: Fix blocking of applications after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Fix: Bridges: Detect (and ignore) invalid requests from forked background bridge threads&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29339</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29339"/>
		<updated>2024-05-07T14:55:49Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 24.1 (2Q 2024) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; ([[Qt_Inject_Windows/en#logging|Qt-Logging]])&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Show Log and [[Timeline/en|Timeline view]] for testplans&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: [[Embedded Systems C Bridge API|C-Bridge]] now supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Feature: Settings for execution (thread pool and log activities/pins/info) can now be saved in the test suite settings&lt;br /&gt;
*Feature: CSV test report, values for start time, end time and duration added&lt;br /&gt;
*Feature: Improved Refactoring &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;br /&gt;
*Feature: More information in CSV test reports&lt;br /&gt;
*Fix: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Fix: WindowsAutomation: Fix blocking of applications after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Fix: Bridges: Detect (and ignore) invalid requests from forked background bridge threads&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29333</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29333"/>
		<updated>2024-05-07T09:18:20Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 24.1 (2Q 2024) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Log and timeline view also for the root testplan&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: C-Bridge supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Enhancement: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Bug Fix: WindowsAutomation: Fix blocking after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Bug Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Bug Fix: Bridges: Detect (and ignore) invalid requests from forked background threads&lt;br /&gt;
*Improvement: Refactoring &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;br /&gt;
*Feature: Settings for execution (thread pool and log activities/pins/info) can now be saved in the test suite settings&lt;br /&gt;
*Improvement: CSV test report, values for start time, end time and duration added&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29332</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29332"/>
		<updated>2024-05-07T08:30:03Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Log and timeline view also for the root testplan&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: C-Bridge supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Enhancement: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Bug Fix: WindowsAutomation: Fix blocking after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Bug Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Bug Fix: Bridges: Detect (and ignore) invalid requests from forked background threads&lt;br /&gt;
*Improvement: Refactoring &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;br /&gt;
*Feature: Settings for execution (thread pool and log activities/pins/info) can now be saved in the test suite settings&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29331</id>
		<title>Release Notes 24.x</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Release_Notes_24.x&amp;diff=29331"/>
		<updated>2024-05-07T08:17:35Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Release 24.1 (2Q 2024) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also: [[Release Notes 23.x]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release 24.1 (2Q 2024) ==&lt;br /&gt;
*Feature: [[Expecco_API/en#Global_and_Static_Variables|Static Variables for Python]]&lt;br /&gt;
*Feature: Qt-Testing: Logging with log levels &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: WindowsAutomation: Native Touch, Tap, Drag &amp;amp; Drop support now in the base WindowsAutomation Library&lt;br /&gt;
*Feature: Log and timeline view also for the root testplan&lt;br /&gt;
*Feature: Search and Goto Line menu functions in the activity log view&lt;br /&gt;
*Feature: C-Bridge supports SSL connections (encryption and authentication using certificates)&lt;br /&gt;
*Enhancement: Current temporary testplan settings (like selected testcases, do-not-execute of pre/post action, etc.) don&#039;t get lost anymore when reimporting a library&lt;br /&gt;
*Bug Fix: WindowsAutomation: Fix blocking after &amp;lt;Mouse Button Down&amp;gt;&lt;br /&gt;
*Bug Fix: asynchronous write to an output pin with no wait() in bridged actions are now detected and reported as error (see Example3 in the [[Expecco_API/en#Asynchronous_and_Callback_Functions|NodeJS API Documentation]])&lt;br /&gt;
*Bug Fix: Bridges: Detect (and ignore) invalid requests from forked background threads&lt;br /&gt;
*Improvement: Refactoring &amp;quot;Extract (&amp;amp; Replace) New Compound Action&amp;quot;&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_ExecutionSettings/en&amp;diff=29267</id>
		<title>Settings ExecutionSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_ExecutionSettings/en&amp;diff=29267"/>
		<updated>2024-04-11T14:18:01Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Execution Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Execution Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Thread Pool ===&lt;br /&gt;
===== Separate Processes for Long Running Activities =====&lt;br /&gt;
This check toggle controls if multiple activities are allowed to execute in parallel&lt;br /&gt;
(are executed by separate threads).&lt;br /&gt;
By default, this is enabled, but in rare situations, it makes sense to disable this feature for some test projects.&lt;br /&gt;
Usually these are badly formulated activities, which do not care for synchronized access to shared data or data bases, and may therefore be not prepared for parallel execution.&lt;br /&gt;
&lt;br /&gt;
Instead of disabling this feature, you should instead use synchronisation mechanisms in your activity diagram (i.e. either use trigger-out/trigger-in connections to enforce sequential execution, or use explicit semaphore actions to ensure mutual exclusion while doing such critical operations).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039;&lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Start Process After =====&lt;br /&gt;
Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing&lt;br /&gt;
power, the expecco system delays the creation of new processes for some time,&lt;br /&gt;
in order to allow for short activities to finish without creating of a new process.&lt;br /&gt;
If an activity is finished within that time duration, no new process is created.&lt;br /&gt;
Effectively, short-term activities are sequentially executed,&lt;br /&gt;
as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039;&lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of Processes =====&lt;br /&gt;
This limits the number of parallel executing separate processes.&lt;br /&gt;
Because a process is a somewhat expensive resource in a computer (memory, disk space etc.),&lt;br /&gt;
allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computer&#039;s operation.&lt;br /&gt;
&lt;br /&gt;
Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039;&lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of Executors per Testsuite =====&lt;br /&gt;
This limits the number of executors that can execute within the same test suite at the same time.&lt;br /&gt;
This parameter can be used to prevent tests which use global resources without locking from being executed in parallel&lt;br /&gt;
(eg. when the same test suite is executed against multiple systems-under-test,&lt;br /&gt;
or if expecco is operated as an execution slave (runtime) and multiple execution jobs for the same suite are coming from a central QM management system)&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of ExpeccoNET Test-Executions =====&lt;br /&gt;
This limits the number of test execution jobs from a QM-management system that can run in parallel to limit the overall load on the system .&lt;br /&gt;
This parameter is only used if expecco is used as a test slave processor&lt;br /&gt;
(for remote test execution, under the control of an expecco ALM or other QM management system).&lt;br /&gt;
&lt;br /&gt;
=== Recursion ===&lt;br /&gt;
===== Max. Recursion Level =====&lt;br /&gt;
This parameter limits the nesting of activities during execution&lt;br /&gt;
(i.e. the nesting of compound activities which invokes another compound activity).&lt;br /&gt;
If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039;&lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
===== Max. Cleanup Time =====&lt;br /&gt;
This parameter limits the max. execution time of cleanup&lt;br /&gt;
actions. This allows for cleanup actions which try to communicate with&lt;br /&gt;
dead connections to be terminated and thus avoids blocking.&lt;br /&gt;
If a cleanup action executes longer, a dialog is shown,&lt;br /&gt;
asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user.&lt;br /&gt;
If expecco is executed in non-interactive mode (slave-mode or executed via command line),&lt;br /&gt;
the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039;&lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
===== Slow Motion Delay =====&lt;br /&gt;
This parameter introduces a delay between the execution of individual activities.&lt;br /&gt;
This is useful in demonstration or replay situations, where the user wants to&lt;br /&gt;
visually follow and monitor the execution of the individual steps.&lt;br /&gt;
It is also sometimes useful when debugging a test,&lt;br /&gt;
to slow down the process artificially.&lt;br /&gt;
&lt;br /&gt;
===== Show &amp;quot;Do Not Disturb&amp;quot; Banner =====&lt;br /&gt;
If checked, a banner window is shown during the execution of a test plan.&lt;br /&gt;
This is useful to prevent other users from touching the machine, especially preventing&lt;br /&gt;
them from stopping or disturbing an ongoing, long running test. It is especially useful on the&lt;br /&gt;
test floor, where test machines are shared among different users.&lt;br /&gt;
&lt;br /&gt;
===== Minimize Expecco while Executing=====&lt;br /&gt;
If checked, the expecco window is iconified during a test&#039;s execution.&lt;br /&gt;
&lt;br /&gt;
Useful to see what is going on (and as a still-processing feedback monitor)&lt;br /&gt;
when running UI-Tests (eg. in a Browser) on a single screen.&lt;br /&gt;
This feature is introduced with rel 19.1.&lt;br /&gt;
&lt;br /&gt;
===== Auto-Confirm Dialog Boxes =====&lt;br /&gt;
If checked, dialog boxes will automatically close themself after a given time period.&lt;br /&gt;
Set this, to let the suite run unattended and confirm all dialogs with their default (usually &amp;quot;OK&amp;quot;), but still get a chance to interact if required (within that time period).&lt;br /&gt;
&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
===== Execute in the Attachments Folder =====&lt;br /&gt;
If checked, scripts are executed within the Attachments folder;&lt;br /&gt;
if unchecked (the default), they are executed one folder above.&lt;br /&gt;
This flag is only present for backward compatibility with previous&lt;br /&gt;
expecco versions.&lt;br /&gt;
&lt;br /&gt;
===== Keep Temporary Script Folders =====&lt;br /&gt;
For debugging only; by default, scripts are generated into temporary files for execution by a shell or language interpreter, and removed afterwards. &lt;br /&gt;
Set this to prevent removal for debugging (especially to debug the variable expansion mechanism). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Settings/en|Back to the main page &amp;quot;Settings&amp;quot;]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29266</id>
		<title>Settings LoggingSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29266"/>
		<updated>2024-04-11T14:16:16Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview ===&lt;br /&gt;
Activity log entries remember the result of a step&#039;s execution. They usually include information&lt;br /&gt;
about the input pin values, the execution time, the outcome (verdict) and the generated output value(s).&lt;br /&gt;
The activity log is (currently) stored in memory, to avoid excessive slow-down of the tests execution.&lt;br /&gt;
&lt;br /&gt;
The activity log as generated by long running extensive tests may become very large and consume&lt;br /&gt;
lots of memory - sometimes more than can be kept and prunning (cutting off parts of the trace) is&lt;br /&gt;
required. For such tests, it might be useful to disable the logging of certain actions and/or steps and/or pins. This can be controlled via popup menus of steps and pins in the diagram editor.&lt;br /&gt;
&lt;br /&gt;
In contrast to activity logs, traces as sent to the Transcript (Console) are not persistent and will be lost when the Transcript window is closed (unless the contents is captured and saved explicitly, via one of the Transcript action blocks)&lt;br /&gt;
&lt;br /&gt;
== Logging Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Logging&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Log Activities ===&lt;br /&gt;
If enabled, every activity is stored in the activity log.&lt;br /&gt;
If disabled, only failed activities are stored.&lt;br /&gt;
There will be always one master (top-level) entry stored, which keeps the overall&lt;br /&gt;
outcome of an execution, even for passed runs with disabled logging.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Pin Data ===&lt;br /&gt;
If enabled, all input and output pin values are stored in the activity log.&lt;br /&gt;
Otherwise all values are discarded and pin values cannot be inspected after the test run.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Info ===&lt;br /&gt;
If enabled, all information messages&lt;br /&gt;
(i.e. messages as generated by explicit logInfo calls and logInfo blocks)&lt;br /&gt;
are stored in the activity log.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log GUI Screenshots Automatically on Error ===&lt;br /&gt;
If enabled, GUI action blocks which encounter an error (typically: element/xpath not found) will automatically generate a screenshot and add this to the activity log. Be aware that this may generate a huge number of images and lead to excessive memory use and even a failure when running out of memory (especially on 32bit machines). SO this feature should only be used during development.&lt;br /&gt;
&lt;br /&gt;
=== Log External OS Commands ===&lt;br /&gt;
If enabled, all executed OS commands (shell/script interpreter calls, etc.)&lt;br /&gt;
will be logged in the activity log.&lt;br /&gt;
&lt;br /&gt;
=== Log System Activity Notifications ===&lt;br /&gt;
If enabled, activity information notifications&lt;br /&gt;
(i.e. implicit notifications of the underlying language framework)&lt;br /&gt;
are stored in the activity log as info log entries.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
The default is false (used to be true in pre 2.1 releases).&lt;br /&gt;
&lt;br /&gt;
=== Timestamps have Microsecond Resolution ===&lt;br /&gt;
If enabled, timestamps are kept with microsecond resolution (if the underlying operating system supports them);&lt;br /&gt;
otherwise, they are generated with millisecond resolution.&lt;br /&gt;
&lt;br /&gt;
The default is false for backward compatibility with older expecco versions.&lt;br /&gt;
&lt;br /&gt;
=== Ignore any &amp;quot;Skip in Trace&amp;quot; Attribute ===&lt;br /&gt;
Enforces an activity log/trace to be generated for all steps/pin values,&lt;br /&gt;
even if individual steps/pins have the &amp;quot;&#039;&#039;Skip in Trace&#039;&#039;&amp;quot;&lt;br /&gt;
attribute set.&lt;br /&gt;
&lt;br /&gt;
=== Prefix for log output ===&lt;br /&gt;
&lt;br /&gt;
An environment variable called__Transcript_Prefix__ can be defined in a test suite.&lt;br /&gt;
When text from this test suite is written to Transcript, the value of the variable is also output as a prefix.&lt;br /&gt;
&lt;br /&gt;
== Tracing Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Tracing&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show Internal Warning and Info Messages ===&lt;br /&gt;
Probably only useful for diagnostics of expecco itself&lt;br /&gt;
&lt;br /&gt;
=== Show Actions being Executed===&lt;br /&gt;
If enabled, the currently executed action&#039;s name is shown in the lower info area (not in the Transcript).&lt;br /&gt;
It can be further filtered by tag.&lt;br /&gt;
&lt;br /&gt;
=== Logger Treshold ===&lt;br /&gt;
Defines a treshold which controls the set of Logger messages to be shown. Logger messages are typically produced internally eg. to display progress, errors etc. Many logger messages are meant for expecco developers, however some might be also of interest during test development.&lt;br /&gt;
Logger messages are associated a severity, which can be TRACE, DEBUG, INFO, WARNING, ERROR or FATAL.&lt;br /&gt;
Only logger messages with a greater-or-equal severity will be shown by the logger. &lt;br /&gt;
&amp;lt;br&amp;gt;By default, this treshold is set to &amp;quot;WARNING&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show External Commands on Transcript ===&lt;br /&gt;
If on, executed shell, batch, script and other OS commands will be&lt;br /&gt;
traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Stdout and Stderr on Transcript ===&lt;br /&gt;
If on, the stdout/stderr of executed external programs is &lt;br /&gt;
traced on the Transcript (stderr in red).&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing HTTP Requests on Transcript ===&lt;br /&gt;
Outgoing HTTP requests (from the HTTP-get/put actions) will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing SOAP Requests on Transcript ===&lt;br /&gt;
Outgoing SOAP requests will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show IMAP and POP3 Protocol on Transcript ===&lt;br /&gt;
Interactions with the mailbox are traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== MessageTally on Execution ===&lt;br /&gt;
If checked, execution times of elementary activities are measured and&lt;br /&gt;
an execution profile is generated after the execution (on the Transcript window).&lt;br /&gt;
This is useful to find out where time is spent for performance optimizations.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Recording onExecution ===&lt;br /&gt;
If checked, executed actions are instrumented to record which parts are executed and which are not.&lt;br /&gt;
(this is an unfinished feature, which may or may not work in your particular version of expecco)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Settings/en|Back to the main page &amp;quot;Settings&amp;quot;]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_ExecutionSettings/en&amp;diff=29265</id>
		<title>Settings ExecutionSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_ExecutionSettings/en&amp;diff=29265"/>
		<updated>2024-04-11T14:14:28Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Keep Temporary Script Folders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Execution Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Thread Pool ===&lt;br /&gt;
===== Separate Processes for Long Running Activities =====&lt;br /&gt;
This check toggle controls if multiple activities are allowed to execute in parallel&lt;br /&gt;
(are executed by separate threads).&lt;br /&gt;
By default, this is enabled, but in rare situations, it makes sense to disable this feature for some test projects.&lt;br /&gt;
Usually these are badly formulated activities, which do not care for synchronized access to shared data or data bases, and may therefore be not prepared for parallel execution.&lt;br /&gt;
&lt;br /&gt;
Instead of disabling this feature, you should instead use synchronisation mechanisms in your activity diagram (i.e. either use trigger-out/trigger-in connections to enforce sequential execution, or use explicit semaphore actions to ensure mutual exclusion while doing such critical operations).&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Start Process After =====&lt;br /&gt;
Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing&lt;br /&gt;
power, the expecco system delays the creation of new processes for some time,&lt;br /&gt;
in order to allow for short activities to finish without creating of a new process.&lt;br /&gt;
If an activity is finished within that time duration, no new process is created.&lt;br /&gt;
Effectively, short-term activities are sequentially executed,&lt;br /&gt;
as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of Processes =====&lt;br /&gt;
This limits the number of parallel executing separate processes.&lt;br /&gt;
Because a process is a somewhat expensive resource in a computer (memory, disk space etc.),&lt;br /&gt;
allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computer&#039;s operation.&lt;br /&gt;
&lt;br /&gt;
Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of Executors per Testsuite =====&lt;br /&gt;
This limits the number of executors that can execute within the same test suite at the same time.&lt;br /&gt;
This parameter can be used to prevent tests which use global resources without locking from being executed in parallel&lt;br /&gt;
(eg. when the same test suite is executed against multiple systems-under-test,&lt;br /&gt;
or if expecco is operated as an execution slave (runtime) and multiple execution jobs for the same suite are coming from a central QM management system)&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of ExpeccoNET Test-Executions =====&lt;br /&gt;
This limits the number of test execution jobs from a QM-management system that can run in parallel to limit the overall load on the system .&lt;br /&gt;
This parameter is only used if expecco is used as a test slave processor&lt;br /&gt;
(for remote test execution, under the control of an expecco ALM or other QM management system).&lt;br /&gt;
&lt;br /&gt;
=== Recursion ===&lt;br /&gt;
===== Max. Recursion Level =====&lt;br /&gt;
This parameter limits the nesting of activities during execution&lt;br /&gt;
(i.e. the nesting of compound activities which invokes another compound activity).&lt;br /&gt;
If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
===== Max. Cleanup Time =====&lt;br /&gt;
This parameter limits the max. execution time of cleanup&lt;br /&gt;
actions. This allows for cleanup actions which try to communicate with&lt;br /&gt;
dead connections to be terminated and thus avoids blocking.&lt;br /&gt;
If a cleanup action executes longer, a dialog is shown,&lt;br /&gt;
asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user.&lt;br /&gt;
If expecco is executed in non-interactive mode (slave-mode or executed via command line),&lt;br /&gt;
the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
===== Slow Motion Delay =====&lt;br /&gt;
This parameter introduces a delay between the execution of individual activities.&lt;br /&gt;
This is useful in demonstration or replay situations, where the user wants to&lt;br /&gt;
visually follow and monitor the execution of the individual steps.&lt;br /&gt;
It is also sometimes useful when debugging a test,&lt;br /&gt;
to slow down the process artificially.&lt;br /&gt;
&lt;br /&gt;
===== Show &amp;quot;Do Not Disturb&amp;quot; Banner =====&lt;br /&gt;
If checked, a banner window is shown during the execution of a test plan.&lt;br /&gt;
This is useful to prevent other users from touching the machine, especially preventing&lt;br /&gt;
them from stopping or disturbing an ongoing, long running test. It is especially useful on the&lt;br /&gt;
test floor, where test machines are shared among different users.&lt;br /&gt;
&lt;br /&gt;
===== Minimize Expecco while Executing=====&lt;br /&gt;
If checked, the expecco window is iconified during a test&#039;s execution.&lt;br /&gt;
&lt;br /&gt;
Useful to see what is going on (and as a still-processing feedback monitor)&lt;br /&gt;
when running UI-Tests (eg. in a Browser) on a single screen.&lt;br /&gt;
This feature is introduced with rel 19.1.&lt;br /&gt;
&lt;br /&gt;
===== Auto-Confirm Dialog Boxes =====&lt;br /&gt;
If checked, dialog boxes will automatically close themself after a given time period.&lt;br /&gt;
Set this, to let the suite run unattended and confirm all dialogs with their default (usually &amp;quot;OK&amp;quot;), but still get a chance to interact if required (within that time period).&lt;br /&gt;
&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
===== Execute in the Attachments Folder =====&lt;br /&gt;
If checked, scripts are executed within the Attachments folder;&lt;br /&gt;
if unchecked (the default), they are executed one folder above.&lt;br /&gt;
This flag is only present for backward compatibility with previous&lt;br /&gt;
expecco versions.&lt;br /&gt;
&lt;br /&gt;
===== Keep Temporary Script Folders =====&lt;br /&gt;
For debugging only; by default, scripts are generated into temporary files for execution by a shell or language interpreter, and removed afterwards. &lt;br /&gt;
Set this to prevent removal for debugging (especially to debug the variable expansion mechanism). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Settings/en|Back to the main page &amp;quot;Settings&amp;quot;]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29264</id>
		<title>Settings LoggingSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29264"/>
		<updated>2024-04-11T14:13:13Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Log Info */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview ===&lt;br /&gt;
Activity log entries remember the result of a step&#039;s execution. They usually include information&lt;br /&gt;
about the input pin values, the execution time, the outcome (verdict) and the generated output value(s).&lt;br /&gt;
The activity log is (currently) stored in memory, to avoid excessive slow-down of the tests execution.&lt;br /&gt;
&lt;br /&gt;
The activity log as generated by long running extensive tests may become very large and consume&lt;br /&gt;
lots of memory - sometimes more than can be kept and prunning (cutting off parts of the trace) is&lt;br /&gt;
required. For such tests, it might be useful to disable the logging of certain actions and/or steps and/or pins. This can be controlled via popup menus of steps and pins in the diagram editor.&lt;br /&gt;
&lt;br /&gt;
In contrast to activity logs, traces as sent to the Transcript (Console) are not persistent and will be lost when the Transcript window is closed (unless the contents is captured and saved explicitly, via one of the Transcript action blocks)&lt;br /&gt;
&lt;br /&gt;
== Logging Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Logging&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Log Activities ===&lt;br /&gt;
If enabled, every activity is stored in the activity log.&lt;br /&gt;
If disabled, only failed activities are stored.&lt;br /&gt;
There will be always one master (top-level) entry stored, which keeps the overall&lt;br /&gt;
outcome of an execution, even for passed runs with disabled logging.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Pin Data ===&lt;br /&gt;
If enabled, all input and output pin values are stored in the activity log.&lt;br /&gt;
Otherwise all values are discarded and pin values cannot be inspected after the test run.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Info ===&lt;br /&gt;
If enabled, all information messages&lt;br /&gt;
(i.e. messages as generated by explicit logInfo calls and logInfo blocks)&lt;br /&gt;
are stored in the activity log.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log GUI Screenshots Automatically on Error ===&lt;br /&gt;
If enabled, GUI action blocks which encounter an error (typically: element/xpath not found) will automatically generate a screenshot and add this to the activity log. Be aware that this may generate a huge number of images and lead to excessive memory use and even a failure when running out of memory (especially on 32bit machines). SO this feature should only be used during development.&lt;br /&gt;
&lt;br /&gt;
=== Log External OS Commands ===&lt;br /&gt;
If enabled, all executed OS commands (shell/script interpreter calls, etc.)&lt;br /&gt;
will be logged in the activity log.&lt;br /&gt;
&lt;br /&gt;
=== Log System Activity Notifications ===&lt;br /&gt;
If enabled, activity information notifications&lt;br /&gt;
(i.e. implicit notifications of the underlying language framework)&lt;br /&gt;
are stored in the activity log as info log entries.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
The default is false (used to be true in pre 2.1 releases).&lt;br /&gt;
&lt;br /&gt;
=== Timestamps have Microsecond Resolution ===&lt;br /&gt;
If enabled, timestamps are kept with microsecond resolution (if the underlying operating system supports them);&lt;br /&gt;
otherwise, they are generated with millisecond resolution.&lt;br /&gt;
&lt;br /&gt;
The default is false for backward compatibility with older expecco versions.&lt;br /&gt;
&lt;br /&gt;
=== Ignore any &amp;quot;Skip in Trace&amp;quot; Attribute ===&lt;br /&gt;
Enforces an activity log/trace to be generated for all steps/pin values,&lt;br /&gt;
even if individual steps/pins have the &amp;quot;&#039;&#039;Skip in Trace&#039;&#039;&amp;quot;&lt;br /&gt;
attribute set.&lt;br /&gt;
&lt;br /&gt;
=== Prefix for log output ===&lt;br /&gt;
&lt;br /&gt;
An environment variable called__Transcript_Prefix__ can be defined in a test suite.&lt;br /&gt;
When text from this test suite is written to Transcript, the value of the variable is also output as a prefix.&lt;br /&gt;
&lt;br /&gt;
== Tracing Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Tracing&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show Internal Warning and Info Messages ===&lt;br /&gt;
Probably only useful for diagnostics of expecco itself&lt;br /&gt;
&lt;br /&gt;
=== Show Actions being Executed===&lt;br /&gt;
If enabled, the currently executed action&#039;s name is shown in the lower info area (not in the Transcript).&lt;br /&gt;
It can be further filtered by tag.&lt;br /&gt;
&lt;br /&gt;
=== Logger Treshold ===&lt;br /&gt;
Defines a treshold which controls the set of Logger messages to be shown. Logger messages are typically produced internally eg. to display progress, errors etc. Many logger messages are meant for expecco developers, however some might be also of interest during test development.&lt;br /&gt;
Logger messages are associated a severity, which can be TRACE, DEBUG, INFO, WARNING, ERROR or FATAL.&lt;br /&gt;
Only logger messages with a greater-or-equal severity will be shown by the logger. &lt;br /&gt;
&amp;lt;br&amp;gt;By default, this treshold is set to &amp;quot;WARNING&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show External Commands on Transcript ===&lt;br /&gt;
If on, executed shell, batch, script and other OS commands will be&lt;br /&gt;
traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Stdout and Stderr on Transcript ===&lt;br /&gt;
If on, the stdout/stderr of executed external programs is &lt;br /&gt;
traced on the Transcript (stderr in red).&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing HTTP Requests on Transcript ===&lt;br /&gt;
Outgoing HTTP requests (from the HTTP-get/put actions) will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing SOAP Requests on Transcript ===&lt;br /&gt;
Outgoing SOAP requests will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show IMAP and POP3 Protocol on Transcript ===&lt;br /&gt;
Interactions with the mailbox are traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== MessageTally on Execution ===&lt;br /&gt;
If checked, execution times of elementary activities are measured and&lt;br /&gt;
an execution profile is generated after the execution (on the Transcript window).&lt;br /&gt;
This is useful to find out where time is spent for performance optimizations.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Recording onExecution ===&lt;br /&gt;
If checked, executed actions are instrumented to record which parts are executed and which are not.&lt;br /&gt;
(this is an unfinished feature, which may or may not work in your particular version of expecco)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29263</id>
		<title>Settings LoggingSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29263"/>
		<updated>2024-04-11T14:12:56Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Log Pin Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview ===&lt;br /&gt;
Activity log entries remember the result of a step&#039;s execution. They usually include information&lt;br /&gt;
about the input pin values, the execution time, the outcome (verdict) and the generated output value(s).&lt;br /&gt;
The activity log is (currently) stored in memory, to avoid excessive slow-down of the tests execution.&lt;br /&gt;
&lt;br /&gt;
The activity log as generated by long running extensive tests may become very large and consume&lt;br /&gt;
lots of memory - sometimes more than can be kept and prunning (cutting off parts of the trace) is&lt;br /&gt;
required. For such tests, it might be useful to disable the logging of certain actions and/or steps and/or pins. This can be controlled via popup menus of steps and pins in the diagram editor.&lt;br /&gt;
&lt;br /&gt;
In contrast to activity logs, traces as sent to the Transcript (Console) are not persistent and will be lost when the Transcript window is closed (unless the contents is captured and saved explicitly, via one of the Transcript action blocks)&lt;br /&gt;
&lt;br /&gt;
== Logging Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Logging&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Log Activities ===&lt;br /&gt;
If enabled, every activity is stored in the activity log.&lt;br /&gt;
If disabled, only failed activities are stored.&lt;br /&gt;
There will be always one master (top-level) entry stored, which keeps the overall&lt;br /&gt;
outcome of an execution, even for passed runs with disabled logging.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Pin Data ===&lt;br /&gt;
If enabled, all input and output pin values are stored in the activity log.&lt;br /&gt;
Otherwise all values are discarded and pin values cannot be inspected after the test run.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Info ===&lt;br /&gt;
If enabled, all information messages&lt;br /&gt;
(i.e. messages as generated by explicit logInfo calls and logInfo blocks)&lt;br /&gt;
are stored in the activity log.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite. &lt;br /&gt;
When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log GUI Screenshots Automatically on Error ===&lt;br /&gt;
If enabled, GUI action blocks which encounter an error (typically: element/xpath not found) will automatically generate a screenshot and add this to the activity log. Be aware that this may generate a huge number of images and lead to excessive memory use and even a failure when running out of memory (especially on 32bit machines). SO this feature should only be used during development.&lt;br /&gt;
&lt;br /&gt;
=== Log External OS Commands ===&lt;br /&gt;
If enabled, all executed OS commands (shell/script interpreter calls, etc.)&lt;br /&gt;
will be logged in the activity log.&lt;br /&gt;
&lt;br /&gt;
=== Log System Activity Notifications ===&lt;br /&gt;
If enabled, activity information notifications&lt;br /&gt;
(i.e. implicit notifications of the underlying language framework)&lt;br /&gt;
are stored in the activity log as info log entries.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
The default is false (used to be true in pre 2.1 releases).&lt;br /&gt;
&lt;br /&gt;
=== Timestamps have Microsecond Resolution ===&lt;br /&gt;
If enabled, timestamps are kept with microsecond resolution (if the underlying operating system supports them);&lt;br /&gt;
otherwise, they are generated with millisecond resolution.&lt;br /&gt;
&lt;br /&gt;
The default is false for backward compatibility with older expecco versions.&lt;br /&gt;
&lt;br /&gt;
=== Ignore any &amp;quot;Skip in Trace&amp;quot; Attribute ===&lt;br /&gt;
Enforces an activity log/trace to be generated for all steps/pin values,&lt;br /&gt;
even if individual steps/pins have the &amp;quot;&#039;&#039;Skip in Trace&#039;&#039;&amp;quot;&lt;br /&gt;
attribute set.&lt;br /&gt;
&lt;br /&gt;
=== Prefix for log output ===&lt;br /&gt;
&lt;br /&gt;
An environment variable called__Transcript_Prefix__ can be defined in a test suite.&lt;br /&gt;
When text from this test suite is written to Transcript, the value of the variable is also output as a prefix.&lt;br /&gt;
&lt;br /&gt;
== Tracing Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Tracing&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show Internal Warning and Info Messages ===&lt;br /&gt;
Probably only useful for diagnostics of expecco itself&lt;br /&gt;
&lt;br /&gt;
=== Show Actions being Executed===&lt;br /&gt;
If enabled, the currently executed action&#039;s name is shown in the lower info area (not in the Transcript).&lt;br /&gt;
It can be further filtered by tag.&lt;br /&gt;
&lt;br /&gt;
=== Logger Treshold ===&lt;br /&gt;
Defines a treshold which controls the set of Logger messages to be shown. Logger messages are typically produced internally eg. to display progress, errors etc. Many logger messages are meant for expecco developers, however some might be also of interest during test development.&lt;br /&gt;
Logger messages are associated a severity, which can be TRACE, DEBUG, INFO, WARNING, ERROR or FATAL.&lt;br /&gt;
Only logger messages with a greater-or-equal severity will be shown by the logger. &lt;br /&gt;
&amp;lt;br&amp;gt;By default, this treshold is set to &amp;quot;WARNING&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show External Commands on Transcript ===&lt;br /&gt;
If on, executed shell, batch, script and other OS commands will be&lt;br /&gt;
traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Stdout and Stderr on Transcript ===&lt;br /&gt;
If on, the stdout/stderr of executed external programs is &lt;br /&gt;
traced on the Transcript (stderr in red).&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing HTTP Requests on Transcript ===&lt;br /&gt;
Outgoing HTTP requests (from the HTTP-get/put actions) will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing SOAP Requests on Transcript ===&lt;br /&gt;
Outgoing SOAP requests will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show IMAP and POP3 Protocol on Transcript ===&lt;br /&gt;
Interactions with the mailbox are traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== MessageTally on Execution ===&lt;br /&gt;
If checked, execution times of elementary activities are measured and&lt;br /&gt;
an execution profile is generated after the execution (on the Transcript window).&lt;br /&gt;
This is useful to find out where time is spent for performance optimizations.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Recording onExecution ===&lt;br /&gt;
If checked, executed actions are instrumented to record which parts are executed and which are not.&lt;br /&gt;
(this is an unfinished feature, which may or may not work in your particular version of expecco)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29262</id>
		<title>Settings LoggingSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29262"/>
		<updated>2024-04-11T14:12:43Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Log Activities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview ===&lt;br /&gt;
Activity log entries remember the result of a step&#039;s execution. They usually include information&lt;br /&gt;
about the input pin values, the execution time, the outcome (verdict) and the generated output value(s).&lt;br /&gt;
The activity log is (currently) stored in memory, to avoid excessive slow-down of the tests execution.&lt;br /&gt;
&lt;br /&gt;
The activity log as generated by long running extensive tests may become very large and consume&lt;br /&gt;
lots of memory - sometimes more than can be kept and prunning (cutting off parts of the trace) is&lt;br /&gt;
required. For such tests, it might be useful to disable the logging of certain actions and/or steps and/or pins. This can be controlled via popup menus of steps and pins in the diagram editor.&lt;br /&gt;
&lt;br /&gt;
In contrast to activity logs, traces as sent to the Transcript (Console) are not persistent and will be lost when the Transcript window is closed (unless the contents is captured and saved explicitly, via one of the Transcript action blocks)&lt;br /&gt;
&lt;br /&gt;
== Logging Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Logging&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Log Activities ===&lt;br /&gt;
If enabled, every activity is stored in the activity log.&lt;br /&gt;
If disabled, only failed activities are stored.&lt;br /&gt;
There will be always one master (top-level) entry stored, which keeps the overall&lt;br /&gt;
outcome of an execution, even for passed runs with disabled logging.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite.&#039;&#039; &lt;br /&gt;
&#039;&#039;When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Pin Data ===&lt;br /&gt;
If enabled, all input and output pin values are stored in the activity log.&lt;br /&gt;
Otherwise all values are discarded and pin values cannot be inspected after the test run.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite. &lt;br /&gt;
When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Info ===&lt;br /&gt;
If enabled, all information messages&lt;br /&gt;
(i.e. messages as generated by explicit logInfo calls and logInfo blocks)&lt;br /&gt;
are stored in the activity log.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite. &lt;br /&gt;
When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log GUI Screenshots Automatically on Error ===&lt;br /&gt;
If enabled, GUI action blocks which encounter an error (typically: element/xpath not found) will automatically generate a screenshot and add this to the activity log. Be aware that this may generate a huge number of images and lead to excessive memory use and even a failure when running out of memory (especially on 32bit machines). SO this feature should only be used during development.&lt;br /&gt;
&lt;br /&gt;
=== Log External OS Commands ===&lt;br /&gt;
If enabled, all executed OS commands (shell/script interpreter calls, etc.)&lt;br /&gt;
will be logged in the activity log.&lt;br /&gt;
&lt;br /&gt;
=== Log System Activity Notifications ===&lt;br /&gt;
If enabled, activity information notifications&lt;br /&gt;
(i.e. implicit notifications of the underlying language framework)&lt;br /&gt;
are stored in the activity log as info log entries.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
The default is false (used to be true in pre 2.1 releases).&lt;br /&gt;
&lt;br /&gt;
=== Timestamps have Microsecond Resolution ===&lt;br /&gt;
If enabled, timestamps are kept with microsecond resolution (if the underlying operating system supports them);&lt;br /&gt;
otherwise, they are generated with millisecond resolution.&lt;br /&gt;
&lt;br /&gt;
The default is false for backward compatibility with older expecco versions.&lt;br /&gt;
&lt;br /&gt;
=== Ignore any &amp;quot;Skip in Trace&amp;quot; Attribute ===&lt;br /&gt;
Enforces an activity log/trace to be generated for all steps/pin values,&lt;br /&gt;
even if individual steps/pins have the &amp;quot;&#039;&#039;Skip in Trace&#039;&#039;&amp;quot;&lt;br /&gt;
attribute set.&lt;br /&gt;
&lt;br /&gt;
=== Prefix for log output ===&lt;br /&gt;
&lt;br /&gt;
An environment variable called__Transcript_Prefix__ can be defined in a test suite.&lt;br /&gt;
When text from this test suite is written to Transcript, the value of the variable is also output as a prefix.&lt;br /&gt;
&lt;br /&gt;
== Tracing Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Tracing&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show Internal Warning and Info Messages ===&lt;br /&gt;
Probably only useful for diagnostics of expecco itself&lt;br /&gt;
&lt;br /&gt;
=== Show Actions being Executed===&lt;br /&gt;
If enabled, the currently executed action&#039;s name is shown in the lower info area (not in the Transcript).&lt;br /&gt;
It can be further filtered by tag.&lt;br /&gt;
&lt;br /&gt;
=== Logger Treshold ===&lt;br /&gt;
Defines a treshold which controls the set of Logger messages to be shown. Logger messages are typically produced internally eg. to display progress, errors etc. Many logger messages are meant for expecco developers, however some might be also of interest during test development.&lt;br /&gt;
Logger messages are associated a severity, which can be TRACE, DEBUG, INFO, WARNING, ERROR or FATAL.&lt;br /&gt;
Only logger messages with a greater-or-equal severity will be shown by the logger. &lt;br /&gt;
&amp;lt;br&amp;gt;By default, this treshold is set to &amp;quot;WARNING&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show External Commands on Transcript ===&lt;br /&gt;
If on, executed shell, batch, script and other OS commands will be&lt;br /&gt;
traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Stdout and Stderr on Transcript ===&lt;br /&gt;
If on, the stdout/stderr of executed external programs is &lt;br /&gt;
traced on the Transcript (stderr in red).&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing HTTP Requests on Transcript ===&lt;br /&gt;
Outgoing HTTP requests (from the HTTP-get/put actions) will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing SOAP Requests on Transcript ===&lt;br /&gt;
Outgoing SOAP requests will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show IMAP and POP3 Protocol on Transcript ===&lt;br /&gt;
Interactions with the mailbox are traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== MessageTally on Execution ===&lt;br /&gt;
If checked, execution times of elementary activities are measured and&lt;br /&gt;
an execution profile is generated after the execution (on the Transcript window).&lt;br /&gt;
This is useful to find out where time is spent for performance optimizations.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Recording onExecution ===&lt;br /&gt;
If checked, executed actions are instrumented to record which parts are executed and which are not.&lt;br /&gt;
(this is an unfinished feature, which may or may not work in your particular version of expecco)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_ExecutionSettings/en&amp;diff=29261</id>
		<title>Settings ExecutionSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_ExecutionSettings/en&amp;diff=29261"/>
		<updated>2024-04-11T14:11:19Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Execution Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Thread Pool ===&lt;br /&gt;
===== Separate Processes for Long Running Activities =====&lt;br /&gt;
This check toggle controls if multiple activities are allowed to execute in parallel&lt;br /&gt;
(are executed by separate threads).&lt;br /&gt;
By default, this is enabled, but in rare situations, it makes sense to disable this feature for some test projects.&lt;br /&gt;
Usually these are badly formulated activities, which do not care for synchronized access to shared data or data bases, and may therefore be not prepared for parallel execution.&lt;br /&gt;
&lt;br /&gt;
Instead of disabling this feature, you should instead use synchronisation mechanisms in your activity diagram (i.e. either use trigger-out/trigger-in connections to enforce sequential execution, or use explicit semaphore actions to ensure mutual exclusion while doing such critical operations).&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Start Process After =====&lt;br /&gt;
Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing&lt;br /&gt;
power, the expecco system delays the creation of new processes for some time,&lt;br /&gt;
in order to allow for short activities to finish without creating of a new process.&lt;br /&gt;
If an activity is finished within that time duration, no new process is created.&lt;br /&gt;
Effectively, short-term activities are sequentially executed,&lt;br /&gt;
as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of Processes =====&lt;br /&gt;
This limits the number of parallel executing separate processes.&lt;br /&gt;
Because a process is a somewhat expensive resource in a computer (memory, disk space etc.),&lt;br /&gt;
allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computer&#039;s operation.&lt;br /&gt;
&lt;br /&gt;
Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of Executors per Testsuite =====&lt;br /&gt;
This limits the number of executors that can execute within the same test suite at the same time.&lt;br /&gt;
This parameter can be used to prevent tests which use global resources without locking from being executed in parallel&lt;br /&gt;
(eg. when the same test suite is executed against multiple systems-under-test,&lt;br /&gt;
or if expecco is operated as an execution slave (runtime) and multiple execution jobs for the same suite are coming from a central QM management system)&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of ExpeccoNET Test-Executions =====&lt;br /&gt;
This limits the number of test execution jobs from a QM-management system that can run in parallel to limit the overall load on the system .&lt;br /&gt;
This parameter is only used if expecco is used as a test slave processor&lt;br /&gt;
(for remote test execution, under the control of an expecco ALM or other QM management system).&lt;br /&gt;
&lt;br /&gt;
=== Recursion ===&lt;br /&gt;
===== Max. Recursion Level =====&lt;br /&gt;
This parameter limits the nesting of activities during execution&lt;br /&gt;
(i.e. the nesting of compound activities which invokes another compound activity).&lt;br /&gt;
If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
===== Max. Cleanup Time =====&lt;br /&gt;
This parameter limits the max. execution time of cleanup&lt;br /&gt;
actions. This allows for cleanup actions which try to communicate with&lt;br /&gt;
dead connections to be terminated and thus avoids blocking.&lt;br /&gt;
If a cleanup action executes longer, a dialog is shown,&lt;br /&gt;
asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user.&lt;br /&gt;
If expecco is executed in non-interactive mode (slave-mode or executed via command line),&lt;br /&gt;
the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
===== Slow Motion Delay =====&lt;br /&gt;
This parameter introduces a delay between the execution of individual activities.&lt;br /&gt;
This is useful in demonstration or replay situations, where the user wants to&lt;br /&gt;
visually follow and monitor the execution of the individual steps.&lt;br /&gt;
It is also sometimes useful when debugging a test,&lt;br /&gt;
to slow down the process artificially.&lt;br /&gt;
&lt;br /&gt;
===== Show &amp;quot;Do Not Disturb&amp;quot; Banner =====&lt;br /&gt;
If checked, a banner window is shown during the execution of a test plan.&lt;br /&gt;
This is useful to prevent other users from touching the machine, especially preventing&lt;br /&gt;
them from stopping or disturbing an ongoing, long running test. It is especially useful on the&lt;br /&gt;
test floor, where test machines are shared among different users.&lt;br /&gt;
&lt;br /&gt;
===== Minimize Expecco while Executing=====&lt;br /&gt;
If checked, the expecco window is iconified during a test&#039;s execution.&lt;br /&gt;
&lt;br /&gt;
Useful to see what is going on (and as a still-processing feedback monitor)&lt;br /&gt;
when running UI-Tests (eg. in a Browser) on a single screen.&lt;br /&gt;
This feature is introduced with rel 19.1.&lt;br /&gt;
&lt;br /&gt;
===== Auto-Confirm Dialog Boxes =====&lt;br /&gt;
If checked, dialog boxes will automatically close themself after a given time period.&lt;br /&gt;
Set this, to let the suite run unattended and confirm all dialogs with their default (usually &amp;quot;OK&amp;quot;), but still get a chance to interact if required (within that time period).&lt;br /&gt;
&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
===== Execute in the Attachments Folder =====&lt;br /&gt;
If checked, scripts are executed within the Attachments folder;&lt;br /&gt;
if unchecked (the default), they are executed one folder above.&lt;br /&gt;
This flag is only present for backward compatibility with previous&lt;br /&gt;
expecco versions.&lt;br /&gt;
&lt;br /&gt;
===== Keep Temporary Script Folders =====&lt;br /&gt;
For debugging only; by default, scripts are generated into temporary files for execution by a shell or language interpreter, and removed afterwards. &lt;br /&gt;
Set this to prevent removal for debugging (especially to debug the variable expansion mechanism). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Settings/en|Back to the main page &amp;quot;Settings&amp;quot;]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_ExecutionSettings/en&amp;diff=29260</id>
		<title>Settings ExecutionSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_ExecutionSettings/en&amp;diff=29260"/>
		<updated>2024-04-11T13:58:34Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Execution Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Thread Pool ===&lt;br /&gt;
===== Separate Processes for Long Running Activities =====&lt;br /&gt;
This check toggle controls if multiple activities are allowed to execute in parallel&lt;br /&gt;
(are executed by separate threads).&lt;br /&gt;
By default, this is enabled, but in rare situations, it makes sense to disable this feature for some test projects.&lt;br /&gt;
Usually these are badly formulated activities, which do not care for synchronized access to shared data or data bases, and may therefore be not prepared for parallel execution.&lt;br /&gt;
&lt;br /&gt;
Instead of disabling this feature, you should instead use synchronisation mechanisms in your activity diagram (i.e. either use trigger-out/trigger-in connections to enforce sequential execution, or use explicit semaphore actions to ensure mutual exclusion while doing such critical operations).&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Start Process After =====&lt;br /&gt;
Due to the fact that starting up new processes (execution threads) is a relatively slow operation and takes up some processing&lt;br /&gt;
power, the expecco system delays the creation of new processes for some time,&lt;br /&gt;
in order to allow for short activities to finish without creating of a new process.&lt;br /&gt;
If an activity is finished within that time duration, no new process is created.&lt;br /&gt;
Effectively, short-term activities are sequentially executed,&lt;br /&gt;
as long as their processing takes less than this time duration.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of Processes =====&lt;br /&gt;
This limits the number of parallel executing separate processes.&lt;br /&gt;
Because a process is a somewhat expensive resource in a computer (memory, disk space etc.),&lt;br /&gt;
allowing for an arbitrary number of separate processes might lead to a slowdown or even blocking of the computer&#039;s operation.&lt;br /&gt;
&lt;br /&gt;
Effectively, expecco will keep a pool of worker threads for execution, which process pending activities. The max. number of worker threads is set by this parameter.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of Executors per Testsuite =====&lt;br /&gt;
This limits the number of executors that can execute within the same test suite at the same time.&lt;br /&gt;
This parameter can be used to prevent tests which use global resources without locking from being executed in parallel&lt;br /&gt;
(eg. when the same test suite is executed against multiple systems-under-test,&lt;br /&gt;
or if expecco is operated as an execution slave (runtime) and multiple execution jobs for the same suite are coming from a central QM management system)&lt;br /&gt;
&lt;br /&gt;
===== Max. Number of ExpeccoNET Test-Executions =====&lt;br /&gt;
This limits the number of test execution jobs from a QM-management system that can run in parallel to limit the overall load on the system .&lt;br /&gt;
This parameter is only used if expecco is used as a test slave processor&lt;br /&gt;
(for remote test execution, under the control of an expecco ALM or other QM management system).&lt;br /&gt;
&lt;br /&gt;
=== Recursion ===&lt;br /&gt;
===== Max. Recursion Level =====&lt;br /&gt;
This parameter limits the nesting of activities during execution&lt;br /&gt;
(i.e. the nesting of compound activities which invokes another compound activity).&lt;br /&gt;
If this limit is reached, an error is raised, which leads to the current test case to be reported as erroneous.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
===== Max. Cleanup Time =====&lt;br /&gt;
This parameter limits the max. execution time of cleanup&lt;br /&gt;
actions. This allows for cleanup actions which try to communicate with&lt;br /&gt;
dead connections to be terminated and thus avoids blocking.&lt;br /&gt;
If a cleanup action executes longer, a dialog is shown,&lt;br /&gt;
asking if a hard termination (i.e. termination without cleanup) or a wait for the action is desired by the user.&lt;br /&gt;
If expecco is executed in non-interactive mode (slave-mode or executed via command line),&lt;br /&gt;
the dialog is not shown. Instead, the cleanup action is hard terminated automatically after the max. cleanup time.&lt;br /&gt;
&lt;br /&gt;
This parameter is stored in the test suite, not in the private per-user settings.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
===== Slow Motion Delay =====&lt;br /&gt;
This parameter introduces a delay between the execution of individual activities.&lt;br /&gt;
This is useful in demonstration or replay situations, where the user wants to&lt;br /&gt;
visually follow and monitor the execution of the individual steps.&lt;br /&gt;
It is also sometimes useful when debugging a test,&lt;br /&gt;
to slow down the process artificially.&lt;br /&gt;
&lt;br /&gt;
===== Show &amp;quot;Do Not Disturb&amp;quot; Banner =====&lt;br /&gt;
If checked, a banner window is shown during the execution of a test plan.&lt;br /&gt;
This is useful to prevent other users from touching the machine, especially preventing&lt;br /&gt;
them from stopping or disturbing an ongoing, long running test. It is especially useful on the&lt;br /&gt;
test floor, where test machines are shared among different users.&lt;br /&gt;
&lt;br /&gt;
===== Minimize Expecco while Executing=====&lt;br /&gt;
If checked, the expecco window is iconified during a test&#039;s execution.&lt;br /&gt;
&lt;br /&gt;
Useful to see what is going on (and as a still-processing feedback monitor)&lt;br /&gt;
when running UI-Tests (eg. in a Browser) on a single screen.&lt;br /&gt;
This feature is introduced with rel 19.1.&lt;br /&gt;
&lt;br /&gt;
===== Auto-Confirm Dialog Boxes =====&lt;br /&gt;
If checked, dialog boxes will automatically close themself after a given time period.&lt;br /&gt;
Set this, to let the suite run unattended and confirm all dialogs with their default (usually &amp;quot;OK&amp;quot;), but still get a chance to interact if required (within that time period).&lt;br /&gt;
&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
===== Execute in the Attachments Folder =====&lt;br /&gt;
If checked, scripts are executed within the Attachments folder;&lt;br /&gt;
if unchecked (the default), they are executed one folder above.&lt;br /&gt;
This flag is only present for backward compatibility with previous&lt;br /&gt;
expecco versions.&lt;br /&gt;
&lt;br /&gt;
===== Keep Temporary Script Folders =====&lt;br /&gt;
For debugging only; by default, scripts are generated into temporary files for execution by a shell or language interpreter, and removed afterwards. &lt;br /&gt;
Set this to prevent removal for debugging (especially to debug the variable expansion mechanism). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Settings/en|Back to the main page &amp;quot;Settings&amp;quot;]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29259</id>
		<title>Settings LoggingSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29259"/>
		<updated>2024-04-11T13:54:57Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Logging Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview ===&lt;br /&gt;
Activity log entries remember the result of a step&#039;s execution. They usually include information&lt;br /&gt;
about the input pin values, the execution time, the outcome (verdict) and the generated output value(s).&lt;br /&gt;
The activity log is (currently) stored in memory, to avoid excessive slow-down of the tests execution.&lt;br /&gt;
&lt;br /&gt;
The activity log as generated by long running extensive tests may become very large and consume&lt;br /&gt;
lots of memory - sometimes more than can be kept and prunning (cutting off parts of the trace) is&lt;br /&gt;
required. For such tests, it might be useful to disable the logging of certain actions and/or steps and/or pins. This can be controlled via popup menus of steps and pins in the diagram editor.&lt;br /&gt;
&lt;br /&gt;
In contrast to activity logs, traces as sent to the Transcript (Console) are not persistent and will be lost when the Transcript window is closed (unless the contents is captured and saved explicitly, via one of the Transcript action blocks)&lt;br /&gt;
&lt;br /&gt;
== Logging Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Logging&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Log Activities ===&lt;br /&gt;
If enabled, every activity is stored in the activity log.&lt;br /&gt;
If disabled, only failed activities are stored.&lt;br /&gt;
There will be always one master (top-level) entry stored, which keeps the overall&lt;br /&gt;
outcome of an execution, even for passed runs with disabled logging.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite. &lt;br /&gt;
When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Pin Data ===&lt;br /&gt;
If enabled, all input and output pin values are stored in the activity log.&lt;br /&gt;
Otherwise all values are discarded and pin values cannot be inspected after the test run.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite. &lt;br /&gt;
When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log Info ===&lt;br /&gt;
If enabled, all information messages&lt;br /&gt;
(i.e. messages as generated by explicit logInfo calls and logInfo blocks)&lt;br /&gt;
are stored in the activity log.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This parameter can be set and saved directly in the test suite. &lt;br /&gt;
When a new test suite is created, the value from the settings dialog is used as the default value.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Log GUI Screenshots Automatically on Error ===&lt;br /&gt;
If enabled, GUI action blocks which encounter an error (typically: element/xpath not found) will automatically generate a screenshot and add this to the activity log. Be aware that this may generate a huge number of images and lead to excessive memory use and even a failure when running out of memory (especially on 32bit machines). SO this feature should only be used during development.&lt;br /&gt;
&lt;br /&gt;
=== Log External OS Commands ===&lt;br /&gt;
If enabled, all executed OS commands (shell/script interpreter calls, etc.)&lt;br /&gt;
will be logged in the activity log.&lt;br /&gt;
&lt;br /&gt;
=== Log System Activity Notifications ===&lt;br /&gt;
If enabled, activity information notifications&lt;br /&gt;
(i.e. implicit notifications of the underlying language framework)&lt;br /&gt;
are stored in the activity log as info log entries.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
The default is false (used to be true in pre 2.1 releases).&lt;br /&gt;
&lt;br /&gt;
=== Timestamps have Microsecond Resolution ===&lt;br /&gt;
If enabled, timestamps are kept with microsecond resolution (if the underlying operating system supports them);&lt;br /&gt;
otherwise, they are generated with millisecond resolution.&lt;br /&gt;
&lt;br /&gt;
The default is false for backward compatibility with older expecco versions.&lt;br /&gt;
&lt;br /&gt;
=== Ignore any &amp;quot;Skip in Trace&amp;quot; Attribute ===&lt;br /&gt;
Enforces an activity log/trace to be generated for all steps/pin values,&lt;br /&gt;
even if individual steps/pins have the &amp;quot;&#039;&#039;Skip in Trace&#039;&#039;&amp;quot;&lt;br /&gt;
attribute set.&lt;br /&gt;
&lt;br /&gt;
=== Prefix for log output ===&lt;br /&gt;
&lt;br /&gt;
An environment variable called__Transcript_Prefix__ can be defined in a test suite.&lt;br /&gt;
When text from this test suite is written to Transcript, the value of the variable is also output as a prefix.&lt;br /&gt;
&lt;br /&gt;
== Tracing Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Tracing&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show Internal Warning and Info Messages ===&lt;br /&gt;
Probably only useful for diagnostics of expecco itself&lt;br /&gt;
&lt;br /&gt;
=== Show Actions being Executed===&lt;br /&gt;
If enabled, the currently executed action&#039;s name is shown in the lower info area (not in the Transcript).&lt;br /&gt;
It can be further filtered by tag.&lt;br /&gt;
&lt;br /&gt;
=== Logger Treshold ===&lt;br /&gt;
Defines a treshold which controls the set of Logger messages to be shown. Logger messages are typically produced internally eg. to display progress, errors etc. Many logger messages are meant for expecco developers, however some might be also of interest during test development.&lt;br /&gt;
Logger messages are associated a severity, which can be TRACE, DEBUG, INFO, WARNING, ERROR or FATAL.&lt;br /&gt;
Only logger messages with a greater-or-equal severity will be shown by the logger. &lt;br /&gt;
&amp;lt;br&amp;gt;By default, this treshold is set to &amp;quot;WARNING&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show External Commands on Transcript ===&lt;br /&gt;
If on, executed shell, batch, script and other OS commands will be&lt;br /&gt;
traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Stdout and Stderr on Transcript ===&lt;br /&gt;
If on, the stdout/stderr of executed external programs is &lt;br /&gt;
traced on the Transcript (stderr in red).&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing HTTP Requests on Transcript ===&lt;br /&gt;
Outgoing HTTP requests (from the HTTP-get/put actions) will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing SOAP Requests on Transcript ===&lt;br /&gt;
Outgoing SOAP requests will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show IMAP and POP3 Protocol on Transcript ===&lt;br /&gt;
Interactions with the mailbox are traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== MessageTally on Execution ===&lt;br /&gt;
If checked, execution times of elementary activities are measured and&lt;br /&gt;
an execution profile is generated after the execution (on the Transcript window).&lt;br /&gt;
This is useful to find out where time is spent for performance optimizations.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Recording onExecution ===&lt;br /&gt;
If checked, executed actions are instrumented to record which parts are executed and which are not.&lt;br /&gt;
(this is an unfinished feature, which may or may not work in your particular version of expecco)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29255</id>
		<title>Settings LoggingSettings/en</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Settings_LoggingSettings/en&amp;diff=29255"/>
		<updated>2024-03-27T17:26:29Z</updated>

		<summary type="html">&lt;p&gt;Alkurz: /* Logging Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview ===&lt;br /&gt;
Activity log entries remember the result of a step&#039;s execution. They usually include information&lt;br /&gt;
about the input pin values, the execution time, the outcome (verdict) and the generated output value(s).&lt;br /&gt;
The activity log is (currently) stored in memory, to avoid excessive slow-down of the tests execution.&lt;br /&gt;
&lt;br /&gt;
The activity log as generated by long running extensive tests may become very large and consume&lt;br /&gt;
lots of memory - sometimes more than can be kept and prunning (cutting off parts of the trace) is&lt;br /&gt;
required. For such tests, it might be useful to disable the logging of certain actions and/or steps and/or pins. This can be controlled via popup menus of steps and pins in the diagram editor.&lt;br /&gt;
&lt;br /&gt;
In contrast to activity logs, traces as sent to the Transcript (Console) are not persistent and will be lost when the Transcript window is closed (unless the contents is captured and saved explicitly, via one of the Transcript action blocks)&lt;br /&gt;
&lt;br /&gt;
== Logging Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Logging&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Log Activities ===&lt;br /&gt;
If enabled, every activity is stored in the activity log.&lt;br /&gt;
If disabled, only failed activities are stored.&lt;br /&gt;
There will be always one master (top-level) entry stored, which keeps the overall&lt;br /&gt;
outcome of an execution, even for passed runs with disabled logging.&lt;br /&gt;
&lt;br /&gt;
This setting value is stored in and loaded from the project, not the user&#039;s private settings file.&lt;br /&gt;
&lt;br /&gt;
=== Log Pin Data ===&lt;br /&gt;
If enabled, all input and output pin values are stored in the activity log.&lt;br /&gt;
Otherwise all values are discarded and pin values cannot be inspected after the test run.&lt;br /&gt;
&lt;br /&gt;
The default value is stored in the testsuite, not in the user&#039;s private settings file.&lt;br /&gt;
&lt;br /&gt;
=== Log Info ===&lt;br /&gt;
If enabled, all information messages&lt;br /&gt;
(i.e. messages as generated by explicit logInfo calls and logInfo blocks)&lt;br /&gt;
are stored in the activity log.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
The default setting is stored in the testsuite, not in the user&#039;s private settings file.&lt;br /&gt;
&lt;br /&gt;
=== Log GUI Screenshots Automatically on Error ===&lt;br /&gt;
If enabled, GUI action blocks which encounter an error (typically: element/xpath not found) will automatically generate a screenshot and add this to the activity log. Be aware that this may generate a huge number of images and lead to excessive memory use and even a failure when running out of memory (especially on 32bit machines). SO this feature should only be used during development.&lt;br /&gt;
&lt;br /&gt;
=== Log External OS Commands ===&lt;br /&gt;
If enabled, all executed OS commands (shell/script interpreter calls, etc.)&lt;br /&gt;
will be logged in the activity log.&lt;br /&gt;
&lt;br /&gt;
=== Log System Activity Notifications ===&lt;br /&gt;
If enabled, activity information notifications&lt;br /&gt;
(i.e. implicit notifications of the underlying language framework)&lt;br /&gt;
are stored in the activity log as info log entries.&lt;br /&gt;
Otherwise information messages are discarded.&lt;br /&gt;
&lt;br /&gt;
The default is false (used to be true in pre 2.1 releases).&lt;br /&gt;
&lt;br /&gt;
=== Timestamps have Microsecond Resolution ===&lt;br /&gt;
If enabled, timestamps are kept with microsecond resolution (if the underlying operating system supports them);&lt;br /&gt;
otherwise, they are generated with millisecond resolution.&lt;br /&gt;
&lt;br /&gt;
The default is false for backward compatibility with older expecco versions.&lt;br /&gt;
&lt;br /&gt;
=== Ignore any &amp;quot;Skip in Trace&amp;quot; Attribute ===&lt;br /&gt;
Enforces an activity log/trace to be generated for all steps/pin values,&lt;br /&gt;
even if individual steps/pins have the &amp;quot;&#039;&#039;Skip in Trace&#039;&#039;&amp;quot;&lt;br /&gt;
attribute set.&lt;br /&gt;
&lt;br /&gt;
=== Prefix for log output ===&lt;br /&gt;
&lt;br /&gt;
An environment variable called__Transcript_Prefix__ can be defined in a test suite.&lt;br /&gt;
When text from this test suite is written to Transcript, the value of the variable is also output as a prefix.&lt;br /&gt;
&lt;br /&gt;
== Tracing Settings ==&lt;br /&gt;
These are found in &amp;quot;&#039;&#039;Settings&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Execution&#039;&#039;&amp;quot; - &amp;quot;&#039;&#039;Tracing&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show Internal Warning and Info Messages ===&lt;br /&gt;
Probably only useful for diagnostics of expecco itself&lt;br /&gt;
&lt;br /&gt;
=== Show Actions being Executed===&lt;br /&gt;
If enabled, the currently executed action&#039;s name is shown in the lower info area (not in the Transcript).&lt;br /&gt;
It can be further filtered by tag.&lt;br /&gt;
&lt;br /&gt;
=== Logger Treshold ===&lt;br /&gt;
Defines a treshold which controls the set of Logger messages to be shown. Logger messages are typically produced internally eg. to display progress, errors etc. Many logger messages are meant for expecco developers, however some might be also of interest during test development.&lt;br /&gt;
Logger messages are associated a severity, which can be TRACE, DEBUG, INFO, WARNING, ERROR or FATAL.&lt;br /&gt;
Only logger messages with a greater-or-equal severity will be shown by the logger. &lt;br /&gt;
&amp;lt;br&amp;gt;By default, this treshold is set to &amp;quot;WARNING&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Show External Commands on Transcript ===&lt;br /&gt;
If on, executed shell, batch, script and other OS commands will be&lt;br /&gt;
traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Stdout and Stderr on Transcript ===&lt;br /&gt;
If on, the stdout/stderr of executed external programs is &lt;br /&gt;
traced on the Transcript (stderr in red).&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing HTTP Requests on Transcript ===&lt;br /&gt;
Outgoing HTTP requests (from the HTTP-get/put actions) will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show Outgoing SOAP Requests on Transcript ===&lt;br /&gt;
Outgoing SOAP requests will be traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== Show IMAP and POP3 Protocol on Transcript ===&lt;br /&gt;
Interactions with the mailbox are traced on the Transcript.&lt;br /&gt;
&lt;br /&gt;
=== MessageTally on Execution ===&lt;br /&gt;
If checked, execution times of elementary activities are measured and&lt;br /&gt;
an execution profile is generated after the execution (on the Transcript window).&lt;br /&gt;
This is useful to find out where time is spent for performance optimizations.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Recording onExecution ===&lt;br /&gt;
If checked, executed actions are instrumented to record which parts are executed and which are not.&lt;br /&gt;
(this is an unfinished feature, which may or may not work in your particular version of expecco)&lt;/div&gt;</summary>
		<author><name>Alkurz</name></author>
	</entry>
</feed>