Ejemplo n.º 1
0
 def __init__(self, driver):
   super(InfoWidget, self).__init__(driver)
   self.child_cls_name = self.__class__.__name__
   self.list_all_headers_txt = []
   self.list_all_values_txt = []
   self.info_widget_locator = (
       self._locators.INFO_PAGE_ELEM if self.is_info_page else
       self._locators.INFO_PANEL_ELEM)
   self.info_widget_elem = selenium_utils.get_when_visible(
       self._driver, self.info_widget_locator)
   # common for all objects
   self.title_lbl_txt = self.get_title_lbl_txt()
   self.title = base.Element(
       self.info_widget_elem, self._locators.TITLE_ENTERED)
   self.state_lbl_txt = self._elements.STATE.upper()
   self.state_txt = self.get_state_txt()
   self._extend_list_all_scopes(
       [self.title_lbl_txt, self.state_lbl_txt],
       [self.title.text, self.state_txt])
   self.info_3bbs_btn = selenium_utils.get_when_visible(
       self.info_widget_elem, self._locators.BUTTON_3BBS)
   # for Info Page
   if self.is_info_page:
     self.info_page_footer = base.Label(
         self.info_widget_elem, self._locators.TXT_FOOTER_CSS)
     self.modified_by = selenium_utils.get_when_visible(
         self.info_widget_elem, self._locators.TXT_MODIFIED_BY_CSS)
     _created_at_txt, _updated_at_txt = (
         self.info_page_footer.text.split(
             string_utils.Symbols.WHITESPACE * 6))
     self.created_at_txt = (
         re.sub(element.Common.CREATED_AT, string_utils.Symbols.BLANK,
                _created_at_txt))
     self.updated_at_txt = (
         _updated_at_txt.splitlines()[1].replace(
             "on ", string_utils.Symbols.BLANK))
     self._extend_list_all_scopes(
         [self._elements.CREATED_AT.upper(),
          self._elements.MODIFIED_BY.upper(),
          self._elements.UPDATED_AT.upper()],
         [self.created_at_txt, self.modified_by.text, self.updated_at_txt])
   # for Info Panel
   else:
     self.panel = (
         SnapshotedInfoPanel(self._driver, self.info_widget_elem)
         if (self.child_cls_name.lower() in objects.ALL_SNAPSHOTABLE_OBJS and
             self.is_snapshoted_panel) else
         InfoPanel(self._driver, self.info_widget_elem))
   # for tab controller
   if not self.is_snapshoted_panel:
     self.tab_container_elem = self.info_widget_elem.find_element(
         *self._locators.TAB_CONTAINER_CSS)
     self.tab_container = self._get_tab_container()
     self.tab_container.tab_controller.active_tab = (
         self.tab_container._elements.OBJ_TAB)
   # for overridable methods
   self._extend_list_all_scopes_by_code()
   self._extend_list_all_scopes_by_cas()
   self._extend_list_all_scopes_by_review_state()
Ejemplo n.º 2
0
 def __init__(self, driver):
     super(InfoWidget, self).__init__(driver)
     selenium_utils.wait_for_js_to_load(self._driver)
     self.child_cls_name = self.__class__.__name__.lower()
     self.list_all_headers_txt = []
     self.list_all_values_txt = []
     self.info_widget_locator = (self._locators.INFO_PAGE_ELEM
                                 if self.is_info_page else
                                 self._locators.INFO_PANEL_ELEM)
     self.info_widget_elem = selenium_utils.get_when_visible(
         self._driver, self.info_widget_locator)
     # common for all objects
     self.title_lbl_txt = self.get_title_lbl_txt()
     self.title = base.Element(self.info_widget_elem,
                               self._locators.TITLE_ENTERED)
     self.state_lbl_txt = self._elements.STATE.upper()
     self.state_txt = self.get_state_txt()
     self._extend_list_all_scopes([self.title_lbl_txt, self.state_lbl_txt],
                                  [self.title.text, self.state_txt])
     self.info_3bbs_btn = selenium_utils.get_when_visible(
         self.info_widget_elem, self._locators.BUTTON_3BBS)
     # for Info Page
     if self.is_info_page:
         self.info_page_footer = base.Label(self.info_widget_elem,
                                            self._locators.TXT_FOOTER_CSS)
         self.modified_by = selenium_utils.get_when_visible(
             self.info_widget_elem, self._locators.TXT_MODIFIED_BY_CSS)
         _created_at_txt, _updated_at_txt = (
             self.info_page_footer.text.split(string_utils.WHITESPACE * 6))
         self.created_at_txt = (re.sub("Created at", string_utils.BLANK,
                                       _created_at_txt))
         self.updated_at_txt = (_updated_at_txt.splitlines()[1].replace(
             "on ", string_utils.BLANK))
         self._extend_list_all_scopes([
             self._elements.CREATED_AT.upper(),
             self._elements.MODIFIED_BY.upper(),
             self._elements.UPDATED_AT.upper()
         ], [
             self.created_at_txt, self.modified_by.text, self.updated_at_txt
         ])
     # for Info Panel
     else:
         self.panel = (SnapshotableInfoPanel(
             self._driver, self.info_widget_elem) if self.child_cls_name
                       in objects.ALL_SNAPSHOTABLE_OBJS else InfoPanel(
                           self._driver, self.info_widget_elem))
Ejemplo n.º 3
0
 def __init__(self, driver):
     super(InfoWidget, self).__init__(driver)
     self.child_cls_name = self.__class__.__name__
     self.obj_name = objects.get_singular(self.child_cls_name)
     self.is_asmts_info_widget = (
         self.child_cls_name.lower() == objects.ASSESSMENTS)
     self.list_all_headers_txt = []
     self.list_all_values_txt = []
     self.info_widget_locator = (self._locators.INFO_PAGE_ELEM
                                 if self.is_info_page else
                                 self._locators.INFO_PANEL_ELEM)
     self.info_widget_elem = selenium_utils.get_when_visible(
         self._driver, self.info_widget_locator)
     # common for all objects
     self.title = base.Element(self.info_widget_elem,
                               self._locators.TITLE_ENTERED)
     self.state_lbl_txt = self._elements.STATE.upper()
     self.state_txt = self.get_state_txt()
     self._extend_list_all_scopes(["TITLE", self.state_lbl_txt],
                                  [self.title.text, self.state_txt])
     self.info_3bbs_btn = self._browser.element(
         xpath=self._locators.BUTTON_3BBS_XPATH)
     self.inline_edit_controls = self._browser.elements(
         class_name="set-editable-group")
     # for Info Page
     if self.is_info_page:
         self.info_page_footer = base.Label(self.info_widget_elem,
                                            self._locators.TXT_FOOTER_CSS)
         self.modified_by = selenium_utils.get_when_visible(
             self.info_widget_elem, self._locators.TXT_MODIFIED_BY_CSS)
         _created_at_txt, _updated_at_txt = (
             self.info_page_footer.text.split(
                 string_utils.Symbols.WHITESPACE * 6))
         self.created_at_txt = (re.sub(element.Common.CREATED_AT,
                                       string_utils.Symbols.BLANK,
                                       _created_at_txt))
         self.updated_at_txt = (_updated_at_txt.splitlines()[2].replace(
             "on ", string_utils.Symbols.BLANK))
         self._extend_list_all_scopes([
             self._elements.CREATED_AT.upper(),
             self._elements.MODIFIED_BY.upper(),
             self._elements.UPDATED_AT.upper()
         ], [
             self.created_at_txt, self.modified_by.text, self.updated_at_txt
         ])
     # for Info Panel
     else:
         self.panel = (
             SnapshotedInfoPanel(self._driver, self.info_widget_elem) if
             (self.child_cls_name.lower() in objects.ALL_SNAPSHOTABLE_OBJS
              and self.is_snapshoted_panel) else InfoPanel(
                  self._driver, self.info_widget_elem))
     # for tab controller
     if not self.is_snapshoted_panel:
         self.tab_container_elem = self.info_widget_elem.find_element(
             *self._locators.TAB_CONTAINER_CSS)
         self.tab_container = (tab_containers.AssessmentsTabContainer(
             self._driver, self.tab_container_elem)
                               if self.is_asmts_info_widget else
                               tab_containers.TabContainer(
                                   self._driver, self.tab_container_elem))
         self.tab_container.tab_controller.active_tab = (
             self.tab_container._elements.OBJ_TAB)
     # core element to find sub elements
     self.core_elem = (self.info_widget_elem if self.is_snapshoted_panel
                       else self.tab_container.active_tab_elem)
     # for overridable methods
     self._extend_list_all_scopes_by_review_state()
     if not self.is_asmts_info_widget:
         self._extend_list_all_scopes_by_code()
     self.comment_area = self._comment_area()
     self.edit_popup = object_modal.get_modal_obj(self.obj_name,
                                                  self._driver)
     self.top_tabs = page_tab.Tabs(self._browser, page_tab.Tabs.TOP)
     self.tabs = page_tab.Tabs(self._browser, page_tab.Tabs.INTERNAL)
Ejemplo n.º 4
0
 def __init__(self, driver, obj_name):
     super(CloneOrCreateAssessmentTemplatesModal,
           self).__init__(driver, obj_name)
     self.create_asmt_tmpl_btn = base.Element(
         self.modal_elem, self._locators.CREATE_ASMT_TMPL_BTN_CSS)
Ejemplo n.º 5
0
 def show_generated_results(self):
     """Wait for Assessments generated successfully message.
 Click on link to show them.
 """
     base.Element(self._driver,
                  self._locators.SHOW_GENERATED_ASSESSMENTS).click()