def get_references_num(self, editor=None): if editor is None: editor = self.get_editor_element() WebDriverWait(self.get_driver(), self.DEFAULT_TIMEOUT).until( expected_conditions.presence_of_element_located( UI.get_monako_zone_widget_locator())) widget_zone = self.find_it(UI.get_monako_zone_widget_locator(), parent=editor) highlight(widget_zone) list_rows = self.find_them(UI.get_monako_list_row_locator(), parent=widget_zone) return len(list_rows)
def get_line_num_for_reference(self, ref_num, content=None, editor=None): if editor is None: editor = self.get_editor_element() ref_num = int(ref_num) WebDriverWait(self.get_driver(), self.DEFAULT_TIMEOUT).until( expected_conditions.presence_of_element_located( UI.get_monako_zone_widget_locator())) widget_zone = self.find_it(UI.get_monako_zone_widget_locator(), parent=editor) highlight(widget_zone) list_rows = self.find_them(UI.get_monako_list_row_locator(), parent=widget_zone) self.click_me(list_rows[ref_num]) current_line_num = self.get_current_line_num(content=content, parent=widget_zone) return current_line_num
def choose_item_from_suggestion(self, suggest_widget, element): rows_element = self.find_it(UI.get_monako_list_rows_locator(), parent=suggest_widget) self.wait_for_suggestion_rows_is_loaded(parent=rows_element) old_names = list() old_focused = None no_change_num = 0 while True: rows = self.find_them(UI.get_monako_list_row_locator(), parent=rows_element) current_names = list() current_focused = None for row in rows: current_name = row.text if current_name == element: self.click_me(row, effect_time=1) return current_names.append(current_name) if constants.THEIA_FOCUSED in row.get_attribute( constants.TYPE_CLASS): current_focused = row if old_names == current_names and old_focused == current_focused: no_change_num += 1 if no_change_num > 1: # rows didn't change - no more to page down raise ElementNotFoundException(self.get_driver()) old_names = deepcopy(current_names) old_focused = current_focused self.send_key_sequence([Keys.PAGE_DOWN])
def wait_for_suggestion_rows_is_loaded(self, parent): rows = self.find_them(UI.get_monako_list_row_locator(), parent=parent) if not len(rows): raise WebDriverException