diff options
Diffstat (limited to 'uitest')
-rw-r--r-- | uitest/ui_logger_dsl/UI_Object_commands.tx | 7 | ||||
-rw-r--r-- | uitest/ui_logger_dsl/dsl_core.py | 33 |
2 files changed, 39 insertions, 1 deletions
diff --git a/uitest/ui_logger_dsl/UI_Object_commands.tx b/uitest/ui_logger_dsl/UI_Object_commands.tx index a3fe81b72b2b..7770bc1ee581 100644 --- a/uitest/ui_logger_dsl/UI_Object_commands.tx +++ b/uitest/ui_logger_dsl/UI_Object_commands.tx @@ -11,12 +11,14 @@ import type_options 7) SpinUIObject ( Increase event - Decrease event ) 8) TabControlUIObject ( Change tab event ) 9) ToolBoxUIObject ( Click on item event ) + 10) ValueSetUIObject (Choose item) */ UIObjectCommand: ButtonUIObject | CheckBoxUIObject | EditUIObject | RadioButtonUIObject | ListBoxUIObject | ComboBoxUIObject | - SpinFieldUIObject | TabControlUIObject | ToolBoxUIObject + SpinFieldUIObject | TabControlUIObject | ToolBoxUIObject | + ValueSetUIObject ; ButtonUIObject: @@ -46,6 +48,9 @@ ListBoxUIObject: ToolBoxUIObject: 'Click on item number' POS=INT 'in' toolbox_id=ID ; +ValueSetUIObject: + 'Choose element with position ' POS=INT 'in' value_set_id=STRING 'from' parent_id=STRING +; //============================================================= //helper grammar for EditUIObject action_on_UIObject: diff --git a/uitest/ui_logger_dsl/dsl_core.py b/uitest/ui_logger_dsl/dsl_core.py index feb69b76a320..b9941c81c746 100644 --- a/uitest/ui_logger_dsl/dsl_core.py +++ b/uitest/ui_logger_dsl/dsl_core.py @@ -104,6 +104,7 @@ class ul_Compiler: "SpinFieldUIObject": self.handle_spin_field, "EditUIObject": self.handle_Edit_uiObject, "ToolBoxUIObject": self.handle_ToolBox_uiObject, + "ValueSetUIObject": self.handle_ValueSet_uiObject, "writer_Type_command": self.handle_writer_type, "writer_Select_command": self.handle_writer_select, "writer_GOTO_command": self.handle_writer_goto, @@ -627,6 +628,38 @@ class ul_Compiler: self.prev_command = ToolBoxUIObject + def handle_ValueSet_uiObject(self, ValueSetUIObject): + + name_of_obj = "" + if keyword.iskeyword(ValueSetUIObject.value_set_id): + name_of_obj = "x" + ValueSetUIObject.value_set_id + else: + name_of_obj = ValueSetUIObject.value_set_id + + parent_txt = ValueSetUIObject.parent_id.split("/") + parent = parent_txt[len(parent_txt)-2] + if( parent.upper() != self.last_parent[self.parent_hierarchy_count].upper()): + self.init_Object( + parent, + parent, + self.last_parent[self.parent_hierarchy_count], + ) + + self.init_Object( + name_of_obj, ValueSetUIObject.value_set_id, parent + ) + + else: + self.init_Object( + name_of_obj, ValueSetUIObject.value_set_id, self.last_parent[self.parent_hierarchy_count] + ) + + self.write_line_with_one_parameters( + name_of_obj, "CHOOSE", "POS", ValueSetUIObject.POS + ) + + self.prev_command = ValueSetUIObject + def handle_writer_type(self, writer_Type_command): self.init_app() |