コード例 #1
0
 def __init__(self, driver, obj_name):
     super(CommonUnifiedMapperModal, self).__init__(driver)
     # labels
     self.modal_elem = selenium_utils.get_when_visible(
         self._driver, self._locators.MODAL_CSS)
     self.filter_toggle = base.Toggle(self.modal_elem,
                                      self._locators.FILTER_TOGGLE_CSS)
     self.filter_toggle.is_activated = True
     self.title_modal = base.Label(self.modal_elem,
                                   self._locators.MODAL_TITLE)
     if obj_name != objects.ASSESSMENT_TEMPLATES:
         self.obj_type = base.Label(self.modal_elem,
                                    self._locators.OBJ_TYPE)
     # user input elements
     self.tree_view = base.UnifiedMapperTreeView(self._driver,
                                                 obj_name=obj_name)
     self._add_attr_btn = None
     self.search_result_toggle = base.Toggle(
         self.modal_elem, self._locators.RESULT_TOGGLE_CSS)
     self.open_in_new_frontend_btn = self._browser.link(
         class_name=["btn", "btn-small", "btn-white"],
         text="Open in new frontend")
     self._create_and_map_obj_btn = self._browser.element(
         class_name="modal-header").button(text="Create and map new object")
     self._obj_type_select = self._browser.element(name="type-select")
コード例 #2
0
ファイル: dashboard.py プロジェクト: jasonray716/ggrc-core
 def _refresh_elements(self):
     self.button_dashboard = base.Button(self._driver,
                                         self.locators.BUTTON_DASHBOARD)
     self.button_search = base.Button(self._driver,
                                      self.locators.BUTTON_SEARCH)
     self.button_my_tasks = base.Button(self._driver,
                                        self.locators.BUTTON_MY_TASKS)
     self.button_all_objects = base.Button(self._driver,
                                           self.locators.BUTTON_ALL_OBJECTS)
     self.toggle_user_dropdown = base.Toggle(
         self._driver, self.locators.TOGGLE_USER_DROPDOWN)
     self.toggle_lhn_menu = base.Toggle(self._driver,
                                        self.locators.TOGGLE_LHN)
コード例 #3
0
 def __init__(self, driver, obj_name):
     super(CommonUnifiedMapperModal, self).__init__(driver)
     # labels
     self.filter_toggle = base.Toggle(driver,
                                      self._locators.FILTER_TOGGLE_CSS)
     self.filter_toggle.is_activated = True
     self.title_modal = base.Label(driver, self._locators.MODAL_TITLE)
     self.obj_type = base.Label(driver, self._locators.OBJ_TYPE)
     # user input elements
     self.tree_view = base.UnifiedMapperTreeView(driver, obj_name=obj_name)
     self._add_attr_btn = None
     self.search_result_toggle = base.Toggle(
         driver, self._locators.RESULT_TOGGLE_CSS)
コード例 #4
0
 def __init__(self, driver):
     super(Programs, self).__init__(driver)
     # todo: redesign 'Programs' cls init and related methods and tests
     self.show_advanced = base.Toggle(self.tab_container.active_tab_elem,
                                      self._locators.TOGGLE_SHOW_ADVANCED)
     self.show_advanced.toggle()
     self.object_review = base.Label(self.info_widget_elem,
                                     self._locators.TXT_OBJECT_REVIEW)
     self.submit_for_review = base.Label(
         self.info_widget_elem, self._locators.LINK_SUBMIT_FOR_REVIEW)
     self.description = base.Label(self.tab_container.active_tab_elem,
                                   self._locators.DESCRIPTION)
     self.description_entered = base.Label(
         self.tab_container.active_tab_elem,
         self._locators.DESCRIPTION_ENTERED)
     self.notes = (base.Label(self.tab_container.active_tab_elem,
                              self._locators.NOTES))
     self.notes_entered = base.Label(self.info_widget_elem,
                                     self._locators.NOTES_ENTERED)
     self.manager, self.manager_entered = (
         self.get_header_and_value_txt_from_people_scopes(
             self._elements.PROGRAM_MANAGERS.upper()))
     self.ref_url = base.MultiInputField(self.tab_container.active_tab_elem,
                                         self._locators.REF_URL_CSS)
     self.code = base.Label(self.tab_container.active_tab_elem,
                            self._locators.CODE)
     self.code_entered = base.Label(self.tab_container.active_tab_elem,
                                    self._locators.CODE_ENTERED)
     self.effective_date = base.Label(self.tab_container.active_tab_elem,
                                      self._locators.EFFECTIVE_DATE)
     self.effective_date_entered = base.Label(
         self.tab_container.active_tab_elem,
         self._locators.EFFECTIVE_DATE_ENTERED)
コード例 #5
0
 def __init__(self, driver):
     super(Programs, self).__init__(driver)
     # todo redesign 'Programs' cls init and related methods and tests
     self.show_advanced = base.Toggle(self.info_widget_elem,
                                      self._locators.TOGGLE_SHOW_ADVANCED)
     self.show_advanced.toggle()
     self.object_review = base.Label(self.info_widget_elem,
                                     self._locators.TXT_OBJECT_REVIEW)
     self.submit_for_review = base.Label(
         self.info_widget_elem, self._locators.LINK_SUBMIT_FOR_REVIEW)
     self.description = base.Label(self.info_widget_elem,
                                   self._locators.DESCRIPTION)
     self.description_entered = base.Label(
         self.info_widget_elem, self._locators.DESCRIPTION_ENTERED)
     self.notes = base.Label(self.info_widget_elem, self._locators.NOTES)
     self.notes_entered = base.Label(self.info_widget_elem,
                                     self._locators.NOTES_ENTERED)
     self.manager = base.Label(self.info_widget_elem,
                               self._locators.MANAGER)
     self.manager_entered = base.Label(self.info_widget_elem,
                                       self._locators.MANAGER_ENTERED)
     self.ref_url = base.MultiInputField(self.info_widget_elem,
                                         self._locators.REF_URL_CSS)
     self.code = base.Label(self.info_widget_elem, self._locators.CODE)
     self.code_entered = base.Label(self.info_widget_elem,
                                    self._locators.CODE_ENTERED)
     self.effective_date = base.Label(self.info_widget_elem,
                                      self._locators.EFFECTIVE_DATE)
     self.effective_date_entered = base.Label(
         self.info_widget_elem, self._locators.EFFECTIVE_DATE_ENTERED)
コード例 #6
0
ファイル: info_widget.py プロジェクト: sskhatri/ggrc-core
 def __init__(self, driver):
   super(Programs, self).__init__(driver)
   # same for info_page or info_panel or is_under_audit
   self.show_advanced = base.Toggle(
       self._driver, self._locators.TOGGLE_SHOW_ADVANCED)
   self.show_advanced.toggle()
   self.object_review = base.Label(self._driver, self._locators.OBJECT_REVIEW)
   self.submit_for_review = base.Label(
       self._driver, self._locators.SUBMIT_FOR_REVIEW)
   self.description = base.Label(self._driver, self._locators.DESCRIPTION)
   self.description_entered = base.Label(
       self._driver, self._locators.DESCRIPTION_ENTERED)
   self.notes = base.Label(self._driver, self._locators.NOTES)
   self.notes_entered = base.Label(self._driver, self._locators.NOTES_ENTERED)
   self.manager = base.Label(self._driver, self._locators.MANAGER)
   self.manager_entered = base.Label(
       self._driver, self._locators.MANAGER_ENTERED)
   self.ref_url = base.MultiInputField(
       self._driver, self._locators.REF_URL_CSS)
   self.code = base.Label(self._driver, self._locators.CODE)
   self.code_entered = base.Label(self._driver, self._locators.CODE_ENTERED)
   self.effective_date = base.Label(
       self._driver, self._locators.EFFECTIVE_DATE)
   self.effective_date_entered = base.Label(
       self._driver, self._locators.EFFECTIVE_DATE_ENTERED)
コード例 #7
0
ファイル: base.py プロジェクト: NeoAct/ggrc-core
 def __init__(self, driver):
   super(ProgramsModal, self).__init__(driver)
   # user input elements
   self.ui_description = base.Iframe(
       self._driver, self._locators.UI_DESCRIPTION)
   self.ui_notes = base.Iframe(self._driver, self._locators.UI_NOTES)
   self.ui_code = base.TextInputField(self._driver, self._locators.UI_CODE)
   self.ui_state = base.Dropdown(self._driver, self._locators.UI_STATE)
   self.ui_show_optional_fields = base.Toggle(
       self._driver, self._locators.BUTTON_SHOW_ALL_OPTIONAL_FIELDS)
   self.ui_primary_contact = base.TextFilterDropdown(
       self._driver, self._locators.UI_PRIMARY_CONTACT,
       self._locators.DROPDOWN_CONTACT)
   self.ui_secondary_contact = base.TextFilterDropdown(
       self._driver, self._locators.UI_SECONDARY_CONTACT,
       self._locators.DROPDOWN_CONTACT)
   self.ui_program_url = base.TextInputField(
       self._driver, self._locators.UI_PROGRAM_URL)
   self.ui_reference_url = base.TextInputField(
       self._driver, self._locators.UI_REFERENCE_URL)
   self.ui_effective_date = base.DatePicker(
       self._driver, self._locators.EFFECTIVE_DATE_DATEPICKER,
       self._locators.UI_EFFECTIVE_DATE)
   self.ui_stop_date = base.DatePicker(
       self._driver, self._locators.STOP_DATE_DATEPICKER,
       self._locators.UI_STOP_DATE)
   # static elements
   self.title = base.Label(self._driver, self._locators.TITLE)
   self.description = base.Label(self._driver, self._locators.DESCRIPTION)
   self.program_url = base.Label(self._driver, self._locators.PROGRAM_URL)
コード例 #8
0
 def __init__(self, driver):
   super(Programs, self).__init__(driver)
   # activate all fields
   self.show_advanced = base.Toggle(
       self._driver, self._locators.TOGGLE_SHOW_ADVANCED)
   self.show_advanced.toggle()
   self.object_review = base.Label(self._driver, self._locators.OBJECT_REVIEW)
   self.submit_for_review = base.Label(
       self._driver, self._locators.SUBMIT_FOR_REVIEW)
   self.description = base.Label(self._driver, self._locators.DESCRIPTION)
   self.description_entered = base.Label(
       self._driver, self._locators.DESCRIPTION_ENTERED)
   self.notes = base.Label(self._driver, self._locators.NOTES)
   self.notes_entered = base.Label(self._driver, self._locators.NOTES_ENTERED)
   self.manager = base.Label(self._driver, self._locators.MANAGER)
   self.manager_entered = base.Label(
       self._driver, self._locators.MANAGER_ENTERED)
   self.program_url = base.Label(self._driver, self._locators.PROGRAM_URL)
   self.program_url_entered = base.Label(
       self._driver, self._locators.PROGRAM_URL_ENTERED)
   self.reference_url = base.Label(self._driver, self._locators.REFERENCE_URL)
   self.reference_url_entered = base.Label(
       self._driver, self._locators.REFERENCE_URL_ENTERED)
   self.code = base.Label(self._driver, self._locators.CODE)
   self.code_entered = base.Label(self._driver, self._locators.CODE_ENTERED)
   self.effective_date = base.Label(
       self._driver, self._locators.EFFECTIVE_DATE)
   self.effective_date_entered = base.Label(
       self._driver, self._locators.EFFECTIVE_DATE_ENTERED)
   self.stop_date = base.Label(self._driver, self._locators.STOP_DATE)
   self.stop_date_entered = base.Label(
       self._driver, self._locators.STOP_DATE_ENTERED)
コード例 #9
0
 def __init__(self, driver, obj_name):
   super(CommonUnifiedMapperModal, self).__init__(driver)
   # labels
   self.modal_elem = selenium_utils.get_when_visible(
       self._driver, self._locators.MODAL_CSS)
   self.filter_toggle = base.Toggle(
       self.modal_elem, self._locators.FILTER_TOGGLE_CSS)
   self.filter_toggle.is_activated = True
   self.title_modal = base.Label(self.modal_elem, self._locators.MODAL_TITLE)
   if obj_name != objects.ASSESSMENT_TEMPLATES:
     self.obj_type = base.Label(self.modal_elem, self._locators.OBJ_TYPE)
   # user input elements
   self.tree_view = base.UnifiedMapperTreeView(
       self._driver, obj_name=obj_name)
   self._add_attr_btn = None
   self.search_result_toggle = base.Toggle(
       self.modal_elem, self._locators.RESULT_TOGGLE_CSS)
   self.close_btn = base.Button(self.modal_elem, self._locators.CLOSE_BTN_CSS)
コード例 #10
0
 def __init__(self, driver):
   super(Assessments, self).__init__(driver)
   # toggles
   self.code_section = base.Toggle(
       self._driver, self._locators.BUTTON_CODE_TOGGLE, locator.Common.DOWN)
   # mapped objects
   self.mapped_objects_titles_and_descriptions = self._driver.find_elements(
       *self._locators.MAPPED_OBJECTS_TITLES_AND_DESCRIPTIONS)
   if self.mapped_objects_titles_and_descriptions:
     self.mapped_objects_titles_text = [
         mapped_scope.text.splitlines()[0]
         for mapped_scope in self.mapped_objects_titles_and_descriptions if
         len(mapped_scope.text.splitlines()) >= 2]
     self.mapped_objects_descriptions_text = [
         mapped_scope.text.splitlines()[1]
         for mapped_scope in self.mapped_objects_titles_and_descriptions if
         len(mapped_scope.text.splitlines()) >= 2]
   self.cas_text = self.get_headers_and_values_dict_from_cas_scopes()
   # people section
   self.creators_text, self.creators_entered_text = (
       self.get_header_and_value_text_from_custom_scopes(
           self._elements.CREATORS_.upper(),
           self._locators.PEOPLE_HEADERS_AND_VALUES))
   self.assignees_text, self.assignees_entered_text = (
       self.get_header_and_value_text_from_custom_scopes(
           self._elements.ASSIGNEES_.upper(),
           self._locators.PEOPLE_HEADERS_AND_VALUES))
   self.verifiers_text, self.verifiers_entered_text = (
       self.get_header_and_value_text_from_custom_scopes(
           self._elements.ASSIGNEES_.upper(),
           self._locators.PEOPLE_HEADERS_AND_VALUES))
   # code section
   self.code_section.toggle()
   self.code_and_code_entered = self._driver.find_elements(
       *self._locators.CODE_HEADER_AND_VALUE)
   if self.code_and_code_entered:
     self.code_text, self.code_entered_text = [
         [mapped_scope.text.split()[0], mapped_scope.text.split()[1]] for
         mapped_scope in self.code_and_code_entered if
         len(mapped_scope.text.split()) >= 2][0]
   self.code_section.toggle(False)
   # scope
   self.list_all_headers_text = [
       self._elements.CAS.upper(), self.title().text,
       self._elements.STATE.upper(), self._elements.VERIFIED.upper(),
       self._elements.CREATORS.upper(), self._elements.ASSIGNEES.upper(),
       self._elements.VERIFIERS.upper(),
       self._elements.MAPPED_OBJECTS.upper(), self.code_text]
   self.list_all_values_text = [
       self.cas_text, self.title_entered().text,
       objects.get_normal_form(self.state().text),
       self.state().text.upper() in
       element.AssessmentStates.COMPLETED.upper(), self.creators_entered_text,
       self.assignees_entered_text, self.verifiers_entered_text,
       self.mapped_objects_titles_text, self.code_entered_text]
コード例 #11
0
 def reload_elements(self):
     """Each dropdown in LHN has count of members in brackets which we
 update."""
     self.filter = base.FilterLHN(self._driver,
                                  locator.LhnMenu.FILTER_TEXT_BOX,
                                  locator.LhnMenu.FILTER_SUBMIT_BUTTON,
                                  locator.LhnMenu.FILTER_CLEAR_BUTTON)
     self.pin = base.Toggle(self._driver, locator.LhnMenu.PIN)
     self.toggle_programs = lhn.Toggle(self._driver,
                                       locator.LhnMenu.TOGGLE_PROGRAMS,
                                       locator.LhnMenu.COUNT_PROGRAMS)
     self.toggle_workflows = lhn.Toggle(self._driver,
                                        locator.LhnMenu.TOGGLE_WORKFLOWS,
                                        locator.LhnMenu.COUNT_WORKFLOWS)
     self.toggle_audits = lhn.Toggle(self._driver,
                                     locator.LhnMenu.TOGGLE_AUDITS,
                                     locator.LhnMenu.COUNT_AUDITS)
     self.toggle_assessments = lhn.Toggle(
         self._driver, locator.LhnMenu.TOGGLE_ASSESSMENTS,
         locator.LhnMenu.COUNT_ASSESSMENTS)
     self.toggle_issues = lhn.Toggle(self._driver,
                                     locator.LhnMenu.TOGGLE_ISSUES,
                                     locator.LhnMenu.COUNT_ISSUES)
     self.toggle_directives = base.Toggle(self._driver,
                                          locator.LhnMenu.DIRECTIVES)
     self.toggle_controls_or_objectives = base.Toggle(
         self._driver, locator.LhnMenu.TOGGLE_CONTROLS_OR_OBJECTIVES)
     self.toggle_people_or_groups = base.Toggle(
         self._driver, locator.LhnMenu.TOGGLE_PEOPLE_OR_GROUPS)
     self.toggle_scope = base.Toggle(self._driver,
                                     locator.LhnMenu.TOGGLE_SCOPE)
     self.toggle_risks_or_threats = base.Toggle(
         self._driver, locator.LhnMenu.TOGGLE_RISK_OR_THREATS)
コード例 #12
0
 def __init__(self, driver):
     super(Programs, self).__init__(driver)
     # todo: redesign 'Programs' cls init and related methods and tests
     self.show_advanced = base.Toggle(self.tab_container.active_tab_elem,
                                      self._locators.TOGGLE_SHOW_ADVANCED)
     self.show_advanced.toggle()
     self.manager, self.manager_entered = (
         self.get_header_and_value_txt_from_people_scopes(
             self._elements.PROGRAM_MANAGERS.upper()))
     self._extend_list_all_scopes(self.manager, self.manager_entered)
     self.effective_date = base.Label(self.tab_container.active_tab_elem,
                                      self._locators.EFFECTIVE_DATE)
     self.reference_urls = self._related_urls(self._reference_url_label)
コード例 #13
0
    def __init__(self, driver):
        """
    Args:
        driver (base.CustomDriver)
    """
        super(Programs, self).__init__(driver)

        self.show_advanced = base.Toggle(self._driver,
                                         self._locator.TOGGLE_SHOW_ADVANCED)

        # activate all fields
        self.show_advanced.toggle()

        self.object_review = base.Label(self._driver,
                                        self._locator.OBJECT_REVIEW)
        self.submit_for_review = base.Label(self._driver,
                                            self._locator.SUBMIT_FOR_REVIEW)
        self.description = base.Label(self._driver, self._locator.DESCRIPTION)
        self.description_entered = base.Label(
            self._driver, self._locator.DESCRIPTION_ENTERED)
        self.notes = base.Label(self._driver, self._locator.NOTES)
        self.notes_entered = base.Label(self._driver,
                                        self._locator.NOTES_ENTERED)
        self.manager = base.Label(self._driver, self._locator.MANAGER)
        self.manager_entered = base.Label(self._driver,
                                          self._locator.MANAGER_ENTERED)
        self.program_url = base.Label(self._driver, self._locator.PROGRAM_URL)
        self.program_url_entered = base.Label(
            self._driver, self._locator.PROGRAM_URL_ENTERED)
        self.code = base.Label(self._driver, self._locator.CODE)
        self.code_entered = base.Label(self._driver,
                                       self._locator.CODE_ENTERED)
        self.effective_date = base.Label(self._driver,
                                         self._locator.EFFECTIVE_DATE)
        self.effective_date_entered = base.Label(
            self._driver, self._locator.EFFECTIVE_DATE_ENTERED)
        self.stop_date = base.Label(self._driver, self._locator.STOP_DATE)
        self.stop_date_entered = base.Label(self._driver,
                                            self._locator.STOP_DATE_ENTERED)
        self.primary_contact = base.Label(self._driver,
                                          self._locator.PRIMARY_CONTACT)
        self.primary_contact_entered = base.Label(
            self._driver, self._locator.PRIMARY_CONTACT_ENTERED)
        self.secondary_contact = base.Label(self._driver,
                                            self._locator.SECONDARY_CONTACT)
        self.secondary_contact_entered = base.Label(
            self._driver, self._locator.SECONDARY_CONTACT_ENTERED)
        self.reference_url = base.Label(self._driver,
                                        self._locator.REFERENCE_URL)
        self.reference_url_entered = base.Label(
            self._driver, self._locator.REFERENCE_URL_ENTERED)
コード例 #14
0
 def __init__(self, driver):
     super(ProgramsModal, self).__init__(driver)
     # user input elements
     self.ui_description = base.TextInputField(
         self.modal_elem, self._locators.UI_DESCRIPTION)
     self.ui_notes = base.TextInputField(self.modal_elem,
                                         self._locators.UI_NOTES)
     self.ui_state = base.Dropdown(self.modal_elem, self._locators.UI_STATE)
     self.ui_show_optional_fields = base.Toggle(
         self.modal_elem, self._locators.BUTTON_SHOW_ALL_OPTIONAL_FIELDS)
     self.ui_effective_date = base.DatePicker(
         self.modal_elem, self._locators.EFFECTIVE_DATE_DATEPICKER,
         self._locators.UI_EFFECTIVE_DATE)
     # static elements
     self.title = base.Label(self.modal_elem, self._locators.TITLE)
     self.description = base.Label(self.modal_elem,
                                   self._locators.DESCRIPTION)
コード例 #15
0
 def button_maximize_minimize(self):
     """Button (toggle) maximize and minimize for Info Panels."""
     return base.Toggle(self.info_widget_elem,
                        self._locators.BUTTON_MAXIMIZE_MINIMIZE,
                        locator.Common.NORMAL)