Simulation in MobileTogether Designer
Sie können direkt in MobileTogether Designer eine Simulation des Projekt-Workflow ausführen. Als Simulationsgerät wird das aktuell in der Vorschaugeräteauswahlliste der Hauptsymbolleiste ausgewählte Gerät angenommen. Sie können das Vorschaugerät auch ändern, um die Simulation auf anderen Geräten auszuführen. Um die Simulation auszuführen, wählen Sie den Befehl Ausführen | Workflow simulieren oder drücken Sie F5. Daraufhin wird der Simulator geöffnet und die Simulation wird gestartet. Bei einer Simulation im Designer werden sowohl Server- als auch Client-Meldungen im Fenster "Meldungen" ausgegeben.
Simulationssprache
Die Simulationssprache für die Simulation im Designer und auf dem Server wird mit dem Befehl Projekt | Simulationssprache ausgewählt. Die Sprache von Client-Simulationen ist die Sprache des Client-Mobilgeräts, auf dem die Simulation ausgeführt wird.
Dateipfade
Wenn eine Simulation direkt in MobileTogether Designer ausgeführt wird, werden Dateipfade, genau wie im Design angegeben, aufgelöst. Relative Pfade sind relativ zum Ordner der Designdatei. Vergleichen Sie diese Pfade damit, wie Dateipfade bei Verwendung des Servers zur Workflow-Simulation aufgelöst werden.
Simulatorfunktionalitäten
Das Simulatorfenster bietet die folgenden Funktionalitäten:
•In linken Fenster (Simulation) wird die Simulation angezeigt. Die Optionen für das Simulationsfenster sind im Folgenden beschrieben.
•Im rechten Fenster (Seitenquellen) sehen Sie, wie sich die XML-Daten im Laufe der Simulation ändern. Die Optionen für das Fenster "Seitenquellen" sind weiter unten beschrieben.
•Im Fenster "Meldungen" der MobileTogether Designer-Benutzeroberfläche wird ein ausführlicher Schritt-für-Schritt-Bericht über alle stattfindenden Aktivitäten ausgegeben. Sie sehen daher bei jedem Schritt im Laufe des Workflow, was geschieht. Diese Funktion erweist sich beim Testen und Debuggen von Designdateien als extrem hilfreich.
ϖ Die Simulationen im Designer geben einen Bericht über Aktivitäten sowohl auf dem Server als auch dem Client aus
ϖ Die Simulationen auf dem Server geben einen Bericht über Client-Meldungen aus.
ϖ Die Simulationen auf dem Client geben einen Bericht über Server-Meldungen aus.
•Steuerelemente, bei denen eine Benutzerinteraktion erforderlich ist, sind aktiviert. So ist z.B. die Auswahlliste in der Abbildung oben aktiviert.
Symbolleiste des Simulationsfensters
Die Symbolleiste des Simulationsfensters enthält die folgenden Schaltflächen (von links nach rechts):
•Zurück: Wenn es sich bei der Seite um eine Unterseite handelt, dann wird die Unterseite bei Klick auf Zurück geschlossen. Wenn es sich bei der Seite um eine Toplevel-Seite handelt, wird der Simulator geschlossen. Siehe auch BeiKlickAufZurückSchaltfläche.
•Ausrichtung wechseln: Sie können zwischen der Ansicht im Hoch- und Querformat wechseln.
•Simulatoroptionen: Enthält ein Dropdown-Menü von Simulatoroptionen (Beschreibung weiter unten unter Simulatoroptionen).
•Zurück zur App (erneut öffnen) simulieren: Ist aktiv, wenn beim erneuten Öffnen einer Seite eine Aktualisierung der Seite definiert wurde. Aktualisiert die Seite bei der Simulation.
•Beim nächsten Fehler anhalten: Hält die Simulation beim nächsten XPath-Fehler an und zeigt den XPath-Ausdruck im XPath Debuggeran.
•Am nächsten Breakpoint anhalten: Hält die Simulation am nächsten Breakpoint an (wobei es sich um eine Aktion oder einen XPath-Ausdruck handeln kann) und öffnet den entsprechenden Debugger.
•An der nächsten Aktion anhalten: Hält die Simulation an der/den Aktion(en) des nächsten ausgelösten Ereignisses an und zeigt die Aktion(en) im Aktionsdebugger an.
•Testfallaufzeichnung beenden: Wenn die Aufzeichnung eines Testfalls gestartet wird, wird der Simulator geöffnet und die Aufzeichnung läuft im Simulator. Durch Klick auf diese Schaltfläche (i) beenden Sie die Aufzeichnung des Testfalls und (ii) öffnen das Dialogfeld "Bestätigung für aufgezeichneten Testfall", in dem Sie den Namen des aufgezeichneten Testfalls definieren können.
•Nächsten Schritt wiedergeben: Gibt in der aktuell ausgeführten Testfallwiedergabe den nächsten Schritt wieder. Diese Schaltfläche ist aktiv, wenn die schrittweise Wiedergabe ausgewählt ist. Siehe dazu Abschnitt Wiedergabeoptionen von Wiedergabe eines Testfalls.
•Schnappschuss aufnehmen: Nimmt einen Schnappschuss des gerade aufgezeichneten Testfalls auf. Diese Schaltfläche ist aktiv, wenn die Aufnahme von Schnappschüssen auf manuell (und nicht automatisch) gesetzt wurde. Siehe dazu den Abschnitt Aufzeichnungsoptionen von Wiedergabe eines Testfalls.
•Push-Benachrichtigungen: Wenn das Design eine Push-Benachrichtigung enthält, wird das Dialogfeld "Aufgezeichnete Push-Benachrichtigung (Simulation) verwalten" geöffnet. Eine Beschreibung zur Verwendung finden Sie unter Simulieren von Push-Benachrichtigungen.
•Barcode-Scanner: Dadurch wird ein aus drei Teilen bestehendes Menü - für jeden unterstützten Barcode-Scanner eines - ausgeklappt. Sie können für jeden Scanner die Empfang von Barcode-Daten vom Scanner simulieren. Im Fall von Zebra-Scannern können Sie auch die Herstellung der Verbindung, den Empfang von Bilddaten und die Beendung der Verbindung simulieren. Beachten Sie, dass Sie (bei Zebra-Scannern) die Herstellung einer Verbindung simulieren müssen, bevor die Optionen für nachfolgende Simulationen zur Verfügung stehen. Für einige dieser Simulationen wird ein Dialogfeld angezeigt, in dem Sie die Daten für die Simulation (z.B. eine ISBN- oder Bilddatei) bereitstellen müssen.
•Stilinspektor: Öffnet das Fenster "Stilinspektor".
•Kauf: Wenn In-App-Käufe im Design aktiviert sind, wird eine Liste aller für den Kauf verfügbaren In-App-Kauf-Produkte bereitgestellt und Sie können eines oder mehrere dieser Produkte kaufen. Die Liste der Produkte stammt aus der XML-Datendatei für die In-App-Kaufsimulation. Nähere Informationen dazu finden Sie unter In-App-Käufe.
•Gekauft: Wenn im Design In-App-Käufe aktiviert sind, wird eine Liste aller In-App-Kauf-Produkte, die als gekauft (d.h. als Purchase-Element) in der XML-Datendatei für In-App-Kaufsimulationen aufgelistet sind, angezeigt. Wenn Sie eines dieser gekauften Produkte auswählen, gilt dieses Produkt in der Simulation zusammen mit allen seinen Kaufeigenschaften als gekauft. Wenn Sie anschließend die Aktion Käufe abfragen der Käufe wiederherstellen ausführen, werden die ausgewählten Produkte (von der Aktion) als gekauft zurückgegeben. Nähere Informationen dazu finden Sie unter In-App-Käufe.
•Empfang von MQTT-Nachricht simulieren: Wenn im Design der Empfang von MQTT-Nachrichten aktiviert ist, werden Aktionen, die bei Eingang einer MQTT-Nachricht ausgeführt werden, simuliert. Die zu simulierenden MQTT-Nachrichten stammen aus einer Beispieldatei, die im Dialogfeld "Optionen" definiert ist.
•Empfang von Broadcast-Nachricht simulieren: Wenn im Design der Empfang von Broadcast-Nachrichten aktiviert ist, werden Aktionen, die bei Eingang einer Broadcast-Nachrichten ausgeführt werden, simuliert. Die zu simulierenden Broadcast-Nachrichten stammen aus einer Beispieldatei, die im Dialogfeld "Optionen" definiert ist.
•Absenden: Wenn es sich bei der Seite nicht um die letzte handelt, gelangen Sie durch Klick auf Absenden auf die nächste Seite. Wenn es sich um die letzte Seite handelt, wird der Workflow beendet. Siehe auch BeiKlickAufAbsenden.
•Seite aktualisieren: Diese Schaltfläche wird angezeigt, wenn die Seitenaktualisierungsoption Manuell ausgewählt wurde. Wenn Sie auf Seite aktualisieren klicken, wird die Seite mit den geänderten Daten aktualisiert.
Simulatoroptionen
Bei Klick auf die Symbolleisten-Schaltfläche Simulatoroptionen wird eine Dropdown-Liste der Optionen für den Simulator angezeigt (siehe Abbildung unten). Die einzelnen Optionen sind weiter unten beschrieben. Die Standardeinstellungen werden auf den Registern Simulation 1 und Simulation 2 des Dialogfelds "Optionen" vorgenommen. Beachten Sie, dass bei Änderung einer Einstellung im Simulator die neue Einstellung zur Standardeinstellung wird und als solche auf den Registern Simulation 1 und Simulation 2 des Dialogfelds "Optionen" angezeigt wird.
•Timer stoppen: Wenn ein Timer definiert wurde, der in bestimmten Intervallen ausgeführt wird, und wenn Aktionen definiert wurden, die in diesen Intervallen ausgeführt werden sollen, so können Sie die Timer (und somit die Aktionen) stoppen, indem Sie auf Timer stoppen klicken. Dadurch werden die durch diese Aktionen generierten Meldungen gelöscht und Sie haben einen besseren Überblick über andere Meldungen und Aspekte des Workflow.
•Serverzugriff verhindern: Wenn diese Option aktiviert ist, wird der Zugriff auf den Server deaktiviert. Dadurch können Sie testen, wie sich die Lösung verhält, wenn ein Fehler bei der Verbindung mit dem Server auftritt. Wenn die Option deaktiviert ist, wird der Zugriff auf den Server gestattet. Nähere Informationen zu dieser Funktion finden Sie unter Serververbindungsfehler.
•Client-Sperre verhindern: Bei Auswahl dieser Option wird bei Ausführung der Aktion Client sperren eine Sperrung des Client-Zugriffs auf den Server verhindert. Wenn kein Zugriff auf den Server besteht, weil die Aktion Client sperren von einem anderen Client ausgeführt wurde, funktioniert die Verhinderung der Client-Sperre natürlich nicht.
•Ist Server gekauft: Simuliert bei Simulationen im Designer und Testausführungen auf dem Client, dass MobileTogether Server-Lizenzen erworben wurden. Bei Simulationen auf dem Server wird der tatsächliche Kauf-Status von Lizenzen auf dem Server retourniert.
•WLAN simulieren: Setzt die XPath-Erweiterungsfunktion mt-connected-via-wifi auf true(), wenn die Schaltfläche aktiv ist und auf false(), wenn sie deaktiviert ist. Auf diese Art kann ein vorhandener WLAN-Zugriff simuliert werden. Auf diese Art können Szenarien, in denen WLAN-Zugriff erforderlich ist, simuliert werden.
•LAN simulieren: Setzt die XPath-Erweiterungsfunktion mt-connected-via-lan auf true(), wenn die Schaltfläche aktiv ist und auf false(), wenn sie deaktiviert ist. Auf diese Art kann ein vorhandener LAN-Zugriff simuliert werden. Auf diese Art können Szenarien, in denen eine LAN-Verbindung erforderlich ist, simuliert werden.
•Als AppStore App simulieren: Setzt die statische globale Variable MT_IsAppStoreApp auf true(), wenn die Schaltfläche aktiviert ist und auf false(), wenn sie deaktiviert ist. Dadurch können Simulationen, die vom Wert dieser Variablen abhängen, durchgeführt werden.
•Kamera simulieren: Der Simulator verhält sich so, als ob die Kamera des Geräts zur Verfügung stünde, wenn die Schaltfläche aktiv ist. Dadurch können Sie Designszenarien simulieren, in denen Sie Zugriff auf die Kamera benötigen.
•Galerie simulieren: Der Simulator verhält sich so, als ob die Galerie des Geräts zur Verfügung stünde, wenn die Schaltfläche aktiv ist. Dadurch können Sie Designszenarien simulieren, in denen Sie Zugriff auf die Galerie benötigen.
•Mikrofon simulieren: Der Simulator verhält sich so, als ob das Mikrofon des Geräts zur Verfügung stünde, wenn die Schaltfläche aktiv ist. Dadurch können Sie Designszenarien simulieren, in denen Sie Zugriff auf das Mikrofon benötigen.
•NFC simulieren: Wenn diese Option ausgewählt ist, ist die NFC-Funktion aktiviert, sodass NFC-Aktionen ausgeführt werden können. Die eigentlichen NFC-Daten werden dem Simulator über NFC-Beispieldateien zur Verfügung gestellt.
•Bluetooth simulieren (BT): Der Simulator verhält sich so, als stünde die Bluetooth-Verbindung des Geräts zur Verfügung, wenn diese Schaltfläche aktiv ist. Dadurch können Sie Barcode-Scanner-Szenarien simulieren, für die Bluetooth benötigt wird.
•GPS simulieren: Wenn diese Option ausgewählt ist, ist die Standortfunktion aktiviert, sodass Standortfunktionen getestet werden können. Über die speziell für Standortsimulationen bereitgestellte XML-Standortdatei können Standortbeispieldaten zur Verfügung gestellt werden.
•Kontakte simulieren: Der Simulator verhält sich so, als wäre das Adressbuch des Geräts verfügbar, wenn diese Schaltfläche aktiv ist. Dadurch können Sie Design-Szenarien simulieren, in denen Sie Zugriff auf das Adressbuch benötigen. Das Adressbuch wird entweder anhand einer Beispieldatei oder mit Hilfe Ihrer Microsoft Outlook-Kontakte simuliert. Welche Option verwendet werden soll, wird auf dem Register "Simulation 2" des Dialogfelds "Optionen" definiert.
•Kalender simulieren: Wenn diese Option aktiviert ist, verhält sich der Simulator so, als stünde der Gerätekalender zur Verfügung. Auf diese Art können Sie Designszenarien simulieren, für die Zugriff auf den Kalender erforderlich ist. Der Kalender wird entweder anhand einer Beispieldatei oder mit Hilfe Ihrer Microsoft Outlook-Kalender simuliert. Welche Option verwendet werden soll, wird auf dem Register "Simulation 2" des Dialogfelds "Optionen" definiert.
•Telefon simulieren: Der Simulator verhält sich so, als stünde die Telefonfunktion des Geräts zur Verfügung, wenn diese Schaltfläche aktiv ist. Dadurch können Sie Design-Szenarien simulieren, in denen Sie Zugriff auf das Telefon benötigen.
•SMS simulieren: Der Simulator verhält sich so, als stünde die SMS-Funktion des Geräts zur Verfügung, wenn diese Schaltfläche aktiv ist. Dadurch können Sie Design-Szenarien simulieren, in denen Sie Zugriff auf den SMS-Dienst benötigen.
•DB-Struktur-lesen simulieren: Wenn diese Option aktiviert ist, verwendet der Simulator die DB-Struktur aus der XML-Datei, die auf dem auf dem Register "Simulation 2" des Dialogfelds "Optionen" definiert ist. Informationen dazu finden Sie unter der Aktion DB-Struktur lesen.
•Telefon simulieren: Der Simulator verhält sich so, als stünde die Telefonfunktion des Geräts zur Verfügung, wenn diese Schaltfläche aktiv ist. Dadurch können Sie Design-Szenarien simulieren, in denen Sie Zugriff auf das Telefon benötigen.
•In-App-Käufe simulieren Bei Auswahl dieser Option wird durch Verwendung von in einer XML-Datei gespeicherten Beispieldaten die Simulation von In-App-Käufen ermöglicht. Die zu verwendende XML-Datei wird auf dem Register "Simulation 2" des Dialogfelds "Optionen" definiert.
•System-Design Hell/Dunkel: Wechselt zum ausgewählten Design (hell oder dunkel).
•Aktivierreihenfolge anzeigen: Wenn Aktivierreihenfolge anzeigen definiert wurde, können Sie mit dieser Option alle Steuerelemente mit einer Aktivierreihenfolge mit ihrer jeweiligen Aktivierreihenfolgenummer anzeigen.
•Nur Fehler protokollieren: Aktivieren Sie diese Option, um nur Fehler zu protokollieren und andere Arten von Meldungen zu ignorieren.
•Auf Standardoptionen setzen: Setzt die Optionen des Simulationsfensters auf ihre Standardeinstellungen zurück.
Optionen und Funktionalitäten des Seitenquellenfensters
Die folgenden Optionen stehen in der Symbolleiste der Seitenquellen zur Verfügung
•XPath auswerten: Öffnet das XPath/XQuery-Fenster, in dem Sie den XPath-Ausdruck auswerten können. XPath-Ausdrücke können während der Ausführung des Simulators auch über das Fenster "Stile & Eigenschaften" ausgewertet werden.
•Persistente Daten löschen und neu starten: Löscht die persistenten Daten und die Simulation wird neu gestartet.
•Simulation neu starten: Damit kann die Simulation jederzeit neu gestartet werden.
•Suche: Aktiviert die Suche nach Text in den Seitenquellen im Bereich "Seitenquellen", und zwar ab dem Root-Element von Seitenquellen.
•Im Fenster "Seitenquellen" können Sie Teile der Struktur mit Hilfe von Kopieren und Einfügen an andere Stellen in der Struktur kopieren. Dies ist nützlich, wenn Sie Daten, wie z.B. DB-Datensätze, kopieren möchten, um weitere Daten für die Simulation hinzuzufügen. Die kopierten Nodes stehen nur für die Dauer der Simulation zur Verfügung.
•Sie können mit der rechten Maustaste auf einen Node klicken und anschließend ein Child-Element oder -Attribut einfügen, anhängen oder hinzufügen. Sie können ein Element oder Attribut durch Doppelklick auf seinen Namen auch umbenennen. Wenn die Seitenstruktur auf eine dieser Arten geändert wird, wird die Seitenquelle mit der neuen Struktur neu geladen und die Aktualisierungen werden auf der angezeigten Seite entsprechend angezeigt.
•Wenn Sie mit der rechten Maustaste auf einen Node einer Seitenquelle klicken und den Befehl XML laden auswählen, wird die gesamte Seitenquelle durch die ausgewählte XML-Datei ersetzt. Beachten Sie: Wenn die Struktur der geladenen XML-Datei nicht mit der Struktur der erwarteten Seitenquelle übereinstimmt, enthalten diejenigen Teile des Designs, die auf dieser Seitenquelle basieren, Fehler.
•Wenn Sie mit der rechten Maustaste auf einen Node einer Seitenquelle klicken und den Befehl XML speichern auswählen, wird die gesamte Seitenquelle in der ausgewählten XML-Datei gespeichert.
•Wenn Sie mit der rechten Maustaste auf einen Node einer Seitenquelle klicken, können Sie den XPath-Ausdruck für diesen Node durch Auswahl des Kontextmenübefehls XPath kopieren in die Zwischenablage kopieren.
Bearbeiten der XML-Strukturen von Seitenquellen im Simulator
In der XML-Struktur im Simulator werden die XML-Daten der verschiedenen Seitenquellen angezeigt. Sie sehen darin auch, wie sich diese Werte im Lauf der Simulation ändern. Sie können die XML-Strukturen direkt im Simulator mit Hilfe von Ausschneiden/Kopieren/Einfügen/Löschen und mittels Drag-and-Drop bearbeiten und auch Attribute und Elemente zur Struktur hinzufügen, darin einfügen und daran anhängen. Die Bearbeitungsbefehle stehen im Kontextmenü der XML-Struktur zur Verfügung. Die geänderten Daten werden sofort im Simulationsfenster angezeigt. Indem Sie die XML-Struktur auf diese Weise ändern, können Sie die Lösung auch mit geänderten XML-Datenstrukturen, die andere, manuell eingegeben Daten enthalten, testen. Dadurch können Sie schnell Alternativen testen, die andere Daten und/oder Strukturen enthalten.
Das Kontextmenü von XML-Strukturen im Simulator bietet die folgenden Funktionen:
•Attribut/Element hinzufügen / einfügen /anhängen: Das Attribut oder Element wird hinzugefügt, bzw. vor dem Eintrag, zu dem das Kontextmenü aufgerufen wurde, eingefügt bzw. danach angehängt.
•XML laden: Lädt eine externe XML-Datei (die dieselbe Struktur und dieselben Elemente wie die XML-Struktur hat) in die XML-Struktur.
•XML speichern: Speichert die Struktur und Daten einer XML-Struktur unter einem beliebigen von Ihnen gewählten Pfad.
•In XMLSpy anzeigen: Öffnet die XML-Struktur in Altova XMLSpy.
•Struktur $XML auf Basis dieser Struktur überschreiben: Überschreibt die Struktur einer Seitenquelle mit der Struktur der XML-Struktur im Simulator.