def navigator(self): """ Set the driver with the web driver Returns: self.driver: web driver """ if self.instance is None: self.instance = Navigate() return self.instance
view = self.view if self.VIEW is not None else None duration = int((time.time() - start_time) * 1000) if view and nav_args['wait_for_view'] and not os.environ.get( 'DISABLE_NAVIGATE_ASSERT', False): waited = True wait_for(lambda: view.is_displayed, num_sec=nav_args['wait_for_view'], message="Waiting for view [{}] to display".format( view.__class__.__name__)) self.log_message(self.construct_message(here, resetter_used, view, duration, waited, force_used), level="info") return view navigator = Navigate() navigate_to = navigator.navigate class ViaUI(Implementation): """UI implementation using the normal ux""" name = "UI" navigator = navigator def __str__(self): return 'UI' @cached_property def widgetastic(self): """This gives us a widgetastic browser."""
state = [] arg_store = [] logger = logging.getLogger('navmazing_null') for handler in logger.handlers: logger.removeHandler(handler) file_formatter = logging.Formatter('%(asctime)-15s [%(levelname).1s] %(message)s') file_handler = logging.FileHandler('navmazing.log') file_handler.setFormatter(file_formatter) logger.addHandler(file_handler) logger.setLevel(10) navigate = Navigate(logger) class ObjectA(object): def __init__(self, name): self.name = name self.margs = None self.kwargs = None class ObjectB(object): def __init__(self, name, parent): self.name = name self.parent = parent
from navmazing import (Navigate, NavigateStep, NavigateToSibling, NavigationTriesExceeded, NavigationDestinationNotFound, NavigateToAttribute, NavigateToObject) import pytest navigate = Navigate() state = [] arg_store = [] class ObjectA(object): def __init__(self, name): self.name = name self.margs = None self.kwargs = None class ObjectB(object): def __init__(self, name, parent): self.name = name self.parent = parent class ObjectC(object): def __init__(self, name, parent=None): self.name = name self.parent = parent @navigate.register(ObjectB)