diff options
author | Ahmed ElShreif <aelshreif7@gmail.com> | 2020-08-24 11:39:37 +0200 |
---|---|---|
committer | Ahmed ElShreif <aelshreif7@gmail.com> | 2020-08-27 20:29:22 +0200 |
commit | 707903aa8c74047c4fe6364b114b0736f61a4b4d (patch) | |
tree | d75f8fcb69bc2c95409d602c0c36033cc695812a /uitest | |
parent | 98b47440d2f95504f6bca82d2081343bdc183cde (diff) |
uilogger : Add support in the Logger and DSL for ValueSet
For example the DSL syntax will be:
>>Choose element with position 18 in 'colorset' from 'cui/ui/colorpage/colorset'
Change-Id: I9186b870da096719873c8709dedbc4bb4d315e2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101267
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
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() |