def open_info_page_of_obj(self, obj):
     """Navigate to info page URL of object according to URL of object and
 return info widget class of object.
 """
     info_page_url = self.url_obj_info_page.format(obj_url=obj.url)
     selenium_utils.open_url(self.driver, info_page_url)
     return self.info_widget_cls(self.driver)
예제 #2
0
 def get_list_scopes_from_tree_view(self, widget_url, gen_widget):
   """Navigate to widget URL, set visible fields and get list of objects
   scopes as dicts from header (keys) and items (values) that displayed
   in tree view.
   """
   selenium_utils.open_url(self.driver, widget_url)
   return gen_widget(self.driver).get_list_objs_scopes()
예제 #3
0
 def open_widget_of_mapped_objs(self, src_obj):
   """Navigate to generic widget URL of mapped objects according to URL of
   source object and return generic widget class of mapped objects.
   """
   generic_widget_url = self.url_mapped_objs.format(src_obj_url=src_obj.url)
   selenium_utils.open_url(self.driver, generic_widget_url)
   return self.generic_widget_cls(self.driver, self.obj_name)
예제 #4
0
 def is_obj_editable_via_info_panel(self, widget_url, gen_widget, obj):
     """Navigate to widget URL, select object from Tree View by title and
 check via Info panel that object is editable.
 """
     selenium_utils.open_url(self.driver, widget_url)
     objs_widget = gen_widget(self.driver)
     return objs_widget.is_editable(obj_title=obj.title)
예제 #5
0
 def get_list_scopes_from_tree_view(self, widget_url, gen_widget):
     """Navigate to widget URL, set visible fields and get list of objects
 scopes as dicts from header (keys) and items (values) that displayed
 in tree view.
 """
     selenium_utils.open_url(self.driver, widget_url)
     return gen_widget(self.driver).get_list_objs_scopes()
예제 #6
0
 def get_scope_from_info_widget(self, info_page_url, info_widget):
     """Navigate to Info page URL and get object scope as dict with
 titles (keys) and entered_titles (values) that displayed in Info widget.
 """
     selenium_utils.open_url(self.driver, info_page_url)
     obj_info_page = info_widget(self.driver)
     return obj_info_page.get_obj_as_dict()
예제 #7
0
 def open_widget_of_mapped_objs(self, src_obj):
   """Navigate to generic widget URL of mapped objects according to URL of
   source object and return generic widget class of mapped objects.
   """
   generic_widget_url = self.url_mapped_objs.format(src_obj_url=src_obj.url)
   selenium_utils.open_url(self.driver, generic_widget_url)
   return self.generic_widget_cls(self.driver, self.obj_name)
예제 #8
0
 def update_obj_ver_via_info_panel(self, widget_url, gen_widget, obj):
   """Navigate to widget URL, select snapshotable object from tree view
   by title and update object to the latest version via info panel.
   """
   selenium_utils.open_url(self.driver, widget_url)
   objs_widget = gen_widget(self.driver)
   objs_widget.update_ver(obj.title)
예제 #9
0
 def update_obj_ver_via_info_panel(self, widget_url, gen_widget, obj):
     """Navigate to widget URL, select snapshotable object from tree view
 by title and update object to the latest version via info panel.
 """
     selenium_utils.open_url(self.driver, widget_url)
     objs_widget = gen_widget(self.driver)
     objs_widget.update_ver(obj.title)
예제 #10
0
 def open_widget_of_mapped_objs(self, src_obj):
   """Navigate to generic widget URL of mapped objects according to URL of
   source object and return generic widget class of mapped objects.
   """
   generic_widget_url = self.url_mapped_objs.format(src_obj_url=src_obj.url)
   # todo fix freezing when navigate through tabs by URLs and using driver.get
   selenium_utils.open_url(generic_widget_url, is_via_js=True)
   return self.generic_widget_cls(self.driver, self.obj_name)
예제 #11
0
 def open_digest_page(self):
     """Open page with daily emails."""
     selenium_utils.open_url(self.daily_emails_url)
     selenium_utils.wait_for_doc_is_ready(self._driver)
     self._browser.element(
         xpath="//h1[contains(text(),'digest')]").wait_until(
             lambda e: e.present,
             timeout=constants.ux.MAX_USER_WAIT_SECONDS)
예제 #12
0
 def open_info_page_of_obj(self, obj):
   """Navigate to info page URL of object according to URL of object and
   return info widget class of object.
   """
   info_page_url = self.url_obj_info_page.format(
       obj_url=obj.url)
   selenium_utils.open_url(self.driver, info_page_url)
   return self.info_widget_cls(self.driver)
예제 #13
0
def selenium(selenium, pytestconfig):
  """Create Web Driver instance."""
  if not selenium_utils.is_headless_chrome(pytestconfig):
    selenium.set_window_size(
        os.environ["SCREEN_WIDTH"], os.environ["SCREEN_HEIGHT"])
  dynamic_fixtures.dict_executed_fixtures.update({"selenium": selenium})
  selenium_utils.open_url(selenium, url.Urls().gae_login)
  yield selenium
예제 #14
0
 def create_obj_via_tree_view(self, widget_url, gen_widget, obj):
     """Navigate to widget URL, open creation modal from tree view,
 fill data according to object attributes and create new object.
 """
     selenium_utils.open_url(self.driver, widget_url)
     objs_widget = gen_widget(self.driver).create()
     objs_widget.fill_minimal_data(obj.title, obj.code)
     objs_widget.save_and_close()
예제 #15
0
 def create_obj_via_tree_view(self, widget_url, gen_widget, obj):
   """Navigate to widget URL, open creation modal from tree view,
   fill data according to object attributes and create new object.
   """
   selenium_utils.open_url(self.driver, widget_url)
   objs_widget = gen_widget(self.driver).create()
   objs_widget.fill_minimal_data(obj.title, obj.code)
   objs_widget.save_and_close()
예제 #16
0
def selenium(selenium, pytestconfig):
    """Create Web Driver instance."""
    if not selenium_utils.is_headless_chrome(pytestconfig):
        selenium.set_window_size(os.environ["SCREEN_WIDTH"],
                                 os.environ["SCREEN_HEIGHT"])
    dynamic_fixtures.dict_executed_fixtures.update({"selenium": selenium})
    selenium_utils.open_url(selenium, url.Urls().gae_login)
    yield selenium
예제 #17
0
 def open_widget_of_mapped_objs(self, src_obj):
   """Navigate to generic widget URL of mapped objects according to URL of
   source object and return generic widget class of mapped objects.
   """
   generic_widget_url = self.url_mapped_objs.format(src_obj_url=src_obj.url)
   # todo fix freezing when navigate through tabs by URLs and using driver.get
   selenium_utils.open_url(self.driver, generic_widget_url, is_via_js=True)
   return self.generic_widget_cls(self.driver, self.obj_name)
예제 #18
0
def get_lhn_accordion(driver, object_name):
  """Select relevant section in LHN and return relevant section accordion."""
  selenium_utils.open_url(driver, dashboard.Dashboard.URL)
  lhn_menu = dashboard.Header(driver).open_lhn_menu()
  # if object button not visible, open this section first
  if object_name in cache.LHN_SECTION_MEMBERS:
    method_name = factory.get_method_lhn_select(object_name)
    lhn_menu = getattr(lhn_menu, method_name)()
  return getattr(lhn_menu, constants.method.SELECT_PREFIX + object_name)()
예제 #19
0
 def test_add_obj_to_task_group(self, app_workflow, app_task_group,
                                app_control, selenium):
     """Test mapping of object to a task group."""
     workflow_ui_facade.add_obj_to_task_group(obj=app_control,
                                              task_group=app_task_group)
     # open another page to check mapping is saved
     selenium_utils.open_url(url.Urls().dashboard)
     objs = workflow_ui_facade.get_objs_added_to_task_group(app_task_group)
     test_utils.list_obj_assert(objs, [app_control])
예제 #20
0
 def bulk_update_via_info_widget(self, audit_obj):
     """Navigate to Info widget URL of Audit object and bulk update objects to
 latest version.
 """
     audit_info_widget_url = Audits.URL_INFO.format(obj_url=audit_obj.url)
     selenium_utils.open_url(self.driver, audit_info_widget_url)
     audit_info_page = Audits.info_widget_cls(self.driver)
     (audit_info_page.open_info_3bbs().select_update_objs().confirm_update(
     ))
예제 #21
0
    def _open_custom_attributes_tab(self):
        """Open Custom Attributes widget on Admin dashboard.

    Returns:
      lib.page.widget.admin_widget.CustomAttributes
    """
        selenium_utils.open_url(url.Urls().admin_dashboard)
        return dashboard.AdminDashboard(
            self._driver).select_custom_attributes()
예제 #22
0
def get_lhn_accordion(driver, object_name):
    """Select relevant section in LHN and return relevant section accordion."""
    selenium_utils.open_url(driver, dashboard.Dashboard.URL)
    lhn_menu = dashboard.Header(driver).open_lhn_menu()
    # if object button not visible, open this section first
    if object_name in cache.LHN_SECTION_MEMBERS:
        method_name = factory.get_method_lhn_select(object_name)
        lhn_menu = getattr(lhn_menu, method_name)()
    return getattr(lhn_menu, constants.method.SELECT_PREFIX + object_name)()
예제 #23
0
 def test_destructive_obj_count(self, selenium):
     """Checks if count updates in LHN after creating new program."""
     selenium_utils.open_url(url.Urls().dashboard)
     count_before = dashboard.Header(selenium).open_lhn_menu(
     ).select_my_objects().toggle_programs.members_count
     rest_facade.create_program()
     selenium.refresh()
     count_after = dashboard.Header(selenium).open_lhn_menu(
     ).select_my_objects().toggle_programs.members_count
     assert count_after == count_before + 1
예제 #24
0
 def test_add_obj_to_task_group(
     self, app_workflow, app_task_group, app_control, selenium
 ):
   """Test mapping of object to a task group."""
   workflow_ui_facade.add_obj_to_task_group(
       obj=app_control, task_group=app_task_group)
   # open another page to check mapping is saved
   selenium_utils.open_url(url.Urls().dashboard)
   objs = workflow_ui_facade.get_objs_added_to_task_group(app_task_group)
   test_utils.list_obj_assert(objs, [app_control])
예제 #25
0
def assert_can_delete(selenium, obj, can_delete):
    """If `can_delete` is True, assert that current user can delete object via UI
  otherwise check that user cannot delete object via UI
  """
    info_page = _get_ui_service(selenium, obj=obj).open_info_page_of_obj(obj)
    assert info_page.three_bbs.delete_option.exists == can_delete
    if can_delete:
        info_page.three_bbs.select_delete().confirm_delete()
        selenium_utils.open_url(obj.url)
        assert ui_utils.is_error_404()
예제 #26
0
def assert_can_delete(selenium, obj, can_delete):
  """If `can_delete` is True, assert that current user can delete object via UI
  otherwise check that user cannot delete object via UI
  """
  info_page = _get_ui_service(selenium, obj=obj).open_info_page_of_obj(obj)
  assert info_page.three_bbs.delete_option.exists == can_delete
  if can_delete:
    info_page.three_bbs.select_delete().confirm_delete()
    selenium_utils.open_url(obj.url)
    assert ui_utils.is_error_404()
예제 #27
0
 def open_info_panel_of_obj_by_id(self, src_obj, obj):
   """Navigate to info panel URL of object according to URL of source object
   and URL of mapped object used id of object,
   return info widget class of object.
   """
   info_panel_url = (
       self.url_mapped_objs.format(src_obj_url=src_obj.url) + "/" + obj.id)
   selenium_utils.open_url(self.driver, info_panel_url)
   obj_info_panel = self.info_widget_cls(self.driver)
   return obj_info_panel
예제 #28
0
 def open_widget_of_mapped_objs(self, src_obj):
     """Navigates to URL of mapped Programs according to URL of
 source object.
 Returns: Programs widget class.
 """
     generic_widget_url = self.url_mapped_objs.format(
         src_obj_url=src_obj.url)
     # todo fix freezing when navigate through tabs by URLs and using driver.get
     selenium_utils.open_url(generic_widget_url, is_via_js=True)
     return generic_widget.Programs(self._driver, self._actual_obj_name)
예제 #29
0
 def open_my_assessments_page(self):
     """Opens 'My Assessments' page via URL and sets status filter to display
  Assessments in all states.
 Returns:
   MyAssessments page."""
     page = dashboard.MyAssessments()
     selenium_utils.open_url(page.my_assessments_url)
     selenium_utils.wait_for_js_to_load(self._driver)
     page.status_filter_dropdown.select_all()
     return page
예제 #30
0
 def generate_objs_via_tree_view(self, widget_url, gen_widget, obj,
                                 objs_under):
     """Navigate to widget URL, open generation modal from tree view,
 fill data according to object and objects under attributes,
 generate new object(s).
 """
     selenium_utils.open_url(self.driver, widget_url)
     objs_widget = gen_widget(self.driver).generate()
     objs_under_titles = [obj_under.title for obj_under in objs_under]
     objs_widget.fill_minimal_data(obj.title, objs_under_titles)
     objs_widget.generate_and_close()
예제 #31
0
 def generate_objs_via_tree_view(self, widget_url, gen_widget, obj,
                                 objs_under):
   """Navigate to widget URL, open generation modal from tree view,
   fill data according to object and objects under attributes,
   generate new object(s).
   """
   selenium_utils.open_url(self.driver, widget_url)
   objs_widget = gen_widget(self.driver).generate()
   objs_under_titles = [obj_under.title for obj_under in objs_under]
   objs_widget.fill_minimal_data(obj.title, objs_under_titles)
   objs_widget.generate_and_close()
예제 #32
0
 def test_search_snapshots_in_lhn(
         self, create_audit_with_control_and_update_control, selenium,
         version_of_ctrl, is_found, tab_name):
     """Check via UI that LHN search not looking for snapshots."""
     audit_with_one_control = create_audit_with_control_and_update_control
     selenium_utils.open_url(selenium, dashboard.Dashboard.URL)
     lhn_menu = dashboard.Dashboard(selenium).open_lhn_menu()
     lhn_menu.select_tab(tab_name)
     control_title = audit_with_one_control[version_of_ctrl][0].title
     lhn_menu.filter_query(control_title)
     controls = (lhn_menu.select_controls_or_objectives().select_controls().
                 members_visible)
     assert (control_title in [el.text for el in controls]) == is_found
예제 #33
0
 def test_search_snapshots_in_lhn(
     self, create_audit_with_control_and_update_control, selenium,
     version_of_ctrl, is_found, tab_name
 ):
   """Check via UI that LHN search not looking for snapshots."""
   audit_with_one_control = create_audit_with_control_and_update_control
   selenium_utils.open_url(selenium, dashboard.Dashboard.URL)
   lhn_menu = dashboard.Dashboard(selenium).open_lhn_menu()
   lhn_menu.select_tab(tab_name)
   control_title = audit_with_one_control[version_of_ctrl][0].title
   lhn_menu.filter_query(control_title)
   controls = (lhn_menu.select_controls_or_objectives().
               select_controls().members_visible)
   assert (control_title in [el.text for el in controls]) == is_found
예제 #34
0
 def test_permalink(self, selenium, new_program_ui):
     """Verify url is copied to clipboard."""
     _, program_info_page = new_program_ui
     selenium_utils.open_url(selenium, program_info_page.url)
     program_info_page = info_widget.Programs(selenium)
     program_info_page.open_info_3bbs().select_get_permalink()
     # test notification alert
     base.AnimatedComponent(selenium,
                            [locator.WidgetInfoProgram.ALERT_LINK_COPIED],
                            wait_until_visible=True)
     # test generated link
     modal = program_info_page.open_info_3bbs().select_edit()
     modal.ui_title.paste_from_clipboard(modal.ui_description)
     assert modal.ui_title.text == program_info_page.url
예제 #35
0
 def test_horizontal_nav_bar_tabs(self, new_controls_rest, selenium):
   """Tests that several objects in widget can be deleted sequentially.
   Preconditions:
   - Controls created via REST API.
   """
   selenium_utils.open_url(selenium, dashboard.Dashboard.URL)
   controls_widget = dashboard.Dashboard(selenium).select_controls()
   for _ in xrange(controls_widget.member_count):
     counter = controls_widget.get_items_count()
     (controls_widget.select_member_by_num(0).
      open_info_3bbs().select_delete().confirm_delete())
     controls_widget.wait_member_deleted(counter)
   assert generic_widget.Controls(
       selenium, objects.CONTROLS).members_listed == []
예제 #36
0
 def test_permalink(self, selenium, new_program_ui):
   """Verify url is copied to clipboard."""
   _, program_info_page = new_program_ui
   selenium_utils.open_url(selenium, program_info_page.url)
   program_info_page = info_widget.Programs(selenium)
   program_info_page.open_info_3bbs().select_get_permalink()
   # test notification alert
   base.AnimatedComponent(
       selenium, [locator.WidgetInfoProgram.ALERT_LINK_COPIED],
       wait_until_visible=True)
   # test generated link
   modal = program_info_page.open_info_3bbs().select_edit()
   modal.ui_title.paste_from_clipboard(modal.ui_description)
   assert modal.ui_title.text == program_info_page.url
예제 #37
0
 def clone_via_info_widget_get_obj(self, audit_obj):
     """Navigate to Info widget URL of Audit object and clone it including
 Assessment Templates via Info widget.
 Redirect to cloned Audit, get and return Audit object from Info widget.
 """
     audit_info_widget_url = Audits.URL_INFO.format(obj_url=audit_obj.url)
     selenium_utils.open_url(self.driver, audit_info_widget_url)
     audit_info_page = Audits.info_widget_cls(self.driver)
     (audit_info_page.open_info_3bbs().select_clone().confirm_clone(
         is_full=True))
     cloned_audit_obj = AuditsFactory().create_empty()
     cloned_audit_obj.url = self.driver.current_url
     actual_cloned_audit_obj = self.get_obj_from_info_widget(
         audit_obj=cloned_audit_obj)
     actual_cloned_audit_obj.url = cloned_audit_obj.url
     return actual_cloned_audit_obj
예제 #38
0
 def test_edit_modal(self, selenium, new_program_ui):
   """Tests if data is saved after editing program info page edit modal.
   """
   _, program_info_page = new_program_ui
   selenium_utils.open_url(selenium, program_info_page.url)
   program_info_page = info_widget.Programs(selenium)
   modal = program_info_page.open_info_3bbs().select_edit()
   test_utils.ModalNewPrograms.enter_test_data(modal)
   test_utils.ModalNewPrograms.set_start_end_dates(modal, 1, -2)
   modal.save_and_close()
   selenium_utils.open_url(selenium, program_info_page.url)
   updated_program_info_page = info_widget.Programs(selenium)
   assert (test_utils.HtmlParser.parse_text(modal.ui_title.text) ==
           updated_program_info_page.title_entered().text)
   assert (modal.ui_description.text ==
           updated_program_info_page.description_entered.text)
   assert modal.ui_notes.text == updated_program_info_page.notes_entered.text
   assert (modal.ui_program_url.text ==
           updated_program_info_page.program_url_entered.text)
   assert (modal.ui_reference_url.text ==
           updated_program_info_page.reference_url_entered.text)
예제 #39
0
 def test_edit_modal(self, selenium, new_program_ui):
     """Tests if data is saved after editing program info page edit modal.
 """
     _, program_info_page = new_program_ui
     selenium_utils.open_url(selenium, program_info_page.url)
     program_info_page = info_widget.Programs(selenium)
     modal = program_info_page.open_info_3bbs().select_edit()
     test_utils.ModalNewPrograms.enter_test_data(modal)
     test_utils.ModalNewPrograms.set_start_end_dates(modal, 1, -2)
     modal.save_and_close()
     selenium_utils.open_url(selenium, program_info_page.url)
     updated_program_info_page = info_widget.Programs(selenium)
     assert (test_utils.HtmlParser.parse_text(modal.ui_title.text) ==
             updated_program_info_page.title_entered.text)
     assert (modal.ui_description.text ==
             updated_program_info_page.description_entered.text)
     assert modal.ui_notes.text == updated_program_info_page.notes_entered.text
     assert (modal.ui_program_url.text ==
             updated_program_info_page.program_url_entered.text)
     assert (modal.ui_reference_url.text ==
             updated_program_info_page.reference_url_entered.text)
예제 #40
0
 def test_edit_modal(self, selenium, new_program_ui):
   """Tests if data is saved after editing program info page edit modal.
   """
   _, program_info_page = new_program_ui
   selenium_utils.open_url(selenium, program_info_page.url)
   program_info_page = info_widget.Programs(selenium)
   modal = program_info_page.open_info_3bbs().select_edit()
   test_utils.ModalNewPrograms.enter_test_data(modal)
   test_utils.ModalNewPrograms.set_start_date(modal, 1)
   modal.save_and_close()
   selenium_utils.open_url(selenium, program_info_page.url)
   updated_program_info_page = info_widget.Programs(selenium)
   expected_list_texts = [
       test_utils.HtmlParser.parse_text(modal.ui_title.text),
       modal.ui_description.text, modal.ui_notes.text
   ]
   actual_list_texts = [
       updated_program_info_page.title.text,
       updated_program_info_page.description_entered.text,
       updated_program_info_page.notes_entered.text
   ]
   assert expected_list_texts == actual_list_texts
예제 #41
0
 def test_edit_modal(self, selenium, new_program_ui):
   """Tests if data is saved after editing program info page edit modal.
   """
   _, program_info_page = new_program_ui
   selenium_utils.open_url(selenium, program_info_page.url)
   program_info_page = info_widget.Programs(selenium)
   modal = program_info_page.open_info_3bbs().select_edit()
   test_utils.ModalNewPrograms.enter_test_data(modal)
   test_utils.ModalNewPrograms.set_start_date(modal, 1)
   modal.save_and_close()
   selenium_utils.open_url(selenium, program_info_page.url)
   updated_program_info_page = info_widget.Programs(selenium)
   expected_list_texts = [
       test_utils.HtmlParser.parse_text(modal.ui_title.text),
       modal.ui_description.text, modal.ui_notes.text,
       modal.ref_url.values]
   actual_list_texts = [
       updated_program_info_page.title.text,
       updated_program_info_page.description_entered.text,
       updated_program_info_page.notes_entered.text,
       updated_program_info_page.ref_url.values]
   assert expected_list_texts == actual_list_texts
예제 #42
0
 def get_count_objs_from_tab(self, widget_url, gen_widget):
   """Navigate to widget URL, get count of objects from tab navigation bar
   and return got count.
   """
   selenium_utils.open_url(self.driver, widget_url)
   return gen_widget(self.driver).member_count
예제 #43
0
 def navigate_to(self, custom_url=None):
     """Navigate to url."""
     url_to_use = self.url if custom_url is None else custom_url
     selenium_utils.open_url(self._driver, url_to_use)
     return self
예제 #44
0
def assert_cannot_view(obj):
    """Assert that current user cannot view object via UI"""
    selenium_utils.open_url(obj.url)
    assert ui_utils.is_error_403()
예제 #45
0
def open_create_obj_modal(obj_type):
    """Opens create object modal for selected type."""
    selenium_utils.open_url(url.dashboard())
    obj_modal = dashboard.Dashboard().open_create_obj_modal(obj_type=obj_type)
    return obj_modal
예제 #46
0
 def open_proposal_digest(self):
   """Open page with proposal emails."""
   selenium_utils.open_url(self.proposal_digest_url)
예제 #47
0
파일: base.py 프로젝트: zidarsk8/ggrc-core
 def navigate_to(self, custom_url=None):
   """Navigate to url."""
   url_to_use = self.url if custom_url is None else custom_url
   selenium_utils.open_url(self._driver, url_to_use)
   return self
예제 #48
0
def header_dashboard(selenium):
  """Open My Work Dashboard URL and
  return Header Dashboard page objects model."""
  selenium_utils.open_url(selenium, dashboard.Dashboard.URL)
  return dashboard.Header(selenium)
예제 #49
0
 def open_via_url(self, obj):
   """Opens the tab via URL."""
   selenium_utils.open_url(url.obj_tab_url(obj, self._url_fragment()))
   self.wait_to_be_init()
예제 #50
0
def my_work_dashboard(selenium):
  """Open My Work Dashboard URL and
  return My Work Dashboard page objects model."""
  selenium_utils.open_url(selenium, dashboard.Dashboard.URL)
  return dashboard.Dashboard(selenium)
예제 #51
0
def open_create_obj_modal(obj_type):
  """Opens create object modal for selected type."""
  selenium_utils.open_url(url.dashboard())
  obj_modal = dashboard.Dashboard().open_create_obj_modal(obj_type=obj_type)
  return obj_modal
 def admin_dashboard(self, selenium):
   """Open Admin Dashboard URL and
   return AdminDashboard page objects model."""
   selenium_utils.open_url(selenium, dashboard.AdminDashboard.URL)
   return dashboard.AdminDashboard(selenium)
예제 #53
0
 def lhn_menu(self, selenium):
   """Open LHN menu and return LHN page objects model."""
   selenium_utils.open_url(selenium, url.Urls().dashboard)
   return dashboard.Dashboard(selenium).open_lhn_menu()
예제 #54
0
def open_obj(obj):
  """Opens the url of obj."""
  selenium_utils.open_url(entity_operations.obj_url(obj))
예제 #55
0
 def _open_admin_people_tab(self):
   """Open People widget on Admin dashboard.
     - Return: lib.page.widget.admin_widget.People"""
   selenium_utils.open_url(self._driver, url.Urls().admin_people_tab)
   return dashboard.AdminDashboard(self._driver).select_people()
예제 #56
0
def assert_cannot_view(obj):
  """Assert that current user cannot view object via UI"""
  selenium_utils.open_url(obj.url)
  assert ui_utils.is_error_403()
예제 #57
0
 def open_export_page(self):
   selenium_utils.open_url(self.export_page_url)
   selenium_utils.wait_for_js_to_load(self._driver)
예제 #58
0
 def get_event_tab(cls):
   """Return Event tab page object."""
   selenium_utils.open_url(url.Urls().admin_dashboard)
   return dashboard.AdminDashboard().select_events()
 def admin_dashboard(self, selenium):
   """Open Admin Dashboard URL and
   return AdminDashboard page objects model."""
   selenium_utils.open_url(selenium, url.Urls().admin_dashboard)
   return dashboard.AdminDashboard(selenium)
예제 #60
0
 def test_login_as_admin(self, selenium):
   """Logs in and verifies that we're logged in as admin."""
   selenium_utils.open_url(selenium, url.Urls().login)
   selenium.find_element(*locator.PageHeader.BUTTON_ADMIN_DASHBOARD)