Enhancement
Critical
Major
Detail
Detail
As a result of ticket #25872, the layout of the Script Recorder has been changed. These changes mean that playing scripted tests that create new components or replace existing ones no longer works.
Currently, the Script Recorder tree that represents the actions receives its model through a provider. Before the changes of ticket #25872, the tree received its model via the selection of a ScriptUploadComponent, which has now been removed and its logic transferred to the tree itself.
Assuming the user wants to play a script that dynamically replaces or creates components in the application, e.g. a new tab, then at least one component in particular will be replaced (in this case the tabbar) when it is played. When a component is replaced, the relationships are reset. That is, the tl:LayoutLinker traverses the component tree and connects the channels of the different components. Among other things, the model channel of the Script Recorder tree is connected via the tl:ProviderLinking, to the tl:DerivedComponentChannel it creates. Since the model channel is a tl:DefaultChannel, when the two channels are linked, the value, in particular, the empty tl:ScriptContainer from the provider, is set as the model. This is wrong. As a result, the script recorder loses its loaded script. Previously, the value of the selection of the ScriptUploadComponent was used there.
Test
Start demo, open Script-Recorder and then run the test
/com.top_logic.demo/src/test/com/top_logic/demo/scripted/layout/TestTabCreation.script.xml
and execute it. The test should run without errors.