https://doc.expecco.de/w2.x/api.php?action=feedcontributions&user=Bg&feedformat=atomexpecco Wiki (Version 2.x) - Benutzerbeiträge [de]2024-03-29T14:48:32ZBenutzerbeiträgeMediaWiki 1.33.0https://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Finden_von_Aktionsbl%C3%B6cken&diff=19725HelpWizard Pages Finden von Aktionsblöcken2020-08-03T15:27:11Z<p>Bg: </p>
<hr />
<div><strong>Finden von Aktionsblöcken</strong><br />
<br />
<!--Scenario:<br />
When GUI Browser is not shown<br />
Then show the GUI Browser<br />
--><br />
<br />
Andreas describes his problems finding a proper action...<br />
<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Start|zurück]]<br />
[[Datei:arrowright.png|link=HelpWizard Pages Finden von Aktionsblöcken 2|weiter]]<br />
[[Category: HelpWizard]]<br />
[[Category: HelpWizard WebTest]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Tutorials&diff=18393Tutorials2020-01-14T16:09:09Z<p>Bg: /* Erste Schritte Scripting */</p>
<hr />
<div>= Erste Schritte mit expecco =<br />
<br />
Die ersten Schritte richten sich an alle, die expecco zum ersten Mal benutzen und sollen als erste Starthilfe dienen. Anhand eines einfachen Beispiels wollen wir Ihnen einen Überblick über expecco verschaffen. Es empfiehlt sich expecco parallel zum Tutorial zu starten um alle Schritte innerhalb von expecco nachvollziehen zu können.<br />
<br />
[[Medium:Erste_Schritte_mit_expecco.pdf|Erste Schritte mit expecco.pdf]]<br />
<br />
<br><br />
<br />
= Erste Schritte Web Test =<br />
<br />
Dieses Tutorial führt Sie in das Testen bzw. Automatisieren von Web-Anwendungen in Browsern (chrome, firefox, edge, etc.) ein.<br />
<br />
*[[Web Test Tutorial - Teil 1]]<br />
*[[Web Test Tutorial - Teil 2]]<br />
<br><br />
<br />
= Erste Schritte mit Mobilgeräten =<br />
<br />
Mit dem Mobile Testing Plugin lassen sich Tests für Apps auf Android- oder iOS-Mobilgeräten erstellen und ausführen. Dieses Tutorial beschreibt das grundsätzliche Vorgehen anhand eines mit gelieferten Beispiels für Android, bestehend aus einer einfachen App und einer expecco-Testsuite. Die App expecco Mobile Demo berechnet und überprüft verschiedene alltägliche Codes: die IBAN aus dem europäischen Zahlungsverkehr, die internationalen GTIN-13-Produktcodes, wie man sie bei Strichcodes im Einzelhandel findet, und die Seriennummern auf Euro-Banknoten. Die Testsuite enthält Testfälle für einzelne Funktionen der App. Dabei sind noch nicht alle Funktionen abgedeckt, sondern werden im Laufe des Tutorials ergänzt.<br />
<br />
'''"Erste Schritte mit Mobilgeräten" als pdf:'''<br />
<br />
[[Medium:Erste_Schritte_mit_Android.pdf|Erste Schritte mit Mobilgeräten.pdf]]<br />
<br />
'''Tutorial als Video bei "YouTube":'''<br />
<br />
[https://www.youtube.com/watch?v=H8H4gQO_Tx8 Testing with mobile devices]<br />
<br />
<br><br />
<br />
= Erste Schritte Manueller Test =<br />
<br />
In diesem Tutorial erfahren Sie, wie geführte manuelle Tests mit expecco durchgeführt werden können.<br />
Manuel Tests können aus bestehenden Testfallbeschreibungen (aus Excel oder anderen Dokumenten) importiert werden,<br />
und danach schrittweise teil- oder vollautomatisiert werden.<br />
<br />
*[[Manueller Test Tutorial]]<br />
<br />
<br><br />
<br />
= Erste Schritte Scripting =<br />
<br />
*[[blabla/en | Video: Node Interface to City Weather]]<br />
*[[Node Examples/en | Beispiele zu Node.js Einbindung]]<br />
*[[Scripting Tutorial]]<br />
<br />
<br><br />
<br />
= Erste Schritte OPCUA=<br />
<br />
*[[OPC/en|Kurzbeschreibung zur OPC Library]]<br />
[[Datei:OPCUATutorial.mp4|Video Tutorial]] <br />
<br />
<br><br />
<br />
= Bibliotheken =<br />
<br />
'''Video "Verwendung von Bibliotheken" bei "YouTube":'''<br />
<br />
[https://www.youtube.com/watch?v=moi3AiexalQ Verwendung von Bibliotheken]<br />
<br />
<br><br />
<br />
= Tutorial: Generieren von Testdaten =<br />
<br />
Eine der am häufigsten gestellten Fragen ist "Wie kann ich Testdaten generieren". Aufgrund der Flexibilität von expecco gibt es mehrere Lösungen zur Lösung dieser Aufgabe. Je nach Art und Umfang der zu erzeugenden Daten gilt eines von mehreren Mustern. Im Folgenden erhalten Sie einen groben Überblick über dieses Thema. <br />
<br />
<br><br />
[[Generating Test Data|Tutorial: Generieren von Testdaten]]<br />
<br><br />
<br />
= Der Umgang mit Bausteinen =<br />
<br />
'''Video "Umgang mit Bausteinen bei "YouTube":'''<br />
<br />
[https://www.youtube.com/watch?v=GYXXyJWmNT8 Umgang mit Bausteinen]<br />
<br />
<br><br />
<br />
= [[Testing Java Applications using Groovy blocks]] =<br />
Through this tutorial, we'll use a simple "Bank Account" application as system under test.<br />
<br />
<br><br />
<br />
= [[expecco API]] =<br />
Bevor Sie mit der Programmierung beginnen, lesen Sie bitte das Dokument [[How_to_Program/en|"How to Program"]], das den Umgang mit dem Programmcode in expecco beschreibt.<br />
Sie werden mehr Spaß haben und produktiver sein, wenn Sie die Leistungsfähigkeit der Tools kennen. Das beste Entwicklungserlebnis bietet der Debugger, der Arbeitsbereich (Notepad) und die Dateninspektoren.<br />
Der Rest dieses Dokuments beschreibt die Syntax und Semantik der elementaren Aktionssprachen; für die Verwendung der Werkzeuge lesen Sie bitte das [[How_to_Program/en|HowTo]] Dokument.<br />
<br />
<br><br />
<br />
= [[Parametrizing Tests|Parametrisierung von Tests]] =<br />
Parameterwerte (wie Hostnamen, Portnummern, Benutzernamen, DB-Namen usw.) sollten normalerweise nicht buchstäblich als Freeze-Wert verwendet werden oder fest in den Code eines elementaren Aktionsbausteins verdrahtet werden, da dies die Pflege der Suite erschweren kann. Da Sie nach solchen Werten suchen müssen, wenn eine Änderung erforderlich ist (über die Stringsuchfunktion in der linken Baumansicht).<br />
<br />
<br><br />
<br />
= [[Common_Errors/en|Typische Fehler und Lösungen]] =<br />
Dieses Dokument beschreibt die häufigsten Fehlersituationen und gibt Hinweise zur Behebung. Sie ist unvollständig und deckt nicht alle möglichen Fehler ab. <br />
<br />
<br><br />
<br />
<!-- = Executor =<br />
<br />
<br> --><br />
<br />
<!-- = Executor#Activity =<br />
<br />
<br>--><br />
<br />
= [[Reimport Tool|Reimporting a Library]] =<br />
Diese Seite erklärt, wie Sie Ihre Bibliotheken mit dem Reimporting-Tool auf dem aktuellsten Stand halten können.<br />
<br />
<br><br />
<br />
= [[The Use of Tags|Nutzung von Etiketten (Tags)]] =<br />
<br />
Elemente in expecco können mit Etiketten (Tags) markiert werden. So werden funktionale Gruppen von Elementen gebildet und das Finden von Elementen in Such-Dialogen vereinfacht. Suchdialoge enthalten dafür eine eine Auswahlbox.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Mobile_Testing_Plugin&diff=15377Mobile Testing Plugin2019-03-27T09:02:19Z<p>Bg: /* Android-Gerät vorbereiten */</p>
<hr />
<div>= Einleitung =<br />
Mit dem Mobile Testing Plugin können Anwendungen auf Android- und iOS-Geräten getestet werden. Dabei ist es egal, ob reale mobile Endgeräte oder emulierte Geräte verwendet werden. Das Plugin kann (und wird üblicherweise) zusammen mit dem [[Expecco_GUI_Tests_Extension_Reference|GUI-Browser]] verwendet werden, der das Erstellen von Tests unterstützt. Zudem ist damit das Aufzeichnen von Testabläufen möglich.<br />
<br />
Zur Verbindung mit den Geräten wird [http://appium.io/ Appium] verwendet. Appium ist ein freies Open-Source-Framework zum Testen und Automatisieren von mobilen Anwendungen.<br />
<br />
Zur Einarbeitung in das Mobile Plugin empfehlen wir das [[#Tutorial|Tutorial]] zu bearbeiten. Dieses führt anhand eines Beispiels Schritt für Schritt durch die Erstellung eines Testfalls und erklärt die nötigen Grundlagen.<br />
<br />
= Installation und Aufbau =<br />
Zur Verwendung des Mobile Testing Plugins müssen Sie expecco inkl. Plugins installiert haben und Sie benötigen die entsprechenden Lizenzen. expecco kommuniziert mit den Mobilgeräten über einen Appium-Server, der entweder auf demselben Rechner wie expecco läuft, oder auf einem zweiten Rechner. Dieser muss für expecco erreichbar sein.<br />
<br />
'''Installationsübersicht mit expecco 18.1:'''<br />
* Appium-Server<sup>a</sup> 1.6.4 for Android<br />
* Appium-Server<sup>b</sup> 1.8.0 for iOS<br />
für Android-Geräte ab der Version 4.3:<br />
* Java JDK<sup>a</sup> Version 7, 8 oder 9<br />
* Android SDK<sup>a</sup><br />
für iOS-Geräte ab Version 9.3:<br />
* Xcode 9.3.x<br />
* Apple-Entwickler-Zertifikat mit zugehörigem privaten Schlüssel<br />
* Provisioning Profile mit den verwendeten Mobilgeräten<br />
(<sup>a</sup>) enthalten in Mobile Testing Supplement<br><br />
(<sup>b</sup>) enthalten in Mobile Testing Supplement for Mac OS<br />
<br />
'''Installationsübersicht mit expecco 2.11:'''<br />
* Appium-Server<sup>ab</sup> 1.6.4<br />
für Android-Geräte ab der Version 4.3:<br />
* Java JDK<sup>a</sup> Version 7 oder 8<br />
* Android SDK<sup>a</sup><br />
für iOS-Geräte ab Version 9.3:<br />
* Xcode 8.3.x<br />
* Apple-Entwickler-Zertifikat mit zugehörigem privaten Schlüssel<br />
* Provisioning Profile mit den verwendeten Mobilgeräten<br />
(<sup>a</sup>) enthalten in Mobile Testing Supplement<br><br />
(<sup>b</sup>) enthalten in Mobile Testing Supplement for Mac OS<br />
<br />
'''Installationsübersicht mit expecco 2.10:'''<br />
* Appium-Server<sup>ab</sup> 1.4.16<br />
für Android-Geräte ab der Version 2.3.3 bis Version 6.0:<br />
* Java JDK Version<sup>a</sup> 7 oder 8<br />
* Android SDK<sup>a</sup><br />
für iOS-Geräte bis Version 9.3:<br />
* Xcode 7.3.x<br />
* Apple-Entwickler-Zertifikat<sup>c</sup> mit zugehörigem privaten Schlüssel<br />
* Provisioning Profile<sup>c</sup> mit den verwendeten Mobilgeräten<br />
(<sup>a</sup>) enthalten in Mobile Testing Supplement<br><br />
(<sup>b</sup>) enthalten in Mobile Testing Supplement for Mac OS<br><br />
(<sup>c</sup>) zum Signieren der App<br />
<br />
Beachten Sie, dass aufgrund der Voraussetzungen iOS-Geräte nur von einem Mac aus angesteuert werden können. expecco kann dann über das Netzwerk mit dem Appium-Server auf dem Mac kommunizieren, um auf den dort angeschlossenen iOS-Geräten zu testen. Im Folgenden wird die Installation von Appium und anderer nötiger Programme für Windows und Mac OS erklärt.<br />
<br />
[[Datei:MobileTestingAufbau.png | 400px]]<br />
<br />
== Windows ==<br />
Am einfachsten installieren Sie alles mit unserem Mobile Testing Supplement:<br />
*'''expecco 18.2''': [http://download.exept.de/transfer/h-expecco-18.2.0/MobileTestingSupplement.exe Mobile Testing Supplement 1.7.3.0]<br />
:Dieses installiert Appium in der Version 1.8.1. Außerdem bietet das Supplement auch an, ''Android Debug Bridge'' und ''Google USB Driver'' ([https://gsmusbdrivers.com/download/adb-fastboot-drivers/ adb-setup-1.4.3]) zu installieren. Damit sind Treiber für ein breites Spektrum an Android-Geräten abgedeckt, sodass Sie nicht für jedes Gerät einen eigenen Treiber suchen und installieren müssen. Ein '''JDK ist nicht mehr enthalten''', dieses müssen Sie selbst herunterladen, z.B. von [https://www.oracle.com/technetwork/java/javase/downloads/index.html Oracle].<br />
*expecco 18.1: wie expecco 2.11<br />
*expecco 2.11: [http://download.exept.de/transfer/h-expecco-2.11.1/MobileTestingSupplement_1.6.0.2_Setup.exe Mobile Testing Supplement 1.6.0.2]<br />
:Dieses installiert ein Java JDK der Version 8, android-sdk und Appium in der Version 1.6.4. Außerdem bietet das Supplement auch einen universellen adb-Treiber ([http://download.clockworkmod.com/test/UniversalAdbDriverSetup.msi ClockworkMod]) an. Dieser vereint Treiber für ein breites Spektrum an Android-Geräten, sodass Sie nicht für jedes Gerät einen eigenen Treiber suchen und installieren müssen.<br />
*expecco 2.10: [http://download.exept.de/transfer/h-expecco-2.10.0/Mobile_Testing_Supplement_1.5.0.0_Setup.exe Mobile Testing Supplement 1.5.0.0]<br />
:Dieses installiert ein Java JDK der Version 8, android-sdk und Appium in der Version 1.4.16. Während der Installation wird die grafische Oberfläche von Appium gestartet, dieses Fenster können Sie sofort wieder schließen. Außerdem bietet das Supplement auch einen universellen adb-Treiber ([http://download.clockworkmod.com/test/UniversalAdbDriverSetup.msi ClockworkMod]) an. Dieser vereint Treiber für ein breites Spektrum an Android-Geräten, sodass Sie nicht für jedes Gerät einen eigenen Treiber suchen und installieren müssen.<br />
<br />
Beim Starten von Appium kann es vorkommen, dass die Windows-Firewall den Node-Server blockiert. In diesem Fall kann expecco keinen Appium-Server starten. Starten Sie daher nach der Installation am besten die Datei ''appium.cmd'' im Ordner ''appium'' des Mobile Testing Supplements. Wenn sich der Appium-Server starten lässt, sollte es auch von expecco aus funktionieren. Meldet sich hingegen die Windows-Firewall, lassen Sie den Zugriff zu.<br />
<br />
== Mac OS ==<br />
=== expecco 18.1 ===<br />
Es gibt ein neues [http://download.exept.de/transfer/h-expecco-18.1.0/Mobile_Testing_Supplement_for_Mac_OS_1.1.94.tar.bz2 Mobile Testing Supplement für Mac OS (1.1.94)]. Dieses enthält Appium 1.8.0. Für Geräte mit iOS 11 wird außerdem Xcode 9 benötigt, mindestens in der entsprechenden Minor-Version, z.B. Xcode 9.3 für iOS 11.3. Ansonsten bleibt alles gleich wie bei expecco 2.11.<br />
<br />
=== expecco 2.11 ===<br />
Auf dem verwendeten Mac sollte als Betriebssystemversion OS X 10.12 (Sierra) und Xcode 8.3 oder neuer laufen. Sie können eine aktuelle Version von Xcode über den App Store installieren. Außerdem benötigt Appium eine Java-Installation. Installieren Sie dazu ein JDK in Version 7 oder 8. Mithilfe unseres [http://download.exept.de/transfer/h-expecco-2.11.1/Mobile_Testing_Supplement_for_Mac_OS_1.0.94.tar.bz2 Mobile Testing Supplements für Mac OS (1.0.94)] können Sie nun noch Appium 1.6.4 installieren. Nachdem Sie es heruntergeladen haben, können Sie es in ein Verzeichnis Ihrer Wahl (z. B. Ihr Home-Verzeichnis) verschieben und dort entpacken. Ein geeigneter Befehl in einer Shell könnte so aussehen:<br />
<br />
tar -xvpf Mobile_Testing_Supplement_for_Mac_OS_1.0.94.tar.bz2<br />
<br />
''Hinweis: Zur Automatisierung von iOS-Geräten ab Version 10 ist grundsätzlich eine Installation von einem vergleichbar neuen Xcode 8 nötig (für iOS 10.'''2''' mind. Xcode 8.'''2''', für iOS 10.'''3''' mind. Xcode 8.'''3''', usw.), die auf älteren Betriebssystemen möglicherweise nicht läuft. Wenn Sie also auf eine neuere iOS-Version wechseln, benötigen Sie in der Regel auch eine neuere Xcode-Version, was wiederum eine Aktualisierung des Betriebssystems erforderlich machen kann (siehe auch [https://en.wikipedia.org/wiki/Xcode#Version_comparison_table Xcode-Versionen]).''<br />
<br />
Wenn Xcode 8.3 oder neuer Ihre Standard-Xcode-Installation ist, können Sie Appium direkt starten:<br />
Mobile_Testing_Supplement/bin/start-appium-1.6.4<br />
Falls kein ausreichend neues Xcode als Standard konfiguriert ist, müssen Sie Appium den entsprechenden Pfad über die Umgebungsvariable ''DEVELOPER_DIR'' angeben. Wenn Sie Xcode z. B. in ''/Applications/Xcode-8.3.app'' installiert haben, können Sie Appium so starten:<br />
DEVELOPER_DIR="/Applications/Xcode-8.3.app/Contents/Developer" Mobile_Testing_Supplement/bin/start-appium-1.6.4<br />
Was in Ihrem System als Standard-Xcode-Installation gesetzt ist, können Sie mit diesem Befehl herausfinden:<br />
xcode-select -p<br />
Wenn Appium Ihre Xcode-Installation nicht findet, erscheint beim Verbinden eine Fehlermeldung in der Art:<br />
''<blockquote>org.openqa.selenium.SessionNotCreatedException - A new session could not be created. (Original error: Could not find path to Xcode, environment variable DEVELOPER_DIR set to: /Applications/Xcode.app but no Xcode found)</blockquote>''<br />
Starten Sie in einem solchen Fall Appium erneut unter Angabe eines gültigen ''DEVELOPER_DIR''.<br />
<br />
Um eine Testverbindung mit einem Gerät aufbauen zu können, brauchen Sie einen Apple-Account. Zur Evaluierung können Sie einen kostenlosen Account verwenden. Dieser hat den Nachteil, dass erstellte Profile nur eine Woche gültig sind und danach neu erstellt werden müssen. Seien Sie auch vorsichtig, wenn Sie sich den Account teilen, da es vorkommen kann, dass Zertifikate widerrufen werden oder durch automatische Generierung ungültig werden. Als Folge können bereits signierte Apps nicht mehr verwendet werden.<br />
<br />
Schließen Sie zuerst das Gerät, das Sie verwenden möchten, über USB an den Mac an. Starten Sie Xcode und öffnen Sie ''Preferences''. Wechseln Sie zur Seite der Accounts und legen Sie einen Eintrag mit Ihrem Account an. Anschließend können Sie auf ''Manage Certificates...'' klicken, um die Zertifikate zu sehen, die zu diesem Account gehören. Zum Ausführen von Tests benötigen Sie ein iOS-Development-Zertifikat und den dazugehörigen privaten Schlüssel. Wenn Sie noch keines besitzen, erstellen Sie eines. Wenn Sie bereits eines haben, aber es nicht in Ihrem Schlüsselbund vorhanden ist (erkennbar an dem Hinweis "Not in Keychain"), können Sie es importieren. Öffnen Sie in jedem Fall die Schlüsselbundverwaltung auf dem Mac und wählen Sie den Schlüsselbund ''Anmeldung'' aus. Wenn Sie ein Zertifikat aus einer PKCS#12-Datei (Endung typischerweise .p12) importieren wollen, geht das über das Menü ''Ablage'' > ''Objekte importieren''. Falls Sie nicht wissen, wo das Zertifikat gespeichert ist, können Sie es in Xcode auch widerrufen und in Ihrem Schlüsselbund neu anlegen. Machen Sie das jedoch nur, wenn Sie wissen, dass das alte Zertifikat nicht mehr in Verwendung ist, da es danach nicht mehr benutzt werden kann. Nun sollte der Schlüsselbund ein iOS-Development-Zertifikat enthalten. Wählen Sie im Rechtsklick-Menü den Punkt ''Informationen'' aus. Unter den Details des Zertifikats finden Sie die Team-ID, die hier als Organisationseinheit bezeichnet wird. Tragen Sie diese in den Einstellungen des Plugins im Feld ''Team-ID'' ein, siehe [[#Konfiguration_des_Plugins|Konfiguration des Plugins]].<br />
<br />
Kehren Sie zu Xcode zurück und wählen Sie im Menü ''File'' den Eintrag ''Open...'', um das WebDriverAgent-Projekt zu öffnen. Dieses befindet sich im Verzeichnis des Mobile Testing Supplements unter<br />
''<nowiki>Mobile_Testing_Supplement/lib/node_modules/appium-1.6.4-beta/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj</nowiki>''<br />
<br />
[[Datei:MobileTestingWebDriverAgentXcode.png]]<br />
<br />
Wählen Sie ''WebDriverAgentLib'' und die Seite ''General'' aus. Setzen Sie dort im Abschnitt ''Signing'' die Option ''Automatically manage signing'' und wählen Sie dann ein Team aus. Wechseln Sie nun zu ''WebDriverAgentRunner'' und ebenfalls zur Seite ''General''. Setzen Sie auch hier das automatische Signieren und wählen Sie auch hier Ihr Team aus. Es sollten an dieser Stelle Fehler angezeigt werden, dass kein Provisioning Profile angelegt oder gefunden wurde. Wechseln Sie deshalb zur Seite ''Build Settings'' und suchen Sie hier im Abschnitt ''Packaging'' den Eintrag ''Product Bundle Identifier''. Ändern Sie diesen von com.facebook.WebDriverAgentRunner zu etwas, das von Xcode akzeptiert wird, indem Sie den Präfix ändern. Xcode kann nun ein passendes Provisioning Profile generieren und die Fehler auf der General-Seite sollten verschwinden. Danach können Sie Xcode beenden.<br />
<br />
Wenn Sie sich nun von expecco eine Verbindung zu Ihrem Gerät aufbauen, wird der WebDriverAgent darauf installiert und gestartet, um anschließend zur zu testenden App zu wechseln. Auf dem Gerät muss jedoch noch der Ausführung des WebDriverAgents vertraut werden. Öffnen Sie dazu während des Verbindungsaufbaus auf dem Gerät in die Einstellungen und dort unter ''Allgemein'' den Eintrag ''Geräteverwaltung''. Dieser Eintrag ist nur sichtbar, wenn eine Entwickler-App auf dem Gerät installiert ist. Sie müssen daher möglicherweise warten, bis der WebDriverAgent installiert ist, bevor der Eintrag erscheint. Wählen Sie dort den Eintrag Ihres Apple-Accounts und vertrauen Sie ihm. Da der WebDriverAgent wieder deinstalliert wird, wenn der Start nicht funktioniert hat, müssen Sie dies während des Verbindungsaufbaus tun. Falls Ihnen das zu hektisch ist, können Sie auch folgenden Code ausführen:<br />
<br />
''<nowiki>xcodebuild -project Mobile_Testing_Supplement/lib/node_modules/appium-1.6.4-beta/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=<udid>' test</nowiki>''<br />
<br />
Damit wird der WebDriverAgent auf dem Gerät installiert ohne dass er wieder gelöscht wird. In der [https://support.apple.com/en-us/HT204460 Dokumentation von Apple] finden Sie nähere Informationen zum Installieren und Vertrauen solcher Apps.<br />
<br />
=== expecco 2.10 ===<br />
Auf dem verwendeten Mac sollte als Betriebssystemversion OS X 10.11.5 (El Capitan) oder neuer laufen. Zur Automatisierung mit iOS-Geräten bis Version 9.3 ist eine Installation von Xcode 7.3 nötig, die auf älteren Betriebssystemen nicht läuft (siehe auch [https://en.wikipedia.org/wiki/Xcode#Version_comparison_table Xcode-Versionen]). Installieren Sie Xcode aus dem App Store. Außerdem benötigt Appium eine Java-Installation. Installieren Sie dazu ein JDK in Version 7 oder 8. Mithilfe unseres [http://download.exept.de/transfer/h-expecco-2.10.0/Mobile_Testing_Supplement_for_Mac_OS_1.0.tar.bz2 Mobile Testing Supplements für Mac OS] können Sie nun noch Appium 1.4.16 installieren. Nachdem Sie es heruntergeladen haben, können Sie es in ein Verzeichnis Ihrer Wahl (z. B. Ihr Home-Verzeichnis) verschieben und dort entpacken. Ein geeigneter Befehl in einer Shell könnte so aussehen:<br />
tar -xvpf Mobile_Testing_Supplement_for_Mac_OS_1.0.tar.bz2<br />
Wenn Xcode 7.3 Ihre Standard-Xcode-Installation ist, können Sie Appium direkt starten:<br />
Mobile_Testing_Supplement/bin/start-appium-1.4.16<br />
Falls Xcode 7.3 nicht als Standard-Xcode konfiguriert ist, müssen Sie Appium den entsprechenden Pfad über die Umgebungsvariable ''DEVELOPER_DIR'' angeben. Wenn Sie Xcode z. B. in ''/Applications/Xcode-7.3.app'' installiert haben, können Sie Appium so starten:<br />
DEVELOPER_DIR="/Applications/Xcode-7.3.app/Contents/Developer" Mobile_Testing_Supplement/bin/start-appium-1.4.16<br />
Was in Ihrem System als Standard-Xcode-Installation gesetzt ist, können Sie mit diesem Befehl herausfinden:<br />
xcode-select -p<br />
Wenn Appium Ihre Xcode-Installation nicht findet, erscheint beim Verbinden eine Fehlermeldung in der Art:<br />
''<blockquote>org.openqa.selenium.SessionNotCreatedException - A new session could not be created. (Original error: Could not find path to Xcode, environment variable DEVELOPER_DIR set to: /Applications/Xcode.app but no Xcode found)</blockquote>''<br />
Starten Sie in einem solchen Fall Appium erneut unter Angabe eines gültigen ''DEVELOPER_DIR''.<br />
<br />
== Konfiguration des Plugins ==<br />
Bevor Sie loslegen, sollten Sie die Einstellungen des Mobile Testing Plugins überprüfen und ggf. anpassen. Öffnen Sie im Menü den Punkt "''Extras''" > "''Einstellungen'"' und dort unter "''Erweiterungen''" den Eintrag "''Mobile Testing''" (s. Abb.). Standardmäßig werden diese Pfade automatisch gefunden (1). Um einen Pfad manuell anzupassen, deaktivieren Sie den entsprechenden Haken rechts davon. Sie erhalten in einer Drop-down-Liste einige Pfade zur Auswahl. Ist ein eingetragener Pfad falsch oder kann er nicht gefunden werden, wird das Feld rot markiert und es erscheint ein diesbezüglicher Hinweis. Stellen Sie sicher, dass alle Pfade richtig angegeben sind.<br />
<br />
[[Datei:MobileTestingEinstellungen.png | thumb | 400px | Konfiguration des Plugins]]<br />
<br />
*'''appium''': Geben Sie hier den Pfad zur ausführbaren Datei an mit der Appium in der Kommandozeile gestartet werden kann. Unter Windows wird diese Datei in der Regel "<code>appium.cmd</code>" heißen. Dieser Pfad wird benutzt, wenn expecco einen Appium-Server startet.<br />
*'''node''': Geben Sie hier den Pfad zur ausführbaren Datei an, die Node (auch "Node.js") startet. Dieser Pfad wird beim Starten eines Servers an Appium weitergegeben, damit Appium ihn unabhängig von der PATH-Variablen findet. Unter Windows heißt diese Datei in der Regel "<code>node.exe</code>".<br />
*'''JAVA_HOME''': Geben Sie hier den Pfad zu einem JDK an. Dieser Pfad wird an jeden Appium-Server weitergegeben. Lassen Sie das Feld frei, um den Wert aus der Umgebungsvariablen zu verwenden. Um einzustellen, welches Java von expecco verwendet werden soll, setzen Sie diesen Pfad in den Einstellungen für die Java Bridge.<br />
*'''ANDROID_HOME''': Geben Sie hier den Pfad zu einem SDK von Android an. Dieser Pfad wird an jeden Appium-Server weitergegeben. Lassen Sie das Feld frei, um den Wert aus der Umgebungsvariablen zu verwenden.<br />
*'''adb''': Hier steht der Pfad zum adb-Befehl. Unter Windows heißt die Datei adb.exe. Diese wird von expecco beispielsweise verwendet, um die Liste der angeschlossenen Geräte zu erhalten. Diesen Pfad sollten Sie automatisch wählen lassen, da dann der Befehl im ANDROID_HOME-Verzeichnis verwendet wird. Dieser wird auch von Appium verwendet. Falls expecco und Appium jedoch verschiedene Versionen von adb verwenden kann es zu Konflikten kommen.<br />
*'''android.bat''': Diese Datei wird nur benötigt, um damit den AVD und den SDK Manager zu starten. Automatisch wird hier die Datei im ANDROID_HOME-Verzeichnis gesucht.<br />
*'''aapt''': Geben Sie hier den Pfad zum aapt-Befehl an. Unter Windows heißt diese Datei ''aapt.exe''. expecco verwendet aapt nur im Verbindungseditor, um das Paket und die Activities einer apk-Datei zu lesen. Automatisch wird hier die Datei im ANDROID_HOME-Verzeichnis gesucht.<br />
<br />
[[Datei:MobileTestingJavaBridgeEinstellungen.png | thumb | 400px | Konfiguration des JDKs]]<br />
<br />
Ab expecco 2.11 gibt es das Feld ''Team-ID''. Wenn Sie iOS-Tests ausführen, tragen Sie hier die Team-ID Ihres Zertifikats ein. Diese wird für jede iOS-Verbindung verwendet, außer Sie setzen den Wert im Einzelfall in den Verbindungseinstellungen um. Wie Sie die Team-ID erhalten, lesen Sie im Abschnitt zur [[#expecco_2.11|Installation auf Mac OS mit expecco 2.11]]. Mit expecco 2.10 können Sie die Team-ID nur für jede Verbindungseinstellung extra als Capability eintragen. Dazu müssen Sie jedoch die [[#Erweiterte_Ansicht|erweiterte Ansicht]] verwenden. Geben Sie hier die Capability ''xcodeOrgId'' an und setzen Sie als Wert die Team-ID des Zertifikats.<br />
<br />
Die Einstellung zur Serveradresse unten auf der Seite bezieht sich auf das Verhalten des Verbindungseditors. Dieser prüft am Ende, ob die Serveradresse auf ''/wd/hub'' endet, da dies die übliche Form ist. Falls nicht, wird in einem Dialog gefragt, wie darauf reagiert werden soll. Das festgelegte Verhalten kann hier eingesehen und verändert werden.<br />
<br />
Wechseln Sie ebenfalls zum Eintrag ''Java Bridge'' (s. Abb.). Hier muss der Pfad zu Ihrer Java-Installation angegeben werden, die von expecco benutzt wird. Tragen Sie hier ein JDK ein. Falls Sie unter Windows das aus dem Mobile Testing Supplement verwenden möchten, lautet der Pfad<br />
<nowiki>C:\Program Files (x86)\exept\Mobile Testing Supplement\jdk</nowiki><br />
Sie können auch die Systemeinstellungen verwenden.<br />
<br />
== Android-Gerät vorbereiten ==<br />
Wenn Sie ein Android-Gerät unter Windows anschließen benötigen Sie möglicherweise noch einen adb-Treiber für das Gerät. Einen passenden Treiber finden Sie üblicherweise auf der jeweiligen Webseite des Herstellers. Haben Sie den Universal-Treiber aus dem Mobile Testing Supplement installiert, sollte für die meisten Geräte bereits alles funktionieren. In einigen Fällen versucht auch Windows automatisch einen Treiber zu installieren, wenn Sie das Gerät zum ersten mal anschließen.<br />
<br><br />
'''Achtung:'''<br />
Bevor Sie ein Mobilgerät mit dem Appium-Plugin ansteuern können, müssen Sie für dieses Debugging erlauben!<br />
<br />
<br />
Für Android-Geräte finden Sie diese Option in den Einstellungen unter ''[https://www.droidwiki.org/wiki/Entwickleroptionen Entwickleroptionen]'' mit dem Namen ''[https://www.droidwiki.org/USB-Debugging USB-Debugging]''. Falls die Entwickleroptionen nicht angezeigt werden, können Sie diese freischalten, indem Sie unter ''Über das Telefon'' siebenmal auf ''Build-Nummer'' tippen.<br />
<br />
<br />
Aktivieren Sie auch die Funktion ''Wach bleiben'', damit das Gerät nicht während der Testerstellung oder -ausführung den Bildschirm abschaltet.<br />
<br />
<br />
Aus Sicherheitsgründen muss USB-Debugging für jeden Computer einzeln zugelassen werden. Beim Verbinden des Geräts mit dem PC über USB müssen Sie dabei am Gerät der Verbindung zustimmen. Falls Sie dies für Ihren Computer noch nicht getan haben, aber auf dem Gerät kein entsprechender Dialog erscheint, kann es helfen, das Gerät aus- und wieder einzustecken. Das kann insbesondere dann passieren, wenn Sie den ADB-Treiber installiert haben während das Gerät bereits über USB angeschlossen war. Falls auch das nicht hilft, öffnen Sie die Benachrichtigungen, indem Sie sie vom oberen Bildschirmrand herunter ziehen. Dort finden Sie die USB-Verbindung und Sie können die Optionen dazu öffnen. Wählen Sie einen anderen Verbindungstypen aus; in der Regel sollten MTP oder PTP funktionieren.<br />
<br />
Sie können auch auf einem Emulator testen. Dieser muss nicht mehr gesondert vorbereitet werden, da er bereits für USB-Debugging ausgelegt ist. Es ist sogar möglich, einen Emulator bei Testbeginn zu starten.<br />
<br />
Um zu überprüfen, ob ein Gerät, das Sie an Ihren Rechner angeschlossen haben, verwendet werden kann, öffnen Sie den [[#Verbindungseditor|Verbindungseditor]]. Das Gerät sollte dort angezeigt werden.<br />
<br />
=== Verbindung über WLAN ===<br />
Es ist auch möglich, Android-Geräte über WLAN zu verbinden. Dazu müssen Sie zunächst das Gerät über USB mit dem Rechner verbinden. Öffnen Sie dann die Eingabeaufforderung und geben Sie dir eint:<br />
<nowiki>adb tcpip 5555</nowiki><br />
Damit lauscht das Gerät auf eine TCP/IP-Verbindung an Port 5555. Sollten Sie mehrere Geräte angeschlossen oder Emulatoren laufen haben, müssen Sie genauer angeben, welches Gerät Sie meinen. Geben Sie in diesem Fall ein:<br />
<nowiki>adb devices -l</nowiki><br />
Sie erhalten eine Liste aller Geräte, wobei die erste Spalte deren Kennung ist. Schreiben Sie dann stattdessen<br />
<nowiki>adb -s <Gerätekennung> tcpip 5555</nowiki><br />
mit der Gerätekennung des gewünschten Geräts. Sie können die USB-Verbindung nun trennen. Jetzt müssen Sie die IP-Adresse Ihres Gerätes in Erfahrung bringen. Sie finden diese üblicherweise irgendwo in den Einstellungen des Geräts, beispielsweise beim Status oder in den WLAN-Einstellungen. Geben Sie dann ein:<br />
<nowiki>adb connect <IP-Adresse des Geräts></nowiki><br />
Damit sollte das Gerät nun über WLAN verbunden sein und kann genauso verwendet werden, wie mit USB-Verbindung. Sie können dies überprüfen, indem Sie wieder <tt>adb devices -l</tt> eingeben oder in expecco den Verbindungsdialog öffnen. In der Liste taucht das Gerät mit seiner IP-Adresse und dem Port auf. Bedenken Sie, dass die WLAN-Verbindung nicht mehr besteht, wenn der ADB-Server oder das Gerät neu gestartet werden.<br />
<br />
== iOS-Gerät und App vorbereiten ==<br />
Das Ansteuern von iOS-Geräten ist nur über einen Mac möglich. Lesen Sie daher auch den Abschnitt zur [[#Mac_OS|Installation unter Mac OS]].<br />
<br />
Bevor Sie ein Mobilgerät mit dem Mobile Testing Plugin ansteuern können, müssen Sie für iOS-Geräte ab iOS 8 Debugging erlauben. Aktivieren Sie dazu die Option ''Enable UI Automation'' unter dem Menüpunkt ''Entwickler'' in den Einstellungen des Geräts. Falls Sie den Eintrag ''Entwickler'' in den Einstellungen nicht finden, gehen Sie wie folgt vor: Schließen Sie das Gerät über USB an den Mac an. Dabei müssen Sie ggf. am Gerät noch der Verbindung zustimmen. Starten Sie Xcode und wählen Sie dann in der Menüleiste am oberen Bildschirmrand im Menü ''Window'' den Eintrag ''Devices''. Es öffnet sich ein Fenster, in dem eine Liste der angeschlossenen Geräte angezeigt wird. Wählen Sie dort Ihr Gerät aus. Danach sollte der Eintrag ''Entwickler'' in den Einstellungen auf dem Gerät auftauchen. Dazu müssen Sie möglicherweise die Einstellungen beenden und neu starten.<br />
<br />
[[Datei:Alert.png | thumb | 270px | Beispiel für einen Alert unter iOS]]<br />
Ein Verbindungsaufbau zu dem Gerät ist nicht möglich solange es bestimmte Alerts zeigt. Ein solcher Alert kann z.&#x202f;B. erscheinen wenn FaceTime aktiviert ist, indem ein Hinweis auf anfallende SMS-Gebühren angezeigt wird (siehe Screenshot). Achten Sie darauf, das Gerät so zu konfigurieren, dass es im Leerlauf keine solchen Alerts zeigt.<br />
<br />
=== expecco 2.11 und später ===<br />
Sie können beliebige Apps testen, die auf dem verwendeten Gerät lauffähig oder bereits installiert sind. Wenn die App als Development-Build vorliegt, muss die UDID des Geräts in der App hinterlegt sein. In jedem Fall muss der WebDriverAgent für das Gerät signiert werden. Lesen Sie dazu den Abschnitt zur [[#expecco_2.11|Vorbereitung unter Mac OS]].<br />
<br />
Falls Sie in einem Test den Home-Button verwenden wollen, müssen Sie auf dem Gerät AssistiveTouch aktivieren. Sie finden diese Option in den Einstellungen unter ''Allgemein'' > ''Bedienungshilfen'' > ''AssistiveTouch''. Platzieren Sie dann das Menü in der Mitte des oberen Bildschirmrands. Sie können das Drücken des Home-Buttons dann mit dem entsprechenden Menüeintrag im Recorder aufzeichnen oder direkt den Baustein ''Press Home Button'' benutzen.<br />
<br />
=== expecco 2.10 ===<br />
Die App, die Sie verwenden wollen, muss als Development-Build vorliegen. Außerdem muss die UDID des Geräts in der App hinterlegt sein.<br />
<br />
=== Development-Build signieren ===<br />
Ein Development-Build einer App ist nur für eine begrenzte Zahl von Geräten zugelassen und kann auf anderen Geräten nicht gestartet werden. Es ist aber möglich, das Zertifikat und die verwendbaren Geräte in einem Development-Build auszutauschen.<br />
<br />
* Evaluierung mit Demo-App von eXept:<br />
:Gerne stellen wir Ihnen eine Demo-App zur Verfügung, die als Development-Build vorliegt und die wir für Ihr Gerät signieren können. Senden Sie dazu bitte Ihrem eXept-Ansprechpartner die UDID Ihres Gerätes zu. Wie Sie die UDID Ihres Gerätes ermitteln können, ist im folgenden Abschnitt beschrieben.<br />
<br />
* Eigene App für Ihr Testgerät verwenden:<br />
:Wenn Sie von den App-Entwicklern einen Development-Build (IPA-Datei) erhalten, der für Ihr Testgerät zugelassen ist, können Sie diesen direkt verwenden. Dazu müssen Sie den Entwicklern die UDID Ihres Geräts mitteilen, damit sie diese eintragen können. '''Sie können die UDID eines Gerätes mithilfe von Xcode auslesen'''. Starten Sie dazu Xcode und wählen Sie in der Menüleiste am oberen Bildschirmrand im Menü ''Window'' den Eintrag ''Devices''. Es öffnet sich ein Fenster, in dem eine Liste der angeschlossenen Geräte angezeigt wird. Wählen Sie Ihr Gerät aus und suchen Sie in Eigenschaften den Eintrag ''Identifier''. Die UDID ist eine 40-stellige Hexadezimalzahl.<br />
<br />
* Extern entwickelte App für Ihr Testgerät umsignieren:<br />
:Es können auch Apps umsigniert werden, damit Sie auf anderen Geräten lauffähig sind. Dieser Vorgang ist jedoch kompliziert und setzt insbesondere einen Zugang zu einem Apple-Developer-Account voraus. Eine Dokumentation zur Vorgehensweise ist derzeit in Vorbereitung.<br />
<br />
:Für die Evaluierung unterstützen wir Sie gerne beim Umsignieren Ihrer App.<br />
<!--<br />
Melden Sie sich beim [https://developer.apple.com/ Apple-Webinterface] an. Navigieren Sie zu ''Certificates, IDs & Profiles''. Erzeugen Sie hier ggf. ein Developer-Zertifikat und ein Provisioning Profile für Ihr Gerät und laden Sie beide herunter. Sollten Sie noch keinen Developer Account haben, erstellen Sie hier einen: https://developer.apple.com/enroll/. Hierzu müssen Sie sich mit einer Apple-ID anmelden.<br />
<br />
# Team-ID herausfinden (''Membership'' -> ''Team ID'')<br />
# Unter ''Certificates, IDs & Profiles'' Development-Zertifikat auswählen (unter ''+'' anlegen, falls nicht vorhanden) und herunterladen.<br />
# Unter ''App ID'' Wildcard-App-ID erzeugen, falls nicht vorhanden. App-ID notieren (AppID = Prefix.ID)<br />
# Gerät hinzufügen, dazu UDID (bzw. ''Identifier'') des Geräts herausfinden (''Xcode'' -> ''Window'' (oben in Menüleiste) -> ''Devices'')<br />
# Provisionen Profile erstellen: ''iOS App Development'' -> ''AppID'' auswählen -> Zertifikat wählen -> Gerät auswählen -> Profilname anlegen -> Provisioning Profile herunterladen.<br />
# Das heruntergeladene Zertifikat importieren (''Downloads'' -> Zertifikat (.cer)<br />
# SHA1-Fingerabdruck kopieren. Dazu Rechtsklick auf Zertifikat -> ''Information'', anschließend bis zum Ende der Seite scrollen).<br />
# Entitlements.plist erstellen (''Terminal' öffnen -> Downloads/Mobile_Testing_Supplement/bin/gen-entitlements_plist 'Team-ID' 'App ID' Downloads/Mobile_Testing_Supplement/bin/re-sign-ipa <Pfad zum ipa (z.B. Downloads/expeccoMobileDemo.ipa)> \<br />
"<Zertifikat (SHA1-Fingerabdruck, z.B. 76 E8 4B E8 78 D5 D7 F9 2E 09 8B D7 E8 FB CE 30 0C F5 D0 EF)>" \<br />
<Pfad zum Provisionen Profile (z.B. /Users/exept_test/Downloads/dut.mobileprovision)> \<br />
<Pfad für das Ergebnis-ipa (z.B. Downloads/expeccoMobileDemo_re-signed.ipa)> \<br />
[Pfad zur entitlements.plist] (z.B. /Users/exept_test/entitlements.plist)<br />
<br />
Zum Umsignieren können Sie das entsprechende Skript aus dem Mobile Testing Supplement für Mac OS oder jedes beliebige andere Tool (z.B. isign) verwenden.<br />
--><br />
<br />
Weitere Informationen zur Verwendung von iOS-Geräten finden Sie auch in der [http://appium.io/slate/en/master/?java#appium-on-real-ios-devices Dokumentation von Appium].<br />
<br />
=== Native iOS-Apps ===<br />
Sie können auch Apps verwenden, die bereits nativ auf dem Gerät vorhanden sind. Dazu müssen Sie deren Bundle-ID kennen und diese dann in die Verbindungseinstellungen eintragen. Hier eine kleine Auswahl gängiger Apps:<br />
{| style="text-align:left"<br />
! App<br />
!<br />
! Bundle-ID<br />
|-<br />
| App Store<br />
| <br />
| com.apple.AppStore<br />
|-<br />
| Calculator<br />
| <br />
| com.apple.calculator<br />
|-<br />
| Calendar<br />
| <br />
| com.apple.mobilecal<br />
|-<br />
| Camera<br />
| <br />
| com.apple.camera<br />
|-<br />
| Contacts<br />
| <br />
| com.apple.MobileAddressBook<br />
|-<br />
| iTunes Store<br />
| <br />
| com.apple.MobileStore<br />
|-<br />
| Mail<br />
| <br />
| com.apple.mobilemail<br />
|-<br />
| Maps<br />
| <br />
| com.apple.Maps<br />
|-<br />
| Messages<br />
| <br />
| com.apple.MobileSMS<br />
|-<br />
| Phone<br />
| <br />
| com.apple.mobilephone<br />
|-<br />
| Photos<br />
| <br />
| com.apple.mobileslideshow<br />
|-<br />
| Settings<br />
| <br />
| com.apple.Preferences<br />
|}<br />
<br />
Weitere Bundle-IDs finden Sie [https://github.com/joeblau/apple-bundle-identifiers hier].<br />
<br />
= Beispiele =<br />
Bei den Demo-Testsuiten für expecco finden Sie auch Beispiele für Tests mit dem Mobile Testing Plugin. Wählen Sie dazu auf dem Startbildschirm die Option ''Beispiel aus Datei'' und öffnen Sie den Ordner ''mobile''.<br />
<br />
==<span id="TestsuiteMobileTestingDemo"><!-- Referenced by m01_MobileTestingDemo.ets --></span> ''m01_MobileTestingDemo.ets'' ==<br />
Die Testsuite enthält zwei einfache Testpläne: "''Simple CalculatorTest''" und "''Complex Calculator and Messaging Test''". Beide Tests verwenden einen Android-Emulator, den Sie vor Beginn starten müssen. Die Apps, die im Test verwendet werden, gehören zur Grundausstattung des Emulators und müssen daher nicht mehr installiert werden. Da sich die Apps unter jeder Android-Version unterscheiden können, ist es wichtig, dass Ihr Emulator unter Android 6.0 läuft. Außerdem muss die Sprache auf Englisch gestellt sein.<br />
<br />
; Simple CalculatorTest<br />
: Dieser Test verbindet sich mit dem Taschenrechner und gibt die Formel ''2+3'' ein. Das Ergebnis des Rechners wird mit dem erwarteten Wert ''5'' verglichen.<br />
<br />
; Complex Calculator and Messaging Test<br />
: Dieser Test verbindet sich mit dem Taschenrechner und öffnet anschließend den Nachrichtendienst. Dort wartet er auf eine einkommende Nachricht von der Nummer ''15555215556'', in der eine zu berechnende Formel gesendet wird. Die Nachricht wird zuvor über einen Socket beim Emulator erzeugt. Nach dem Eintreffen der Nachricht wird diese vom Test geöffnet und deren Inhalt gelesen. Danach wird wieder der Taschenrechner geöffnet, die erhaltene Formel eingegeben und das Ergebnis gelesen. Anschließend wechselt der Test wieder zum Nachrichtendienst und sendet das Ergebnis als Antwort.<br />
<br />
== ''m02_expeccoMobileDemo.ets'' und ''m03_expeccoMobileDemoIOS.ets'' ==<br />
Diese sind Bestandteil des Tutorials zum Mobile Testing Plugin. Der jeweils enthaltene Testfall ist unvollständig und wird im Zuge des Tutorials ergänzt. Lesen Sie dazu den Abschnitt [[#Tutorial|Tutorial]].<br />
<br />
= Tutorial =<br />
Dieses Tutorial beschreibt das grundsätzliche Vorgehen zur Erstellung von Tests mit dem Mobile Testing Plugin. Grundlage dafür ist ein mitgeliefertes Beispiel, bestehend aus einer einfachen App und einer expecco-Testsuite.<br />
<br />
Die App ''expecco Mobile Demo'' berechnet und überprüft verschiedene alltägliche Codes: die IBAN aus dem europäischen Zahlungsverkehr, die internationalen GTIN-13-Produktcodes, wie man sie bei Strichcodes im Einzelhandel findet, und die Seriennummern auf Euro-Banknoten.<br />
<br />
Die Testsuite enthält Testfälle für einzelne Funktionen der App. Dabei sind noch nicht alle Funktionen abgedeckt, sondern werden im Laufe des Tutorials ergänzt.<br />
<br />
Es gibt zwei Versionen dieses Tutorials:<br />
*'''[[#Erste_Schritte_mit_Android|Erste Schritte mit Android]]'''<br />
*'''[[#Erste_Schritte_mit_iOS|Erste Schritte mit iOS]]'''<br />
<br />
Das Vorgehen ist in beiden Versionen nahezu identisch, lediglich die Verbindungskonfigurationen werden unterschiedlich erzeugt. Die fertigen Tests unterscheiden sich dann im Wesentlichen in den Pfaden zur Adressierung der benutzten Elemente, da diese technologieabhängig sind.<br />
<br />
==<span id="FirstStepsAndroid"><!-- Referenced by m02_expeccoMobileDemo.ets --></span> Erste Schritte mit Android ==<br />
Es wird vorausgesetzt, dass Sie das Kapitel [[#Installation_und_Aufbau|Installation und Aufbau]] bereits gelesen und die nötigen Vorbereitungen für die Verwendung von Android-Geräten unter Windows abgeschlossen haben.<br />
<br />
=== Schritt 1: Demo ausführen ===<br />
Starten Sie expecco und öffnen Sie die Testsuite ''m02_expeccoMobileDemo.ets'' über die Schaltfläche ''Beispiel aus Datei'' (Abb. 1). Ab expecco 2.11 befindet sich diese im Unterordner ''mobile''. In dieser Testsuite befindet sich bereits ein vorgefertigter Testplan mit einigen Testfällen für diese App.<br />
<br />
[[Datei:MobileTestingBeispielÖffnen.png | frame | left | Abb. 1: Beispiel-Testsuite öffnen]]<br />
<br clear="all"><br />
In der Testsuite ist das Paket der Demo-App als Anhang enthalten (''expeccoMobileDemo-debug.apk''). Mithilfe des bereitgestellten Bausteins ''Export Demo App'' können Sie die Datei an einen beliebigen Ort auf Ihrem Rechner exportieren. Wählen Sie dazu den Baustein aus (1) und klicken Sie auf den grünen Play-Knopf (2) um den Baustein auszuführen (Abb. 2). Der Baustein öffnet einen Dateidialog, in dem Sie angeben, wo das Paket gespeichert werden soll.<br />
<br />
[[Datei:MobileTestingExportApp.png | frame | left | Abb. 2: App exportieren]]<br />
<br clear="all"><br />
Bevor wir uns mit dem weiteren Inhalt der Testsuite beschäftigen, konfigurieren Sie zuerst die Verbindung und welches Gerät Sie benutzen wollen. Schließen Sie dazu ein Gerät über USB an Ihren Rechner an oder starten Sie einen Emulator.<br />
<br />
[[Datei:MobileTestingVerbinden.png | frame | left | Abb. 3: Verbindungseditor öffnen]]<br />
<br clear="all"><br />
Öffnen Sie nun den GUI-Browser (1) und wählen Sie unter ''Verbinden'' (2) den Eintrag ''Mobile Testing'' (3) (Abb. 3), um den Verbindungsdialog zu öffnen.<br />
<br />
Sie sehen eine Liste aller angeschlossenen Android-Geräte (1) (Abb. 3). Sollte Ihr Gerät nicht in der Liste auftauchen, stellen Sie sicher, dass es eingeschaltet und über USB verbunden ist. Lesen Sie ansonsten den Abschnitt [[#Android-Ger.C3.A4t_vorbereiten|Android-Gerät vorbereiten]]<br />
<br />
[[Datei:MobileTestingGerätAuswählen.png | frame | left | Abb. 4: Gerät im Verbindungsdialog auswählen]]<br />
<br clear="all"><br />
Haben Sie Ihr Gerät in der Liste gefunden, wählen Sie es aus und klicken Sie auf ''Weiter'' (2).<br />
<br />
Als nächstes geben Sie an, welche App Sie verwenden wollen (Abb. 5). Dabei können Sie wählen, ob Sie eine App starten möchten, die bereits auf dem Gerät installiert ist (''App auf dem Gerät'') oder ob eine App installiert und gestartet werden soll (''App installieren''). Für den Fall, dass Sie eine bereits installierte App benutzen wollen, erhalten Sie eine Liste aller auf dem Gerät installierten Pakete (1), die in Systempakete und Fremdpakete (2) unterteilt sind, sowie deren Activities (3). Diese können Sie dann einfach in den jeweiligen Feldern auswählen.<br />
<br />
[[Datei:MobileTestingAppAuswählen.png | frame | left | Abb. 5: Auf dem Gerät installierte App angeben]]<br />
<br clear="all"><br />
Für dieses Tutorial soll die App installiert werden, die Sie eben aus der Testsuite exportiert haben. Wählen Sie also ''App installieren'' aus und tragen Sie bei App (1) den entsprechenden Pfad ein (Abb. 6). Sie können den Knopf links benutzen (2), um einen Dateidialog zu öffnen, mit dem Sie zu der Datei navigieren können, um sie einzugeben. Das Paket (3) und die Activity (4) der App werden automatisch eingetragen. Sollte die App mehrere Activities besitzen, können Sie die gewünschte auswählen. Klicken Sie nun auf ''Weiter'' (5).<br />
<br />
[[Datei:MobileTestingAppInstallieren.png | frame | left | Abb. 6: App angeben, die auf dem Gerät installiert werden soll]]<br />
<br clear="all"><br />
Auf der letzten Seite sehen Sie eine Übersicht aller bisherigen Angaben (1) (Abb. 7). Darunter können Sie einen Namen für die Verbindung angeben, unter dem sie im GUI-Browser angezeigt wird (2). Außerdem lässt sich eine Verbindung über diesen Namen identifizieren und in Bausteinen verwenden; der Name muss daher eindeutig sein. Falls Sie keinen Namen angeben, wird generisch einer erzeugt. Geben Sie als Namen ''expeccoMobileDemo'' ein. Im Feld darunter ist die Adresse zum Appium-Server einzutragen (3). Appium ist die Schnittstelle, über die die angeschlossenen Geräte gesteuert werden. Für dieses Tutorial wird die Verwaltung der Instanzen des Appium-Servers von expecco übernommen. Tragen Sie dafür ist die lokale Standard-Adresse ''<nowiki>http://localhost:4723/wd/hub</nowiki>'' ein. Diese ist immer der unterste Eintrag der Vorschlagsliste. Außerdem ist die Option ''Bei Bedarf starten'' aktiviert (4). expecco überprüft dann, ob an der Adresse bereits ein Appium-Server läuft und startet und beendet ihn bei Bedarf automatisch. Wenn der Port ''4723'' bereits belegt ist oder wenn Sie einmal mehrere Verbindungen parallel betreiben wollen, verwenden Sie an dieser Stelle entsprechend einen anderen Port. Es ist dabei üblich die ungeraden Portnummern oberhalb von ''4723'' zu verwenden, also ''4725'', ''4727'' usw. Natürlich können Sie auch entfernte Server verwenden, das automatische Starten und Beenden eines Servers kann expecco aber nur lokal für Sie übernehmen.<br />
<br />
[[Datei:MobileTestingServerkonfiguration.png | frame | left | Abb. 7: Verbindungsnamen und Appium-Server konfigurieren]]<br />
<br clear="all"><br />
Klicken Sie nun auf ''Speichern'' (5) um die Einstellungen für die Testausführung zu speichern. Einstellungen können als Anhang einer Testsuite oder in eine externe Datei gespeichert werden (Abb. 8). Falls Sie mehrere Projekte gleichzeitig offen haben, können Sie in der Liste das Projekt auswählen, in dem der Anhang angelegt werden soll. Klicken Sie auf ''Speichern'' im Bereich ''Einstellungen im Anhang speichern'' und geben Sie als Name ''expeccoMobileDemo'' an. Klicken Sie nun auf ''Server starten und verbinden'' (6) um mit der angegebenen Konfiguration eine Verbindung herzustellen.<br />
<br />
[[Datei:MobileTestingEinstellungenSpeichern.png | frame | left | Abb. 8: Einstellungen speichern]]<br />
<br clear="all"><br />
Der Verbindungsaufbau kann eine Weile dauern. Warten Sie bis die Verbindung aufgebaut ist und im GUI-Browser angezeigt wird. Sie sehen, dass die App auf dem Gerät gestartet wird. Nun wissen Sie, dass die Konfiguration funktioniert. Die gespeicherten Einstellungen sollen nun für den Test verwendet werden, der dann die gleiche Verbindung aufbaut. Wählen Sie die Verbindung im GUI-Browser aus, machen Sie einen Rechtsklick und wählen Sie im Kontextmenü ''Verbindung abbauen'', damit es zu keinem Konflikt kommt. Wechseln Sie dann zurück zum Reiter der Testsuite.<br />
<br />
In der Testsuite wurden die Einstellungen als Anhang ''expeccoMobileDemo'' angelegt (Abb 9). Wählen Sie den Baustein ''Connect'' (1) aus und wechseln Sie rechts zur Ansicht ''Netzwerk'' (2). Ziehen Sie per Drag-and-drop die Einstellungen in das Netzwerk des Bausteins (3). Verbinden Sie den Ausgangspin ''pathName'' mit dem Eingangspin ''stringOrFilename[1]'' des Bausteins ''Connect from File'' (4). Mit ''Übernehmen'' (5) bestätigen Sie die Änderungen. Dieser Baustein wird zu Beginn des Tests die Verbindung zur App herstellen.<br />
<br />
[[Datei:MobileTestingConnectblock.png | frame | left | Abb. 9: Verbindungsbaustein editieren]]<br />
<br clear="all"><br />
Wechseln Sie nun zum Testplan ''Demo-Test'' (1) (Abb. 10). Dieser Testplan enthält bereits einige fertige Testfälle. Vor und nach der Ausführung (2) ist außerdem jeweils ein Baustein eingetragen: Der eben bearbeitete Baustein ''Connect'' für den Aufbau und der Baustein ''Disconnect'' für den Verbindungsabbau. Durch das Eintragen der beiden Bausteine an dieser Stelle geschieht der Verbindungsabbau insbesondere auch dann, wenn der Test vorzeitig abgebrochen wird, z. B. weil einer der Testfälle fehlschlägt.<br />
<br />
[[Datei:MobileTestingTestplan.png | frame | left | Abb. 10: Testplanausführung]]<br />
<br clear="all"><br />
Jetzt können Sie den Testplan ''Demo-Test'' starten, indem Sie auf den grünen Play-Knopf (3) klicken. Der Testplan sollte ohne Fehler durchlaufen.<br />
<br />
=== Schritt 2: Einen Baustein mit dem Recorder erstellen ===<br />
Mit Hilfe des integrierten Recorders lassen sich einfach Ausführungssequenzen aufnehmen und in einem Baustein speichern. Dafür muss eine Verbindung zu einem Testgerät bestehen, mit dessen Hilfe der Test erstellt wird.<br />
<br />
Um eine Verbindung aufzubauen, wechseln Sie zurück zum GUI-Browser. In diesem ist noch die Verbindung eingetragen, die Sie zuvor angelegt haben. Da für die Verbindung im Testlauf derselbe Name verwendet wurde, wurden die Einstellungen damit überschrieben (In unserem Fall waren die Einstellungen ohnehin identisch). Die Verbindung ist zur Zeit nicht aktiv, da sie am Ende der Ausführung abgebaut wurde. Die Einstellungen sind dort aber noch eingetragen. Um die Verbindung mit dieser Konfiguration wieder aufzubauen, wählen Sie sie aus, gefolgt von einem Rechtsklick und ''Verbinden''.<br />
<br />
Warten Sie, bis die Verbindung aufgebaut ist (1) und drücken Sie dann den Aufnahme-Knopf (2), um eine Aufzeichnung zu starten (Abb. 11).<br />
<br />
[[Datei:MobileTestingRecorderStarten.png | frame | left | Abb. 11: Recorder starten]]<br />
<br clear="all"><br />
Es öffnet sich ein Fenster mit dem Mobile Testing Recorder (Abb. 12). Dieser zeigt einen Screenshot des verbundenen Geräts. Über diese Anzeige können Sie das Gerät fernsteuern. Dabei wird jede Aktion, die Sie ausführen, im Hintergrund aufgezeichnet.<br />
<br />
In der oberen Menüleiste können Sie das Werkzeug auswählen (1), mit dem Sie eine Aktion eingeben möchten. Als Voreinstellung ist das Werkzeug ''Auto'' ausgewählt. Sie können damit bestimmte Aktionen aufzeichnen, indem Sie mit dem Mauszeiger entsprechende Gesten auf der Anzeige ausführen. Wenn Sie zum Beispiel mit der linken Maustaste lange klicken, entspricht das einem langen Antippen des Elements an dieser Stelle. Anstatt die gewünschte Aktion mit der entsprechenden Geste zu bestimmen, können Sie diese alternativ auch manuell auswählen.<br />
<br />
Es soll nun ein neuer Test für das Erkennen korrekter GTIN-13-Codes aufgenommen werden. Klicken Sie zunächst in der Anzeige kurz auf den Button ''GTIN-13 (EAN-13)'' (2) der App um einen entsprechenden Klick auf dem Gerät auszulösen. Während der Ausführung dieser Aktion wird der Rahmen des Recorders kurzzeitig rot. Falls der Recorder danach nicht die aktuelle Ansicht der App darstellen sollte, klicken Sie im Recorder auf das Aktualisierungssymbol (3).<br />
<br />
[[Datei:MobileTestingRecorder1.png | frame | left | Abb. 12: Über Recorder zur GTIN-13-Activity wechseln]]<br />
<br clear="all"><br />
Anschließend soll im Eingabefeld der neuen Seite eine korrekte GTIN-13 eingegeben werden. Führen Sie dazu einen Rechtsklick auf dem Eingabefeld (1) aus und wählen Sie im Kontextmenü die Aktion ''Text setzen'' (2) (Abb. 13). Geben Sie in den sich daraufhin öffnenden Dialog eine beliebige gültige Artikelnummer im GTIN-13-Format ein, bspw. ''4006381333986'' (3). Dieser Text wird nun in der App gesetzt.<br />
<br />
[[Datei:MobileTestingRecorder2.png | frame | left | Abb. 13: GTIN-13-Code über Recorder eingeben]]<br />
<br clear="all"><br />
Klicken Sie nun auf ''Verify'' (1) (Abb. 14). In der App erscheint nun als Ergebnis ''OK'' (2). Der Test soll feststellen, ob tatsächlich dieses Ergebnis angezeigt wird. Nach einem Rechtsklick darauf können Sie im Kontextmenü die Aktion ''Attribut zusichern'' (3) auswählen. Wählen Sie im Dialog, der sich daraufhin öffnet, die Eigenschaft ''text'' (4) aus und bestätigen Sie mit ''OK'' (5). Dieses Mal wird keine Aktion auf dem Gerät ausgelöst, sondern nur ein Baustein aufgezeichnet, der fehlschlägt, sollte das Ergebnis vom erwarteten Wert ''OK'' abweichen.<br />
<br />
[[Datei:MobileTestingRecorder3.png | frame | left | Abb. 14: Antwort der App über Recorder auslesen]]<br />
<br clear="all"><br />
Schließen Sie nun den Recorder. Im ''Arbeitsbereich'' des GUI-Browsers sehen Sie, dass für jede der aufgenommenen Aktionen ein Baustein angelegt wurde (Abb. 15). Sie können nun testen, ob sich das Aufgenommene wieder abspielen lässt. Dazu müssen Sie zunächst die App auf Ihrem Gerät in den Anfangszustand zurückbringen, indem Sie auf dem Gerät die Schaltfläche ''HOME'' oben rechts benutzen. Klicken Sie dann in expecco auf den grünen Play-Knopf (1). Wird alles grün, war die Ausführung erfolgreich. Erstellen Sie nun daraus einen neuen Baustein in der Testsuite, indem Sie auf das Bausteinsymbol (2) in der rechten oberen Ecke klicken. Geben Sie ihm den Namen ''GTIN_Verify_OK'' (3) und bestätigen Sie (4).<br />
<br />
[[Datei:MobileTestingArbeitsbereich.png | frame | left | Abb. 15: Neuen Baustein aus Arbeitsbereich exportieren]]<br />
<br clear="all"><br />
Bauen Sie nun die Verbindung ab, indem Sie die Verbindung auswählen, rechtsklicken und im Kontextmenü ''Verbindung abbauen'' auswählen.<br />
<br />
Wechseln Sie zurück zum Reiter der Testsuite. Dort wurde der neue Baustein angelegt. Wählen Sie wieder den Testplan ''Demo-Test'' aus und fügen Sie den aufgenommenen Testfall ''GTIN_Verify_OK'' per Drag-and-drop am Ende des Testplans hinzu. Übernehmen Sie die Änderung und starten Sie erneut. Der Testplan sollte wieder ohne Fehler durchlaufen.<br />
<br />
=== Schritt 3: XPath anpassen mithilfe des GUI-Browsers ===<br />
Ihr neuer Baustein funktioniert auf anderen Geräten möglicherweise nicht. Die verwendeten Elemente werden über einen XPath adressiert und dieser kann auf anderen Geräten nicht stimmen. Lesen Sie dazu den Abschnitt [[#XPath_anpassen_mithilfe_des_GUI-Browsers|XPath anpassen mithilfe des GUI-Browsers]]. Falls Ihnen ein weiteres Gerät zur Verfügung steht, können Sie nun versuchen, die Pfade in Ihren erstellten Bausteinen zu verallgemeinern. Sie können diesen Schritt aber auch überspringen.<br />
<br />
Wenn es Ihnen schwerfällt, verkürzte Pfade zu finden, orientieren Sie sich dabei an den Pfaden der bereits vorhandenen Bausteine. Starten Sie den Test erneut. Sollte der Test jetzt fehlschlagen, überprüfen Sie die Pfade noch einmal im GUI-Browser.<br />
Um den Test nun auf einem zweiten Gerät auszuführen, öffnen Sie im Menü ''Erweiterungen'' > ''Mobile Testing'' > ''Verbindungseinstellungen erstellen''. Sie erhalten einen Dialog ähnlich zum Verbindungsdialog. Allerdings können Sie hier nur Einstellungen erstellen und speichern aber keine Verbindung herstellen. Sie haben jedoch die Möglichkeit, einzelne Aspekte der Einstellungen zu speichern wie bspw. nur das Gerät. Wählen Sie das neue Gerät aus und klicken Sie länger auf das Symbol zum Speichern im Anhang bis sich das verzögerte Menü öffnet (Abb. 16). Wählen Sie hier ''Geräte-Einstellungen speichern''. Benennen Sie den Anhang am besten nach dem Gerät. Danach können Sie den Dialog wieder schließen.<br />
<br />
[[Datei:MobileTestingGerätSpeichern.png | frame | left | Abb. 16: Einstellungen für ein Gerät speichern]]<br />
<br clear="all"><br />
Wählen Sie den Baustein ''Connect'' aus und ziehen Sie die Einstellungen für das neue Gerät in dessen Netzwerk. Verbinden Sie nun dessen Ausgangspin ''pathName'' mit dem Eingangspin ''stringOrFilename[2]'' des Bausteins ''Connect from File''. Der Baustein Connect from File liest die Angaben an den Eingangspins von oben nach unten ein, mehrfache Eigenschaften werden dabei ersetzt. In diesem Fall werden also die Einstellungen zum verwendeten Gerät ersetzt, während die übrigen Einstellungen gleich bleiben. Wenn Sie die Pfade geschickt gewählt haben, wird der Test nun auch auf dem anderen Gerät erfolgreich ablaufen.<br />
<br />
=== Schritt 4: Noch einen Baustein erstellen ===<br />
Falls sich gleiche Abläufe im Test wiederholen, können Sie dafür bereits erstellte Bausteine wiederverwenden oder abwandeln. Der in Schritt 2 erstellte Baustein prüft die Erkennung korrekter GTIN-13-Codes. Es fehlt noch ein Test, der umgekehrt das Erkennen eines falschen GTIN-13-Codes prüft. Die Struktur der beiden Tests ist identisch, sie unterscheiden sich lediglich in ihren Parametern. Kopieren Sie daher den Baustein ''GTIN_Verify_OK'' und benennen Sie die Kopie in ''GTIN_Verify_NOT_OK'' um. Ändern Sie die Eingabe der GTIN-13 in einen falschen Code zum Beispiel durch Ändern der letzten Ziffer (''4006381333987'') und setzen Sie den Überprüfungswert der Ausgabe auf ''NOT OK'' (Abb. 17).<br />
<br />
[[Datei:MobileTestingGTIN_Verify_NOT_OK.png | frame | left | Abb. 17: Baustein editieren]]<br />
<br clear="all"><br />
Fügen Sie diesen neuen Test ebenfalls zum Testplan Demo-Test hinzu und setzen Sie ihn ans Ende. Führen Sie den Testplan aus, aber vergessen Sie nicht, vorher die Verbindung im GUI-Browser abzubauen.<br />
<br />
Der neue Test wird fehlschlagen, weil Ihr aufgenommener Baustein nicht wieder zur Startseite der App zurückkehrt, die Tests aber jeweils von dort aus starten. In den anderen Bausteinen ist dies bereits berücksichtigt; sie führen abschließend immer den Baustein ''Back to main menu'' aus. Sie sehen das, indem Sie einen der anderen Bausteine, z. B. ''GTIN_Calculate'', auswählen und auf seine Schema-Ansicht wechseln. Dort steht der Baustein ''Back to main menu'' im Feld ''Nach Ausführung'' (Abb. 18). Wie beim entsprechenden Feld beim Testplan wird auch dieser Baustein immer am Ende ausgeführt, unabhängig davon, ob der Test erfolgreich verläuft oder abbricht. Ergänzen Sie diesen Eintrag nun in Ihren Bausteinen ''GTIN_Verify_OK'' und ''GTIN_Verify_NOT_OK''. Wählen Sie dazu den Baustein aus und ziehen Sie in der Schema-Ansicht den Baustein ''Back to main menu'' einfach auf das Eingabefeld ''Nach Ausführung''. Nun können Sie den Testplan starten und alle Tests sollten wieder problemlos ausgeführt werden.<br />
<br />
[[Datei:AppiumDemo Nach Ausführung.png | frame | left | Abb. 18: Nach-Ausführungs-Baustein setzen]]<br />
<br clear="all"><br />
<br />
=== Schritt 5: Test vervollständigen ===<br />
Für die Activity IBAN sind bereits alle Antwortmöglichkeiten der App mit Testfällen abgedeckt. In der GTIN-13-Activity werden ein korrekter und ein fehlerhafter Code getestet und eine Prüfziffer berechnet, das Verhalten der App bei Eingaben falscher Länge wird aber bisher nicht getestet (Bei Verify '''Input must be exactly 13 digits''. und ''…12 digits''. bei Calculate). Die Activity zum Prüfen der Seriennummern von Eurobanknoten wird noch gar nicht getestet. Wie bei der IBAN können hier drei Fälle auftreten: eine korrekte Seriennummer wurde eingegeben (Antwort: ''OK''), eine falsche Seriennummer wurde eingegeben (Antwort: ''NOT OK'') oder die Angabe entspricht nicht dem Format (Antwort: ''A serial number consists of 12 characters with the first one or two being capital letters (A-Z).''). Sie können die Testabdeckung jetzt noch erweitern, indem Sie entsprechende Testfälle erstellen. Die Bausteine dafür können Sie wie in Schritt 2 mit dem Recorder erstellen und die XPaths bei Bedarf verallgemeinern. Wenn Sie mit dem grundsätzlichen Umgang mit expecco vertraut sind, können Sie Bausteine natürlich auch ohne Recorder erstellen, indem Sie sie manuell aus vorhandenen Bausteinen der Bibliothek zusammensetzen. Sie können auch beide Vorgehensweisen nach Belieben kombinieren.<br />
<br />
Beachten Sie, dass die hier vorgestellten Testfälle jeweils nur einzelne Eingaben prüfen. Wenn Sie Testfälle für Ihre eigenen Apps schreiben, wollen Sie vermutlich engmaschiger testen, indem Sie noch weitere unterschiedliche Werte eingeben, die insbesondere auch Randfälle enthalten.<br />
<br />
==<span id="FirstStepsIOS"><!-- Referenced by m03_expeccoMobileDemoIOS.ets --></span> Erste Schritte mit iOS ==<br />
Es wird vorausgesetzt, dass Sie das Kapitel [[#Installation_und_Aufbau|Installation und Aufbau]] bereits gelesen und die nötigen Vorbereitungen für die Verwendung von iOS-Geräten unter Mac OS abgeschlossen haben. Schließen Sie das Gerät, das Sie verwenden wollen, an den Mac an. Laden Sie die iOS-Version der [http://download.exept.de/transfer/h-expecco-2.11.0-pre/expeccoMobileDemo.ipa expeccoMobileDemo-App] auf den Mac herunter. Da es sich bei der App um einen Debug-Build handelt, müssen Sie sie noch für Ihr Gerät signieren (siehe [[#iOS-Ger.C3.A4t_und_App_vorbereiten|iOS-Gerät und App vorbereiten]]). Starten Sie nun einen Appium-Server auf dem Mac.<br />
<br />
=== Schritt 1: Demo ausführen ===<br />
Starten Sie expecco und öffnen Sie die Testsuite ''m03_expeccoMobileDemoIOS.ets'' über die Schaltfläche ''Beispiel aus Datei'' (Abb. 1). Ab expecco 2.11 befindet sich diese im Unterordner ''mobile''. Ansonsten laden Sie die Testsuite [http://download.exept.de/transfer/h-expecco-2.10.0/m03_expeccoMobileDemoIOS.ets m03_expeccoMobileDemoIOS.ets] auf den Rechner, auf dem sich Ihre expecco-Installation befindet, und öffnen diese. In dieser Testsuite befindet sich bereits ein vorgefertigter Testplan mit einigen Testfällen für diese App.<br />
<br />
[[Datei:MobileTestingIOSBeispielÖffnen.png | frame | left | Abb. 1: Beispiel-Testsuite öffnen]]<br />
<br clear="all"><br />
Bevor wir uns mit dem weiteren Inhalt der Testsuite beschäftigen, konfigurieren Sie zuerst die Verbindung und welches Gerät Sie benutzen wollen. Öffnen Sie nun den GUI-Browser (1) und wählen Sie unter ''Verbinden'' (2) den Eintrag ''Mobile Testing'' (3) (Abb. 2), um den Verbindungsdialog zu öffnen.<br />
[[Datei:MobileTestingVerbinden.png | frame | left | Abb. 2: Verbindungseditor öffnen]]<br />
<br clear="all"><br />
<br />
Hier können Sie ein iOS-Gerät nur von Hand eintragen. Wählen Sie dazu ''iOS-Gerät eingeben'' (Abb. 3). Den Namen und die iOS-Version des Geräts können Sie dessen Eigenschaften entnehmen. Um die Gerätekennung des Geräts zu erfahren, öffnen Sie auf dem Mac in Xcode das Fenster Devices (Command-Shift-2). Dort werden alle angeschlossenen Geräte sowie die zur Verfügung stehenden Simulatoren angezeigt. Hier sehen Sie auch die Gerätekennung (udid) Ihres Geräts und welche Apps installiert wurden. Nachdem Sie das Gerät im Verbindungseditor eingegeben haben, wählen Sie es in der Liste aus und klicken Sie dann auf Weiter.<br />
<br />
[[Datei:MobileTestingIOSGerät.png | frame | left | Abb. 3: Hinzufügen eines iOS-Geräts]]<br />
<br clear="all"><br />
<br />
Als nächstes geben Sie an, welche App Sie verwenden wollen. Dabei können Sie wählen, ob Sie eine App starten möchten, die bereits auf dem Gerät installiert ist (''App auf dem Gerät'') oder ob eine App installiert und gestartet werden soll (''App installieren''). Für den Fall, dass Sie eine bereits installierte App benutzen wollen, müssen Sie deren Bundle-ID angeben. Diese erfahren Sie ebenfalls im Devices-Fenster von Xcode. Für die Demo-App lautet sie beispielsweise ''de.exept.expeccoMobileDemo''.<br />
<br />
Für dieses Tutorial soll die Demo-App erst installiert werden. Wählen Sie also ''App installieren'' aus und tragen Sie bei App den Pfad zu der Datei auf dem Mac ein (Abb. 4). Wenn Sie expecco 2.11 verwenden, können Sie auf dieser Seite auch die Team-ID angeben, die für iOS-Verbindungen angibt, welches Zertifiat verwendet werden soll. Falls Sie bereits in den [[#Konfiguration_des_Plugins|Plugin-Einstellungen]] eine ID angegeben haben, wird diese verwendet. Sie wird hier grau dargestellt, solange Sie keinen anderen Wert angeben. Klicken Sie nun auf ''Weiter''.<br />
<br />
[[Datei:MobileTestingIOSAppInstallieren.png | frame | left | Abb. 4: App angeben, die auf dem Gerät installiert werden soll]]<br />
<br clear="all"><br />
<br />
Auf der letzten Seite sehen Sie eine Übersicht aller bisherigen Angaben (1) (Abb. 5). Unterhalb der Capabilityliste können Sie einen Namen für die Verbindung angeben, unter dem sie im GUI-Browser angezeigt wird (2). Außerdem lässt sich eine Verbindung über diesen Namen identifizieren und in Bausteinen verwenden; der Name muss daher eindeutig sein. Falls Sie keinen Namen angeben, wird generisch einer erzeugt. Geben Sie als Namen ''expeccoMobileDemo'' ein. Im Feld darunter ist die Adresse zum Appium-Server einzutragen (3). Wenn Sie den Appium-Server mit Standardeinstellungen gestartet haben, müssen Sie dazu nur in der Standardadresse (unterster Eintrag der Vorschlagsliste) ''localhost'' durch die IP-Adresse des Macs ersetzen (im Bild ''172.23.1.49''). Um sicher zu gehen, auf welchem Port der Appium-Server lauscht, sehen Sie in dessen Ausgabe. Dort finden am Anfang die Zeile<br />
<nowiki>info: Appium REST http interface listener started on 0.0.0.0:4723</nowiki><br />
Steht hier am Ende nicht der Standardport ''4723'' ändern Sie diese Angabe entsprechend ebenfalls in der Konfiguration.<br />
<br />
Wenn die Option ''Bei Bedarf starten'' (4) aktiviert ist, überprüft expecco, ob an der Adresse bereits ein Appium-Server läuft, und startet und beendet ihn bei Bedarf automatisch. Das ist allerdings nur für lokale Serveradressen möglich, schalten Sie diese Option daher ab.<br />
<br />
[[Datei:MobileTestingServerkonfigurationIOS.png | frame | left | Abb. 5: Verbindungsnamen und Appium-Server konfigurieren]]<br />
<br clear="all"><br />
<br />
Klicken Sie nun auf ''Speichern'' (5) um die Einstellungen für die Testausführung zu speichern. Einstellungen können als Anhang einer Testsuite oder in eine externe Datei gespeichert werden (Abb. 6). Falls Sie mehrere Projekte gleichzeitig offen haben, können Sie in der Liste das Projekt auswählen, in dem der Anhang angelegt werden soll. Klicken Sie auf ''Speichern'' im Bereich ''Einstellungen im Anhang speichern'' und geben Sie als Name ''expeccoMobileDemo'' an. Klicken Sie nun auf ''Verbinden'' (6) um mit der angegebenen Konfiguration eine Verbindung herzustellen.<br />
<br />
[[Datei:MobileTestingEinstellungenSpeichern.png | frame | left | Abb. 6: Einstellungen speichern]]<br />
<br clear="all"><br />
<br />
Der Verbindungsaufbau kann eine Weile dauern. Wenn Sie die Server-Adresse korrekt angegeben haben, sollten Sie in der Ausgabe des Appium-Servers den Verbindungsversuch erkennen. Auf Ihrem iOS-Gerät sollte dabei die App gestartet werden. Passiert nichts auf dem Gerät, kann es daran liegen, dass entweder das Gerät oder die App nicht gefunden wird. Versucht Appium hingegen, die App zu starten und dies schlägt fehl, ist wahrscheinlich die App falsch signiert. Deinstallieren Sie in diesem Fall die App, damit sie mit einer neuen Signatur wieder installiert werden kann.<br />
<br />
Warten Sie bis die Verbindung aufgebaut ist und im GUI-Browser angezeigt wird. Nun wissen Sie, dass die Konfiguration funktioniert. Die gespeicherten Einstellungen sollen nun für den Test verwendet werden, der dann die gleiche Verbindung aufbaut. Wählen Sie die Verbindung im GUI-Browser aus, machen Sie einen Rechtsklick und wählen Sie im Kontextmenü ''Verbindung abbauen'', damit es zu keinem Konflikt kommt. Wechseln Sie dann zurück zum Reiter der Testsuite.<br />
<br />
In der Testsuite wurden die Einstellungen als Anhang ''expeccoMobileDemo'' angelegt (Abb 7). Wählen Sie den Baustein ''Connect'' (1) aus und wechseln Sie rechts zur Ansicht ''Netzwerk'' (2). Ziehen Sie per Drag-and-drop die Einstellungen in das Netzwerk des Bausteins (3). Verbinden Sie den Ausgangspin ''pathName'' mit dem Eingangspin ''stringOrFilename[1]'' des Bausteins ''Connect from File'' (4). Mit ''Übernehmen'' (5) bestätigen Sie die Änderungen. Dieser Baustein wird zu Beginn des Tests die Verbindung zur App herstellen.<br />
<br />
[[Datei:MobileTestingConnectblock.png | frame | left | Abb. 7: Verbindungsbaustein editieren]]<br />
<br clear="all"><br />
<br />
Wechseln Sie nun zum Testplan ''Demo-Test'' (1) (Abb. 8). Dieser Testplan enthält bereits einige fertige Testfälle. Vor und nach der Ausführung (2) ist außerdem jeweils ein Baustein eingetragen: Der eben bearbeitete Baustein ''Connect'' für den Aufbau und der Baustein ''Disconnect'' für den Verbindungsabbau. Durch das Eintragen der beiden Bausteine an dieser Stelle geschieht der Verbindungsabbau insbesondere auch dann, wenn der Test vorzeitig abgebrochen wird, z. B. weil einer der Testfälle fehlschlägt.<br />
<br />
[[Datei:MobileTestingTestplan.png | frame | left | Abb. 8: Testplanausführung]]<br />
<br clear="all"><br />
Jetzt können Sie den Testplan ''Demo-Test'' starten, indem Sie auf den grünen Play-Knopf (3) klicken. Der Testplan sollte ohne Fehler durchlaufen.<br />
<br />
=== Schritt 2: Einen Baustein mit dem Recorder erstellen ===<br />
Mit Hilfe des integrierten Recorders lassen sich einfach Ausführungssequenzen aufnehmen und in einem Baustein speichern. Dafür muss eine Verbindung zu einem Testgerät bestehen, mit dessen Hilfe der Test erstellt wird.<br />
<br />
Um eine Verbindung aufzubauen, wechseln Sie zurück zum GUI-Browser. In diesem ist noch die Verbindung eingetragen, die Sie zuvor angelegt haben. Da für die Verbindung im Testlauf derselbe Name verwendet wurde, wurden die Einstellungen damit überschrieben (In unserem Fall waren die Einstellungen ohnehin identisch). Die Verbindung ist zur Zeit nicht aktiv, da sie am Ende der Ausführung abgebaut wurde. Die Einstellungen sind dort aber noch eingetragen. Um die Verbindung mit dieser Konfiguration wieder aufzubauen, wählen Sie sie aus, gefolgt von einem Rechtsklick und ''Verbinden''.<br />
<br />
Warten Sie, bis die Verbindung aufgebaut ist (1) und drücken Sie dann den Aufnahme-Knopf (2), um eine Aufzeichnung zu starten (Abb. 9).<br />
<br />
[[Datei:MobileTestingRecorderStarten.png | frame | left | Abb. 9: Recorder starten]]<br />
<br clear="all"><br />
Es öffnet sich ein Fenster mit dem Mobile Testing Recorder (Abb. 10). Dieser zeigt einen Screenshot des verbundenen Geräts. Über diese Anzeige können Sie das Gerät fernsteuern. Dabei wird jede Aktion, die Sie ausführen, im Hintergrund aufgezeichnet.<br />
<br />
In der oberen Menüleiste können Sie das Werkzeug auswählen (1), mit dem Sie eine Aktion eingeben möchten. Als Voreinstellung ist das Werkzeug ''Auto'' ausgewählt. Sie können damit bestimmte Aktionen aufzeichnen, indem Sie mit dem Mauszeiger entsprechende Gesten auf der Anzeige ausführen. Wenn Sie zum Beispiel mit der linken Maustaste lange klicken, entspricht das einem langen Antippen des Elements an dieser Stelle. Anstatt die gewünschte Aktion mit der entsprechenden Geste zu bestimmen, können Sie diese alternativ auch manuell auswählen.<br />
<br />
Es soll nun ein neuer Test für das Erkennen korrekter GTIN-13-Codes aufgenommen werden. Klicken Sie zunächst in der Anzeige kurz auf den Button ''GTIN-13 (EAN-13)'' (2) der App um einen entsprechenden Klick auf dem Gerät auszulösen. Während der Ausführung dieser Aktion wird der Rahmen des Recorders kurzzeitig rot. Falls der Recorder danach nicht die aktuelle Ansicht der App darstellen sollte, klicken Sie im Recorder auf das Aktualisierungssymbol (3).<br />
<br />
[[Datei:MobileTestingRecorder1iOS.png | frame | left | Abb. 10: Über Recorder zur GTIN-13-Activity wechseln]]<br />
<br clear="all"><br />
Anschließend soll im Eingabefeld der neuen Seite eine korrekte GTIN-13 eingegeben werden. Führen Sie dazu einen Rechtsklick auf dem Eingabefeld (1) aus und wählen Sie im Kontextmenü die Aktion ''Text setzen'' (2) (Abb. 11). Geben Sie in den sich daraufhin öffnenden Dialog eine beliebige gültige Artikelnummer im GTIN-13-Format ein, bspw. ''4006381333986'' (3). Dieser Text wird nun in der App gesetzt.<br />
<br />
[[Datei:MobileTestingRecorder2iOS.png | frame | left | Abb. 11: GTIN-13-Code über Recorder eingeben]]<br />
<br clear="all"><br />
Klicken Sie nun auf ''Verify'' (1) (Abb. 12). In der App erscheint nun als Ergebnis ''OK'' (2). Der Test soll feststellen, ob tatsächlich dieses Ergebnis angezeigt wird. Nach einem Rechtsklick darauf können Sie im Kontextmenü die Aktion ''Attribut zusichern'' (3) auswählen. Wählen Sie im Dialog, der sich daraufhin öffnet, die Eigenschaft ''value'' (4) aus und bestätigen Sie mit ''OK'' (5). Dieses Mal wird keine Aktion auf dem Gerät ausgelöst, sondern nur ein Baustein aufgezeichnet, der fehlschlägt, sollte das Ergebnis vom erwarteten Wert ''OK'' abweichen.<br />
<br />
[[Datei:MobileTestingRecorder3iOS.png | frame | left | Abb. 12: Antwort der App über Recorder auslesen]]<br />
<br clear="all"><br />
Schließen Sie nun den Recorder. Im ''Arbeitsbereich'' des GUI-Browsers sehen Sie, dass für jede der aufgenommenen Aktionen ein Baustein angelegt wurde (Abb. 13). Sie können nun testen, ob sich das Aufgenommene wieder abspielen lässt. Dazu müssen Sie zunächst die App auf Ihrem Gerät in den Anfangszustand zurückbringen, indem Sie auf dem Gerät die Schaltfläche ''Home'' oben links benutzen. Klicken Sie dann in expecco auf den grünen Play-Knopf (1). Wird alles grün, war die Ausführung erfolgreich. Erstellen Sie nun daraus einen neuen Baustein in der Testsuite, indem Sie auf das Bausteinsymbol (2) in der rechten oberen Ecke klicken. Geben Sie ihm den Namen ''GTIN_Verify_OK'' (3) und bestätigen Sie (4).<br />
<br />
[[Datei:MobileTestingArbeitsbereich.png | frame | left | Abb. 13: Neuen Baustein aus Arbeitsbereich exportieren]]<br />
<br clear="all"><br />
Bauen Sie nun die Verbindung ab, indem Sie die Verbindung auswählen, rechtsklicken und im Kontextmenü ''Verbindung abbauen'' auswählen.<br />
<br />
Wechseln Sie zurück zum Reiter der Testsuite. Dort wurde der neue Baustein angelegt. Wählen Sie wieder den Testplan ''Demo-Test'' aus und fügen Sie den aufgenommenen Testfall ''GTIN_Verify_OK'' per Drag-and-drop am Ende des Testplans hinzu. Übernehmen Sie die Änderung und starten Sie erneut. Der Testplan sollte wieder ohne Fehler durchlaufen.<br />
<br />
=== Schritt 3: XPath anpassen mithilfe des GUI-Browsers ===<br />
Ihr neuer Baustein funktioniert auf anderen Geräten möglicherweise nicht. Die verwendeten Elemente werden über einen XPath adressiert und dieser kann auf anderen Geräten nicht stimmen. Lesen Sie dazu den Abschnitt [[#XPath_anpassen_mithilfe_des_GUI-Browsers|XPath anpassen mithilfe des GUI-Browsers]]. Falls Ihnen ein weiteres Gerät zur Verfügung steht, können Sie nun versuchen, die Pfade in Ihren erstellten Bausteinen zu verallgemeinern. Sie können diesen Schritt aber auch überspringen.<br />
<br />
Wenn es Ihnen schwerfällt, verkürzte Pfade zu finden, orientieren Sie sich dabei an den Pfaden der bereits vorhandenen Bausteine. Starten Sie den Test erneut. Sollte der Test jetzt fehlschlagen, überprüfen Sie die Pfade noch einmal im GUI-Browser.<br />
Um den Test nun auf einem zweiten Gerät auszuführen, öffnen Sie im Menü ''Erweiterungen'' > ''Mobile Testing'' > ''Verbindungseinstellungen erstellen''. Sie erhalten einen Dialog ähnlich zum Verbindungsdialog. Allerdings können Sie hier nur Einstellungen erstellen und speichern aber keine Verbindung herstellen. Sie haben jedoch die Möglichkeit, einzelne Aspekte der Einstellungen zu speichern wie bspw. nur das Gerät. Geben Sie das neue Gerät ein und wählen Sie es aus. Klicken Sie länger auf das Symbol zum Speichern im Anhang bis sich das verzögerte Menü öffnet und wählen Sie hier ''Geräte-Einstellungen speichern'' (Abb. 14). Benennen Sie den Anhang am besten nach dem Gerät. Danach können Sie den Dialog wieder schließen.<br />
<br />
[[Datei:MobileTestingGerätSpeichern.png | frame | left | Abb. 14: Einstellungen für ein Gerät speichern]]<br />
<br clear="all"><br />
Wählen Sie den Baustein ''Connect'' aus und ziehen Sie die Einstellungen für das neue Gerät in dessen Netzwerk. Verbinden Sie nun dessen Ausgangspin ''pathName'' mit dem Eingangspin ''stringOrFilename[2]'' des Bausteins ''Connect from File''. Der Baustein Connect from File liest die Angaben an den Eingangspins von oben nach unten ein, mehrfache Eigenschaften werden dabei ersetzt. In diesem Fall werden also die Einstellungen zum verwendeten Gerät ersetzt, während die übrigen Einstellungen gleich bleiben. Wenn Sie die Pfade geschickt gewählt haben, wird der Test nun auch auf dem anderen Gerät erfolgreich ablaufen.<br />
<br />
=== Schritt 4: Noch einen Baustein erstellen ===<br />
Falls sich gleiche Abläufe im Test wiederholen, können Sie dafür bereits erstellte Bausteine wieder-verwenden oder abwandeln. Der in Schritt 2 erstellte Baustein prüft die Erkennung korrekter GTIN-13-Codes. Es fehlt noch ein Test, der umgekehrt das Erkennen eines falschen GTIN-13-Codes prüft. Die Struktur der beiden Tests ist identisch, sie unterscheiden sich lediglich in ihren Parametern. Kopieren Sie daher den Baustein ''GTIN_Verify_OK'' und benennen Sie die Kopie in ''GTIN_Verify_NOT_OK'' um. Ändern Sie die Eingabe der GTIN-13 in einen falschen Code zum Beispiel durch Ändern der letzten Ziffer (''4006381333987'') und setzen Sie den Überprüfungswert der Ausgabe auf ''NOT OK'' (Abb. 15).<br />
<br />
[[Datei:MobileTestingGTIN_Verify_NOT_OK_iOS.png | frame | left | Abb. 15: Baustein editieren]]<br />
<br clear="all"><br />
Fügen Sie diesen neuen Test ebenfalls zum Testplan Demo-Test hinzu und setzen Sie ihn ans Ende. Führen Sie den Testplan aus, aber vergessen Sie nicht, vorher die Verbindung im GUI-Browser abzubauen.<br />
<br />
Der neue Test wird fehlschlagen, weil Ihr aufgenommener Baustein nicht wieder zur Startseite der App zurückkehrt, die Tests aber jeweils von dort aus starten. In den anderen Bausteinen ist dies bereits berücksichtigt; sie führen abschließend immer den Baustein ''Back to main menu'' aus. Sie sehen das, indem Sie einen der anderen Bausteine, z. B. ''GTIN_Calculate'', auswählen und auf seine Schema-Ansicht wechseln. Dort steht der Baustein ''Back to main menu'' im Feld ''Nach Ausführung'' (Abb. 16). Wie beim entsprechenden Feld beim Testplan wird auch dieser Baustein immer am Ende ausgeführt, unabhängig davon, ob der Test erfolgreich verläuft oder abbricht. Ergänzen Sie diesen Eintrag nun in Ihren Bausteinen ''GTIN_Verify_OK'' und ''GTIN_Verify_NOT_OK''. Wählen Sie dazu den Baustein aus und ziehen Sie in der Schema-Ansicht den Baustein ''Back to main menu'' einfach auf das Eingabefeld ''Nach Ausführung''. Nun können Sie den Testplan starten und alle Tests sollten wieder problemlos ausgeführt werden.<br />
<br />
[[Datei:AppiumDemo Nach Ausführung.png | frame | left | Abb. 16: Nach-Ausführungs-Baustein setzen]]<br />
<br clear="all"><br />
<br />
=== Schritt 5: Test vervollständigen ===<br />
Für die Activity IBAN sind bereits alle Antwortmöglichkeiten der App mit Testfällen abgedeckt. In der GTIN-13-Activity werden ein korrekter und ein fehlerhafter Code getestet und eine Prüfziffer berechnet, das Verhalten der App bei Eingaben falscher Länge wird aber bisher nicht getestet (Bei Verify '''Input must be exactly 13 digits''. und ''…12 digits''. bei Calculate). Die Activity zum Prüfen der Seriennummern von Eurobanknoten wird noch gar nicht getestet. Wie bei der IBAN können hier drei Fälle auftreten: eine korrekte Seriennummer wurde eingegeben (Antwort: ''OK''), eine falsche Seriennummer wurde eingegeben (Antwort: ''NOT OK'') oder die Angabe entspricht nicht dem Format (Antwort: ''A serial number consists of 12 characters with the first one or two being capital letters (A-Z).''). Sie können die Testabdeckung jetzt noch erweitern, indem Sie entsprechende Testfälle erstellen. Die Bausteine dafür können Sie wie in Schritt 2 mit dem Recorder erstellen und die XPaths bei Bedarf verallgemeinern. Wenn Sie mit dem grundsätzlichen Umgang mit expecco vertraut sind, können Sie Bausteine natürlich auch ohne Recorder erstellen, indem Sie sie manuell aus vorhandenen Bausteinen der Bibliothek zusammensetzen. Sie können auch beide Vorgehensweisen nach Belieben kombinieren.<br />
<br />
Beachten Sie, dass die hier vorgestellten Testfälle jeweils nur einzelne Eingaben prüfen. Wenn Sie Testfälle für Ihre eigenen Apps schreiben, wollen Sie vermutlich engmaschiger testen, indem Sie noch weitere unterschiedliche Werte eingeben, die insbesondere auch Randfälle enthalten.<br />
<br />
= Dialoge des Mobile Testing Plugins =<br />
== Verbindungseditor ==<br />
Mithilfe des Verbindungseditors können Sie schnell Verbindungen definieren, ändern oder aufbauen. Je nach Aufgabe weist der Dialog kleine Unterschiede auf und wird unterschiedlich geöffnet:<br />
*Wenn Sie eine Verbindung aufbauen wollen, erreichen Sie den Dialog im GUI-Browser, indem Sie auf ''Verbinden'' klicken und dann ''Mobile Testing'' auswählen.<br />
*Um eine bestehende Verbindung im GUI-Browser zu ändern oder zu kopieren, wählen Sie diese aus, machen einen Rechtsklick und wählen im Kontextmenü entsprechend ''Verbindung bearbeiten'' oder ''Verbindung kopieren'' aus.<br />
*Wollen Sie Verbindungseinstellungen nicht für den GUI-Browser sondern zur Verwendung in einem Test erstellen, wählen Sie im Menü des Mobile Testing Plugins den Punkt ''Verbindungseinstellungen erstellen...''. Darüber können nur die Einstellungen für eine Verbindung erstellt werden, ohne dass eine Verbindung im GUI-Browser angelegt wird.<br />
<br />
Das Menü des Verbindungseditors weist verschiedenen Schaltflächen auf, von denen manche nur beim Erstellen von Verbindungseinstellungen sichtbar sind:<br />
[[Datei:MobileTestingVerbindungseditorMenu.png]]<br />
#''Einstellungen löschen'': Setzt alle Einträge zurück. (Nur beim Erstellen von Einstellungen sichtbar.)<br />
#''Einstellungen aus Datei laden'': Erlaubt das Öffnen einer gespeicherten Einstellungsdatei (*.csf). Deren Einstellungen werden in den Dialog übernommen. Bereits getätigte Eingaben ohne Konflikt bleiben dabei erhalten.<br />
#''Einstellungen aus Anhang laden'': Erlaubt das Öffnen eines Anhangs mit Verbindungseinstellungen aus einem geöffneten Projekt. Diese Einstellungen werden in den Dialog übernommen. Bereits getätigte Eingaben ohne Konflikt bleiben dabei erhalten.<br />
#''Einstellungen in Datei speichern'' und<br />
#''Einstellungen in Anhang speichern'': Hier können Sie die eingetragenen Einstellungen in eine Datei (*.csf) speichern oder als Anhang in einem geöffneten Projekt anlegen. Beide Optionen besitzen ein verzögertes Menü, in dem Sie auswählen können, nur einen bestimmten Teil der Einstellungen zu speichern. (Nur beim Erstellen von Einstellungen sichtbar.)<br />
#''Erweiterte Ansicht'': Damit können Sie in die erweiterte Ansicht wechseln, um zusätzliche Einstellungen vorzunehmen. Lesen Sie dazu mehr am Ende des Kapitels. (Nur beim Erstellen von Einstellungen sichtbar.)<br />
#''Hilfe'': An der rechten Seite wird ein Hilfetext zum jeweiligen Schritt ein- oder ausgeblendet.<br />
<br />
<br />
Der Dialog ist in drei Schritte unterteilt. Im ersten Schritt wählen Sie das Gerät, das Sie verwenden möchten, im zweiten Schritt wählen Sie aus, welche App verwendet werden soll und im letzten Schritt erfolgen die Einstellungen zum Appium-Server.<br />
<br />
===<span id="AppiumConnectionEditorStep1"><!-- Referenced by AppiumConnectionEditor in Mobile Testing Plugin --></span>Schritt 1: Gerät auswählen===<br />
Im oberen Teil erhalten Sie eine Liste aller angeschlossenen Appium-Geräte, die erkannt werden. Mit der Checkbox darunter können Sie die Geräte ausblenden, die zwar erkannt werden, aber nicht bereit sind. Falls Sie ein Gerät eintragen wollen, das nicht angeschlossen ist, können Sie dies mit dem entsprechenden Knopf ''Android-Gerät eingeben'' bzw. ''iOS-Gerät eingeben'' anlegen. Dazu müssen Sie jedoch die benötigten Eigenschaften Ihres Geräts kennen. Das Gerät wird dann in einer zweiten Geräteliste angelegt und kann dort ausgewählt werden. Wenn keine Liste mit angeschlossenen Elementen angezeigt werden kann, werden stattdessen verschiedene Meldungen angezeigt:<br />
*Keine Geräte gefunden<br />
*:expecco konnte kein Android-Geräte finden.<br />
*:Um eine Verbindung zu einem Gerät automatisch zu konfigurieren, stellen Sie sicher, dass es<br />
*:*angeschlossen ist<br />
*:*eingeschaltet ist<br />
*:*einen passenden adb-Treiber installiert hat<br />
*:*für Debugging freigeschaltet ist (siehe unten).<br />
*Keine verfügbaren Geräte gefunden<br />
*:expecco konnte keine verfügbaren Android-Geräte finden. Es wurden aber nicht verfügbare gefunden, z.B. mit dem Status "unauthorized".<br />
*:Um eine Verbindung zu einem Gerät automatisch zu konfigurieren, stellen Sie sicher, dass es<br />
*:*angeschlossen ist<br />
*:*eingeschaltet ist<br />
*:*einen passenden adb-Treiber installiert hat<br />
*:*für Debugging freigeschaltet ist (siehe unten).<br />
*:Um nicht verfügbare Geräte anzuzeigen, aktivieren Sie unten diese Option.<br />
*Verbindung verloren<br />
*:expecco hat die Verbindung zum adb-Server verloren. Versuchen Sie die Verbindung wieder herzustellen, indem Sie auf den Button klicken.<br />
*Verbindung fehlgeschlagen<br />
*:expecco konnte sich nicht mit dem adb-Server verbinden. Möglicherweise läuft er nicht oder der angegebene Pfad stimmt nicht.<br />
*:Überprüfen Sie die adb-Konfiguration in den Einstellungen und versuchen Sie den adb-Server zu starten und eine Verbindung herzustellen indem Sie auf den Knopf klicken.<br />
*Verbinden ...<br />
*:expecco verbindet sich mit dem adb-Server. Dies kann einige Sekunden dauern.<br />
*adb-Server starten ...<br />
*:expecco startet den adb-Server. Dies kann einige Sekunden dauern.<br />
<br />
<!--Bei ''Automatisierung durch'' können Sie angeben, welche Automation-Engine verwendet werden soll. Lassen Sie die Einstellung auf ''(Default)'' wird die entsprechende Capability gar nicht gesetzt. Ansonsten stehen Appium, Selendroid und ab expecco 2.11 XCUITest zur Verfügung. In der Regel wird Selendroid nur für Android-Geräte vor Version 4.1 gebraucht.-->Mit ''Weiter'' gelangen Sie zum nächsten Schritt. Wenn Sie Einstellungen für den GUI-Browser eingeben, ist das erst möglich, wenn ein Gerät ausgewählt wurde.<br />
<br />
<span id="UnlockingDeveloperOptions">Anmerkung zum Freischalten</span>: In jüngeren Android Versionen werden die Entwickleroptionen zunächst nicht mehr in den Einstellungen angeboten. Falls ihr Android Gerät in den Einstellungen keinen Eintrag zu "''Entwickleroptionen''" zeigt, wählen Sie zunächst den Eintrag "''Telefoninfo''", dann "''SoftwareVersionsInfo''" und klicken darin mehrfach auf den Eintrag "''BuildVersion''".<br />
<br />
===<span id="AppiumConnectionEditorStep2"><!-- Referenced by AppiumConnectionEditor in Mobile Testing Plugin --></span>Schritt 2: App auswählen===<br />
Hier können Sie Angaben zur App machen, die getestet werden soll. Dabei können Sie entscheiden, ob Sie eine App verwenden wollen, die bereits auf dem Gerät installiert ist, oder ob für den Test eine App installiert werden soll. Wählen Sie oben den entsprechenden Reiter aus. Je nachdem, ob Sie im vorigen Schritt ein Android- oder ein iOS-Gerät ausgewählt haben, ändert sich die erforderte Eingabe.<br />
<br />
*'''Android'''<br />
**''App auf dem Gerät''<br />
**:Wenn Sie im ersten Schritt ein angeschlossenes Gerät ausgewählt haben, werden die Pakete aller installierten Apps automatisch abgerufen und Sie können die Auswahl aus den Drop-down-Listen treffen. Die installierten Apps sind in Fremdpakete und Systempakete unterteilt; wählen Sie die entsprechende Paketliste aus. Diese Auswahl gehört nicht zu den Einstellungen, sondern stellt nur die entsprechende Paketliste zur Verfügung. Sie können den Filter benutzen, um die Liste weiter einzuschränken und dann das gewünschte Paket auswählen. Die Activities des ausgwählten Pakets werden ebenfalls automatisch abgerufen und als Drop-down-Liste zur Verfügung gestellt. Wählen Sie die Activity aus, die gestartet werden soll. In der Regel wird automatisch eine Activity aus der Liste eingetragen. Falls Sie kein verbundenes Gerät verwenden, müssen Sie die Eingabe des Pakets und der Activity von Hand vornehmen.<br />
**''App installieren''<br />
**:Geben Sie bei ''App'' den Pfad zu einer App an. Der Pfad muss für den Appium-Server gültig sein, der verwendet wird. Sie können auch eine URL angeben. Benutzen Sie einen lokalen Appium-Server, können Sie den rechten Butten benutzen, um zu der Installationsdatei der App zu navigieren und diesen Pfad einzutragen. Wenn möglich werden dabei auch das entsprechende Paket und die Activity in den Feldern darunter eingetragen. Diese Angabe ist aber nicht notwendig.<br />
<br />
*'''iOS'''<br />
**''App auf dem Gerät''<br />
**:Geben Sie die Bundle-ID einer installierten App an. Sie können die IDs der installierten Apps bspw. mithilfe von Xcode erfahren. Starten Sie dazu Xcode und wählen Sie in der Menüleiste am oberen Bildschirmrand im Menü ''Window'' den Eintrag ''Devices''. Es öffnet sich ein Fenster, in dem eine Liste der angeschlossenen Geräte angezeigt wird. Wenn Sie Ihr Gerät auswählen, sehen Sie in der Übersicht eine Auflistung der von Ihnen installierten Apps.<br />
**''App installieren''<br />
**:Geben Sie bei ''App'' den Pfad zu einer App an. Der Pfad muss für den Appium-Server gültig sein, der verwendet wird. Sie können auch eine URL angeben. Zu den Vorraussetzungen an Apps für reale Geräte lesen Sie bitte den Abschnitt [[#iOS-Ger.C3.A4t_und_App_vorbereiten|iOS-Geräte und App vorbereiten]].<br />
<br />
Im unteren Teil können Sie festlegen, ob die App beim Verbindungsabbau zurückgesetzt bzw. deinstalliert werden soll, und ob sie initial zurückgesetzt werden soll. Auch hier wird die entsprechende Capability gar nicht gesetzt, wenn Sie ''(Default)'' auswählen. Mit ''Weiter'' gelangen Sie zum nächsten Schritt.<br />
<br />
===<span id="AppiumConnectionEditorStep3"><!-- Referenced by AppiumConnectionEditor in Mobile Testing Plugin --></span>Schritt 3: Servereinstellungen===<br />
Im letzten Schritt befindet sich zunächst im oberen Teil eine Liste aller Capabilities, die sich aus Ihren Angaben der vorigen Schritte ergeben. Wenn Sie sich mit Appium auskennen und noch zusätzliche Capabilities setzen möchten, die der Verbindungseditor nicht abdeckt, können Sie durch Klicken auf ''Bearbeiten'' in die erweiterte Ansicht gelangen. Lesen Sie dazu den Abschnitt weiter unten.<br />
<br />
Wenn Sie Einstellungen für den GUI-Browser eingeben, können Sie den ''Verbindungsnamen'' eintragen, mit dem die Verbindung angezeigt wird. Dies ist auch der Name unter dem Bausteine diese Verbindung verwenden können, wenn sie aufgebaut ist. Wenn Sie das Feld frei lassen, wird ein Name generiert. Um die Adresse für den Appium-Server anzugeben, erhalten Sie die lokale Standard-Adresse und bereits verwendete Adressen zur Auswahl. Wenn Sie den Haken für ''Bei Bedarf starten'' setzen, versucht expecco beim Verbinden einen Appium-Server an der angegebenen Adresse zu starten, wenn dort noch keiner läuft. Dieser Server wird dann beim Beenden der Verbindung ebenfalls heruntergefahren. Dies funktioniert nur für lokale Adressen. Achten Sie darauf, nur Portnummern zu verwenden, die auch frei sind. Verwenden Sie am besten nur ungerade Portnummern ab dem Standardport 4723. Beim Verbindungsaufbau wird ebenfalls die folgende Portnummer verwendet, wodurch es sonst zu Konflikten kommen könnte.<br />
<br />
Je nachdem, wie Sie den Dialog geöffnet haben, gibt es nun verschiedene Schaltflächen um ihn abzuschließen. In jedem Fall haben Sie die Option zu speichern. Dabei öffnet sich ein Dialog, indem Sie entweder ein geöffnet Projekt auswählen können, um die Einstellungen dort als Anhang zu speichern, oder auswählen es in einer Datei zu speichern, die Sie anschließend angeben können. Durch das Speichern wird der Dialog nicht beendet, wodurch Sie anschließend noch eine andere Option auswählen könnten.<br />
<br />
Wenn Sie den Editor zum Verbindungsaufbau geöffnet haben, können Sie abschließend auf ''Verbinden'' oder ''Server starten und verbinden'' klicken, je nachdem, ob der Haken für den Serverstart gesetzt ist. Für das Ändern oder Kopieren einer Verbindung im GUI-Brower heißt diese Option ''Übernehmen'', da in diesem Fall nur der Verbindungseintrag geändert bzw. neu angelegt wird, der Verbindungsaufbau aber nicht gestartet wird. Das können Sie bei Bedarf anschließend über das Kontextmenü tun. Falls Sie Capabilities einer bestehenden Verbindung geändert haben, fordert Sie anschließend ein Dialog auf zu entscheiden, ob diese Änderungen direkt übernommen werden sollen, indem die Verbindung abgebaut und mit den neuen Verbindungen aufgebaut wird, oder nicht. In diesem Fall werden die Änderungen erst wirksam, nachdem Sie die Verbindung neu aufbauen.<br />
<br />
Zur Verwendung des Verbindungseditors lesen Sie auch den entsprechenden Abschnitt im jeweiligen Tutorial in Schritt 1 (Android: [[#Schritt_1:_Demo_ausf.C3.BChren|Demo ausführen]], iOS: [[#Schritt_1:_Demo_ausf.C3.BChren_2|Demo ausführen]]).<br />
<br />
===Erweiterte Ansicht===<br />
Die erweiterte Ansicht des Verbindungseditors erhalten Sie entweder durch Klicken auf ''Bearbeiten'' im dritten Schritt oder jederzeit über den entsprechenden Menüeintrag, wenn Sie den Editor über das Plugin-Menü gestartet haben. In dieser Ansicht erhalten Sie eine Liste aller eingestellten Appium-Capabilities. Zu dieser können Sie weitere hinzufügen, Einträge ändern oder entfernen. Um eine Capability hinzuzufügen, wählen Sie diese aus der Drop-down-Liste des Eingabefelds aus. In dieser befinden sich alle bekannten Capabilities sortiert in die Kategorien ''Common'', ''Android'' und ''iOS''. Haben Sie eine Capability ausgewählt, wird ein kurzer Informationstext dazu angezeigt. Sie können in das Feld auch von Hand eine Capability eingeben. Klicken Sie dann auf ''Hinzufügen'', um die Capabilitiy in die Liste einzutragen. Dort können Sie in der rechten Spalte den Wert setzen. Um einen Entrag zu löschen, wählen Sie diesen aus und klicken Sie auf ''Entfernen''. Mit ''Zurück'' verlassen Sie die erweiterte Ansicht.<br />
<br />
[[Datei:MobileTestingErweiterteAnsicht.png]]<br />
<br />
== Laufende Appium-Server ==<br />
Im Menü des Mobile Testing Plugins finden Sie den Eintrag ''Appium-Server...''. Mit diesem öffnen Sie ein Fenster mit einer Übersicht aller Appium-Server, die von expecco gestartet wurden und auf welchem Port diese laufen. Durch Klicken auf das Icon in der Spalte ''Log anzeigen'' können Sie das Logfile des entsprechenden Servers anschauen. Dieses wird beim Beenden des Servers wieder gelöscht. Mit den icons in der Spalte ''Beenden'' kann der entsprechenden Server beendet werden. Allerdings wird dies verhindert, wenn expecco über diesen Server noch eine offene Verbindung hat.<br />
<br />
Außerdem können Sie hier auch Server starten. Verwenden Sie die Eingabefelder zur Konfiguration der Serveradresse. Sie können die Felder auch frei lassen, um die Standardwerte zu verwenden. Bitte beachten Sie, dass Server nur lokal gestartet werden können und der gewählte Port nicht belegt sein darf. Typischerweise werden die ungeraden Portnummern ab 4723 verwendet. Die folgende Portnummer wird beim Verbinden mit einem Gerät ebenfalls benötigt, wodurch es mit den geraden Nummern zu Konflikten kommen könnte.<br />
<br />
[[Datei:MobileTestingAppiumServer.png]]<br />
<br />
Im Menü des Mobile Testing Plugins finden Sie auch den Eintrag ''Alle Verbindungen und Server beenden''. Dies ist für den Fall gedacht, dass Verbindungen oder Server auf andere Weise nicht beendet werden können. Beenden Sie Verbindungen wenn möglich immer im GUI-Browser oder durch Ausführen eines entsprechenden Bausteins. Server, die Sie in der Server-Übersicht gestartet haben, beenden Sie dort; Server, die mit einer Verbindung gestartet wurden, werden automatisch mit dieser beendet.<br />
<br />
Beachten Sie, dass in der Übersicht nur Server aufgelistet sind, die von expecco gestartet und verwaltet werden. Mögliche andere Appium-Server, die auf andere Art gestartet wurden, werden nicht erkannt.<br />
<br />
== Recorder ==<br />
Besteht im GUI-Browser eine Verbindung zu einem Gerät, kann der integrierte Recorder verwendet werden, um mit diesem Gerät einen Testabschnitt aufzunehmen. Sie starten den Recorder, indem Sie im GUI-Browser die entsprechende Verbindung auswählen und dann auf den Aufnahme-Knopf klicken. Für den Recorder öffnet sich ein neues Fenster. Die aufgezeichneten Aktionen werden im Arbeitsbereich des GUI-Browsers angelegt. Daher ist es möglich, das Aufgenommene parallel zu editieren.<br />
<br />
[[Datei:MobileTestingRecorder.png|caption|]]<br />
<br />
;Komponenten des Recorderfensters<br />
#'''Aktualisieren''': Holt das aktuelle Bild und den aktuellen Elementbaum vom Gerät. Dies wird nötig, wenn das Gerät zur Ausführung einer Aktion länger braucht oder sich etwas ohne das Anstoßen durch den Recorder ändert.<br />
#'''Follow-Mouse''': Das Element unter dem Mauszeiger wird im GUI-Browser ausgewählt.<br />
#'''Element-Highlighting''': Das Elements unter dem Mauszeiger wird rot umrandet.<br />
#'''Elemente einzeichnen''': Die Rahmen aller Elemente der Ansicht werden angezeigt.<br />
#'''Werkzeuge''': Auswahl, mit welchem Werkzeug aufgenommen werden soll. Die gewählte Aktion wird bei einem Klick auf die Anzeige ausgelöst. Dabei stehen folgende Aktionen zur Verfügung:<br />
#*Aktionen auf Elemente:<br />
#**Klicken: Kurzer Klick auf das Element über dem der Cursor steht. Zur genaueren Bestimmung, welches Element verwendet wird, benutzen Sie die Funktion Follow-Mouse oder Highlight-Selected.<br />
#**Element antippen: Ähnlich zum Klicken, nur dass zusätzlich die Dauer des Klicks aufgezeichnet wird. Dadurch sind auch längere Klicks möglich.<br />
#**Text setzen: Ermöglicht das Setzen eines Textes in Eingabefelder.<br />
#**Text löschen: Löscht den Text eines Eingabefelds.<br />
#*Aktionen auf das Gerät:<br />
#**Antippen: Löst einen Klick auf die Bildschirmposition aus, bei dem auch die Dauer berücksichtigt wird.<br />
#**Wischen: Wischen in einer geraden Linie vom Punkt des Drückens des Mausknopfes bis zum Loslassen. Die Dauer wird ebenfalls aufgezeichnet.<br />
#:Beachten Sie bei diesen Aktionen, dass das Ergebnis sich auf verschiedenen Geräten unterscheiden kann, bspw. bei verschiedenen Bildschirmauflösungen.<br />
#*Erstellen von Testablauf-Bausteinen<br />
#**Attribut prüfen: Vergleicht den Wert eines festgelegten Attributs des Elements mit einem vorgegebenen Wert. Das Ergebnis triggert den entsprechenden Ausgang.<br />
#**Attribut zusichern: Vergleicht den Wert eines festgelegten Attributs des Elements mit einem vorgegebenen Wert. Bei Ungleichheit schlägt der Test fehl.<br />
#*Auto<br />
#:Ist das Auto-Werkzeug ausgewählt, können alle Aktionen durch spezifische Eingabeweise benutzt werden: ''Klicken'', ''Element antippen'' und ''Wischen'' funktionieren weiterhin durch Klicken, wobei sie anhand der Dauer und der Bewegung des Cursors unterschieden werden. Um ein ''Antippen'' auszulösen, halten Sie beim Klicken Strg gedrückt. Die übrigen Aktionen erhalten Sie durch einen Rechtsklick auf das Element in einem Kontextmenü.<br />
#'''Softkeys''': Nur unter Android. Simuliert das Drücken der Knöpfe Zurück, Home, Fensterliste und Power.<br />
#'''Home-Button''': Nur unter iOS ab expecco 2.11. Ermöglicht das Drücken des Home-Buttons. Funktioniert nur, wenn AssistiveTouch aktiviert ist und sich das Menü in der Mitte des oberen Bildschirmrands befindet.<br />
#'''Anzeige''': Zeigt einen Screenshot des Geräts. Aktionen werden mit der Maus je nach Werkzeug ausgelöst. Wenn eine neue Aktion eingegeben werden kann, hat das Fenster einen grünen Rahmen, sonst ist er rot.<br />
#'''Fenster an Bild anpassen''': Ändert die Größe des Fensters so, dass der Screenshot vollständig angezeigt werden kann.<br />
#'''Bild an Fenster anpassen''': Skaliert den Screenshot auf eine Größe, mit der er die volle Größe des Fensters ausnutzt.<br />
#'''Ausrichtung anpassen''': Korrigiert das Bild, falls dieses auf dem Kopf stehen sollte. Über den Pfeil rechts daneben kann das Bild auch um 90° gedreht werden, falls dies einmal nötig sein sollte. Die Ausrichtung des Bildes ist für die Funktion des Recorders unerheblich, dieser arbeitet ausschließlich auf den erhaltenen Elementen.<br />
#'''Skalierung''': Ändert die Skalierung des Screenshots. Kann auch über den Schieberegler rechts daneben angepasst werden.<br />
#'''Kontrollleuchte''': Zeigt den Zustand des Recorders an<br />
#:''grün'': Der Recorder ist bereit<br />
#:''rot'': Der Recorder ist blockiert, weil die Anzeige und die Elementliste aktualisiert werden<br />
#:''grau'': Der Recorder kann nicht mehr verwendet werden, da die Verbindung zum Gerät verloren gegangen ist<br />
<br />
;Verwendung<br />
Mit jedem Klick im Fenster wird eine Aktion ausgelöst und im Arbeitsbereich des GUI-Browsers aufgezeichnet. Dort können Sie das Aufgenommene abspielen, editieren oder daraus einen neuen Baustein erstellen. Zur Verwendung des Recorders lesen Sie auch Schritt 2 im Tutorial ([[#Schritt_2:_Einen_Baustein_mit_dem_Recorder_erstellen|Android]] bzw. [[#Schritt_2:_Einen_Baustein_mit_dem_Recorder_erstellen_2|iOS]]).<br />
<br />
== AVD Manager und SDK Manager ==<br />
AVD Manager und SDK Manager sind beides Anwendungen von Android. Im Menü des Mobile Testing Plugins bietet expecco die Möglichkeit, diese zu starten. Ansonsten finden Sie diese Programme bei Ihrer Android-Installation. Mit dem AVD Manager können Sie AVDs, also Konfigurationen für Emulatoren, erstellen, bearbeiten und starten. Mit dem SDK Manager erhalten Sie einen Überblick über Ihre Android-Installation und können diese bei Bedarf erweitern.<br />
<br />
= XPath anpassen mithilfe des GUI-Browsers =<br />
Bausteine, die auf einem Gerät fehlerfrei funktionieren, tun dies auf anderen Geräten möglicherweise nicht. Auch können kleine Änderungen der App dazu führen, dass ein Baustein nicht mehr den gewünschten Effekt hat. Man sollte einen Baustein daher so robust formulieren, dass er für eine Vielzahl von Geräten verwendet werden kann und kleine Anpassungen an der App verkraftet. Dazu muss man das grundlegende Funktionsprinzip der Adressierung verstehen. Dies wird im Folgenden am Beispiel der App aus dem Tutorial erläutert.<br />
<br />
Die Ansicht der App setzt sich aus einzelnen Elementen zusammen. Dazu gehören die Schaltflächen ''GTIN-13 (EAN-13)'' und ''Verify'', das Eingabefeld der Zahl ''4006381333986'' und das Ergebnisfeld, in dem OK erscheint, wie auch alle anderen auf der Anzeige sichtbaren Dinge. Diese sichtbaren Elemente sind in unsichtbare Strukturelemente eingebettet. Alle Elemente zusammen sind in einer zusammenhängenden Hierarchie, dem Elementbaum, organisiert.<br />
<br />
[[Datei:MobileTestingGUIBrowser.png | frame | left | Abb. 1: Funktionen des GUI-Browsers]]<br />
<br clear="all"><br />
Sie können sich diesen Baum im GUI-Browser ansehen. Wechseln Sie dazu in den GUI-Browser (Abb. 1) und starten Sie eine beliebige Verbindung. Sobald die Verbindung aufgebaut ist, können Sie den gesamten Baum aufklappen (1) (Klick bei gedrückter Strg-Taste). Er enthält alle Elemente der aktuellen Seite der App.<br />
<br />
Ein Baustein, der nun ein bestimmtes Element verwendet, muss dieses eindeutig angeben, indem er dessen Position im Elementbaum mit einem Pfad im XPath-Format beschreibt. Dieses Format ist ein verbreiteter Web-Standard für XML-Dokumente und -Datenbanken, eignet sich aber genauso für Pfade im Elementbaum.<br />
<br />
Wenn Sie ein Element im Baum auswählen, wird unten der von expecco automatisch generierte XPath (2) für das Element angezeigt, der auch beim Aufzeichnen verwendet wird. Oberhalb davon in der Mitte des Fensters befindet sich eine Liste der Eigenschaften (3) des ausgewählten Elements. Man nennt diese Eigenschaften auch Attribute. Sie beschreiben das Element näher wie beispielsweise seinen Typ, seinen Text oder andere Informationen zu seinem Zustand. Links unten können Sie zur besseren Orientierung im Baum die ''Vorschau'' (4) aktivieren, um sich den Bildausschnitt des Elements anzeigen zu lassen.<br />
<br />
Der Elementbaum für gleiche Ansicht einer App kann sich je nach Gerät unterscheiden. Es sind diese Unterschiede, die verhindern, eine Aufnahme von einem Gerät unverändert auch auf allen anderen Geräten abzuspielen: Ein XPath, der im einen Elementbaum ein bestimmtes Element identifiziert, beschreibt nicht unbedingt das gleiche Element im Elementbaum auf einem anderen Gerät. Es kann stattdessen passieren, dass der XPath auf kein Element, auf ein falsches Element oder auf mehrere Elemente passt. Dann schlägt der Test fehl oder er verhält sich unerwartet.<br />
<br />
Man könnte natürlich für jedes Gerät einen eigenen Testfall schreiben. Das brächte aber unverhältnismäßigen Aufwand bei Testerstellung und -wartung mit sich. Das Problem lässt sich auch anders lösen, da ein jeweiliges Element nicht nur durch genau einen XPath beschrieben wird. Vielmehr erlaubt der Standard mithilfe verschiedener Merkmale unterschiedliche Beschreibungen für ein und dasselbe Element zu formulieren. Das Ziel ist daher, einen Pfad zu finden, der auf allen für den Test verwendeten Geräten funktioniert und überall eindeutig zum richtigen Element führt.<br />
<br />
Im Beispiel besteht die Verbindung zur Android-App aus dem Tutorial und der Eintrag des GTIN-13-Buttons ist ausgewählt (5). Dessen automatisch generierter XPath (2) kann beispielsweise so aussehen:<br />
<br />
<blockquote>//hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[@resource id='android:id/content']/android.widget.RelativeLayout/android.widget.Button[@resource-id='de.exept.expeccomobiledemo:id/gtin_13']</blockquote><br />
<br />
Er ist offensichtlich lang und unübersichtlich. Der sehr viel kürzere Pfad<br />
<br />
<blockquote>//*[@text='GTIN-13 (EAN-13)']</blockquote><br />
<br />
führt zum selben Element.<br />
<br />
Für die iOS-App lautet der automatisch generierte XPath für diesen Button beispielsweise<br />
<br />
<blockquote>//AppiumAUT/XCUIElementTypeApplication/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeButton[2]</blockquote><br />
bzw.<br />
<blockquote>//AppiumAUT/UIAApplication/UIAWindow[1]/UIAButton[2]</blockquote><br />
<br />
und kann kürzer als<br />
<br />
<blockquote>//*[@name='GTIN-13 (EAN-13)']</blockquote><br />
<br />
geschrieben werden.<br />
<br />
Sie können den Pfad entsprechend im GUI-Browser ändern und durch ''Pfad überprüfen'' (6) feststellen, ob er weiterhin auf das ausgewählte Element zeigt, was expecco mit ''Verify Path: OK'' (7) bestätigen sollte. Der erste, sehr viel längere Pfad, beschreibt den gesamten Weg vom obersten Element des Baumes bis hin zum gesuchten Button. Der zweite Pfad hingegen wählt mit * zunächst sämtliche Elemente des Baumes und schränkt die Auswahl dann auf genau die Elemente ein, die ein ''text''- bzw. ''name''-Attribut mit dem Wert ''GTIN-13 (EAN-13)'' besitzen, in unserem Fall also genau der eine Button, den wir suchen.<br />
<br />
Im folgenden werden Android-ähnliche Pfade zur Veranschaulichung verwendet. Die Elemente in iOS-Apps heißen zwar anders, wodurch andere Pfade entstehen; das Prinzip ist jedoch das gleiche.<br />
<br />
[[Datei:MobileTestingBaum1.png | frame | Abb. 2: Elementbaum einer fiktiven App]]<br />
<br />
Sie können solche Pfade mit Hilfe weniger Regeln selbst formulieren. Sehen Sie sich den einfachen Baum einer fiktiven Android-App in Abb. 2 an: Die Einrückungen innerhalb des Baumes geben die Hierarchie der Elemente wieder. Ein Element ist ein ''Kind'' eines anderen Elementes, wenn jenes andere Element das nächsthöhere Element mit einem um eins geringeren Einzug ist. Jenes Element ist das ''Elternelement'' des Kindes. Sind mehrere untereinander stehende Elemente gleich eingerückt, so sind sie also alle Kinder desselben Elternelements.<br />
<br />
Ein Pfad durch alle Ebenen der Hierarchie zum TextView-Element ist nun:<br />
<br />
<blockquote>//hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView</blockquote><br />
<br />
Die Elemente sind mit Schrägstrichen voneinander getrennt. Es fällt auf, dass der Name des ersten Elements nicht mit dem im Baum übereinstimmt. Das oberste Element in der Hierarchie heißt immer ''hierarchy'' (für iOS wäre es ''AppiumAUT''), expecco zeigt im Baum stattdessen den Namen der Verbindung an, damit man mehrere Verbindungen voneinander unterscheiden kann. Die weiteren Elemente tragen jeweils das Präfix ''android.widget.'', das im Baum zur besseren Übersicht nicht angezeigt wird. Bei IOS gibt es kein Präfix, das durch einen Punkt abgetrennt wäre, expecco 2.11 blendet aber entsprechend ''XCUIElementType'' am Anfang aus. Mit jedem Schrägstrich führt der Pfad über eine Eltern-Kind-Beziehung in eine tiefere Hierarchie-Ebene, d. h. ''FrameLayout'' ist ein Kindelement von ''hierarchy'', ''LinearLayout'' ist ein Kind von ''FrameLayout'' usw. Die in eckigen Klammern geschriebenen Wörter dienen nur als Orientierungshilfe im Baum. Sie gehören nicht zum Typ.<br />
<br />
Ein Pfad muss nicht beim Element ''hierarchy'' beginnen. Man kann den Pfad beginnend mit einem beliebigen Element des Baumes bilden. Man kann also verkürzt auch<br />
<br />
<blockquote>//android.widget.TextView</blockquote><br />
<br />
schreiben. Der Pfad führt zum selben ''TextView''-Element, da es nur ein Element dieses Typs gibt. Anders verhält es sich bei dem Pfad<br />
<br />
<blockquote>//android.widget.Button.</blockquote><br />
<br />
Da es zwei Elemente vom Typ ''Button'' gibt, passt dieser Pfad auf zwei Elemente, nämlich den Button, der mit "''An''" markiert ist, und den ''Button'', der mit "''Aus''" markiert ist. Es würde an dieser Stelle aber auch nicht helfen den langen Pfad von ''hierarchy'' aus beginnend anzugeben. Um einen mehrdeutigen Pfad weiter zu differenzieren, kann man explizit ein Element aus einer Menge wählen, indem man den numerischen Index in eckigen Klammern dahinter schreibt. Der Pfad aus dem obigen Beispiel lässt sich damit so anpassen, dass er eindeutig auf den ''Button'' mit der Markierung "''Aus''" weist:<br />
<br />
<blockquote>//android.widget.Button[1].</blockquote><br />
<br />
Ihnen fällt sicher auf, dass der Index eine 1 ist obwohl das zweite Element gemeint ist. Das kommt daher, dass die Zählung bei 0 beginnt. Der Button mit der Markierung "An" hat also die Nummer 0 und der ''Button'' mit der Markierung "''Aus''" hat die Nummer 1.<br />
<br />
Dieser Ansatz, einen expliziten Index zu verwenden, hat zwei Nachteile: Zum einen lässt sich an dem Pfad nur schwer ablesen welches Element gemeint ist, zum andern ist der Pfad sehr empfindlich schon gegenüber kleinsten Änderungen, wie zum Beispiel dem Vertauschen der beiden ''Button''-Elemente oder dem Einfügen eines weiteren ''Button''-Elements in der App.<br />
<br />
Es wäre daher wünschenswert, das gemeinte Element über eine ihm charakteristische Eigenschaft wie einen Attributwert, zu adressieren. Für Android-Apps eignet sich hierfür häufig das Attribut ''resource-id''. Im Idealfall muss bei der Entwicklung der App darauf geachtet werden, dass jedes Element eine eindeutige Id erhält. Die ''resource-id'' hat den großen Vorteil, dass sie unabhängig vom Text des Elements oder der Spracheinstellung des Geräts ist. Für iOS-Apps kann entsprechend das Attribut ''name'' verwendet werden, wenn es von der App sinnvoll gesetzt wird. Der XPath-Standard erlaubt solche Auswahlbedingungen zu einem Element anzugeben. Angenommen, der ''Button'' mit der Markierung "''Aus''" hat die Eigenschaft ''resource-id'' mit dem Wert ''off'' und der ''Button'' mit der Markierung "''An''" hat als ''resource-id'' den Wert ''on'', dann kann man als eindeutigen Pfad für den "Aus"-''Button''<br />
<br />
<blockquote>//android.widget.Button[@resource-id='off']</blockquote><br />
<br />
formulieren. Wie an dem Beispiel zu sehen werden solche Bedingungen wie ein Index in eckigen Klammern an den Elementtyp angehängt. Der Name eines Attributes wird mit einem @ eingeleitet und der Wert mit einem = in Anführungszeichen angehängt. Ist der Attributwert global eindeutig, kann man den vorausgehenden Pfad sogar durch den globalen Platzhalter * ersetzen, der auf jedes Element passt. Das obige Beispiel mit dem GTIN-13-''Button'' war ein solcher Fall.<br />
<br />
[[Datei:MobileTestingBaum2.png | frame | Abb. 3: Elementbaum einer fiktiven App mit Erweiterungen]]<br />
<br />
Abb. 3 zeigt eine Erweiterung des Beispiels aus Abb. 2. Die App hat nun ein weiteres, nahezu identisches ''LinearLayout'' bekommen. Die ''Buttons'' sind in ihren Attributen jeweils ununterscheidbar. Deshalb funktioniert der vorige Ansatz nicht, einen eindeutigen Pfad nur mithilfe eines Attributwerts zu formulieren. Offensichtlich unterscheiden sich aber ihre benachbarten ''TextViews''. Es ist möglich die jeweilige ''TextView'' in den Pfad mit aufzunehmen, um einen ''Button'' dennoch eindeutig zu adressieren. Ein Pfad zum ''Button'' mit der Markierung "''An''" unterhalb der ''TextView'' mit der Markierung "''Druckschalter''" kann dabei wie folgt aussehen:<br />
<br />
<blockquote>//android.widget.TextView[@resource-id='push']/../android.widget.Button[@resource-id='on']</blockquote><br />
<br />
Der erste Teil beschreibt den Pfad zu der ''TextView'' mit der Markierung "''Druckschalter''" und der ''resource-id'' mit dem Wert ''push''. Danach folgt ein Schrägstrich gefolgt von zwei Punkten. Die zwei Punkte sind eine spezielle Elementbezeichnung, die nicht ein Kindelement benennt, sondern zum Elternelement wechselt, in diesem Fall also das ''LinearLayout'', in dem die ''TextView'' eingebettet ist. Im Kontext dieses ''LinearLayout'' ist der restliche Pfad, nämlich der ''Button'' mit der ''resource-id'' mit dem Wert ''on'', eindeutig.<br />
<br />
Der XPath-Standard bietet noch sehr viel mehr Ausdrucksmittel. Mit der hier knapp vorgestellten Auswahl ist es aber bereits möglich für die meisten praktischen Testfälle gute Pfade zu formulieren. Eine vollständige Einführung in XPath ginge über den Umfang dieser Einführung weit hinaus. Sie finden zahlreiche weiterführende Dokumentationen im Web und in Büchern.<br />
<br />
Eine universelle Strategie zum Erstellen guter XPaths gibt es nicht, da sie von den Testanforderungen abhängt. In der Regel ist es sinnvoll, den XPath kurz und dennoch eindeutig zu halten. Häufig lassen sich Elemente über Eigenschaften identifizieren wie beispielsweise ihren Text. Will man aber gerade den Text eines Elements auslesen, kann dieser natürlich nicht im Pfad verwendet werden, da er vorher nicht bekannt ist. Ebenso wird der Text variieren, wenn die App mit verschiedenen Sprachen gestartet wird.<br />
<br />
Jeder Baustein, der auf einem Element arbeitet, hat einen Eingangspin für den XPath. Im GUI-Browser finden Sie in der Mitte oben eine Liste von Bausteinen mit Aktionen, die Sie auf das ausgewählte Element anwenden können. Suchen Sie den Baustein ''Click'' (8) im Ordner Elements und wählen Sie ihn aus (Abb. 1). Er wird im rechten Teil unter ''Test'' eingefügt, der Pin für den XPath ist mit dem automatisch generierten Pfad des Elements vorbelegt (9). Sie können den Baustein hier auch ausführen. Die Ansicht wechselt dann auf ''Lauf''. Ändert sich durch die Aktion der Zustand Ihrer App, müssen Sie den Baum anschließend aktualisieren (10).<br />
<br />
Wenn Sie in der unteren Liste eine Eigenschaft auswählen, wechselt die Anzeige der Bausteine zu ''Eigenschaften'', wo Sie die eigenschaftsbezogenen Bausteine finden. Wie bei den Aktionen können Sie auch hier einen Baustein auswählen, der dann rechts in Test mit dem Pfad des Elements und der ausgewählten Eigenschaft eingetragen wird, sodass Sie ihn direkt ausführen können.<br />
<br />
=<span id="troubleshooting"><!-- Referenced by error dialog on connection error --></span>Probleme und Lösungen=<br />
==Allgemeine Hinweise==<br />
*Wenn ein über USB angeschlossenes Android-Gerät nicht im Verbindungsdialog auftaucht, versuchen Sie, den USB-Verbindungstyp zu ändern. In der Regel sollten MTP oder PTP funktionieren. Siehe auch [[#Android-Ger.C3.A4t_vorbereiten|Android-Gerät vorbereiten]].<br />
*In manchen Fällen erscheint beim Verbinden eines iOS-Geräts über USB der Hinweis, das verwendete Kabel sei nicht zertifiziert. In diesem Fall hilft es nur, das entsprechende Kabel auszutauschen.<br />
*Beachten Sie, dass im [[#Recorder|Recorder]] auch Elemente berücksichtigt werden, die Sie auf dem Bildschirm nicht sehen. Schalten Sie daher das Element-Highlighting an oder nutzen Sie Follow-Mouse-Funktion und den Elementbaum im GUI-Browser, um festzustellen, ob das richtige Element verwendet wird.<br />
*Stellen Sie sicher, dass beim Verbindungsaufbau mit einem iOS-Gerät keine Alerts geöffnet sind. Der Aufbau schlägt sonst fehl, da die App nicht in den Vordergrund kommen kann. Siehe auch [[#iOS-Ger.C3.A4t_und_App_vorbereiten|iOS-Gerät und App vorbereiten]].<br />
*Um einen iOS-Simulator zu verwenden müssen Sie keine udid angeben. In Xcode erhalten Sie die Namen der verfügbaren Simulatoren. Starten Sie dazu Xcode und wählen Sie in der Menüleiste am oberen Bildschirmrand im Menü ''Window'' den Eintrag ''Devices''. Hier sind neben den angeschlossenen Geräten auch die verfügbaren Simulatoren aufgelistet. Beachten Sie dabei, dass auf Simulatoren keine ''.ipa''-Dateien sondern nur ''.app''-Dateien installiert werden können.<br />
*Bei Android-Geräten, die Softkeys automatisch ein- und ausblenden, kann es vorkommen, dass der Recorder im unteren Bereich Elemente abschneidet, die durch die Softkeys verdeckt würden, auch wenn sie zu diesem Zeitpunkt gar nicht angezeigt werden. In diesem Fall hift es, die Softkeys so einzustellen, dass sie permanent angezeigt werden.<br />
<br />
==Verbindungsaufbau schlägt fehl==<br />
Schlägt der Verbindungsaufbau mit dem Appium-Server fehl, erhalten Sie in expecco eine Fehlermeldung ähnlicher der unten abgebildeten.<br />
<br />
Falls der Fehler nicht durch eine der unten gelisteten Ursachen bedingt ist,<br />
kann es sein, daß die auf dem Gerät befindliche UI-Automator Anwendung nicht mehr richtig funktioniert<br />
(Anm. dies tritt auf einigen Geräten sporadisch auf - die Ursache dafür ist uns z.Z. noch nicht bekannt).<br />
Hier hilft es, die UI-Automator Anwendungen im Mobilgerät zu deinstallieren. <br />
Expecco wird diese dann mit dem nächsten Verbindungsaufbau selbst wieder installieren.<br />
<br />
Zur Deinstallation navigieren Sie auf dem Gerät zu: "''Einstellungen''" - "''Anwendungen''",<br />
und suchen in der Liste nach folgenden Einträgen:<br />
Appium Settings<br />
io.appium.uiautomator2.server<br />
io.appium.uiautomator2.server.test<br />
klicken Sie auf die jeweilige Anwendung und dann auf "''Deinstallieren''".<br />
<br />
Falls die nicht hilft, kann eventuell der Appium-Server log weiter helfen (diesen erreichen Sie über das "''Erweiterungen''" - "''Mobile Testing''" Menü von expecco)<br />
<br />
[[Datei:MobileTestingVerbindungsfehler.png]]<br />
<br />
Hier sehen Sie die Art des aufgetretenen Fehlers. Klicken Sie auf "''Details''" um nähere Informationen zu erhalten. Mögliche Fehler sind:<br />
*''org.openqa.selenium.remote.UnreachableBrowserException''<br />
:Der angegebene Server läuft nicht oder ist nicht erreichbar. Überprüfen Sie die Serveradresse.<br />
*''org.openqa.selenium.WebDriverException''<br />
:Lesen Sie in den Details in der ersten Zeile die Meldung hinter ''Original Error'':<br />
:*''Unknown device or simulator UDID''<br />
::Entweder ist das Gerät nicht richtig angeschlossen oder die udid stimmt nicht.<br />
:*''Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 65''<br />
::Dieser Fehler kann verschiedene Ursachen haben. Entweder konnte tatsächlich der WebDriverAgent nicht gebaut werden, weil die Signierungseinstellungen falsch sind oder das passende Provisioning Profile fehlt. Lesen Sie dazu den Abschnitt zur Verbereitung unter [[#expecco_2.11|Mac OS mit expecco 2.11]]. Es kann auch sein, dass der WebDriverAgent auf dem Gerät nicht gestartet werden kann, weil sich beispielsweise ein Alert im Vordergrund befindet oder Sie dem Entwickler nicht vertraut haben.<br />
:*''Could not install app: 'Command 'ios-deploy [...] exited with code 253'''<br />
::Die angegebene App kann nicht auf dem iOS-Gerät installiert werden, weil es nicht im Provisioning Profile der App eingetragen ist.<br />
:*''Bad app: [...] App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name.'''<br />
::Der Pfad zur App ist falsch. Stellen Sie sicher, dass sich die Datei unter dem angegebenen Pfad auf dem Mac befindet.<br />
:*''packageAndLaunchActivityFromManifest failed.''<br />
::Die angegebene ''apk''-Datei ist vermutlich kaputt.<br />
:*''Could not find app apk at [...]''<br />
::Der Pfad zur App ist falsch. Stellen Sie sicher, dass sich die ''apk''-Datei m angegebenen Pfad befindet.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Installation_Lizenzserver&diff=14786Installation Lizenzserver2019-02-04T17:03:27Z<p>Bg: Die Seite wurde neu angelegt: „==Übersicht== Der expecco Lizenzserver dient der zentralen Verwaltung von expecco Lizenzen. Durch den Lizenzserver kann expecco auf verschiedenen Rechnern (s…“</p>
<hr />
<div>==Übersicht==<br />
<br />
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.<br />
<br />
Lizenzen werden dabei von den expecco-Rechnern vom Lizenzserver angefordert, im Lizenzserver reserviert,<br />
und nach der Sitzung bzw. Testlauf wieder zurückgegeben. Damit können mehr Nutzer (allerdings nicht gleichzeitig) mit expecco arbeiten als Lizenzen erworben wurden.<br />
<br />
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.<br />
<br />
{{SEITENTITEL:Lizenzservice Installation}}<br />
<br />
== Voraussetzungen ==<br />
Wir empfehlen expecco ALM auf einem durchgehend verfügbaren Server mit Windows Server 2008 / Windows 7 oder höher zu installieren. Die Installation auf anderen Betriebssystemen wäre bei Bedarf auch möglich. Ebenso ist die Installation in einer Cloud möglich, dort ist der Betrieb ohne Dongle möglich.<br />
<br />
Damit expecco ALM flüssig arbeiten kann, werden folgende Hardware-Anforderungen an den Server gestellt:<br />
<br>- ein "dezidierter" Prozessor mit mindestens 2 GHz<br />
<br>- mindestens 1 GB Arbeitsspeicher (ausschließlich für expecco ALM)<br />
<br>- mindestens 10 GB Festplattenspeicher (je nach Größe der Daten die expecco ALM verwalten soll)<br />
<br />
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 "Floating" lizenziertem expecco. Bei Problemen bezüglich der Erreichbarkeit wenden Sie sich bitte an Ihren Netzwerkadministrator.<br />
<br />
== Installation ==<br />
<br />
Bitte halten Sie Ihre Lizenzdatei und Ihren Dongle für die Installation von expecco ALM bereit.<br><br />
Für die Installation in der Cloud liefern wir eine Lizenzdatei mit entsprechender Mac-Adresse.<br />
<br />
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 "expecco ALM 1.9.0.1 Setup.exe", wobei die Versionsnummer abweichen kann. Ihren Dongle haben wir per Post an Sie versendet (es sei denn Sie evaluieren expecco ALM).<br />
<br />
Gehen Sie bitte wie folgt vor:<br />
<br>- Laden Sie den expecco ALM Installer auf dem Server, auf dem expecco ALM künftig laufen soll, herunter<br />
<br>- Legen Sie Ihre Lizenzdatei ebenfalls auf dem Server ab<br />
<br>- Verbinden Sie Ihren Dongle mit dem Server (Wenn Sie expecco ALM evaluieren, überspringen Sie diesen Schritt)<br />
<br>- Führen Sie den expecco ALM Installer ("expecco ALM ?.?.?.? Setup.exe") aus<br />
<br />
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 "Konfiguration" den Port ändern (Standard ist Port 8081) oder über die "Logdatei" eventuelle Probleme feststellen.<br />
<br />
[[Datei:InstallAlmLicense.png|mini|Anhang 1]]<br />
Ü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 "Lizenzdatei installieren" 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 "admin" und Kennwort "admin" anmelden.<br />
<br />
Falls eine leere Seite oder eine Fehlerseite angezeigt wird, probieren Sie einen anderen Port aus und/oder schauen Sie in der Logdatei nach Fehlermeldungen.<br />
<br />
== Hinweise zur Lizenzierung ==<br />
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.<br />
<br />
== Lizenz wechseln ==<br />
<br />
[[Datei:ChangeAlmLicense.png|mini|Anhang 2]]<br />
Falls Sie eine aktuelle expecco ALM Version haben, können Sie eine neue Lizenzdatei "expecco ALM Lizenz *.lic" über das Webinterface von expecco ALM einspielen. Betrachten Sie dazu den angehängten Screenshot (Anhang 2).<br />
<br />
Fall Sie eine ältere expecco ALM Version haben, müssen Sie folgendermaßen vorgehen:<br />
<br>- Da Sie expecco ALM später neustarten müssen, tätigen Sie entsprechende Vorsorgemaßnahmen (Bspw. Benutzer abmelden, Datenbank sichern usw.)<br />
<br>- Melden Sie sich auf dem Computer, der expecco ALM betreibt an<br />
<br>- Begeben Sie sich in folgendes Verzeichnis "C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\expecco_ALM" oder falls es sich um ein 32Bit Betriebssystem handelt "C:\Windows\system32\config\systemprofile\AppData\Roaming\expecco_ALM" und löschen Sie die Datei "expecco_ALM.lic"<br />
<br>- Starten Sie den expecco ALM Service über den Windows-Service-Manager neu oder beenden Sie über den Windows-Task-Manager den Prozess "expecco_ALM.exe", in letzterem Fall wird der Windows-Service-Manager expecco ALM automatisch neustarten.<br />
<br>- Nun können Sie das expecco ALM Webinterface aufrufen. Es wird eine Seite zum Installieren Ihrer expecco ALM Lizenz angezeigt (Anhang 1). Über "Lizenzdatei installieren" können Sie Ihre Lizenzdatei. auswählen. Nach dem expecco ALM Ihre Lizenzdatei akzeptiert hat, können Sie diese entfernen.<br />
<br />
<br />
== Einbringen von expecco Floating-Lizenzen ==<br />
Der Lizenzservice von expecco ALM vergibt verfügbare expecco Floating-Lizenzen aus einem bestimmten Pool.<br><br />
In diesen zunächst leeren Pool können von eXept erworbene expecco Floating-Lizenzen eingebracht werden.<br />
<br><br><br />
Diese expecco Floating-Lizenzen erhalten Sie als Lizenzdatei(en) üblicherweise per E-Mail.<br><br />
Eine Lizenzdatei kann eine oder mehrere expecco Floating-Lizenzen auch für verschiedene Komponenten (Basissystem, Plugins und Erweiterungen) enthalten.<br><br />
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.<br />
<br><br><br />
expecco Floating-Lizenzen werden immer spezifisch für eine expecco ALM Lizenz erstellt und sind nur mit dieser und deren Dongle nutzbar.<br><br />
Es ist also nicht notwendig solche Lizenzdateien unter Verschluss zu halten oder über eine sichere Verbindung auszutauschen.<br><br />
Allerdings sollten Sie den Dongle sicher aufbewahren bzw. Diebstahl vorbeugen.<br />
<br><br><br />
Zur Einbringen einer expecco Floating-Lizenz öffnen Sie expecco ALM und melden Sie sich an.<br><br />
Jetzt navigieren Sie über die obere Hauptnavigationsleiste zum "Lizenzservice" Modul.<br />
<br><br><br />
Sie befinden sich nun im Lizenzservice und Ihnen wird die Liste der installierten expecco Floating-Lizenzen angezeigt.<br><br />
Wechseln Sie zur Registerkarte "expecco Lizenzdateien".<br><br />
Navigieren Sie mithilfe des Navigationsmenüs auf der linken Seite zu "Hochladen/Upload".<br><br />
Hier können Sie nun durch ein einfaches Hochladen Ihrer expecco Floating-Lizenzen selbige in den Pool einbringen.<br><br />
In der zuvor genannte Liste werden nun die eben hochgeladenen expecco Floating-Lizenzen anzeigt.<br><br />
Diese sind von nun an auch von entfernten expecco Clients abrufbar.<br><br />
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.<br />
<br />
== Lizenz Übersicht ==<br />
Welche einzelnen expecco Floating-Lizenzen verfügbar oder vergeben sind, <br><br />
erfahren Sie indem Sie zur Registerkarte "expecco Lizenzen" wechseln.<br><br />
Insbesondere ist hieraus ersichtlich, welcher Rechner/Benutzer welche expecco Floating-Lizenz aktuell nutzt.<br><br />
Dies ist beispielsweise sinnvoll, wenn ein expecco Client seine Sitzung versehentlich nicht beendet hat,<br><br />
und andere Nutzer eine entsprechende Lizenz benötigen.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Hauptseite&diff=14785Hauptseite2019-02-04T17:02:35Z<p>Bg: </p>
<hr />
<div><h2>expecco</h2><br />
<div style="display:flex; flex-wrap:wrap; padding:0; white-space:nowrap"><br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage.png|30px]]</span><span style="padding:0 1em">Für Einsteiger</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Was ist expecco?|Allgemeine Informationen]]</li><br />
<li>[[Glossary|Begriffserklärung]]</li><br />
<li>[[Tutorials]]</li><br />
<li>[[Testorganisation|Testorganisation]]</li><br />
<li>[[FAQ]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage5.png|30px]]</span><span style="padding:0 1em">Installation</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Installation]]</li><br />
<li>[[Personal Settings|Persönliche&nbsp;Einstellungen]]</li><br />
<li>[[Configuration & Setup|Konfiguration]]</li><br />
<li>[[Anbindung expecco ALM]]</li><br />
<li>[[Spezifische Anpassung]]</li><br />
<li>[[expecco UI]]</li><br />
<li>[[Probleme & Fehler]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage4.png|30px]]</span><span style="padding:0 1em">Werkzeuge</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Debugger]]</li><br />
<li>[[Editoren]]</li><br />
<li>[[API von Elementaraktionen]]</li><br />
<li>[[Standard Libraries/Bibliotheken]]</li><br />
<li>[[Weitere Werkzeuge]]</li><br />
<li>[[Weitere Funktionen]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage6.png|30px]]</span><span style="padding:0 1em">Reportgenerierung</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Report Generation|Reportgenerierung]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Erweiterung_plugin.png|30px]]</span><span style="padding:0 1em">Erweiterungen (Plugins)</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[GUI Testing]]<br />
<ul><br />
<li>[[Java GUI Plugins|Java Swing/SWT UI Testing]]</li><br />
<li>[[Mobile Testing Plugin|Mobile Testing auf Android und iOS]]</li><br />
<li>[[WindowsAutomation Reference 2.0|UI Testing mit der Windows Automation Library]]</li><br />
<li>[[Selenium_WebDriver_Plugin|Web Testing mit Selenium WebDriver]]</li><br />
<li>[[GUI Testing|Weitere GUI Testing Plugins]]</li><br />
</ul><br />
</li><br />
<li>[[Schnittstellen zum SUT]]</li><br />
<li>[[ManualTest]]</li><br />
<li>[[Weitere Plugins]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage3.png|30px]]</span><span style="padding:0 1em">Elemente der Testsuite</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Tree Elements|Tree Elemente]]</li><br />
<li>[[Folder Element|Ordner]]</li><br />
<li>[[Testplan Element]]</li><br />
<li>[[Aktionen/Aktionsblöcke]]</li><br />
<li>[[Datatype Element|Datentyp Element]]</li><br />
<li>[[Inventory Element]]</li><br />
<li>[[Skill Element]]</li><br />
<li>[[Resource Element|Ressource Element]]</li><br />
<li>[[Attachment Element|Anhänge]]</li><br />
<li>[[ReportTemplate Element|Report Templates]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Diagramm.png|30px]]</span><span style="padding:0 1em">Diagramm - Elemente</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[DiagramElements-Step|Schritt]]</li><br />
<li>[[Pins (Ein - Ausgänge)]]</li><br />
<li>[[Code Ausführung]]</li><br />
<li>[[DiagramElements-Connection|Verbindung]]</li><br />
<li>[[DiagramElements-Pin|Pin Beschreibung]]</li><br />
<li>[[DiagramElements-Annotation|Notiz]]</li><br />
<li>[[DiagramElements-Probe|Messfühler]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Refresh.png|30px]]</span><span style="padding:0 1em">Sonstiges</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco Mobile Remote App]]</li><br />
<li>[[Release Notes 18.x]]</li><br />
<li>[[Release Notes 2.x]]</li><br />
<li>[[Release Notes 1.x]]</li><br />
<li>[[Future releases expecco|Zukünftige Releases]]</li><br />
<li>[[Smalltalk]]</li><br />
</ul><br />
</div><br />
</div><br />
<br />
<br />
<h2 style="clear:left">expecco ALM</h2><br />
<br />
<div style="display:flex; flex-wrap:wrap; padding:0; white-space:nowrap"><br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Sonstiges-Info.png|30px]]</span><span style="padding:0 1em">Allgemein</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Was ist expecco ALM?]]</li><br />
<li>[[Anbindung expecco ALM]]</li><br />
<li>[[Rollen und Rechte]]</li><br />
<li>[[Filter]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage5.png|30px]]</span><span style="padding:0 1em">Installation/Einrichten</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco ALM Installation|Installation]]</li><br />
<li>[[expecco ALM Einrichten Vorgehensweise|expecco ALM Einrichten]]</li><br />
<li>[[expecco ALM expecco Patch Service |Patchservice für expecco]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Refresh.png|30px]]</span><span style="padding:0 1em">Sonstiges</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco ALM App]]</li><br />
<li>[[Installation Lizenzserver]]</li><br />
<li>[[expecco ALM Release Notes|Release Notes]]</li><br />
</ul><br />
</div><br />
</div></div>Bghttps://doc.expecco.de/w2.x/index.php?title=Lizenzserver_expecco_ALM&diff=14784Lizenzserver expecco ALM2019-02-04T16:54:58Z<p>Bg: /* Installation */</p>
<hr />
<div>==Übersicht==<br />
<br />
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.<br />
<br />
Lizenzen werden dabei von den expecco-Rechnern vom Lizenzserver angefordert, im Lizenzserver reserviert,<br />
und nach der Sitzung bzw. Testlauf wieder zurückgegeben. Damit können mehr Nutzer (allerdings nicht gleichzeitig) mit expecco arbeiten als Lizenzen erworben wurden.<br />
<br />
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.<br />
<br />
{{SEITENTITEL:Lizenzservice Installation}}<br />
<br />
== Voraussetzungen ==<br />
Wir empfehlen expecco ALM auf einem durchgehend verfügbaren Server mit Windows Server 2008 / Windows 7 oder höher zu installieren. Die Installation auf anderen Betriebssystemen wäre bei Bedarf auch möglich. Ebenso ist die Installation in einer Cloud möglich, dort ist der Betrieb ohne Dongle möglich.<br />
<br />
Damit expecco ALM flüssig arbeiten kann, werden folgende Hardware-Anforderungen an den Server gestellt:<br />
<br>- ein "dezidierter" Prozessor mit mindestens 2 GHz<br />
<br>- mindestens 1 GB Arbeitsspeicher (ausschließlich für expecco ALM)<br />
<br>- mindestens 10 GB Festplattenspeicher (je nach Größe der Daten die expecco ALM verwalten soll)<br />
<br />
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 "Floating" lizenziertem expecco. Bei Problemen bezüglich der Erreichbarkeit wenden Sie sich bitte an Ihren Netzwerkadministrator.<br />
<br />
== Installation ==<br />
<br />
Bitte halten Sie Ihre Lizenzdatei und Ihren Dongle für die Installation von expecco ALM bereit.<br><br />
Für die Installation in der Cloud liefern wir eine Lizenzdatei mit entsprechender Mac-Adresse.<br />
<br />
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 "expecco ALM 1.9.0.1 Setup.exe", wobei die Versionsnummer abweichen kann. Ihren Dongle haben wir per Post an Sie versendet (es sei denn Sie evaluieren expecco ALM).<br />
<br />
Gehen Sie bitte wie folgt vor:<br />
<br>- Laden Sie den expecco ALM Installer auf dem Server, auf dem expecco ALM künftig laufen soll, herunter<br />
<br>- Legen Sie Ihre Lizenzdatei ebenfalls auf dem Server ab<br />
<br>- Verbinden Sie Ihren Dongle mit dem Server (Wenn Sie expecco ALM evaluieren, überspringen Sie diesen Schritt)<br />
<br>- Führen Sie den expecco ALM Installer ("expecco ALM ?.?.?.? Setup.exe") aus<br />
<br />
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 "Konfiguration" den Port ändern (Standard ist Port 8081) oder über die "Logdatei" eventuelle Probleme feststellen.<br />
<br />
[[Datei:InstallAlmLicense.png|mini|Anhang 1]]<br />
Ü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 "Lizenzdatei installieren" 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 "admin" und Kennwort "admin" anmelden.<br />
<br />
Falls eine leere Seite oder eine Fehlerseite angezeigt wird, probieren Sie einen anderen Port aus und/oder schauen Sie in der Logdatei nach Fehlermeldungen.<br />
<br />
== Hinweise zur Lizenzierung ==<br />
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.<br />
<br />
== Lizenz wechseln ==<br />
<br />
[[Datei:ChangeAlmLicense.png|mini|Anhang 2]]<br />
Falls Sie eine aktuelle expecco ALM Version haben, können Sie eine neue Lizenzdatei "expecco ALM Lizenz *.lic" über das Webinterface von expecco ALM einspielen. Betrachten Sie dazu den angehängten Screenshot (Anhang 2).<br />
<br />
Fall Sie eine ältere expecco ALM Version haben, müssen Sie folgendermaßen vorgehen:<br />
<br>- Da Sie expecco ALM später neustarten müssen, tätigen Sie entsprechende Vorsorgemaßnahmen (Bspw. Benutzer abmelden, Datenbank sichern usw.)<br />
<br>- Melden Sie sich auf dem Computer, der expecco ALM betreibt an<br />
<br>- Begeben Sie sich in folgendes Verzeichnis "C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\expecco_ALM" oder falls es sich um ein 32Bit Betriebssystem handelt "C:\Windows\system32\config\systemprofile\AppData\Roaming\expecco_ALM" und löschen Sie die Datei "expecco_ALM.lic"<br />
<br>- Starten Sie den expecco ALM Service über den Windows-Service-Manager neu oder beenden Sie über den Windows-Task-Manager den Prozess "expecco_ALM.exe", in letzterem Fall wird der Windows-Service-Manager expecco ALM automatisch neustarten.<br />
<br>- Nun können Sie das expecco ALM Webinterface aufrufen. Es wird eine Seite zum Installieren Ihrer expecco ALM Lizenz angezeigt (Anhang 1). Über "Lizenzdatei installieren" können Sie Ihre Lizenzdatei. auswählen. Nach dem expecco ALM Ihre Lizenzdatei akzeptiert hat, können Sie diese entfernen.<br />
<br />
<br />
== Einbringen von expecco Floating-Lizenzen ==<br />
Der Lizenzservice von expecco ALM vergibt verfügbare expecco Floating-Lizenzen aus einem bestimmten Pool.<br><br />
In diesen zunächst leeren Pool können von eXept erworbene expecco Floating-Lizenzen eingebracht werden.<br />
<br><br><br />
Diese expecco Floating-Lizenzen erhalten Sie als Lizenzdatei(en) üblicherweise per E-Mail.<br><br />
Eine Lizenzdatei kann eine oder mehrere expecco Floating-Lizenzen auch für verschiedene Komponenten (Basissystem, Plugins und Erweiterungen) enthalten.<br><br />
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.<br />
<br><br><br />
expecco Floating-Lizenzen werden immer spezifisch für eine expecco ALM Lizenz erstellt und sind nur mit dieser und deren Dongle nutzbar.<br><br />
Es ist also nicht notwendig solche Lizenzdateien unter Verschluss zu halten oder über eine sichere Verbindung auszutauschen.<br><br />
Allerdings sollten Sie den Dongle sicher aufbewahren bzw. Diebstahl vorbeugen.<br />
<br><br><br />
Zur Einbringen einer expecco Floating-Lizenz öffnen Sie expecco ALM und melden Sie sich an.<br><br />
Jetzt navigieren Sie über die obere Hauptnavigationsleiste zum "Lizenzservice" Modul.<br />
<br><br><br />
Sie befinden sich nun im Lizenzservice und Ihnen wird die Liste der installierten expecco Floating-Lizenzen angezeigt.<br><br />
Wechseln Sie zur Registerkarte "expecco Lizenzdateien".<br><br />
Navigieren Sie mithilfe des Navigationsmenüs auf der linken Seite zu "Hochladen/Upload".<br><br />
Hier können Sie nun durch ein einfaches Hochladen Ihrer expecco Floating-Lizenzen selbige in den Pool einbringen.<br><br />
In der zuvor genannte Liste werden nun die eben hochgeladenen expecco Floating-Lizenzen anzeigt.<br><br />
Diese sind von nun an auch von entfernten expecco Clients abrufbar.<br><br />
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.<br />
<br />
== Lizenz Übersicht ==<br />
Welche einzelnen expecco Floating-Lizenzen verfügbar oder vergeben sind, <br><br />
erfahren Sie indem Sie zur Registerkarte "expecco Lizenzen" wechseln.<br><br />
Insbesondere ist hieraus ersichtlich, welcher Rechner/Benutzer welche expecco Floating-Lizenz aktuell nutzt.<br><br />
Dies ist beispielsweise sinnvoll, wenn ein expecco Client seine Sitzung versehentlich nicht beendet hat,<br><br />
und andere Nutzer eine entsprechende Lizenz benötigen.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Lizenzserver_expecco_ALM&diff=14783Lizenzserver expecco ALM2019-02-04T16:52:59Z<p>Bg: /* Voraussetzungen */</p>
<hr />
<div>==Übersicht==<br />
<br />
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.<br />
<br />
Lizenzen werden dabei von den expecco-Rechnern vom Lizenzserver angefordert, im Lizenzserver reserviert,<br />
und nach der Sitzung bzw. Testlauf wieder zurückgegeben. Damit können mehr Nutzer (allerdings nicht gleichzeitig) mit expecco arbeiten als Lizenzen erworben wurden.<br />
<br />
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.<br />
<br />
{{SEITENTITEL:Lizenzservice Installation}}<br />
<br />
== Voraussetzungen ==<br />
Wir empfehlen expecco ALM auf einem durchgehend verfügbaren Server mit Windows Server 2008 / Windows 7 oder höher zu installieren. Die Installation auf anderen Betriebssystemen wäre bei Bedarf auch möglich. Ebenso ist die Installation in einer Cloud möglich, dort ist der Betrieb ohne Dongle möglich.<br />
<br />
Damit expecco ALM flüssig arbeiten kann, werden folgende Hardware-Anforderungen an den Server gestellt:<br />
<br>- ein "dezidierter" Prozessor mit mindestens 2 GHz<br />
<br>- mindestens 1 GB Arbeitsspeicher (ausschließlich für expecco ALM)<br />
<br>- mindestens 10 GB Festplattenspeicher (je nach Größe der Daten die expecco ALM verwalten soll)<br />
<br />
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 "Floating" lizenziertem expecco. Bei Problemen bezüglich der Erreichbarkeit wenden Sie sich bitte an Ihren Netzwerkadministrator.<br />
<br />
== Installation ==<br />
<br />
Bitte halten Sie Ihre Lizenzdatei und Ihren Dongle für die Installation von expecco ALM bereit.<br />
<br />
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 "expecco ALM 1.9.0.1 Setup.exe", wobei die Versionsnummer abweichen kann. Ihren Dongle haben wir per Post an Sie versendet (es sei denn Sie evaluieren expecco ALM).<br />
<br />
Gehen Sie bitte wie folgt vor:<br />
<br>- Laden Sie den expecco ALM Installer auf dem Server, auf dem expecco ALM künftig laufen soll, herunter<br />
<br>- Legen Sie Ihre Lizenzdatei ebenfalls auf dem Server ab<br />
<br>- Verbinden Sie Ihren Dongle mit dem Server (Wenn Sie expecco ALM evaluieren, überspringen Sie diesen Schritt)<br />
<br>- Führen Sie den expecco ALM Installer ("expecco ALM ?.?.?.? Setup.exe") aus<br />
<br />
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 "Konfiguration" den Port ändern (Standard ist Port 8081) oder über die "Logdatei" eventuelle Probleme feststellen.<br />
<br />
[[Datei:InstallAlmLicense.png|mini|Anhang 1]]<br />
Ü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 "Lizenzdatei installieren" 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 "admin" und Kennwort "admin" anmelden.<br />
<br />
Falls eine leere Seite oder eine Fehlerseite angezeigt wird, probieren Sie einen anderen Port aus und/oder schauen Sie in der Logdatei nach Fehlermeldungen.<br />
<br />
== Hinweise zur Lizenzierung ==<br />
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.<br />
<br />
== Lizenz wechseln ==<br />
<br />
[[Datei:ChangeAlmLicense.png|mini|Anhang 2]]<br />
Falls Sie eine aktuelle expecco ALM Version haben, können Sie eine neue Lizenzdatei "expecco ALM Lizenz *.lic" über das Webinterface von expecco ALM einspielen. Betrachten Sie dazu den angehängten Screenshot (Anhang 2).<br />
<br />
Fall Sie eine ältere expecco ALM Version haben, müssen Sie folgendermaßen vorgehen:<br />
<br>- Da Sie expecco ALM später neustarten müssen, tätigen Sie entsprechende Vorsorgemaßnahmen (Bspw. Benutzer abmelden, Datenbank sichern usw.)<br />
<br>- Melden Sie sich auf dem Computer, der expecco ALM betreibt an<br />
<br>- Begeben Sie sich in folgendes Verzeichnis "C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\expecco_ALM" oder falls es sich um ein 32Bit Betriebssystem handelt "C:\Windows\system32\config\systemprofile\AppData\Roaming\expecco_ALM" und löschen Sie die Datei "expecco_ALM.lic"<br />
<br>- Starten Sie den expecco ALM Service über den Windows-Service-Manager neu oder beenden Sie über den Windows-Task-Manager den Prozess "expecco_ALM.exe", in letzterem Fall wird der Windows-Service-Manager expecco ALM automatisch neustarten.<br />
<br>- Nun können Sie das expecco ALM Webinterface aufrufen. Es wird eine Seite zum Installieren Ihrer expecco ALM Lizenz angezeigt (Anhang 1). Über "Lizenzdatei installieren" können Sie Ihre Lizenzdatei. auswählen. Nach dem expecco ALM Ihre Lizenzdatei akzeptiert hat, können Sie diese entfernen.<br />
<br />
<br />
== Einbringen von expecco Floating-Lizenzen ==<br />
Der Lizenzservice von expecco ALM vergibt verfügbare expecco Floating-Lizenzen aus einem bestimmten Pool.<br><br />
In diesen zunächst leeren Pool können von eXept erworbene expecco Floating-Lizenzen eingebracht werden.<br />
<br><br><br />
Diese expecco Floating-Lizenzen erhalten Sie als Lizenzdatei(en) üblicherweise per E-Mail.<br><br />
Eine Lizenzdatei kann eine oder mehrere expecco Floating-Lizenzen auch für verschiedene Komponenten (Basissystem, Plugins und Erweiterungen) enthalten.<br><br />
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.<br />
<br><br><br />
expecco Floating-Lizenzen werden immer spezifisch für eine expecco ALM Lizenz erstellt und sind nur mit dieser und deren Dongle nutzbar.<br><br />
Es ist also nicht notwendig solche Lizenzdateien unter Verschluss zu halten oder über eine sichere Verbindung auszutauschen.<br><br />
Allerdings sollten Sie den Dongle sicher aufbewahren bzw. Diebstahl vorbeugen.<br />
<br><br><br />
Zur Einbringen einer expecco Floating-Lizenz öffnen Sie expecco ALM und melden Sie sich an.<br><br />
Jetzt navigieren Sie über die obere Hauptnavigationsleiste zum "Lizenzservice" Modul.<br />
<br><br><br />
Sie befinden sich nun im Lizenzservice und Ihnen wird die Liste der installierten expecco Floating-Lizenzen angezeigt.<br><br />
Wechseln Sie zur Registerkarte "expecco Lizenzdateien".<br><br />
Navigieren Sie mithilfe des Navigationsmenüs auf der linken Seite zu "Hochladen/Upload".<br><br />
Hier können Sie nun durch ein einfaches Hochladen Ihrer expecco Floating-Lizenzen selbige in den Pool einbringen.<br><br />
In der zuvor genannte Liste werden nun die eben hochgeladenen expecco Floating-Lizenzen anzeigt.<br><br />
Diese sind von nun an auch von entfernten expecco Clients abrufbar.<br><br />
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.<br />
<br />
== Lizenz Übersicht ==<br />
Welche einzelnen expecco Floating-Lizenzen verfügbar oder vergeben sind, <br><br />
erfahren Sie indem Sie zur Registerkarte "expecco Lizenzen" wechseln.<br><br />
Insbesondere ist hieraus ersichtlich, welcher Rechner/Benutzer welche expecco Floating-Lizenz aktuell nutzt.<br><br />
Dies ist beispielsweise sinnvoll, wenn ein expecco Client seine Sitzung versehentlich nicht beendet hat,<br><br />
und andere Nutzer eine entsprechende Lizenz benötigen.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Filter&diff=14779Filter2019-01-31T15:53:51Z<p>Bg: </p>
<hr />
<div>==Filter==<br />
Mit einem Filter kann man bestimmte Artefakte (Anforderungen, Fehler, Aktionen usw.) aus einer Liste je nach Wert eines oder mehrerer Attribute ein- bzw ausblenden lassen. Jede Liste speichert den zuletzt verwendeten Filter. <br />
<br />
1. Standardfilter<br><br />
Filter, die beim ersten Betrachten einer Liste bereits auf diese angewandt sind.<br />
Typischerweise sind dies Filter, wie zum Beispiel (ist aktiv, in Ihrer Verantwortlichkeit, usw.).<br />
Man kann diese Filter über die Auswahlbox jederzeit erneut anwenden. <br />
<br />
2. Vordefinierte Filter<br><br />
Filter, die in der Auswahlbox immer verfügbar sind (wie z.B.: nur erfolgreich Läufe, ist neuster Lauf, usw.).<br />
Diese sollen wenige aber häufig genuzte Filter darstellen. <br />
Dies kann zum Beispiel der Filter "geschlossen innerhalb der letzten Woche" sein.<br />
Dieser macht bei den Fehlern Sinn und würde sicherlich häufiger benutzt werden.<br />
Für jede Liste sollte es soviele vordefinierte Filter geben,<br />
dass ein normalen Benutzer keinen benutzerspezifischen Filter anlegen braucht.<br />
<br />
3. Benutzerspezifischer Filter<br><br />
Filter, die der Benutzer unter seinem Profil mit einem eigen definierten Namen gespeichert hat.<br />
Diese Filter kann man ebenfalls über die Auswahlbox anwählen. <br />
Sie erscheinen in allen Listen, die diesen Filter unterstützen können.<br />
Zum Beispiel kann ein Filter wie "In Ihrer Verantwortung" auf fast alle Artefaktlisten angewandt werden.<br />
Jedoch ein Filter wie "Benutzer mit aktiver Sitzung" macht natürlich nur bei Listen mit Benutzern Sinn.<br />
<br />
4. Temporärer Filter<br><br />
Filter, die der Benutzer selbst definiert hat, aber nicht gespeichert hat.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Filter&diff=14778Filter2019-01-31T15:53:22Z<p>Bg: Die Seite wurde neu angelegt: „==Filter== Mit einem Filter kann man bestimmte Artefakte (Anforderungen, Fehler, Aktionen usw.) aus einer Liste je nach Wert eines oder mehrerer Attribute ein-…“</p>
<hr />
<div>==Filter==<br />
Mit einem Filter kann man bestimmte Artefakte (Anforderungen, Fehler, Aktionen usw.) aus einer Liste je nach Wert eines oder mehrerer Attribute ein- bzw ausblenden lassen. Jede Liste speichert den zuletzt verwendeten Filter. <br />
<br />
1. Standardfilter<br />
Filter, die beim ersten Betrachten einer Liste bereits auf diese angewandt sind.<br />
Typischerweise sind dies Filter, wie zum Beispiel (ist aktiv, in Ihrer Verantwortlichkeit, usw.).<br />
Man kann diese Filter über die Auswahlbox jederzeit erneut anwenden. <br />
<br />
2. Vordefinierte Filter<br />
Filter, die in der Auswahlbox immer verfügbar sind (wie z.B.: nur erfolgreich Läufe, ist neuster Lauf, usw.).<br />
Diese sollen wenige aber häufig genuzte Filter darstellen. <br />
Dies kann zum Beispiel der Filter "geschlossen innerhalb der letzten Woche" sein.<br />
Dieser macht bei den Fehlern Sinn und würde sicherlich häufiger benutzt werden.<br />
Für jede Liste sollte es soviele vordefinierte Filter geben,<br />
dass ein normalen Benutzer keinen benutzerspezifischen Filter anlegen braucht.<br />
<br />
3. Benutzerspezifischer Filter<br />
Filter, die der Benutzer unter seinem Profil mit einem eigen definierten Namen gespeichert hat.<br />
Diese Filter kann man ebenfalls über die Auswahlbox anwählen. <br />
Sie erscheinen in allen Listen, die diesen Filter unterstützen können.<br />
Zum Beispiel kann ein Filter wie "In Ihrer Verantwortung" auf fast alle Artefaktlisten angewandt werden.<br />
Jedoch ein Filter wie "Benutzer mit aktiver Sitzung" macht natürlich nur bei Listen mit Benutzern Sinn.<br />
<br />
4. Temporärer Filter<br />
Filter, die der Benutzer selbst definiert hat, aber nicht gespeichert hat.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Hauptseite&diff=14777Hauptseite2019-01-31T15:45:54Z<p>Bg: </p>
<hr />
<div><h2>expecco</h2><br />
<div style="display:flex; flex-wrap:wrap; padding:0; white-space:nowrap"><br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage.png|30px]]</span><span style="padding:0 1em">Für Einsteiger</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Was ist expecco?|Allgemeine Informationen]]</li><br />
<li>[[Glossary|Begriffserklärung]]</li><br />
<li>[[Tutorials]]</li><br />
<li>[[Testorganisation|Testorganisation]]</li><br />
<li>[[FAQ]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage5.png|30px]]</span><span style="padding:0 1em">Installation</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Installation]]</li><br />
<li>[[Personal Settings|Persönliche&nbsp;Einstellungen]]</li><br />
<li>[[Configuration & Setup|Konfiguration]]</li><br />
<li>[[Anbindung expecco ALM]]</li><br />
<li>[[Spezifische Anpassung]]</li><br />
<li>[[expecco UI]]</li><br />
<li>[[Probleme & Fehler]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage4.png|30px]]</span><span style="padding:0 1em">Werkzeuge</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Debugger]]</li><br />
<li>[[Editoren]]</li><br />
<li>[[API von Elementaraktionen]]</li><br />
<li>[[Standard Libraries/Bibliotheken]]</li><br />
<li>[[Weitere Werkzeuge]]</li><br />
<li>[[Weitere Funktionen]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage6.png|30px]]</span><span style="padding:0 1em">Reportgenerierung</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Report Generation|Reportgenerierung]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Erweiterung_plugin.png|30px]]</span><span style="padding:0 1em">Erweiterungen (Plugins)</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[GUI Testing]]<br />
<ul><br />
<li>[[Java GUI Plugins|Java Swing/SWT UI Testing]]</li><br />
<li>[[Mobile Testing Plugin|Mobile Testing auf Android und iOS]]</li><br />
<li>[[WindowsAutomation Reference 2.0|UI Testing mit der Windows Automation Library]]</li><br />
<li>[[Selenium_WebDriver_Plugin|Web Testing mit Selenium WebDriver]]</li><br />
<li>[[GUI Testing|Weitere GUI Testing Plugins]]</li><br />
</ul><br />
</li><br />
<li>[[Schnittstellen zum SUT]]</li><br />
<li>[[ManualTest]]</li><br />
<li>[[Weitere Plugins]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage3.png|30px]]</span><span style="padding:0 1em">Elemente der Testsuite</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Tree Elements|Tree Elemente]]</li><br />
<li>[[Folder Element|Ordner]]</li><br />
<li>[[Testplan Element]]</li><br />
<li>[[Aktionen/Aktionsblöcke]]</li><br />
<li>[[Datatype Element|Datentyp Element]]</li><br />
<li>[[Inventory Element]]</li><br />
<li>[[Skill Element]]</li><br />
<li>[[Resource Element|Ressource Element]]</li><br />
<li>[[Attachment Element|Anhänge]]</li><br />
<li>[[ReportTemplate Element|Report Templates]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Diagramm.png|30px]]</span><span style="padding:0 1em">Diagramm - Elemente</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[DiagramElements-Step|Schritt]]</li><br />
<li>[[Pins (Ein - Ausgänge)]]</li><br />
<li>[[Code Ausführung]]</li><br />
<li>[[DiagramElements-Connection|Verbindung]]</li><br />
<li>[[DiagramElements-Pin|Pin Beschreibung]]</li><br />
<li>[[DiagramElements-Annotation|Notiz]]</li><br />
<li>[[DiagramElements-Probe|Messfühler]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Refresh.png|30px]]</span><span style="padding:0 1em">Sonstiges</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco Mobile Remote App]]</li><br />
<li>[[Release Notes 18.x]]</li><br />
<li>[[Release Notes 2.x]]</li><br />
<li>[[Release Notes 1.x]]</li><br />
<li>[[Future releases expecco|Zukünftige Releases]]</li><br />
<li>[[Smalltalk]]</li><br />
</ul><br />
</div><br />
</div><br />
<br />
<br />
<h2 style="clear:left">expecco ALM</h2><br />
<br />
<div style="display:flex; flex-wrap:wrap; padding:0; white-space:nowrap"><br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Sonstiges-Info.png|30px]]</span><span style="padding:0 1em">Allgemein</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Was ist expecco ALM?]]</li><br />
<li>[[Anbindung expecco ALM]]</li><br />
<li>[[Rollen und Rechte]]</li><br />
<li>[[Filter]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage5.png|30px]]</span><span style="padding:0 1em">Installation/Einrichten</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco ALM Installation|Installation]]</li><br />
<li>[[expecco ALM Einrichten Vorgehensweise|expecco ALM Einrichten]]</li><br />
<li>[[expecco ALM expecco Patch Service |Patchservice für expecco]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Refresh.png|30px]]</span><span style="padding:0 1em">Sonstiges</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco ALM App]]</li><br />
<li>[[Lizenzserver expecco ALM]]</li><br />
<li>[[expecco ALM Release Notes|Release Notes]]</li><br />
</ul><br />
</div><br />
</div></div>Bghttps://doc.expecco.de/w2.x/index.php?title=Rollen_und_Rechte&diff=14776Rollen und Rechte2019-01-31T15:42:13Z<p>Bg: </p>
<hr />
<div>==Rechte==<br />
Über Rechte wird festgelegt, was ein Benutzer sehen, erstellen, bearbeiten, löschen oder verändern darf.<br><br />
Es gibt 3 Rechte-Typen:<br><br />
<br><br />
1. Globale Rechte<br />
- wirken sich global auf expecco ALM aus (z.B.: E-Mail Einstellungen)<br />
- zum Verwalten projektunabhängiger Artfakte (z.B.: Benutzer anlegen/bearbeiten/löschen)<br />
- zum Vergeben von administrativen Rechten (z.B.: Benutzer darf sein Passwort ändern)<br />
- zum Vergeben von globalen Rechten<br />
<br />
Jedem Benutzer können mehrere globale Rechte direkt zugewiesen werden.<br />
Siehe Organisation/Benutzer/Rechte<br />
<br />
Was eines dieser Rechte alles kann, wird unter folgender Navigation definiert:<br />
Siehe Einstellungen/System/Zugriff auf expecco ALM<br />
<br />
2. Projekt Rechte<br />
- wirken sich nur innerhalb eines Projektes aus<br />
- bestimmen ob ein Beutzer projektspezifische Artefakte verwalten darf (z.B.: Fehler anlegen/bearbeiten/löschen)<br />
<br />
Diese Rechten werden einer Rolle zugewiesen.<br />
Siehe Organisation/Rollen/Rechte<br />
<br />
Was eines dieser Rechte alles kann, wird unter folgender Navigation definiert:<br />
Siehe Einstellungen/System/Zugriff innerhalb Projekten<br />
<br />
3. Workflow Rechte<br />
- wirken sich nur innerhalb eines Projektes und eines bestimmten Artefakt-Zustands aus<br />
- bestimmen welche Felder unter welchem Zustand von wem verändert/gesehen werden dürfen<br />
<br />
Diese Rechten sind bis jetzt als statische Rechte vorgesehen, <br />
wie z.B.: IsOwner-Recht / IsResponsible-Recht / IsUserWhoHasSthToDo-Recht<br />
Vorgesehen ist aber auch, dass man diese Rechte einem Benutzer und/oder einer Rolle zugeweisen kann<br />
<br />
Was die einzelnen Rechte ausmacht, wird unter folgender Navigation definiert:<br />
Siehe Einstellungen/Zustandsänderungen<br />
<br />
Diese Zustandsänderungen werden einem Projekt zugwiesen.<br />
Siehe Projekte/Projekte/Workflow</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Rollen_und_Rechte&diff=14775Rollen und Rechte2019-01-31T15:39:37Z<p>Bg: </p>
<hr />
<div>==Rechte==<br />
Über Rechte wird festgelegt, was ein Benutzer sehen, erstellen, bearbeiten, löschen oder verändern darf.<br><br />
Es gibt 3 Rechte-Typen:<br><br />
<br><br />
1. Globale Rechte<br />
- wirken sich global auf expeccoNET aus (z.B.: E-Mail Einstellungen)<br />
- zum Verwalten projektunabhängiger Artfakte (z.B.: Benutzer anlegen/bearbeiten/löschen)<br />
- zum Vergeben von administrativen Rechten (z.B.: Benutzer darf sein Passwort ändern)<br />
- zum Vergeben von globalen Rechten (eben diese Rechte hier)<br />
<br />
Jedem Benutzer können mehrere globale Rechte direkt zugewiesen werden.<br />
Siehe Organisation/Benutzer/Rechte<br />
<br />
Was eines dieser Rechte alles kann, wird unter folgender Navigation definiert:<br />
Siehe Einstellungen/System/Zugriff auf expeccoNET</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Rollen_und_Rechte&diff=14774Rollen und Rechte2019-01-31T15:39:01Z<p>Bg: /* Rechte */</p>
<hr />
<div>==Rechte==<br />
Über Rechte wird festgelegt, was ein Benutzer sehen, erstellen, bearbeiten, löschen oder verändern darf.<br><br />
Es gibt 3 Rechte-Typen:<br><br />
<br><br />
1. Globale Rechte<br />
<br><br />
<br><br />
- wirken sich global auf expecco ALM aus (z.B.: E-Mail Einstellungen)<br />
- zum Verwalten projektunabhängiger Artfakte (z.B.: Benutzer anlegen/bearbeiten/löschen)<br />
- zum Vergeben von administrativen Rechten (z.B.: Benutzer darf sein Passwort ändern)<br />
- zum Vergeben von globalen Rechten<br />
<br />
Jedem Benutzer können mehrere globale Rechte direkt zugewiesen werden.<br />
Siehe Organisation/Benutzer/Rechte<br />
<br />
Was eines dieser Rechte alles kann, wird unter folgender Navigation definiert:<br />
Siehe Einstellungen/System/Zugriff auf expecco ALM</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Rollen_und_Rechte&diff=14773Rollen und Rechte2019-01-31T15:38:48Z<p>Bg: </p>
<hr />
<div>==Rechte==<br />
Über Rechte wird festgelegt, was ein Benutzer sehen, erstellen, bearbeiten, löschen oder verändern darf.<br><br />
Es gibt 3 Rechte-Typen:<br><br />
<br><br />
1. Globale Rechte<br />
<br><br />
<br><br />
- wirken sich global auf expecco ALM aus (z.B.: E-Mail Einstellungen)<br />
- zum Verwalten projektunabhängiger Artfakte (z.B.: Benutzer anlegen/bearbeiten/löschen)<br />
- zum Vergeben von administrativen Rechten (z.B.: Benutzer darf sein Passwort ändern)<br />
- zum Vergeben von globalen Rechten<br />
<br />
Jedem Benutzer können mehrere globale Rechte direkt zugewiesen werden.<br />
Siehe Organisation/Benutzer/Rechte<br />
<br />
Was eines dieser Rechte alles kann, wird unter folgender Navigation definiert:<br />
Siehe Einstellungen/System/Zugriff auf expecco ALM<br />
<br><br />
<br></div>Bghttps://doc.expecco.de/w2.x/index.php?title=Rollen_und_Rechte&diff=14772Rollen und Rechte2019-01-31T15:38:35Z<p>Bg: </p>
<hr />
<div>==Rechte==<br />
Über Rechte wird festgelegt, was ein Benutzer sehen, erstellen, bearbeiten, löschen oder verändern darf.<br><br />
Es gibt 3 Rechte-Typen:<br><br />
<br><br />
1. Globale Rechte<br />
<br><br />
<br><br />
- wirken sich global auf expecco ALM aus (z.B.: E-Mail Einstellungen)<br />
- zum Verwalten projektunabhängiger Artfakte (z.B.: Benutzer anlegen/bearbeiten/löschen)<br />
- zum Vergeben von administrativen Rechten (z.B.: Benutzer darf sein Passwort ändern)<br />
- zum Vergeben von globalen Rechten<br />
<br />
Jedem Benutzer können mehrere globale Rechte direkt zugewiesen werden.<br><br />
Siehe Organisation/Benutzer/Rechte<br />
<br />
Was eines dieser Rechte alles kann, wird unter folgender Navigation definiert:<br><br />
Siehe Einstellungen/System/Zugriff auf expecco ALM<br />
<br><br />
<br></div>Bghttps://doc.expecco.de/w2.x/index.php?title=Rollen_und_Rechte&diff=14771Rollen und Rechte2019-01-31T15:38:04Z<p>Bg: Die Seite wurde neu angelegt: „==Rechte== Über Rechte wird festgelegt, was ein Benutzer sehen, erstellen, bearbeiten, löschen oder verändern darf.<br> Es gibt 3 Rechte-Typen:<br> <br> 1. …“</p>
<hr />
<div>==Rechte==<br />
Über Rechte wird festgelegt, was ein Benutzer sehen, erstellen, bearbeiten, löschen oder verändern darf.<br><br />
Es gibt 3 Rechte-Typen:<br><br />
<br><br />
1. Globale Rechte<br />
<br><br />
<br><br />
- wirken sich global auf expecco ALM aus (z.B.: E-Mail Einstellungen)<br />
- zum Verwalten projektunabhängiger Artfakte (z.B.: Benutzer anlegen/bearbeiten/löschen)<br />
- zum Vergeben von administrativen Rechten (z.B.: Benutzer darf sein Passwort ändern)<br />
- zum Vergeben von globalen Rechten<br />
<br><br />
Jedem Benutzer können mehrere globale Rechte direkt zugewiesen werden.<br><br />
Siehe Organisation/Benutzer/Rechte<br />
<br><br />
Was eines dieser Rechte alles kann, wird unter folgender Navigation definiert:<br><br />
Siehe Einstellungen/System/Zugriff auf expecco ALM<br />
<br><br />
<br></div>Bghttps://doc.expecco.de/w2.x/index.php?title=Hauptseite&diff=14770Hauptseite2019-01-31T15:30:50Z<p>Bg: </p>
<hr />
<div><h2>expecco</h2><br />
<div style="display:flex; flex-wrap:wrap; padding:0; white-space:nowrap"><br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage.png|30px]]</span><span style="padding:0 1em">Für Einsteiger</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Was ist expecco?|Allgemeine Informationen]]</li><br />
<li>[[Glossary|Begriffserklärung]]</li><br />
<li>[[Tutorials]]</li><br />
<li>[[Testorganisation|Testorganisation]]</li><br />
<li>[[FAQ]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage5.png|30px]]</span><span style="padding:0 1em">Installation</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Installation]]</li><br />
<li>[[Personal Settings|Persönliche&nbsp;Einstellungen]]</li><br />
<li>[[Configuration & Setup|Konfiguration]]</li><br />
<li>[[Anbindung expecco ALM]]</li><br />
<li>[[Spezifische Anpassung]]</li><br />
<li>[[expecco UI]]</li><br />
<li>[[Probleme & Fehler]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage4.png|30px]]</span><span style="padding:0 1em">Werkzeuge</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Debugger]]</li><br />
<li>[[Editoren]]</li><br />
<li>[[API von Elementaraktionen]]</li><br />
<li>[[Standard Libraries/Bibliotheken]]</li><br />
<li>[[Weitere Werkzeuge]]</li><br />
<li>[[Weitere Funktionen]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage6.png|30px]]</span><span style="padding:0 1em">Reportgenerierung</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Report Generation|Reportgenerierung]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Erweiterung_plugin.png|30px]]</span><span style="padding:0 1em">Erweiterungen (Plugins)</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[GUI Testing]]<br />
<ul><br />
<li>[[Java GUI Plugins|Java Swing/SWT UI Testing]]</li><br />
<li>[[Mobile Testing Plugin|Mobile Testing auf Android und iOS]]</li><br />
<li>[[WindowsAutomation Reference 2.0|UI Testing mit der Windows Automation Library]]</li><br />
<li>[[Selenium_WebDriver_Plugin|Web Testing mit Selenium WebDriver]]</li><br />
<li>[[GUI Testing|Weitere GUI Testing Plugins]]</li><br />
</ul><br />
</li><br />
<li>[[Schnittstellen zum SUT]]</li><br />
<li>[[ManualTest]]</li><br />
<li>[[Weitere Plugins]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage3.png|30px]]</span><span style="padding:0 1em">Elemente der Testsuite</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Tree Elements|Tree Elemente]]</li><br />
<li>[[Folder Element|Ordner]]</li><br />
<li>[[Testplan Element]]</li><br />
<li>[[Aktionen/Aktionsblöcke]]</li><br />
<li>[[Datatype Element|Datentyp Element]]</li><br />
<li>[[Inventory Element]]</li><br />
<li>[[Skill Element]]</li><br />
<li>[[Resource Element|Ressource Element]]</li><br />
<li>[[Attachment Element|Anhänge]]</li><br />
<li>[[ReportTemplate Element|Report Templates]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Diagramm.png|30px]]</span><span style="padding:0 1em">Diagramm - Elemente</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[DiagramElements-Step|Schritt]]</li><br />
<li>[[Pins (Ein - Ausgänge)]]</li><br />
<li>[[Code Ausführung]]</li><br />
<li>[[DiagramElements-Connection|Verbindung]]</li><br />
<li>[[DiagramElements-Pin|Pin Beschreibung]]</li><br />
<li>[[DiagramElements-Annotation|Notiz]]</li><br />
<li>[[DiagramElements-Probe|Messfühler]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Refresh.png|30px]]</span><span style="padding:0 1em">Sonstiges</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco Mobile Remote App]]</li><br />
<li>[[Release Notes 18.x]]</li><br />
<li>[[Release Notes 2.x]]</li><br />
<li>[[Release Notes 1.x]]</li><br />
<li>[[Future releases expecco|Zukünftige Releases]]</li><br />
<li>[[Smalltalk]]</li><br />
</ul><br />
</div><br />
</div><br />
<br />
<br />
<h2 style="clear:left">expecco ALM</h2><br />
<br />
<div style="display:flex; flex-wrap:wrap; padding:0; white-space:nowrap"><br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Sonstiges-Info.png|30px]]</span><span style="padding:0 1em">Allgemein</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[Was ist expecco ALM?]]</li><br />
<li>[[Anbindung expecco ALM]]</li><br />
<li>[[Rollen und Rechte]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Icon_Landingpage5.png|30px]]</span><span style="padding:0 1em">Installation/Einrichten</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco ALM Installation|Installation]]</li><br />
<li>[[expecco ALM Einrichten Vorgehensweise|expecco ALM Einrichten]]</li><br />
<li>[[expecco ALM expecco Patch Service |Patchservice für expecco]]</li><br />
</ul><br />
</div><br />
<br />
<div style="background-color:#ecf0fe; margin:12px 8px 0 0; flex:1 0 auto"><br />
<br />
<span style="padding-left:0.6em">[[Datei:Refresh.png|30px]]</span><span style="padding:0 1em">Sonstiges</span><hr><br />
<br />
<ul style="font-size:0.8em; padding:0.7em 1em 1em 2.4em"><br />
<li>[[expecco ALM App]]</li><br />
<li>[[Lizenzserver expecco ALM]]</li><br />
<li>[[expecco ALM Release Notes|Release Notes]]</li><br />
</ul><br />
</div><br />
</div></div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14769Expecco ALM Einrichten Vorgehensweise2019-01-31T15:28:09Z<p>Bg: /* Orte */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
==Personen==<br />
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System.<br><br />
Das Kennwort kann jederzeit über "Einstellungen/Kennwort" geändert werden.<br><br />
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.<br />
<br><br><br />
Die Rechte der Benutzer werden unter "Gruppe" vergeben.<br />
<br />
==Gruppen==<br />
Hier werden Gruppen angelegt und erhalten einen Namen und einen Gruppenleiter.<br><br />
Im Kasten "Mitglieder" werden Ihnen alle Personen angezeigt. Wählen Sie die Gruppenmitglieder aus<br><br />
und verschieben sie nacheinander mit dem Pfeil nach rechts, es öffnet sich ein Kasten für die Gruppenmitglieder.<br><br />
Mit einem Klick auf den Namen aktivieren Sie die rechts angezeigten Rollen und können nun so jeder Person<br><br />
ihre Rolle zuordnen.<br><br />
Eine Person kann eine oder mehrere Rollen einnehmen: Projektverantwortlicher, Entwickler, Kunde, Tester, etc.<br><br />
Die Rollen eines Benutzers können für verschiedene Projekte unterschiedlich sein.<br><br />
Bei Bedarf können unter "Organisation/Rollen/Anlegen" eigene Rollen spezifiziert werden.<br />
<br />
==Kunden==<br />
Bei Kunden Anlegen geben Sie auch einen Verantwortlichen aus Ihrer Firma und den Ansprechpartner "Kontakt" beim Kunden an.<br><br />
In dieser Maske kann ein Servicelevel angegeben und der Kontostand eingetragen werden.<br />
Ist der Kunde angelegt, wird die Menüleiste links aktiviert. Dort finden Sie:<br />
Liste: die Liste aller Kunden. Die Auswahl der angezeigten Spalten können Sie in dem karierten Fenster (neben dem Filter) auswählen.<br><br />
Details: zum Kunden <br><br />
Supportpunkte: in der Übersicht können Sie Supportpunkte für einzelen Projekte reservieren.<br><br />
In der Liste werden die verbuchten Supportpunkte angezeigt.<br><br />
Anhänge: hier werden alle hochgeladenen Anhänge aufgelistet.<br><br />
Interessenten: hier bestimmen Sie, bei welchen Änderungen Sie benachrichtigt werden möchten.<br><br />
Referenzen: Übersicht über alle Artefakte des Kunden - Benutzer, Projekte, Komponenten, Arbeitspakete, Aktionen, Fehler, Anforderungen<br><br />
Historie: über alle Einträge<br />
<br />
==Orte==<br />
Anlegen der Orte für Besprechungen, Standorte für Geräte und Rechner.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14768Expecco ALM Einrichten Vorgehensweise2019-01-31T15:25:09Z<p>Bg: /* Kunden */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
==Personen==<br />
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System.<br><br />
Das Kennwort kann jederzeit über "Einstellungen/Kennwort" geändert werden.<br><br />
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.<br />
<br><br><br />
Die Rechte der Benutzer werden unter "Gruppe" vergeben.<br />
<br />
==Gruppen==<br />
Hier werden Gruppen angelegt und erhalten einen Namen und einen Gruppenleiter.<br><br />
Im Kasten "Mitglieder" werden Ihnen alle Personen angezeigt. Wählen Sie die Gruppenmitglieder aus<br><br />
und verschieben sie nacheinander mit dem Pfeil nach rechts, es öffnet sich ein Kasten für die Gruppenmitglieder.<br><br />
Mit einem Klick auf den Namen aktivieren Sie die rechts angezeigten Rollen und können nun so jeder Person<br><br />
ihre Rolle zuordnen.<br><br />
Eine Person kann eine oder mehrere Rollen einnehmen: Projektverantwortlicher, Entwickler, Kunde, Tester, etc.<br><br />
Die Rollen eines Benutzers können für verschiedene Projekte unterschiedlich sein.<br><br />
Bei Bedarf können unter "Organisation/Rollen/Anlegen" eigene Rollen spezifiziert werden.<br />
<br />
==Kunden==<br />
Bei Kunden Anlegen geben Sie auch einen Verantwortlichen aus Ihrer Firma und den Ansprechpartner "Kontakt" beim Kunden an.<br><br />
In dieser Maske kann ein Servicelevel angegeben und der Kontostand eingetragen werden.<br />
Ist der Kunde angelegt, wird die Menüleiste links aktiviert. Dort finden Sie:<br />
Liste: die Liste aller Kunden. Die Auswahl der angezeigten Spalten können Sie in dem karierten Fenster (neben dem Filter) auswählen.<br><br />
Details: zum Kunden <br><br />
Supportpunkte: in der Übersicht können Sie Supportpunkte für einzelen Projekte reservieren.<br><br />
In der Liste werden die verbuchten Supportpunkte angezeigt.<br><br />
Anhänge: hier werden alle hochgeladenen Anhänge aufgelistet.<br><br />
Interessenten: hier bestimmen Sie, bei welchen Änderungen Sie benachrichtigt werden möchten.<br><br />
Referenzen: Übersicht über alle Artefakte des Kunden - Benutzer, Projekte, Komponenten, Arbeitspakete, Aktionen, Fehler, Anforderungen<br><br />
Historie: über alle Einträge<br />
<br />
==Orte==</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14767Expecco ALM Einrichten Vorgehensweise2019-01-31T14:49:49Z<p>Bg: /* Personen */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
==Personen==<br />
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System.<br><br />
Das Kennwort kann jederzeit über "Einstellungen/Kennwort" geändert werden.<br><br />
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.<br />
<br><br><br />
Die Rechte der Benutzer werden unter "Gruppe" vergeben.<br />
<br />
==Gruppen==<br />
Hier werden Gruppen angelegt und erhalten einen Namen und einen Gruppenleiter.<br><br />
Im Kasten "Mitglieder" werden Ihnen alle Personen angezeigt. Wählen Sie die Gruppenmitglieder aus<br><br />
und verschieben sie nacheinander mit dem Pfeil nach rechts, es öffnet sich ein Kasten für die Gruppenmitglieder.<br><br />
Mit einem Klick auf den Namen aktivieren Sie die rechts angezeigten Rollen und können nun so jeder Person<br><br />
ihre Rolle zuordnen.<br><br />
Eine Person kann eine oder mehrere Rollen einnehmen: Projektverantwortlicher, Entwickler, Kunde, Tester, etc.<br><br />
Die Rollen eines Benutzers können für verschiedene Projekte unterschiedlich sein.<br><br />
Bei Bedarf können unter "Organisation/Rollen/Anlegen" eigene Rollen spezifiziert werden.<br />
<br />
==Kunden==<br />
<br />
==Orte==</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14766Expecco ALM Einrichten Vorgehensweise2019-01-31T14:49:10Z<p>Bg: /* Organisation */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
==Personen==<br />
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System.<br><br />
Das Kennwort kann jederzeit über "Einstellungen/Kennwort" geändert werden.<br><br />
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.<br />
<br><br><br />
Die Rechte der Benutzer werden bei der Gruppenzuordnung vergeben.<br />
<br />
==Gruppen==<br />
Hier werden Gruppen angelegt und erhalten einen Namen und einen Gruppenleiter.<br><br />
Im Kasten "Mitglieder" werden Ihnen alle Personen angezeigt. Wählen Sie die Gruppenmitglieder aus<br><br />
und verschieben sie nacheinander mit dem Pfeil nach rechts, es öffnet sich ein Kasten für die Gruppenmitglieder.<br><br />
Mit einem Klick auf den Namen aktivieren Sie die rechts angezeigten Rollen und können nun so jeder Person<br><br />
ihre Rolle zuordnen.<br><br />
Eine Person kann eine oder mehrere Rollen einnehmen: Projektverantwortlicher, Entwickler, Kunde, Tester, etc.<br><br />
Die Rollen eines Benutzers können für verschiedene Projekte unterschiedlich sein.<br><br />
Bei Bedarf können unter "Organisation/Rollen/Anlegen" eigene Rollen spezifiziert werden.<br />
<br />
==Kunden==<br />
<br />
==Orte==</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14765Expecco ALM Einrichten Vorgehensweise2019-01-31T14:48:40Z<p>Bg: /* Gruppen */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
===Personen===<br />
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System.<br><br />
Das Kennwort kann jederzeit über "Einstellungen/Kennwort" geändert werden.<br><br />
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.<br />
<br><br><br />
Die Rechte der Benutzer werden bei der Gruppenzuordnung vergeben.<br />
<br />
===Gruppen===<br />
Hier werden Gruppen angelegt und erhalten einen Namen und einen Gruppenleiter.<br><br />
Im Kasten "Mitglieder" werden Ihnen alle Personen angezeigt. Wählen Sie die Gruppenmitglieder aus<br><br />
und verschieben sie nacheinander mit dem Pfeil nach rechts, es öffnet sich ein Kasten für die Gruppenmitglieder.<br><br />
Mit einem Klick auf den Namen aktivieren Sie die rechts angezeigten Rollen und können nun so jeder Person<br><br />
ihre Rolle zuordnen.<br><br />
Eine Person kann eine oder mehrere Rollen einnehmen: Projektverantwortlicher, Entwickler, Kunde, Tester, etc.<br><br />
Die Rollen eines Benutzers können für verschiedene Projekte unterschiedlich sein.<br><br />
Bei Bedarf können unter "Organisation/Rollen/Anlegen" eigene Rollen spezifiziert werden.<br />
<br />
===Kunden===<br />
<br />
===Orte===</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14764Expecco ALM Einrichten Vorgehensweise2019-01-31T14:40:45Z<p>Bg: /* Personen */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
===Personen===<br />
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System.<br><br />
Das Kennwort kann jederzeit über "Einstellungen/Kennwort" geändert werden.<br><br />
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.<br />
<br><br><br />
Die Rechte der Benutzer werden bei der Gruppenzuordnung vergeben.<br />
<br />
===Gruppen===<br />
<br />
===Kunden===<br />
<br />
===Orte===</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14763Expecco ALM Einrichten Vorgehensweise2019-01-31T14:40:19Z<p>Bg: /* Personen */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
===Personen===<br />
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System.<br><br />
Das Kennwort kann jederzeit über "Einstellungen/Kennwort" geändert werden.<br><br />
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.<br />
<br><br />
Die Rechte werden bei der Gruppenzuornung vergeben.<br />
<br />
===Gruppen===<br />
<br />
===Kunden===<br />
<br />
===Orte===</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14762Expecco ALM Einrichten Vorgehensweise2019-01-31T14:39:44Z<p>Bg: /* Personen */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
===Personen===<br />
Hier werden die Personen mit Vor- und Nachnamen angelegt und erhalten ein Kennwort für den Zugang zum System.<br><br />
Das Kennwort kann jederzeit über "Einstellungen/Kennwort" geändert werden.<br><br />
ACHTUNG: dringend die Kontaktdaten eingeben, über welche der Benutzer seine Benachrichtigungen erhalten soll.<br />
<br />
===Gruppen===<br />
<br />
===Kunden===<br />
<br />
===Orte===</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14761Expecco ALM Einrichten Vorgehensweise2019-01-31T14:26:24Z<p>Bg: /* Benutzer */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
===Personen===<br />
<br />
===Gruppen===<br />
<br />
===Kunden===<br />
<br />
===Orte===</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14760Expecco ALM Einrichten Vorgehensweise2019-01-31T14:25:45Z<p>Bg: </p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.<br />
<br />
===Benutzer===<br />
<br />
===Gruppen===<br />
<br />
===Kunden===<br />
<br />
===Orte===</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14759Expecco ALM Einrichten Vorgehensweise2019-01-31T14:24:28Z<p>Bg: /* Organisation */</p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==<br />
Unter dem Menüpunkt "Organisation" legen Sie Personen, Gruppen, Kunden und Orte an; <br><br />
Bei Bedarf werden hier eigene Rollen und Rechte eingerichtet und eigene Workflows konfiguriert.<br><br />
Für einen optimalen Start, bearbeiten Sie die Reiter nacheinander von links nach rechts.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Expecco_ALM_Einrichten_Vorgehensweise&diff=14758Expecco ALM Einrichten Vorgehensweise2019-01-31T14:13:50Z<p>Bg: </p>
<hr />
<div>{{SEITENTITEL:expecco ALM einrichten Vorgehensweise}}<br />
<br />
==Vorab Informationen==<br />
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.<br />
<br />
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.<br />
<br />
Definieren Sie Ihre Anforderungen anhand folgender Fragen:<br />
* Was möchten Sie mit expecco ALM alles machen?<br />
* Wie viele Aufgaben und welche soll expecco ALM übernehmen?<br />
* Sollen mehrere Projekte abgebildet werden, oder brauchen Sie gar keine Projekte?<br />
* Müssen den Benutzern verschiedene Rechte pro Projekt zugeteilt werden?<br />
* Haben die Benutzer in allen Projekten die gleichen Aufgaben?<br />
* Ist es überhaupt nötig individuelle Benutzerrechte zu vergeben?<br />
* Dürfen auch Ihre Kunden Sicht in Ihr expecco ALM erhalten?<br />
* Sollen die Benutzer von expecco ALM bei der Bearbeitung an Workflows gebunden sein?<br />
<br />
==Organisation==</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Was_ist_expecco_ALM%3F&diff=14757Was ist expecco ALM?2019-01-31T10:31:59Z<p>Bg: </p>
<hr />
<div>* Siehe auch: [[ expecco ALM User Permissions | Benutzerrechte ]]<br />
<br />
== Überblick und Architektur von expecco ALM (expecco TC) ==<br />
<br />
expecco ALM (auch "''expecco Test Center''") ist ein modulares, zentrales Test- und Projektmanagementsystem, welches neben der Verwaltung von Tests, Resultaten auch deren automatische Ausführung steuert, Verknüpfungen zum integrierten Defect und Requirements-Verwaltung verwaltet, den Projektfortschritt sowie Meilensteine verwaltet, Zeitüberwachung und Deadlines überwacht, und Testressourcen konfliktfrei zuteilt.<br />
<br />
expecco ALM ist multiklientenfähig und beinhaltet eine flexibel konfigurierbare Zugriffskontrolle, welche einerseits Kunden und Projekte voneinander isoliert, als auch individuell einstellbare Zugriffsrechte der Benutzer, basierend auf deren Rolle im Projekt realisiert. Ebenso verwaltet es Kundenkontakte und beinhaltet ein Ticketsystem inkl. Abrechnung für den Kundensupport.<br />
<br />
expecco ALM ersetzt oder ergänzt eine Reihe anderer Tools und kann als zentraler Managementserver sämtliche in einem Projekt benötigten Workflows zu steuern und inklusive Ticketsystem, Customer Relations, Budgetverwaltung und Kostenabrechnung zu verwalten. Die Bedienung erfolgt über eine Weboberfläche, welche dynamisch mittels dynamic HTML und AJAX animiert und aktualisiert wird.<br />
<br />
<br />
Folgendes grobes Architekturbild gibt dazu eine Übersicht:<br />
<br />
[[Datei:expeccoALMArchitecture1.png|1000px|thumb|left|expecco ALM Architektur (nicht alle Erweiterungen dargestellt)]]<br />
<br />
(oder als PDF: [[Datei:expeccoALMArchitecture1.pdf]])</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Start_Mobile_Test4&diff=14559HelpWizard Pages Start Mobile Test42018-12-18T19:21:08Z<p>Bg: </p>
<hr />
<div><strong> Mobile Test 5</strong><br />
<br />
Geben Sie an, welche App Sie verwenden wollen.<br><br />
Wollen Sie eine bereits installierte App benutzen, wählen Sie das zu testende Paket und Activity aus.<br><br />
Für den Fall, dass Sie eine App installieren wollen, wählen Sie "''App installieren''".<br><br />
Geben Sie bei "''App''" den entsprechenden Pfad ein.<br><br />
Das Paket und die Activity wird nun automatisch eingetragen.<br> <br />
Sollte die App mehrere Activities besitzen, wählen Sie die Gewünschte aus.<br><br />
* Klicken Sie dann auf "Weiter"<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Start Mobile Test3|zurück]]<br />
[[Datei:arrowright.png|link=HelpWizard Pages Start Mobile Test5|weiter]]<br />
<br />
[[Category: HelpWizard]]<br />
[[Category: HelpWizard Mobile]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Start_Mobile_Test&diff=14552HelpWizard Pages Start Mobile Test2018-12-18T16:48:22Z<p>Bg: </p>
<hr />
<div><strong> Mobile Test 1</strong><br />
<br />
Schließen Sie das Gerät, das Sie zum Testen benutzen wollen,<br> <br />
über USB an Ihren Rechner an oder starten Sie einen Emulator.<br><br />
<b>ACHTUNG: im Handy muss der Entwicklermodus eingeschalten sein!<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Start|zurück]]<br />
[[Datei:arrowright.png|link=HelpWizard Pages Start Mobile Test1|weiter]]<br />
<br />
[[Category: HelpWizard]]<br />
[[Category: HelpWizard Mobile]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Start_Web_Test3a&diff=14529HelpWizard Pages Start Web Test3a2018-12-18T09:18:03Z<p>Bg: </p>
<hr />
<div><strong> Web Test 3</strong><br />
<br />
Beim Verbinden wurde automatisch ein Connect-Baustein erzeugt. Es empfiehlt sich, den Connect-Baustein als einzelnen Baustein abzuspeichern, um ihn später wiederzuverwenden.<br />
<br><br><br />
Um den Aktionsbaustein in den Arbeitsbereich zu verschieben, klicken sie auf folgendes Icon: [[Datei:MoveConnectbaustein.png]]<br />
<br><br><br />
Speichern Sie den Baustein unter einem aussagekräftigen Namen ab: [[Datei:SaveWorkspace.png]]<br />
<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Start Web Test3|zurück]]<br />
[[Datei:arrowright.png|link=HelpWizard Pages Start Web Test4|weiter]]<br />
<br />
[[Category: HelpWizard]]<br />
[[Category: HelpWizard WebTest]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Start_Web_Test2&diff=14528HelpWizard Pages Start Web Test22018-12-18T09:15:40Z<p>Bg: </p>
<hr />
<div><strong> Web Test 2</strong><br />
<br />
Klicken Sie auf "<span style="padding: 0 2px;border: 1px solid black;border-radius: 3px;">Verbinden</span>" und wählen Sie "''Webtest (Selenium WebDriver)''" aus.<br />
<br />
Es erscheint der Verbindungseditor, um die Verbindung aufzubauen.<br />
<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Start Web Test1|zurück]]<br />
[[Datei:arrowright.png|link=HelpWizard Pages Start Web Test3|weiter]]<br />
[[Category: HelpWizard]]<br />
[[Category: HelpWizard WebTest]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Release_Notes_18.x&diff=14297Release Notes 18.x2018-11-02T08:30:48Z<p>Bg: /* Release 18.2 */</p>
<hr />
<div>see also: [[Release Notes 2.x]]<br />
<br /><br />
see also: [[Release Notes 1.x]]<br />
<br />
== Release 18.2 ==<br />
<br />
[[Release18_2_UI_Enhancements | 18.2 UI Enhancements]]<br />
<br />
* INCOMPATIBLE CHANGE: the smalltalk "<code>split:</code>" and JavaScript "<code>split()</code>" now have different semantics. To get the old "split()" behavior from Smalltalk code, use "<code>js_split:</code>".<br />
<br />
* Fix: adding a pin to an action with variable pins always added the pin at the end (which made it difficult to add non-variable pins later). It is now added after the currently selected pin, or at the end if there is no pin selected.<br />
* Feature: text views can [[Release18_2_UI_Enhancements|open a webBrowser]] on the selected URL<br />
* Feature: embed attached images in html documentation<br />
* Feature: option to fetch patches/updates from the license server.<br />
* Feature: freeze values with type "<code>StringOrFilename</code>" or type "<code>Filename</code>" will expand [[ElementaryBlock_Element/en#Execution_Directory | $(xxxDirectory) patterns]].<br />
* Feature Mobile Testing Plugin: Using UiAutomator2 as default automationName for Android devices since version 5.0. This fixes some issues, in particular if the app contains WebViews.<br />
* Feature: generate shorter xPath-locators for web browser elements<br />
* UI Enhancement: shifted-double click on a pin now freezes from environment variable<br />
* UI Enhancement: renaming a variable in the environment's table column offers to rewrite references (used to do only when renamed via menu)<br />
* UI Enhancement: F2 key (aka "Rename") now also works when an environment-freeze-pin-value is selected <br />
* UI Enhancement: TAG filter for [[Release18_2_UI_Enhancements | "follow activity"]].<br />
* UI Enhancement: <br />
* STD-LIB: New action blocks to start and configure JVMs and Groovy<br />
<br />
== Release 18.1 [previously planned as "2.12"] (Spring/Summer 2018) ==<br />
With this release, we will start a new naming scheme, <br />
using the publishing year as major version number and the delivery within the year as minor vsn. <br />
<br>Thus, this version will be named "18.1.0.x".<br />
<br />
This is a major new release with many [[Release18_1_UI_Enhancements | UI enhancements]], and a number of new features.<br />
<br />
* Fix: attachment handling when moving items across projects (into/out of imported projects)<br />
* Fix: occasional loosing SIGCHILD when multiple shell/cmd scripts were executed in parallel (race condition)<br />
* Fix: many fixes for bugs/inconveniences reported by customers in expeccoALM<br />
* Fix: STDLIB: "Stream [ read through]" was broken<br />
* Fix: STDLIB: "Collection [ copyFromTo ]" and "Collection [ all but Last]" did not always raise an error.<br />
<br />
* Feature: the plugins "Java bridge", ".Net bridge" and "Manual Test" are now part of the expecco base package and therefore included in the base installer. <br />
<br />
* Feature: many GUIBrowser enhancements<br />
* Feature: FileBrowser: dump can be changed to be hex, octal, decimal or binary; character decoding in EBCDIC or 7-bit ASCII (to ignore high/parity bit)<br />
* Feature: FileBrowser: search pattern can be entered as hex byte sequence<br />
* Feature: [[Settings UpdatesSettings/en#Expecco_as_a_Patches_Server_.282.12.29|Patches server]]: one expecco may deliver patches to all other installations in the local network<br />
* Feature: script actions are now executed inside the attachment folder by default. This makes it easier for the script to access files containing test data or configuration files. However, this is somewhat incompatible with previous versions, so this can be disabled via a settings flag. It can also be changed by providing the execution folder at the "''execDir''" pin.<br />
* Feature: can pass [[ElementaryBlock Element/en#Environment_.28Shell-.29_Variables|shell environment variables to shell, batch actions]] (and all derived actions, like Ruby, Node.js, etc.)<br />
* Feature: [[ElementaryBlock Element/en#Script_Expansion | script expansion]] with pin-value strings for shell, batch actions and all derived actions, like Ruby, Node.js, etc.<br />
* Feature: [[ElementaryBlock Element/en#Matching_stdin.2Fstderr_against_a_Pattern|prompt matching in shell, batch actions]] (and all derived actions, like Ruby, Node.js, etc.)<br />
* Feature: better error diagnostics (and error-line highlighting) in shell actions (and most derived actions, like Ruby, Node.js, etc.)<br />
* Feature: [[DiagramElements-Pin/en#Do_not_Log_Pin-Value_in_Activitylog_Attribute|individual control over pin-value in activity log]] (e.g. to suppress passwords, cryptokeys etc.)<br />
* Feature: [[DiagramElements-Pin/en#Output_Pin_Value_Timestamped_Attribute|output pin values can be individually timestamped]] (via step's pin menu)<br />
* Feature: [[ElementaryBlock Element/en#Node.js-Script_Blocks|'''Node.js script blocks''']] and [[ElementaryBlock Element/en#Node.js_Blocks|'''Node.js elementary action blocks''']]<br />
* Feature: [[VNC Plugin Reference/en|VNC GUI Testing plugin]]<br />
<!-- * Feature: Message/Document browser --><br />
* Feature: additional call API to invoke actions from elementary code (see [[Expecco_API/en#Execution | Expecco_API -> Execution]])<br />
* Feature: "''Interrupt & Debug''" button in the [[Test Editor/en|Test-Runner]] (to interrupt runaway elementary blocks)<br />
* Feature: New libraries for [[MQTT/en | MQTT (IoT)]] and [[SomeIP/en | Some/IP (Automotive)]] (licensed addons)<br />
* Feature: [[Settings_DebuggerSettings/en#Freeze_Values_are_Immutable | Immutable FreezeValues]]<br />
* Feature: New [[Plot/Graph Action Blocks | '''Plot/Graph action blocks''']] <br />
* Feature: New [[R Action Blocks | '''R action blocks''']] <br />
* Feature: New [[ElementaryBlock_Element/en#Python_Script_Blocks|Python Action Blocks]], [[ElementaryBlock_Element/en#Ruby_Script_Blocks|Ruby Action Blocks]], Perl Action Blocks, [[ElementaryBlock_Element/en#Node.js-Script_Blocks|Node Action Blocks]], Go Action Blocks and TCL Action Blocks<br />
* Feature / UI enhancement: screenshot dialog includes an "Attach" button.<br />
* Feature / UI enhancement: embedded XML inspector in the attachment editor<br />
* Feature / UI enhancement: "Generate" submenu to generate XPath accessors in the attachment editor, when showing XML.<br />
* Feature: New library (StatisticDistributionsLibrary.ets) to generate random numbers with various distributions for statistic/monte carlo/simulations<br />
* Feature: New library (Plot_Graph.ets) to demonstrate the new Plot/Graph actions<br />
* Feature: New [[DiagramElements-Probe | probe types ]] to record values without checks (especially useful for plot/graph generation)<br />
* Feature: timestamps can now have sub-millisecond resolution<br />
* Feature: [[Selenium_WebDriver_Plugin|Selenium WebDriver Plugin]]<br />
<br />
* Feature Qt enhancement: Inject support for 32/64bit applications including pre build clients<br />
* Feature Qt enhancement: Add support for accessing complex properties like images, colors, ...<br />
* Feature Qt enhancement: Menu item / Menu action support in GUI Browser<br />
* Feature Qt enhancement: Extention of the qt block library<br />
* Feature Qt enhancement: Replace QtScript with Qt JS api for Qt5 clients<br />
* Feature Qt enhancement: Introduce a hook for customer client extension<br />
<br />
* Feature Manual test plugin: New java based excel import<br />
* Feature Manual Test plugin: Complete rework of the wizard<br />
* Feature Manual test plugin: New manual test block library<br />
<br />
* Performance: Speed improvement in testplan execution<br />
<br />
* UI Enhancement: script actions are now initially created with a minimum set of special pins (actually: only the stdout pin is created initially). More pins can be added (and unused pins can be removed) in the schema editor via the "Special Pins" menu. We found that the vast majority of script steps only needed that single pin, and that diagrams look nicer without them (you can change this to the old behaviour via "''Settings''" - "''Look & Feel''" - "''Diagram Editor''" - "''Create all Special Pins Initially''").<br />
* UI Enhancement: coloring by type is now on by default (if you don't like it, go to "''Settings''"-"''Look&nbsp;&amp;&nbsp;Feel''"-"''Diagram&nbsp;Editor''"-"''Look-Elements''" and turn it off again)<br />
* UI Enhancement: Limit the number of levels in follow activity<br />
* UI Enhancement: ActivityTree shows activities with handled exceptions in orange (used to be red). Also, the handling activity shows where the handled exception was thrown. Finally, the automatic navigation to the first error (after a run) will skip over handled exceptions, to place you immediately to the activity which was responsible for the failure or error.<br />
* UI Enhancement: goto "recently modified" and "recently executed" menus in the main-menu<br />
* UI Enhancement: "''Select Step in Diagram''" menu-function in the activity log tree viewer<br />
* UI Enhancement: "''Exchange Connections''" menu-function in the network editor<br />
* UI Enhancement: "''Import Attachments''" tools menu-function (to import many files)<br />
* UI Enhancement: more information and functions in the Diff-viewer; new menu item in the "''Extra''"-menu: "''Compare two Testsuite Files''"<br />
* UI Enhancement: "''Add/Remove Tag''" menu functions (in tree) can also be applied recursively to children of the selected item<br />
* UI Enhancement: if a step was selected when a new step is created (by the "''New Step''" function or by paste), the new step is automatically connected via trigger-out/trigger-in<br />
* UI Enhancement: Connect multiple (same-named) pins<br />
* UI Enhancement: fix (rewrite) JavaScript elementary code, when a pin is renamed<br />
* UI Enhancement: rewrite script code when a pin is renamed<br />
* STD-LIB: New action blocks: Stream[Set Binary Mode], Stream[Set Text Mode], Stream[Set Error-at-End Mode]<br />
* STD-LIB: New action blocks to access and query [[DiagramElements-Probe | probes]] by ID (in Misc/Probes)<br />
* STD-LIB: New logInconclusive and logError actions (similar to logFailure, these mark the test's outcome, but continue execution)<br />
* STD-LIB: New actions to configure HTTPS for tls1.2 / tls1.1 (some sites no longer accept tls1.1)<br />
<br />
==Previous Versions==<br />
see also: [[Release Notes 2.x]]<br />
<br /><br />
see also: [[Release Notes 1.x]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Release_Notes_18.x&diff=14296Release Notes 18.x2018-11-02T08:30:06Z<p>Bg: /* Release 18.2 */</p>
<hr />
<div>see also: [[Release Notes 2.x]]<br />
<br /><br />
see also: [[Release Notes 1.x]]<br />
<br />
== Release 18.2 ==<br />
<br />
[[Release18_1_UI_Enhancements | UI Enhancements]]<br />
<br />
* INCOMPATIBLE CHANGE: the smalltalk "<code>split:</code>" and JavaScript "<code>split()</code>" now have different semantics. To get the old "split()" behavior from Smalltalk code, use "<code>js_split:</code>".<br />
<br />
* Fix: adding a pin to an action with variable pins always added the pin at the end (which made it difficult to add non-variable pins later). It is now added after the currently selected pin, or at the end if there is no pin selected.<br />
* Feature: text views can [[Release18_2_UI_Enhancements|open a webBrowser]] on the selected URL<br />
* Feature: embed attached images in html documentation<br />
* Feature: option to fetch patches/updates from the license server.<br />
* Feature: freeze values with type "<code>StringOrFilename</code>" or type "<code>Filename</code>" will expand [[ElementaryBlock_Element/en#Execution_Directory | $(xxxDirectory) patterns]].<br />
* Feature Mobile Testing Plugin: Using UiAutomator2 as default automationName for Android devices since version 5.0. This fixes some issues, in particular if the app contains WebViews.<br />
* Feature: generate shorter xPath-locators for web browser elements<br />
* UI Enhancement: shifted-double click on a pin now freezes from environment variable<br />
* UI Enhancement: renaming a variable in the environment's table column offers to rewrite references (used to do only when renamed via menu)<br />
* UI Enhancement: F2 key (aka "Rename") now also works when an environment-freeze-pin-value is selected <br />
* UI Enhancement: TAG filter for [[Release18_1_UI_Enhancements | "follow activity"]].<br />
* UI Enhancement: <br />
* STD-LIB: New action blocks to start and configure JVMs and Groovy<br />
<br />
== Release 18.1 [previously planned as "2.12"] (Spring/Summer 2018) ==<br />
With this release, we will start a new naming scheme, <br />
using the publishing year as major version number and the delivery within the year as minor vsn. <br />
<br>Thus, this version will be named "18.1.0.x".<br />
<br />
This is a major new release with many [[Release18_1_UI_Enhancements | UI enhancements]], and a number of new features.<br />
<br />
* Fix: attachment handling when moving items across projects (into/out of imported projects)<br />
* Fix: occasional loosing SIGCHILD when multiple shell/cmd scripts were executed in parallel (race condition)<br />
* Fix: many fixes for bugs/inconveniences reported by customers in expeccoALM<br />
* Fix: STDLIB: "Stream [ read through]" was broken<br />
* Fix: STDLIB: "Collection [ copyFromTo ]" and "Collection [ all but Last]" did not always raise an error.<br />
<br />
* Feature: the plugins "Java bridge", ".Net bridge" and "Manual Test" are now part of the expecco base package and therefore included in the base installer. <br />
<br />
* Feature: many GUIBrowser enhancements<br />
* Feature: FileBrowser: dump can be changed to be hex, octal, decimal or binary; character decoding in EBCDIC or 7-bit ASCII (to ignore high/parity bit)<br />
* Feature: FileBrowser: search pattern can be entered as hex byte sequence<br />
* Feature: [[Settings UpdatesSettings/en#Expecco_as_a_Patches_Server_.282.12.29|Patches server]]: one expecco may deliver patches to all other installations in the local network<br />
* Feature: script actions are now executed inside the attachment folder by default. This makes it easier for the script to access files containing test data or configuration files. However, this is somewhat incompatible with previous versions, so this can be disabled via a settings flag. It can also be changed by providing the execution folder at the "''execDir''" pin.<br />
* Feature: can pass [[ElementaryBlock Element/en#Environment_.28Shell-.29_Variables|shell environment variables to shell, batch actions]] (and all derived actions, like Ruby, Node.js, etc.)<br />
* Feature: [[ElementaryBlock Element/en#Script_Expansion | script expansion]] with pin-value strings for shell, batch actions and all derived actions, like Ruby, Node.js, etc.<br />
* Feature: [[ElementaryBlock Element/en#Matching_stdin.2Fstderr_against_a_Pattern|prompt matching in shell, batch actions]] (and all derived actions, like Ruby, Node.js, etc.)<br />
* Feature: better error diagnostics (and error-line highlighting) in shell actions (and most derived actions, like Ruby, Node.js, etc.)<br />
* Feature: [[DiagramElements-Pin/en#Do_not_Log_Pin-Value_in_Activitylog_Attribute|individual control over pin-value in activity log]] (e.g. to suppress passwords, cryptokeys etc.)<br />
* Feature: [[DiagramElements-Pin/en#Output_Pin_Value_Timestamped_Attribute|output pin values can be individually timestamped]] (via step's pin menu)<br />
* Feature: [[ElementaryBlock Element/en#Node.js-Script_Blocks|'''Node.js script blocks''']] and [[ElementaryBlock Element/en#Node.js_Blocks|'''Node.js elementary action blocks''']]<br />
* Feature: [[VNC Plugin Reference/en|VNC GUI Testing plugin]]<br />
<!-- * Feature: Message/Document browser --><br />
* Feature: additional call API to invoke actions from elementary code (see [[Expecco_API/en#Execution | Expecco_API -> Execution]])<br />
* Feature: "''Interrupt & Debug''" button in the [[Test Editor/en|Test-Runner]] (to interrupt runaway elementary blocks)<br />
* Feature: New libraries for [[MQTT/en | MQTT (IoT)]] and [[SomeIP/en | Some/IP (Automotive)]] (licensed addons)<br />
* Feature: [[Settings_DebuggerSettings/en#Freeze_Values_are_Immutable | Immutable FreezeValues]]<br />
* Feature: New [[Plot/Graph Action Blocks | '''Plot/Graph action blocks''']] <br />
* Feature: New [[R Action Blocks | '''R action blocks''']] <br />
* Feature: New [[ElementaryBlock_Element/en#Python_Script_Blocks|Python Action Blocks]], [[ElementaryBlock_Element/en#Ruby_Script_Blocks|Ruby Action Blocks]], Perl Action Blocks, [[ElementaryBlock_Element/en#Node.js-Script_Blocks|Node Action Blocks]], Go Action Blocks and TCL Action Blocks<br />
* Feature / UI enhancement: screenshot dialog includes an "Attach" button.<br />
* Feature / UI enhancement: embedded XML inspector in the attachment editor<br />
* Feature / UI enhancement: "Generate" submenu to generate XPath accessors in the attachment editor, when showing XML.<br />
* Feature: New library (StatisticDistributionsLibrary.ets) to generate random numbers with various distributions for statistic/monte carlo/simulations<br />
* Feature: New library (Plot_Graph.ets) to demonstrate the new Plot/Graph actions<br />
* Feature: New [[DiagramElements-Probe | probe types ]] to record values without checks (especially useful for plot/graph generation)<br />
* Feature: timestamps can now have sub-millisecond resolution<br />
* Feature: [[Selenium_WebDriver_Plugin|Selenium WebDriver Plugin]]<br />
<br />
* Feature Qt enhancement: Inject support for 32/64bit applications including pre build clients<br />
* Feature Qt enhancement: Add support for accessing complex properties like images, colors, ...<br />
* Feature Qt enhancement: Menu item / Menu action support in GUI Browser<br />
* Feature Qt enhancement: Extention of the qt block library<br />
* Feature Qt enhancement: Replace QtScript with Qt JS api for Qt5 clients<br />
* Feature Qt enhancement: Introduce a hook for customer client extension<br />
<br />
* Feature Manual test plugin: New java based excel import<br />
* Feature Manual Test plugin: Complete rework of the wizard<br />
* Feature Manual test plugin: New manual test block library<br />
<br />
* Performance: Speed improvement in testplan execution<br />
<br />
* UI Enhancement: script actions are now initially created with a minimum set of special pins (actually: only the stdout pin is created initially). More pins can be added (and unused pins can be removed) in the schema editor via the "Special Pins" menu. We found that the vast majority of script steps only needed that single pin, and that diagrams look nicer without them (you can change this to the old behaviour via "''Settings''" - "''Look & Feel''" - "''Diagram Editor''" - "''Create all Special Pins Initially''").<br />
* UI Enhancement: coloring by type is now on by default (if you don't like it, go to "''Settings''"-"''Look&nbsp;&amp;&nbsp;Feel''"-"''Diagram&nbsp;Editor''"-"''Look-Elements''" and turn it off again)<br />
* UI Enhancement: Limit the number of levels in follow activity<br />
* UI Enhancement: ActivityTree shows activities with handled exceptions in orange (used to be red). Also, the handling activity shows where the handled exception was thrown. Finally, the automatic navigation to the first error (after a run) will skip over handled exceptions, to place you immediately to the activity which was responsible for the failure or error.<br />
* UI Enhancement: goto "recently modified" and "recently executed" menus in the main-menu<br />
* UI Enhancement: "''Select Step in Diagram''" menu-function in the activity log tree viewer<br />
* UI Enhancement: "''Exchange Connections''" menu-function in the network editor<br />
* UI Enhancement: "''Import Attachments''" tools menu-function (to import many files)<br />
* UI Enhancement: more information and functions in the Diff-viewer; new menu item in the "''Extra''"-menu: "''Compare two Testsuite Files''"<br />
* UI Enhancement: "''Add/Remove Tag''" menu functions (in tree) can also be applied recursively to children of the selected item<br />
* UI Enhancement: if a step was selected when a new step is created (by the "''New Step''" function or by paste), the new step is automatically connected via trigger-out/trigger-in<br />
* UI Enhancement: Connect multiple (same-named) pins<br />
* UI Enhancement: fix (rewrite) JavaScript elementary code, when a pin is renamed<br />
* UI Enhancement: rewrite script code when a pin is renamed<br />
* STD-LIB: New action blocks: Stream[Set Binary Mode], Stream[Set Text Mode], Stream[Set Error-at-End Mode]<br />
* STD-LIB: New action blocks to access and query [[DiagramElements-Probe | probes]] by ID (in Misc/Probes)<br />
* STD-LIB: New logInconclusive and logError actions (similar to logFailure, these mark the test's outcome, but continue execution)<br />
* STD-LIB: New actions to configure HTTPS for tls1.2 / tls1.1 (some sites no longer accept tls1.1)<br />
<br />
==Previous Versions==<br />
see also: [[Release Notes 2.x]]<br />
<br /><br />
see also: [[Release Notes 1.x]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=WindowsAutomation_Reference_2.0/en&diff=14028WindowsAutomation Reference 2.0/en2018-08-24T10:21:16Z<p>Bg: /* Known issues in the current Release (August 2018) */</p>
<hr />
<div>This is the documentation for the Windows Automation 2.0 plugin.<br />
<br />
It provides facilities to automate tests incorporating applications with a GUI based on Windows Presentation Foundation (WPF), WinForms, and the old Win32 API.<br />
<br />
=Features=<br />
*Automated GUI testing of WPF, WinForms, and Win32 applications.<br />
*Contains an expecco block library and tools which help to model tests and inspect the GUI of the application.<br />
*Parallel remote test-execution on multiple systems.<br />
*Performs tests against already built executables. No source code changes / recompilation of the application is required.<br />
*Access to GUI components using XPath locators.<br />
*Access objects of the application live at execution time.<br />
*Full access to keyboard and mouse of the target system.<br />
*Lots of additional features such as screen capturing, taking screenshots, highlighting GUI elements, mouse tracking, ...<br />
<br />
= Known issues in the current Release (August 2018) =<br />
* The WindowsAutomation2.ets library has got a new functional id. When reimporting the library in existing test suites (which is mandatory), a warning about a changed functional id is shown once. It is ok to accept this dialog.<br />
* Instant follow mouse is too expensive in Windows and is not and will not be supported. Use HotKeys to select a GUI element in the tree at the current pointer position or to update the element tree. HotKeys can be configured in the settings. The HotKey service hast to be started. Take care that the Hotkeys have not already been grabbed by another application that is running on your desktop (a warning will be shown in this case). <br />
* Recording is still in Beta State. Recording of Button clicks and Keystrokes work well.<br />
* ContextMenus cannot be recorded in the current version.<br />
* When doing a clicking the first submenu entry of the first pulldown menu, a wrong element is clicked. All other menu entries are correctly selected.<br />
<br />
=Installation and Connection=<br />
The WindowsAutomation testing plugin uses the expecoo ".NET-Bridge" which consists of two parts: A plugin for expecco, and a server executable using the .NET framework running on the remote computer to connect to.<br />
<br />
==Requirements==<br />
On the machine running the system under test:<br />
*.NET Framework 4.6.2 [https://www.microsoft.com/net/download/all] or higher.<br />
* One of the following operation systems:<br />
::- Windows 7 SP1<br />
::- Windows 8<br />
::- Windows 8.1<br />
::- Windows 10<br />
<br />
::- Windows Server 2008 R2 SP1<br />
::- Windows Server 2012<br />
::- Windows Server 2012 R2<br />
::- Windows Server 2016<br />
::- Windows Server, version 1709<br />
<br />
==Plugin Components==<br />
The plugin consists of the following parts:<br />
* The GUI Browser, used to interactively explore your application.<br />
* The Windows Automation Library, which provides blocks that you can use in your test cases.<br />
* The .NET-Bridge server, which provides an interface between the application under test and your tests running in expecco.<br />
<br />
==Installing and Configuring the Plugin in Expecco==<br />
The plugin is usually installed automatically by the installer; either included in the main expecco installation or provided as a separate installable add-on package. Its files are stored in the "<code>plugin</code>" subfolder of the expecco installation folder. You can also copy those files manually to that folder, if required. Expecco detects the plugin automatically during startup. You might need to restart your expecco session.<br />
<br />
==Preparing a local system for test execution==<br />
If you want to automate an application running on the same host as expecco, there is no need to set up anything! Everything should work out of the box.<br />
<br />
[[Datei:WindowsAutomation2Connect.png]]<br />
<br />
==Preparing a remote system for test execuction==<br />
The remote system has to run the "''.Net-Bridge server''" which in turn connects to expecco. <br />
For this, copy "<code>DotNetBridgeServer.exe</code>" (in the "<code>packages/exept/bridgeFramework/dotNetBridge/dotNetBin</code>" folder under the expecco installation directory) to the computer where your system under test is running (you can copy it into any folder). No further installation is needed.<br />
<br />
To start the bridge, navigate to the executable in a shell/cmd/console and start it with the following arguments:<br />
{| class="wikitable"<br />
|-<br />
! Arguments !! Required !! Description<br />
|-<br />
| -s || Yes || Tells the executable to run in server mode (it will wait for expecco to connect to it, as opposed to client mode, where it actively connects to the partner).<br />
|-<br />
| -k || Yes || Tells the client to keep the connection open after a connection has been terminated.<br>This saves you the hassle to restart it every time a test finishes.<br />
|-<br />
| -a&nbsp;<ip/hostname>|| Yes || The IP-address or hostname from which it will accept connections. To ensure that no other machine connects to the server, set this to the IP of the machine your expecco is running on. To allow any machine (i.e. to have it listen on any IP-address), set it to 0.0.0.0.<br />
|-<br />
| -p <int> || No || The port the server should listen on (default is 34318).<br />
|}<br />
<br />
So you may execute on the remote host:<br />
<br />
DotNetBridgeServer.exe -s -k -a 0.0.0.0<br />
<br />
=Settings=<br />
There are currently no configurable settings.<br />
<br />
=GUI Browser=<br />
The GUI browser allows you to explore a running application. You can browse the application, inspect element properties and execute actions. For a more detailed description also see [[Expecco GUI Tests Extension Reference|Gui Browser]].<br />
<br />
=Library=<br />
This article gives a short overview over the design philosophy of the library. You can find more detailed documentation and examples attached to the blocks itself.<br />
<br />
== Connecting to an Application ==<br />
To automate an application, you first have to connect to it. You can do this with the<br />
blocks from the '''Connecting''' group.<br />
[[Bild:WindowsAutomation2_Library_ConnectingBlocks.PNG|frame|The Library's Connection Blocks.]]<br />
<br />
You can connect to an application by its '''executable name''', or by its '''process id'''. <br />
If you use the executable name, expecco will attach to the main process of the specified executable. Be careful as this is not necessarily the process <br />
drawing the GUI! Use the process id if an application spawns more than one process and you need to make sure you connect to the GUI process and not some background process.<br />
All connection blocks also require you to specify a '''name''' by which the connection should be known in future.<br />
This is needed for when you automate multiple applications at the same time and need to change<br />
'''connection contexts''' during test execution.<br />
Please note that the application to connect to has to be started before the corresponding connection block is executed.<br />
You can change in context of which connection a block is executed with the '''Set Active Connection''' block.<br />
This allows you, for example, to automate and compare the state of applications running on multiple systems in one test case.<br />
<br />
=== Establishing a Local Connection === <br />
If you want to automate an application running on the same host as expecco, there is no need to set up anything! Just use the '''Create Local Connection''' with the mentioned above parameters.<br />
<br />
=== Establishing a Remote Connection ===<br />
Make sure that the DotNet Bridge server is started as explained in [[#Preparing a remote system for test execuction|Preparing a remote system for test execuction]]<br />
When the bridge is running, you can connect to it with the '''Create Remote Connection''' block using the hostname and IP-Address you specified when you started the bridge.<br />
<br />
=== Closing a Connection ===<br />
Remember to always close a connection when it is no longer needed, as it otherwise needlessly consumes resources.<br />
One simple way to do this is to setup your connections in the '''Before Execution''' part of the test suite<br />
and put the '''Close All Connections''' block in the '''After exeuction''' part.<br />
<br />
<br clear=all> <br />
== Accessing GUI Elements ==<br />
[[Bild:WindowsAutomation_Library_AccessBlocks.PNG|frame|The Library's GUI Element Access Blocks.]]<br />
[[Bild:WindowsAutomation_Library_AccessBlocksExamples.PNG|frame|A Few Examples on How to Access Elements in Notepad.]]<br />
[[Bild:WindowsAutomation_Library_AccessBlocksModes.PNG|frame|Different Ways to Reference a GUI Element.]]<br />
All Windows applications are built as a ''' tree''' of ''' GUI elements''' .<br />
Some elements act as container of other element - their children. Tables, for example, are containers<br />
for their cell elements which themselves might contain text labels.<br />
At the root of the tree are one or more '''windows''' . When you connect to an application, you get access to<br />
all windows at the tree's root.<br />
To manipulate any of the system under test's GUI element, you first have to gain access to it.<br />
The group '''GUI Element Access''' provides blocks that help you to gain access to the elements. There are 12 blocks in total, divided between ''' Access By XPath''' , '''Access By Property''',<br />
and '''Existence Test'''. For each category, blocks with the same interface exist. The only difference is the method of retrival.<br />
<br />
;Get GUI Element : returns a '''single''' GUI Element matching the search condition. If multiple match the condition, an '''arbitrary''' element matching the condition is returned.<br />
:If you want to make sure that there is only one element matching, set '''ensureExclusive''' to true. You can also enforce this globally by setting the environment variable '''ensureExclusive''' in your environment. <br />
:If ensureExclusive is set and more than one element is found, the block will fail and notify you of the ambiguity. This is disabled by default as checking for uniqueness is a very costly operation.<br />
:You can also specify a '''timeout''' after which the search is aborted. This is useful if you know an element should be there soon but might currently be loading.<br />
<br />
;Get GUI Elements: returns '''all''' GUI Element matching the search condition. If no element is found, it returns an empty list <b> Timeout </b> and <b>cacheXPath</b> are also applicable.<br />
<br />
;Exists: Works exactly the same as '''Get GUI Element''' but does not fail if no element can be found. Additionally provides an output pin specifying if an element has been found.<br />
<br />
Both of these blocks are also available in the '''Relative To Anchor''' variety. Those blocks also take a GUI Element as '''anchor''' in relation to which they search. <br />
<br />
<br />
=== Using XPaths ===<br />
<br />
'''XPath''' is the query language this plugin uses for selecting GUI elements in the application's element tree.<br />
You can find the XPath of an element with the [[Expecco GUI Tests Extension Reference|Gui Browser]] or with third-party applications like Inspect.exe [https://msdn.microsoft.com/en-us/library/dd318521(v=vs.85).aspx] or FlaUInspect [https://github.com/FlauTech/FlaUInspect].<br />
An '''XPath''' for the scroll button on the <br />
vertical scrollbar in the german Windows Notepad application looks like this:<br />
<br />
<code>/Window[@Name='Unbenannt - Editor']/Document[@Name='Text-Editor']/ScrollBar[@Name='Vertikale Bildlaufleiste']/Button[@Name='Bildlauf nach unten'] </code><br />
<br />
For each level in the GUI tree, a new <b>Location Step</b> containing the child elements <b>Control Type</b> has to be added.<br />
You do not have to use any predicates, the following XPath is valid as well:<br />
<br />
<code>/Window/Document/ScrollBar/Button </code><br />
<br />
but might lead to issues as there might be multiple GUI Elements matching this path.<br />
You can select by three predicates that can be mixed and matched in the same query:<br />
<br />
; Name: the name the application developer has given an element. Be careful as this name might change during programm execution (See for example Notepad's window name which always begins with the name of the currently opened file.<br />
: <code>/Window[@Name='Unbenannt - Editor'] </code> <br />
<br />
; AutomationId: An ID the application developer has given an element. It is meant to be unique between siblings but that is not enforced.<br />
: Many developersleave the ID empty or reuse it, making it useless. You should nontheless use this ID wherever applicable as it is static<br />
: and meant for this exact purpose.<br />
: <code>/Window/Document[@AutomationId='15'] </code> <br />
<br />
;List Index: If there are multiple siblings with the same Control Type, you can select one of them by (1-based) list index.<br />
: <code>/Window[1]/Document[1] </code><br />
: <code>/Window[1]/Document[last()] </code> <br />
<br />
'''Please Note''': You can '''only''' use the three predicates above in your XPaths. Other predicates '''DO NOT''' work! If you want to search<br />
an element by another property (e.g. its help text), use the '''By Property''' variant of the block instead. If the property is not unique,<br />
you can select a unique ancestor of the target by property or XPath relative to which the property is unique.<br />
You can then use that ancestor as anchor in the '''Get GUI Element By Property (Relative to Anchor)''' block.<br />
<br />
=== Using Wildcards in XPaths ===<br />
<br />
XPath also supports '''wildcards'''. You can:<br />
* replace '''one tree level''' with a "*" wildcard: <br />
<code>/Window/Document[@AutomationId='15']/*/Button[1]</code> <br /><br />
<code>/*/*/*/Button[1] </code> <br />
<br />
* replace a '''control type''' with a "*" wildcard:<br />
<code>/Window/*[@AutomationId='15'] </code> <br />
<br />
* replace '''an arbitrary amount of levels''' with a "//" wildcard:<br />
<code>//Button </code> <br /><br />
<code>/Window//Button[1] </code><br />
<br />
Especially the last option is useful as it makes your tests <b>more readable</b> as the reader can easily focus on the relevant parts of the xpath.<br />
But be careful. Using wildcards comes at a steep <b>performance cost</b>. If your tests run unacceptably slow, first try to '''remove wildcards where they are not needed'''.<br />
<br />
=== Using Properties===<br />
<br />
You can also search for elements by property by specifying a value an element's property with the given name must have. For a list of properties a GUI element might have, take a look at Microsoft's documentation [https://docs.microsoft.com/en-us/dotnet/framework/ui-automation/ui-automation-control-patterns-overview#control-pattern-classes-and-interfaces]. It specifies the supported properties for each pattern an element can support.<br />
<br />
=== XPath Resolution in Action Blocks ===<br />
<br />
Getting a reference to the GUI Element everytime you need to manipulate it in any way can make for very unclean looking test suites as two blocks are needed to perform any action - one for getting a reference to the element and another one for perform the action. The library therefore also allows you to directly feed an xpath into every block that would take a reference to a GUI Element.<br />
<br />
The image on the right shows this mode in action. Variants 1 and 2 are functionally equivalent.<br />
While Variant 2 is more concise, Variant 1 is the right choice in most cases. While it has an additional block, you have control over the other input parameters. <br />
You also can recycle the GUI element reference as seen in 3). This is invaluable as the XPath only has to be resolved once. This speeds up test execution by a lot as XPath resolution is very expensive operation.<br />
<br />
'''Rule of thumb''': Always use Variant 1 except if you need the reference to the GUI element only once.<br />
<br />
=== Separating Path Definitions ===<br />
<br />
It is highly recommended to add definitions for element-lathes into an environment (typically the project environment), and use "Environment Value" references as input to the steps. This gives two benefits:<br />
<br />
* the paths are hidden and the values at the steps become more readable<br />
* your tests are easier to maintain: in case of a changed window layout/structure, only the variable definitions need to be changed at one place.<br />
<br />
If the development team of the application can provide the paths of the UI components in a machine readable form (i.e. cvs or excel or xml file), you may even let expecco read and parse those path definitions at test start time, and let it automatically adapt to any change. <br />
<br />
<br clear=all><br />
<br />
== Interacting with GUI Elements ==<br />
Once you retrieved a GUI element, you can interact with it by making use of the library's blocks located in the groups '''Elements''', '''Patterns''', and '''Properties'''. <br />
Blocks in those categories take a GUI Element (and sometimes additional data) as input and manipulate it or query for its properties in some way.<br />
<br />
[[Bild:WindowsAutomation_Library_ElementsPatternsProperties.png|600px|The Library's Blocks for Interacting With Elements.]]<br />
<br />
<br />
=== The 'Elements' Group ===<br />
<br />
This group contains blocks that are applicable to blocks that only work on '''GUI elements of a specific type'''. For a block's detailed description with examples ,<br />
take a look at the block's documentation in expecco.<br />
<br />
Even though not only Checkboxes can be 'checked', the '''Check''' block in the '''Checkbox group''' only works for checkboxes and not e.g. for radio buttons. <br />
Because of this limitation there are not that many blocks targeting specific elements. Most blocks target a specific '''pattern''' instead and are therefore in the '''Patterns''' group.<br />
<br />
=== The 'Patterns' Group ===<br />
<br />
This group contains blocks that are applicable to GUI elements supporting a certain '''pattern'''. '''Patterns''' describe how a GUI element '''behaves''' rather than what it '''is'''. An element can also support multiple patterns<br />
at the same time. You can find out which patterns an element supports with the '''Get Supported Patterns''' block or by taking a look at Microsoft's documentation about patterns [https://docs.microsoft.com/en-us/dotnet/framework/ui-automation/ui-automation-control-patterns-overview].<br />
<br />
Pattern blocks can therefore be '''re-used''' between GUI elements of different types. The '''Expand''' block of the '''ExpandCollapse pattern''', for example, can be used to expand Comboboxes, Menus, Submenus, or Trees.<br />
<br />
=== The 'Properties' Group ===<br />
<br />
Blocks in the '''Patterns''' and '''Elements''' group already allow you to query the value of properties pertaining to that element or pattern. Blocks of the '''Properties''' group allow you to query properties all elements share as well as arbitrary properties. If you try to retrieve a property an element does not support, the block will fail.<br />
<br />
Please note that the '''Get Arbitrary Property''' block can only query for properties that belong to a pattern. You cannot, for example, query "Text" from a textfield as this is not a property, use "Value" of the value pattern instead. Microsoft's documentation has a list of patterns and the properties they provide [https://docs.microsoft.com/en-us/dotnet/framework/ui-automation/ui-automation-control-patterns-overview#control-pattern-classes-and-interfaces]<br />
<br />
<br clear=all><br />
<br />
== Automating Keyboard and Mouse ==<br />
[[Bild:WindowsAutomation_Library_KeyboardMouse.png|400px|The Library's Blocks for Interacting With Keyboard and Mouse.]]<br />
<br />
You can control keyboard and mouse with the blocks in the groups '''Keyboard''' and '''Mouse''' that can be seen on the right. In contrast to the blocks above which work in context of a GUI element, the keyboard and mouse blocks work on a global level. You therefore do not need to provide a GUI element when using them. <br />
<br />
You might want to execute some blocks in context of a GUI elemenet nontheless (e.g. enter a number into a text field instead of just pressing keys while the application is running). You can achieve this by selecting the element with the mouse beforehand as you would do when using the application normally (use the '''Left/Double/Right Click On Element''' blocks for this).<br />
If you do not want to wait for the mouse to move, you can also use the '''Set Focus''' block instead.<br />
<br />
=== Keyboard ===<br />
The plugin provides blocks interacting with the keyboard on different abstraction levels. The most versatile block is '''Type With Control Keys Pressed''' where you can specify a string of characters to be typed while any number of control keys (e.g. esc, alt, shift, ctrl, ...) are held down. All other blocks are specializations of this block.<br />
<br />
'''Press Control Keys''' e.g. allows you to enter key commands such as renaming files (ALT+F2), starting the task manager (CTRL+ALT+DEL), or closing a window (ALT+F4). '''Press Control Key''' makes it easy to just press a single key (e.g. RETURN to start a new line in an edit box). The '''Shortcuts''' group provides an assorted collection of often used key combinations for your convenience.<br />
<br />
Use the '''Type''' to just type some text or, if you just need some throwaway demo text, use '''Type Random Phrase'''.<br />
<br />
If you need more fine grained control over the keyboard, you can make use of '''Scan Codes'''. The keyboard sends a scan codeto the operating system whenever a key is pressed or released. <br />
Microsoft provides a list of the scan codes it supports [https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-6.0/aa299374(v=vs.60)].<br />
'''Press Key By Scan Code''' sends Windows a signal that a key with a given scan code has been pressed (and is held down). The matching '''Release Key By Scan Code''' sends Windows the adverse signal.<br />
Please note that a key that is pressed, stays pressed until it is explicitly released. If you want to just press and release a key by scan code, use '''Type Key By Scan Code'''.<br />
<br />
=== Mouse ===<br />
The plugin provides blocks manipulating the mouse in three ways: '''Clicking''', '''Moving''', and interacting with its '''Buttons'''.<br />
<br />
<br />
<br clear=all><br />
<br />
== Recording and Taking Screenshots ==<br />
<br />
<br />
= Frequently Asked Questions =<br />
<br />
== What is the difference between Click/Invoke/Select/Toggle? ==<br />
<br />
== My element supports a certain pattern but blocks of that pattern don't work? ==<br />
<br />
== I have designed custom elements, how can I automate them? ==<br />
<br />
== I have extended my GUI elements to have custom properties, how can I query them? ==</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Advanced_WebAlerts&diff=14026HelpWizard Pages Advanced WebAlerts2018-08-23T13:14:17Z<p>Bg: </p>
<hr />
<div><strong>Web-Alerts</strong><br />
<br />
Um auf einen ge&ouml;ffneten Alert auf einer Webseite zu reagieren, klicken Sie auf das Alert-Icon [[Datei:WebAlert.png]]<br />
<br />
Dann &ouml;ffnet sich ein Dialog, mit folgenden Optionen:<br />
*<strong>Annehmen:</strong> Akzeptiert den Alert (z.B. klick auf den ok-Button)<br />
*<strong>Ablehnen:</strong> Bricht den Alert ab (z.B. klick auf den abbruch-Button)<br />
*<strong>Text abrufen:</strong> Holt den Text des Alerts und stellt ihn zur verfügung.<br />
*<strong>Text schicken:</strong> Gibt dem Alert einen Text mit (z.B. wenn ein Alert eine Eingabe verlangt)<br />
*<strong>Authentifizieren...:</strong> Authentifiziert einen Benutzer (z.B. wenn man um auf eine Webseite zu gelangen sich authentifizieren muss)<br />
<br />
Wählen Sie aus, wie Sie vorgehen m&ouml;chten. Der jeweilige Baustein dazu wird in das Netzwerk der 'Recorded Sequence' im GUI-Browser eingebunden.<br />
<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Advanced|zurück]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Advanced_Spezialit%C3%A4ten&diff=14025HelpWizard Pages Advanced Spezialitäten2018-08-23T13:13:29Z<p>Bg: </p>
<hr />
<div><strong> Verändern der Hierachie im Projektbaum und im Testplan</strong><br />
<br />
Um die Einrückung der Aktionsbausteine in Ordner zu verändern oder deren Anordnung untereinander,<br />
klicken Sie mit der Rechten Maustaste auf den jeweiligen Baustein.<br />
<br />
[[Datei:KontextmenueBaustein.png|200px]]<br />
<br />
Dort finden Sie folgende Optionen:<br />
*[[Datei:Arrow_up.png]]<strong>Nach oben:</strong> Verschiebt das Ausgewählte Element um eine Position nach oben.<br />
*[[Datei:Arrow_down.png]]<strong>Nach unten:</strong> Verschiebt das Ausgewählte Element um eine Position nach unten. <br />
*[[Datei:Arrow_in.png]]<strong>Heraus:</strong> Verschiebt das Ausgewählte Element um eine Ebene nach oben (z.B. aus einer Gruppe heraus)<br />
*[[Datei:Arrow_out.png]]<strong>Hinein:</strong> Verschiebt das Ausgewählte Element um eine Ebene h&ouml;her (z.B. in eine Gruppe hinein) <br />
*[[Datei:Arrow_in_star.png]]<strong>Move into New Group:</strong> Erstellt eine neue Gruppe und verschiebt das ausgewählte [die ausgewählten] Elemente in die neu erstellte Gruppe<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Start|zurück]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Advanced_Spezialit%C3%A4ten&diff=14024HelpWizard Pages Advanced Spezialitäten2018-08-23T13:12:37Z<p>Bg: </p>
<hr />
<div><strong> Verändern der Hierachie im Projektbaum und im Testplan</strong><br />
<br />
Um die Einrückung der Aktionsbausteine in Ordner zu verändern oder deren Anordnung untereinander,<br />
klicken Sie mit der Rechten Maustaste auf den jeweiligen Baustein.<br />
<br />
[[Datei:KontextmenueBaustein.png|200px]]<br />
<br />
Dort finden Sie folgende Optionen:<br />
*[[Datei:Arrow_up.png]]<strong>Nach oben:</strong> Verschiebt das Ausgewählte Element um eine Position nach oben.<br />
*[[Datei:Arrow_down.png]]<strong>Nach unten:</strong> Verschiebt das Ausgewählte Element um eine Position nach unten. <br />
*[[Datei:Arrow_in.png]]<strong>Heraus:</strong> Verschiebt das Ausgewählte Element um eine Ebene nach oben (z.B. aus einer Gruppe heraus)<br />
*[[Datei:Arrow_out.png]]<strong>Hinein:</strong> Verschiebt das Ausgewählte Element um eine Ebene h&ouml;her (z.B. in eine Gruppe hinein) <br />
*[[Datei:Arrow_in_star.png]]<strong>Move into New Group:</strong> Erstellt eine neue Gruppe und verschiebt das ausgewählte [die ausgewählten] Elemente in die neu erstellte Gruppe</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Advanced_Spezialit%C3%A4ten&diff=14023HelpWizard Pages Advanced Spezialitäten2018-08-23T13:12:26Z<p>Bg: </p>
<hr />
<div><strong> Verändern der Hierachie im Projektbaum und im Testplan</strong><br />
<br />
Um die Einrückung der Aktionsbausteine in Ordner zu verändern oder deren Anordnung untereinander,<br />
klicken Sie mit der Rechten Maustaste auf den jeweiligen Baustein.<br />
<br />
[[Datei:KontextmenueBaustein.png|200px]]<br />
<br />
Dort finden Sie folgende Optionen:<br />
*[[Datei:Arrow_up.png]]<strong>Nach oben:</strong> Verschiebt das Ausgewählte Element um eine Position nach oben.<br />
*[[Datei:Arrow_down.png]]<strong>Nach unten:</strong> Verschiebt das Ausgewählte Element um eine Position nach unten. <br />
*[[Datei:Arrow_in.png]]<strong>Heraus:</strong> Verschiebt das Ausgewählte Element um eine Ebene nach oben (z.B. aus einer Gruppe heraus)<br />
*[[Datei:Arrow_out.png]]<strong>Hinein:</strong> Verschiebt das Ausgewählte Element um eine Ebene h&ouml;her (z.B. in eine Gruppe hinein) <br />
*[[Datei:Arrow_in_star.png]]<strong>Move into New Group</strong> Erstellt eine neue Gruppe und verschiebt das ausgewählte [die ausgewählten] Elemente in die neu erstellte Gruppe</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Advanced_Spezialit%C3%A4ten&diff=14022HelpWizard Pages Advanced Spezialitäten2018-08-23T13:11:50Z<p>Bg: </p>
<hr />
<div><strong> Verändern der Hierachie im Projektbaum und im Testplan</strong><br />
<br />
Um die Einrückung der Aktionsbausteine in Ordner zu verändern oder deren Anordnung untereinander,<br />
klicken Sie mit der Rechten Maustaste auf den jeweiligen Baustein.<br />
<br />
[[Datei:KontextmenueBaustein.png|200px]]<br />
<br />
Dort finden Sie folgende Optionen:<br />
*[[Datei:Arrow_up.png]]<strong>Nach oben</strong> Verschiebt das Ausgewählte Element um eine Position nach oben.<br />
*[[Datei:Arrow_down.png]]<strong>Nach unten</strong> Verschiebt das Ausgewählte Element um eine Position nach unten. <br />
*[[Datei:Arrow_in.png]]<strong>Heraus</strong> Verschiebt das Ausgewählte Element um eine Ebene nach oben (z.B. aus einer Gruppe heraus)<br />
*[[Datei:Arrow_out.png]]<strong>Hinein</strong> Verschiebt das Ausgewählte Element um eine Ebene h&ouml;her (z.B. in eine Gruppe hinein) <br />
*[[Datei:Arrow_in_star.png]]<strong>Move into New Group</strong> Erstellt eine neue Gruppe und verschiebt das ausgewählte [die ausgewählten] Elemente in die neu erstellte Gruppe</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Advanced_Spezialit%C3%A4ten&diff=14021HelpWizard Pages Advanced Spezialitäten2018-08-23T13:11:25Z<p>Bg: </p>
<hr />
<div><strong> Verändern der Hierachie im Projektbaum und im Testfall</strong><br />
<br />
Um die Einrückung der Aktionsbausteine in Ordner zu verändern oder deren Anordnung untereinander,<br />
klicken Sie mit der Rechten Maustaste auf den jeweiligen Baustein.<br />
<br />
[[Datei:KontextmenueBaustein.png|200px]]<br />
<br />
Dort finden Sie folgende Optionen:<br />
*[[Datei:Arrow_up.png]]<strong>Nach oben</strong> Verschiebt das Ausgewählte Element um eine Position nach oben.<br />
*[[Datei:Arrow_down.png]]<strong>Nach unten</strong> Verschiebt das Ausgewählte Element um eine Position nach unten. <br />
*[[Datei:Arrow_in.png]]<strong>Heraus</strong> Verschiebt das Ausgewählte Element um eine Ebene nach oben (z.B. aus einer Gruppe heraus)<br />
*[[Datei:Arrow_out.png]]<strong>Hinein</strong> Verschiebt das Ausgewählte Element um eine Ebene h&ouml;her (z.B. in eine Gruppe hinein) <br />
*[[Datei:Arrow_in_star.png]]<strong>Move into New Group</strong> Erstellt eine neue Gruppe und verschiebt das ausgewählte [die ausgewählten] Elemente in die neu erstellte Gruppe</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Advanced_Reimport&diff=13952HelpWizard Pages Advanced Reimport2018-08-16T12:12:42Z<p>Bg: </p>
<hr />
<div><strong> Reimport </strong><br />
<br />
Wenn Sie eine vorhandene Testsuite laden, werden auch die Bibliotheken geladen, die in der Suite verwendet werden. Bibliotheken sind ein Teil einer Testsuite und werden auch in dem ".ets"-File abgespeichert.<br />
<br />
Um eine Bibliothek zu aktualisieren müssen Sie sie reimportieren.<br />
<br />
Machen Sie dazu einen Rechtsklick auf die jeweilige Bibliothek und wählen Sie im Kontextmenü "''Bibliothek reimportieren''" aus.<br />
<br />
[[Datei:Reimport.png | 250px]]<br />
<br />
Um zu den Standart-Bibliotheken von expecco zu gelangen, klicken Sie im Bibliothek-Browser auf folgendes Symbol: [[Datei:ExpeccoLibraries.png]]<br />
<br />
Dort finden Sie alle installierten expecco-Bibliotheken. Wählen Sie dort dann die aus, die Reimportiert werden soll.<br />
<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Advanced|zurück]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Advanced_drag_and_drop&diff=13950HelpWizard Pages Advanced drag and drop2018-08-16T12:08:49Z<p>Bg: </p>
<hr />
<div><strong>drag & drop</strong><br />
<br />
In expecco sind alle Bausteine dragfähig.<br />
<br />
Damit k&ouml;nnen sie ganz einfach in ein bereits bestehendes Netzwerk oder einen anderen Testplan integriert werden.<br />
<br />
In einem Netzwerk k&ouml;nnen alle Bausteine mittels drag & drop auch miteinander verbunden werden. Sowohl um Sie zu Triggern, als auch an den Input-Pins. <br />
[[Datei:Drag&drop.png|250px]]<br />
<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Advanced|zurück]]</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Organisationsebenen&diff=13944Organisationsebenen2018-08-16T12:04:43Z<p>Bg: </p>
<hr />
<div>Auf diesen Ebenen werden Ihre Tests organisiert:<br />
<br><br />
* Testsuite - das gesamte Projekt wird als ets-file abgespeichert <br />
* Testplan - Ablauf mehrerer Aktionsbausteine hintereinander<br />
* Aktionsbaustein - besteht aus einem oder mehreren Aktionsbausteinen<br />
<br />
<br />
Es gibt zwei wesentliche Workflows um Ihre Tests zu organisieren. <br />
<br />
Eine M&ouml;glichkeit ist es, zuerst die gewünschten Bausteine anzulegen, sie zu ordnen und in Testplänen zu sortieren und danach erst mit Logik und Aufzeichnungen aus dem Rekorder zu füllen.<br />
<br />
Die zweite M&ouml;glichkeit ist, zuerst im Rekorder die gewünschten Sequenzen aufzuzeichnen und dann im nachhinein die Struktur und Ordnung zu schaffen.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Organisationsebenen&diff=13919Organisationsebenen2018-08-16T11:13:14Z<p>Bg: Die Seite wurde neu angelegt: „Auf diesen Ebenen werden Ihre Tests organisiert: <br> * Testsuite - das gesamte Projekt wird als ets-file abgespeichert * Testplan - Ablauf mehrerer Aktionsb…“</p>
<hr />
<div>Auf diesen Ebenen werden Ihre Tests organisiert:<br />
<br><br />
* Testsuite - das gesamte Projekt wird als ets-file abgespeichert <br />
* Testplan - Ablauf mehrerer Aktionsbausteine hintereinander<br />
* Aktionsbaustein - besteht aus einem oder mehreren Aktionsbausteinen</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Testplan&diff=13917Testplan2018-08-15T16:28:47Z<p>Bg: </p>
<hr />
<div>Im Testplan werden einzelne Testfälle organisiert, die als Sequenz ausgeführt werden.<br />
Er kann aus einzelnen Aktionsbausteinen bestehen und/oder aus anderen Testplänen<br><br />
Die Durchführung der Tests erfolgt hier sequentiell.<br />
<br />
<strong>Testplan erstellen:</strong><br><br />
Erstellen Sie mit dem Icon [[Datei:Testplan.PNG]] einen neuen Testplan. <br />
<br />
Klicken Sie auf den erstellten Testplan im Baum.<br><br />
Ziehen Sie nun per drag&drop Ihre Aktionsbausteine in den Testplan.<br />
<br />
[[Datei:Testplan_erstellen.png|250px]]<br />
<br />
[[Datei:bulb.png|20px]] Verwenden Sie beim Speichern Ihrer Sequenz immer einen aussagekräftigen Namen.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=Testplan&diff=13916Testplan2018-08-15T16:28:12Z<p>Bg: Die Seite wurde neu angelegt: „Im Testplan werden einzelne Testfälle organisiert, die als Sequenz ausgeführt werden. Er kann aus einzelnen Aktionsbausteinen bestehen und/oder aus anderen T…“</p>
<hr />
<div>Im Testplan werden einzelne Testfälle organisiert, die als Sequenz ausgeführt werden.<br />
Er kann aus einzelnen Aktionsbausteinen bestehen und/oder aus anderen Testplänen<br><br />
Die Durchführung der Tests erfolgt hier sequentiell.<br />
<br />
<strong>Testplan erstellen:</strong><br />
Erstellen Sie mit dem Icon [[Datei:Testplan.PNG]] einen neuen Testplan. <br />
<br />
Klicken Sie auf den erstellten Testplan im Baum.<br><br />
Ziehen Sie nun per drag&drop Ihre Aktionsbausteine in den Testplan.<br />
<br />
[[Datei:Testplan_erstellen.png|250px]]<br />
<br />
[[Datei:bulb.png|20px]] Verwenden Sie beim Speichern Ihrer Sequenz immer einen aussagekräftigen Namen.</div>Bghttps://doc.expecco.de/w2.x/index.php?title=HelpWizard_Pages_Start_Tests_organisieren1&diff=13915HelpWizard Pages Start Tests organisieren12018-08-15T16:02:50Z<p>Bg: </p>
<hr />
<div><strong> Tests organisieren </strong><br />
<br />
Im Baum des Arbeitsbereiches finden Sie Ihre gespeicherten Aktionen.<br />
<br />
Erstellen Sie mit dem Icon [[Datei:Testplan.PNG]] einen neuen Testplan. <br />
<br />
Klicken Sie auf den erstellten Testplan im Baum.<br><br />
Ziehen Sie nun per drag&drop Ihre Aktionsbausteine in den Testplan.<br />
<br />
[[Datei:Testplan_erstellen.png|250px]]<br />
<br />
[[Datei:bulb.png|20px]] Verwenden Sie beim Speichern Ihrer Sequenz immer einen aussagekräftigen Namen.<br />
<br />
<br />
[[Datei:arrowleft.png|link=HelpWizard Pages Start Tests organisieren0|zurück]]<br />
[[Datei:arrowright.png|link=HelpWizard Pages Start Tests organisieren2|weiter]]<br />
<br />
[[Category: HelpWizard]]<br />
[[Category: HelpWizard Tests organisieren]]</div>Bg