Detail
#28273
Script Recorder records expression as names for enclosing, nameless layouts
If you create a layout in an object selection (tile layout, regardless of type) that consists of an enclosing layout and child layouts, the enclosing layout typically has no name.
If you now want to record a test with the script recorder, for example, the missing name leads to problems.\\ If you edit a field of a child layout, the script recorder records a tab path that is structured similarly to the following:
tab-path="1st level > 2nd level > [none(path/to/enclosing/contextTableInnerLayout.layout.xml#InnerLayout).title] > 4th level"
If the step recorded in this way is executed, the following error message appears
Missing resource '[none(path/to/enclosing/contextTableInnerLayout.layout.xml#InnerLayout).title]'.
Test
First you have to switch to design mode.\\ Then click on the burger menu in the main table bar (in the demo the bar with e.g. "Technical demo" and "Structures") and select **Add tab**.\\ In the new tab add a new component via the +, select **Tiles**.\\ After the creation click on the + again and select e.g. **Table as tile context**. (Other variants are also possible)\\ For example, **Person** can be selected as the type here.\\ Now click on an element of the tile view and then on the + in the top right-hand corner. You must now select **Layout** as the component.\\
Now click on the + for one of the component placeholders. Any element can probably be selected here, for the sake of simplicity we will now select **Select**. In the configuration, it is now only important to select the elements of the list, for example all(`Contacts:Contact.Person`)
Check whether 2 options exist (if not in Administration > Development > Model Editor > TopLogic > Contact > Contacts > Contacts > People > Person, create a new instance).
Now start the **Script recorder** under **Developer options**. In the script recorder, click **Start recording** (the red dot) and change the element in the newly configured view. In other words, select a different person when selecting our example. In the script recorder, the tab path should now be similar to the one shown above.
Code migration
Existing scripted test cases that navigate in tile views with dynamic object tiles must be adapted. A dynamic object tile is now always displayed with {0} in the recorded path instead of the possibly non-existent name of the tile component.