Detail
#28273
Script-Recorder zeichnet Ausdruck als Namen für umschließende, namenlose Layouts auf
Erstellt man in einer Objekt-Selektion (Kachel-Layout, egal welcher Art) ein Layout, das aus einem umschließenden Layout und Kind-Layouts besteht, so hat das umschließende Layout typischerweise keinen Namen.
Möchte man nun beispielsweise einen Test mit dem Script-Recorder aufzeichnen, führt der fehlende Name zu Problemen.\\ Bearbeitet man ein Feld eines Kind-Layouts, zeichnet der Script-Recorder einen Tab-path auf, der ähnlich wie folgend aufgebaut ist:
tab-path="1. Ebene > 2. Ebene > [none(Pfad/zum/umschließenden/contextTableInnerLayout.layout.xml#InnerLayout).title] > 4. Ebene"
Führt man den so aufgezeichneten Schritt aus, kommt die Fehlermeldung
Missing resource '[none(Pfad/zum/umschließenden/contextTableInnerLayout.layout.xml#InnerLayout).title]'.
Test
Als erstes muss man in den Design Modus wechseln.\\ Dann in der Haupt-Tableiste (In der Demo die Leiste mit z.B. "Technisches Demo" und "Strukturen") auf das Burger-Menü klicken und **Tab hinzufügen** wählen.\\ Im neuen Tab über das + eine neue Komponente hinzufügen, hierfür **Kacheln** auswählen.\\ Nach der Anlage erneut auf das + klicken und z.B. **Tabelle als Kachel-Kontext** auswählen. (Auch andere varianten sind möglich)\\ Als Typ kann hier beispielsweise **Person** gewählt werden.\\ Nun auf ein Element der Kachelsicht und anschließend auf das + oben rechts klicken. Als Komponente muss hier nun **Layout** gewählt werden.\\
Bei einem der Komponenten Platzhalter nun auf das + drücken. Hier kann jetzt vermutlich ein beliebiges Element gewählt werden, der Einfachheit halber wählen wir hier nun **Auswahl**. In der Konfiguration ist es nun lediglich wichtig die Elemente der Liste zu wählen, zum Beispiel all(`Contacts:Contact.Person`)
Überprüfen, ob 2 Optionen existieren (Falls nicht in Administration > Development > Modell Editor > TopLogic > Kontakt > Kontakte > Kontakte > Personen > Person, eine neue Instanz anlegen).
Nun unter **Entwickleroptionen** den **Skript Rekorder** starten. Im Skript Rekorder **Aufzeichnen starten** (der rote Punkt) klicken und in der neue konfigurierten Sicht das Element ändern. Also bei der Auswahl unseres Bespiels eine andere Person auswählen. Im Skript Rekorder sollte nun als tab-path ein ähnlicher Pfad, wie oben gezeigt stehen.
Code-Migration
Bestehende gescriptete Testfälle, die in Kachelsichten mit dynamischen Objekt-Kacheln navigieren müssen angepasst werden. Eine dynamische Objektkachel wird im aufgezeichneten Pfad jetzt immer mit {0} dargestellt, statt mit dem möglicherweise nicht existierenden Namen der Kachelkomponente.