def show_tooltip(self, tooltip_type, line_number, editor=None): if editor is None: editor = self.get_editor_element() if tooltip_type == "error": divs_locator = UI.get_editor_errors_locator() elif tooltip_type == "info": divs_locator = UI.get_editor_infos_locator() else: raise Exception("Unsupported tooltip type") error_divs = self.get_error_divs(divs_locator, editor) error_div = None for error_div in error_divs: parent = self.get_parent_node(error_div) top = self.get_element_top(parent) line_num = self.get_line_number_from_top(top, editor) if line_num == line_number: break if error_div is None: raise ElementNotFoundException(self.get_driver()) highlight(error_div, effect_time=1) actions = ActionChains(self.get_driver()) actions.move_to_element(error_div).perform() time.sleep(1) hover = self.find_active_hover_element(editor=editor) hover_row = self.find_it(UI.get_hover_row_locator(), parent=hover) highlight(hover_row, effect_time=1) content = self.find_it(UI.get_hover_content_locator(), parent=hover_row) return content.text
def error_should_present(self, editor=None, error_type=None): if editor is None: editor = self.get_editor_element() if error_type is None: error_type = "error" overlays = self.find_it(UI.get_monako_overlays_locator(), parent=editor) if error_type == "error": error_divs = self.find_them(UI.get_editor_errors_locator(), parent=overlays) elif error_type == "info": error_divs = self.find_them(UI.get_editor_infos_locator(), parent=overlays) else: raise Exception("Unsupported error_type: '{0}'".format(error_type)) if not len(error_divs): raise WebDriverException return error_divs