示例#1
0
	def __init__( self, definition, parent, label="", insertAfter=None, radialPosition=None, button = 3, useInterToUI = True, replaceExistingMenu = False ) :

		menu = None
		if maya.cmds.window( parent, query=True, exists=True ) or maya.cmds.menuBarLayout( parent, query=True, exists=True ) :
			# parent is a window - we're sticking it in the menubar
			menu = maya.cmds.menu( label=label, parent=parent, allowOptionBoxes=True, tearOff=True )
		elif maya.cmds.menu( parent, query=True, exists=True ) :
			if replaceExistingMenu:
				# parent is a menu - we're appending to it:
				menu = parent
				self.__postMenu( menu, definition, useInterToUI )
			else:
				# parent is a menu - we're adding a submenu
				kw = {}
				if not (insertAfter is None) :
					kw["insertAfter"] = insertAfter
				if radialPosition :
					kw["radialPosition"] = radialPosition
				menu = maya.cmds.menuItem( label=label, parent=parent, tearOff=True, subMenu=True, allowOptionBoxes=True, **kw )
		else :
			# assume parent is a control which can accept a popup menu
			menu = maya.cmds.popupMenu( parent=parent, button=button, allowOptionBoxes=True )

		maya.cmds.menu( menu, edit=True, postMenuCommand = IECore.curry( self.__postMenu, menu, definition, useInterToUI ) )
		
		UIElement.__init__( self, menu )
示例#2
0
	def __init__( self, definition, parent, label="", insertAfter=None, radialPosition=None, button = 3, replaceExistingMenu = False, keepCallback=False ) :

		if maya.cmds.window( parent, query=True, exists=True ) or maya.cmds.menuBarLayout( parent, query=True, exists=True ) :
			# parent is a window - we're sticking it in the menubar
			menu = maya.cmds.menu( label=label, parent=parent, allowOptionBoxes=True, tearOff=True )
		elif maya.cmds.menu( parent, query=True, exists=True ) :
			if keepCallback:
				menu = parent
			elif replaceExistingMenu :
				# parent is a menu - we're appending to it:
				menu = parent
				self.__postMenu( menu, definition )
			else :
				# parent is a menu - we're adding a submenu
				kw = {}
				if not (insertAfter is None) :
					kw["insertAfter"] = insertAfter
				if radialPosition :
					kw["radialPosition"] = radialPosition
				menu = maya.cmds.menuItem( label=label, parent=parent, tearOff=True, subMenu=True, allowOptionBoxes=True, **kw )
		else :
			# assume parent is a control which can accept a popup menu
			menu = maya.cmds.popupMenu( parent=parent, button=button, allowOptionBoxes=True )

		UIElement.__init__( self, menu )

		if not keepCallback:
			maya.cmds.menu( menu, edit=True, postMenuCommand=functools.partial( self.__postMenu, menu, definition ) )
		else:
			self._parseDefinition(parent, definition)
示例#3
0
	def __init__( self, node, rootParameter=None, buttonTitle="Select", autoCollapseDepth=2 ) :

		self._fnP = FnParameterisedHolder( node )

		parameterised = self._fnP.getParameterised()
		self._rootParameter = rootParameter if rootParameter else parameterised[0].parameters()

		self._window = maya.cmds.window(
			title="%s: %s" % ( buttonTitle, node ),
			width=500,
			height=600
		)

		UIElement.__init__( self, self._window )

		self._form = maya.cmds.formLayout()

		self._scroll = maya.cmds.scrollLayout( parent=self._form )

		self._selector = ParameterSelector( self._rootParameter, self._scroll, autoCollapseDepth=autoCollapseDepth )

		maya.cmds.formLayout( self._form, edit=True,

			attachForm=[	( self._scroll, 			"top",  	0  ),
							( self._scroll, 			"left", 	0  ),
							( self._scroll, 			"right",	0  ),
							( self._scroll, 			"bottom",	0  ), ],
		)
示例#4
0
	def __init__( self, node, rootParameter=None, buttonTitle="Select", autoCollapseDepth=2 ) :

		self._fnP = FnParameterisedHolder( node )

		parameterised = self._fnP.getParameterised()
		self._rootParameter = rootParameter if rootParameter else parameterised[0].parameters()

		self._window = maya.cmds.window(
			title="%s: %s" % ( buttonTitle, node ),
			width=500,
			height=600
		)

		UIElement.__init__( self, self._window )

		self._form = maya.cmds.formLayout()

		self._scroll = maya.cmds.scrollLayout( parent=self._form )

		self._selector = ParameterSelector( self._rootParameter, self._scroll, autoCollapseDepth=autoCollapseDepth )

		maya.cmds.formLayout( self._form, edit=True,

			attachForm=[	( self._scroll, 			"top",  	0  ),
							( self._scroll, 			"left", 	0  ),
							( self._scroll, 			"right",	0  ),
							( self._scroll, 			"bottom",	0  ), ],
		)
示例#5
0
def filling_field(f_xpath, f_id, f_keys, assert_needed=False):
    if assert_needed:
        field = Element(browser, By.XPATH, f_xpath)
        field_class = field.get_attribute("class", False)
        assert "required" in field_class
    f_input = Element(browser, By.ID, f_id)
    f_input.enter_text(f_keys)
示例#6
0
	def __init__( self, node, rootParameter=None ) :

		fn = FnParameterisedHolder( node )
		parameterised = fn.getParameterised()

		self.__parameterised = parameterised

		# Just using 'not' on a ClassVector takes its length, which equates to False if its empty.
		self.__rootParameter = rootParameter if rootParameter is not None else parameterised[0].parameters()

		self.__fnP = fn
		self.__envVar = parameterised[3].replace( "_PATHS", "_PRESET_PATHS" )

		if self.__envVar not in os.environ :
			maya.cmds.confirmDialog( message="Environment variable not set:\n\n$%s\n\nPlease set "%self.__envVar+\
			"this variable to point to one or more paths.\nPresets can then be loaded from these "+\
			"locations.", button="OK" )
			return

		paths = os.environ[self.__envVar]
		sp = IECore.SearchPath( os.path.expandvars( paths ), ":" )
		self.__classLoader = IECore.ClassLoader( sp )

		presets = self.__getPresets( parameterised[0], self.__rootParameter )
		if not presets:
			maya.cmds.confirmDialog( message="No presets applicable to %s found in the current search paths ($%s)." % ( self.__rootParameter.name, self.__envVar ), button="OK" )
			return

		self.__loadedPresets = {}

		self.__window = maya.cmds.window( title="Load: %s" % node, width=300, height=500 )

		UIElement.__init__( self, self.__window )

		self.__form = maya.cmds.formLayout()

		self.__infoColumn = PresetInfo( parent=self.__form )
		self.__selector = PresetSelector( presets, self.__form, allowMultiSelection=True, selectCommand=self._createCallback( self.__selectionChanged ) )
		self.__loadButton = maya.cmds.button( l="Load", parent=self.__form, height=30, c=self._createCallback( self.__doLoad ) )

		if not presets:
			maya.cmds.control( self.__loadButton, edit=True, enable=False )

		maya.cmds.formLayout( self.__form, edit=True,

			attachForm=[	( self.__selector.list(), 		"top" ,		0 ),
							( self.__selector.list(),		"left" , 	0 ),
							( self.__selector.list(),		"right" , 	0 ),
							( self.__infoColumn.layout(),	"left" ,   	5 ),
							( self.__infoColumn.layout(),	"right" ,   0 ),
							( self.__loadButton,			"bottom",   0 ),
							( self.__loadButton,			"left" ,	0 ),
							( self.__loadButton,			"right" ,   0 )  ],

			attachControl=[	( self.__selector.list(), 	"bottom", 	4, 	self.__infoColumn.layout() ),
							( self.__infoColumn.layout(), 	"bottom", 	5, 	self.__loadButton ), ]
		)

		maya.cmds.showWindow( self.__window )
示例#7
0
	def __init__( self, node, rootParameter=None ) :

		fn = FnParameterisedHolder( node )
		parameterised = fn.getParameterised()

		self.__parameterised = parameterised

		# Just using 'not' on a ClassVector takes its length, which equates to False if its empty.
		self.__rootParameter = rootParameter if rootParameter is not None else parameterised[0].parameters()

		self.__fnP = fn
		self.__envVar = parameterised[3].replace( "_PATHS", "_PRESET_PATHS" )

		if self.__envVar not in os.environ :
			maya.cmds.confirmDialog( message="Environment variable not set:\n\n$%s\n\nPlease set "%self.__envVar+\
			"this variable to point to one or more paths.\nPresets can then be loaded from these "+\
			"locations.", button="OK" )
			return

		paths = os.environ[self.__envVar]
		sp = IECore.SearchPath( os.path.expandvars( paths ) )
		self.__classLoader = IECore.ClassLoader( sp )

		presets = self.__getPresets( parameterised[0], self.__rootParameter )
		if not presets:
			maya.cmds.confirmDialog( message="No presets applicable to %s found in the current search paths ($%s)." % ( self.__rootParameter.name, self.__envVar ), button="OK" )
			return

		self.__loadedPresets = {}

		self.__window = maya.cmds.window( title="Load: %s" % node, width=300, height=500 )

		UIElement.__init__( self, self.__window )

		self.__form = maya.cmds.formLayout()

		self.__infoColumn = PresetInfo( parent=self.__form )
		self.__selector = PresetSelector( presets, self.__form, allowMultiSelection=True, selectCommand=self._createCallback( self.__selectionChanged ) )
		self.__loadButton = maya.cmds.button( l="Load", parent=self.__form, height=30, c=self._createCallback( self.__doLoad ) )

		if not presets:
			maya.cmds.control( self.__loadButton, edit=True, enable=False )

		maya.cmds.formLayout( self.__form, edit=True,

			attachForm=[	( self.__selector.list(), 		"top" ,		0 ),
							( self.__selector.list(),		"left" , 	0 ),
							( self.__selector.list(),		"right" , 	0 ),
							( self.__infoColumn.layout(),	"left" ,   	5 ),
							( self.__infoColumn.layout(),	"right" ,   0 ),
							( self.__loadButton,			"bottom",   0 ),
							( self.__loadButton,			"left" ,	0 ),
							( self.__loadButton,			"right" ,   0 )  ],

			attachControl=[	( self.__selector.list(), 	"bottom", 	4, 	self.__infoColumn.layout() ),
							( self.__infoColumn.layout(), 	"bottom", 	5, 	self.__loadButton ), ]
		)

		maya.cmds.showWindow( self.__window )
示例#8
0
 def __init__(self, id, width, height, x, y, notSelectedimage, selectedImage, callback, text, fontRenderer):
     UIElement.__init__(self, id, width, height, x, y, notSelectedimage)
     self.isSelected = False
     self.imageSelected = pygame.transform.scale(selectedImage, (width, height))
     self.imageNotSelected = pygame.transform.scale(notSelectedimage, (width, height))
     self.callback = callback
     self.text = text
     self.fontRenderer = fontRenderer
示例#9
0
        def __init__(self, compoundParameter, **kw):

            self.__depth = kw["depth"] if "depth" in kw else 0
            self.__autoCollapseDepth = kw[
                "autoCollapseDepth"] if "autoCollapseDepth" in kw else 2
            self.__parameter = compoundParameter

            self.__row = maya.cmds.rowLayout(numberOfColumns=2,
                                             columnWidth=(1, 20))

            UIElement.__init__(self, self.__row)

            self.__checkbox = maya.cmds.checkBox(label="",
                                                 cc=self._createCallback(
                                                     self.syncState),
                                                 value=True)

            name = compoundParameter.name if compoundParameter.name else "All Parameters"
            if "label" in compoundParameter:
                name = compoundParameter["label"].getTypedValue()

            collapsed = False if self.__depth < self.__autoCollapseDepth else True

            self.__frame = maya.cmds.frameLayout(
                label=name,
                labelIndent=5,
                marginWidth=5,
                borderVisible=False,
                collapsable=True,
                collapse=collapsed,
            )

            self.__column = maya.cmds.columnLayout(adj=True)

            self.__children = {}
            for p in compoundParameter.values():

                if isinstance(p, IECore.CompoundParameter):
                    self.__children[p.name] = ParameterSelector.ParameterGroup(
                        p,
                        depth=self.__depth + 1,
                        autoCollapseDepth=self.__autoCollapseDepth)

                else:
                    self.__children[p.name] = ParameterSelector.Parameter(
                        p, depth=self.__depth + 1)

            maya.cmds.setParent("..")
            maya.cmds.setParent("..")
            maya.cmds.setParent("..")

            maya.cmds.separator(style="none", height=3)
示例#10
0
    def title_screen(self, screen):
        """
        description:
            - Title page
        :param screen: actual screen
        :return: result of game_loop
        """
        start_btn = UIElement(
            center_position=(400, 100),
            font_size=30,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Start",
            action=GameState.NEWGAME,
        )
        highscore_btn = UIElement(
            center_position=(400, 200),
            font_size=30,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Highscores",
            action=GameState.HIGHSCORE,
        )
        settings_btn = UIElement(
            center_position=(400, 300),
            font_size=30,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Einstellungen",
            action=GameState.SETTINGS,
        )
        quit_btn = UIElement(
            center_position=(400, 400),
            font_size=30,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Beenden",
            action=GameState.QUIT,
        )
        play_music_btn = UIElement(
            center_position=(400, 500),
            font_size=30,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="♫",
            action=GameState.PLAY_MUSIC,
        )

        buttons = RenderUpdates(start_btn, quit_btn, settings_btn,
                                highscore_btn, play_music_btn)

        return self.game_loop(screen, buttons, 0)
示例#11
0
		def __init__( self, compoundParameter, **kw ) :

			self.__depth = kw["depth"] if "depth" in kw else 0
			self.__autoCollapseDepth = kw["autoCollapseDepth"] if "autoCollapseDepth" in kw else 2
			self.__parameter = compoundParameter

			self.__row = maya.cmds.rowLayout( numberOfColumns = 2, columnWidth=( 1, 20 ) )

			UIElement.__init__( self, self.__row )

			self.__checkbox = maya.cmds.checkBox( label = "", cc=self._createCallback( self.syncState ), value=True )

			name = compoundParameter.name if compoundParameter.name else "All Parameters"
			if "label" in compoundParameter:
				name = compoundParameter["label"].getTypedValue()

			collapsed = False if self.__depth < self.__autoCollapseDepth else True

			self.__frame = maya.cmds.frameLayout(
				label = name,
				labelIndent = 5,
				marginWidth = 5,
				borderVisible = False,
				collapsable = True,
				collapse = collapsed,
			)

			self.__column = maya.cmds.columnLayout( adj=True )

			self.__children = {}
			for p in compoundParameter.values() :

				if isinstance( p, IECore.CompoundParameter ) :
					self.__children[ p.name ] = ParameterSelector.ParameterGroup(
													p,
													depth = self.__depth+1,
													autoCollapseDepth = self.__autoCollapseDepth
												)

				else:
					self.__children[ p.name ] = ParameterSelector.Parameter( p, depth=self.__depth+1 )

			maya.cmds.setParent( ".." )
			maya.cmds.setParent( ".." )
			maya.cmds.setParent( ".." )

			maya.cmds.separator( style="none", height=3 )
示例#12
0
    def play_level(self, screen, player):
        quit_btn = UIElement(
            center_position=(400, 400),
            font_size=30,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Beenden",
            action=GameState.QUIT,
        )
        buttons = RenderUpdates(quit_btn)

        return self.game_loop(screen, buttons, 1)
示例#13
0
	def __init__( self, presets, parent=None, *args, **kwargs ) :

		oldParent = maya.cmds.setParent( q=True )
		if not parent :
			parent = oldParent

		maya.cmds.setParent( parent )

		self.__list = maya.cmds.textScrollList( *args, **kwargs )
		UIElement.__init__( self, self.__list )

		if not presets:

			maya.cmds.textScrollList(
				self.__list,
				edit=True,
				append="No presets found...",
				enable=False
			)

		else :
			presetsByPath = {}
			for ( name, p ) in presets :
				print name, p
				path = os.path.dirname( p._cob ).rpartition( p.typeName() )[0]
				if path not in presetsByPath :
					presetsByPath[path] = []
				presetsByPath[path].append( name )

			for ( path, names ) in presetsByPath.items() :

				maya.cmds.textScrollList( self.__list, edit=True, append=path )

				for name in names :

					maya.cmds.textScrollList( self.__list, edit=True, append=name )

				maya.cmds.textScrollList( self.__list, edit=True, append="" )

		maya.cmds.setParent( oldParent )
示例#14
0
    def __init__(self, presets, parent=None, *args, **kwargs):

        oldParent = maya.cmds.setParent(q=True)
        if not parent:
            parent = oldParent

        maya.cmds.setParent(parent)

        self.__list = maya.cmds.textScrollList(*args, **kwargs)
        UIElement.__init__(self, self.__list)

        if not presets:

            maya.cmds.textScrollList(self.__list,
                                     edit=True,
                                     append="No presets found...",
                                     enable=False)

        else:
            presetsByPath = {}
            for (name, p) in presets:
                print name, p
                path = os.path.dirname(p._cob).rpartition(p.typeName())[0]
                if path not in presetsByPath:
                    presetsByPath[path] = []
                presetsByPath[path].append(name)

            for (path, names) in presetsByPath.items():

                maya.cmds.textScrollList(self.__list, edit=True, append=path)

                for name in names:

                    maya.cmds.textScrollList(self.__list,
                                             edit=True,
                                             append=name)

                maya.cmds.textScrollList(self.__list, edit=True, append="")

        maya.cmds.setParent(oldParent)
示例#15
0
#
# Into existing tests:
# - add a Browser object to the tests where you still have Selenium webdriver initialization
# - update code of lines for WebDriverWait to use the new method from the Browser class - get_wd_wait
# - update code to use new class UIElement in places instead of find_element_by*

# May 14th, 2021
# student Evgeny Abdulin

browser = Browser(
    "https://techskillacademy.net/brainbucket/index.php?route=account/login",
    "Firefox")
driver = browser.get_driver()

# sending a password to a login page
password_login_input = Element(browser, By.ID, "input-password")
password_login_input.enter_text("password")

# clicking a button to go to the registration page, waiting until clickable
new_registrant_btn = browser.get_wd_wait().until(
    ec.element_to_be_clickable(
        (By.XPATH, "//a[contains(text(), 'Continue')]")))
new_registrant_btn.click()

# checking if title Register Account is visible
register_title = browser.get_wd_wait().until(
    ec.visibility_of_element_located((By.XPATH, "//h1")))


# filling fields/checking 'required' on the registration page
def filling_field(f_xpath, f_id, f_keys, assert_needed=False):
示例#16
0
 def __init__(self, id, width, height, x, y, image, filler):
     UIElement.__init__(self, id, width, height, x, y, image)
     self.fillPercent = 0.5
     self.filler = filler
     self.logo = self.image
     self.id = id
示例#17
0
    def settings_page_highlited(self, screen, player, highlited_btn):
        """
        description:
            - Settings page
        :param screen: actual screen
        :param player: player object
        :param highlited_btn: selected button 
        :return: result of game_loop
        """
        # Datenbank zum auslesen der aktuellen Einstellungen
        # ansicht der Settings seite zum Auswaehlen des Buttons L/R/Pause
        dbi = DatabaseInteract()
        sets = dbi.get_settings()

        heading = TextElement(
            center_position=(400, 80),
            font_size=25,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Einstellungen",
        )
        return_btn = UIElement(
            center_position=(140, 570),
            font_size=20,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Zurück zum Hauptmenü",
            action=GameState.TITLE,
        )

        move_left = TextElement(
            center_position=(400, 150),
            font_size=font_size_picker("move_left", highlited_btn),
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Nach Links: {sets[1]}",
        )

        move_right = TextElement(
            center_position=(400, 200),
            font_size=font_size_picker("move_right", highlited_btn),
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Nach Rechts: {sets[3]}",
        )

        shoot_ball = TextElement(
            center_position=(400, 250),
            font_size=font_size_picker("shoot_ball", highlited_btn),
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Ball schiessen: {sets[8]}",
        )

        do_pause = TextElement(
            center_position=(400, 300),
            font_size=font_size_picker("do_pause", highlited_btn),
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Pausenmenü: {sets[5]}",
        )

        if highlited_btn != 4:
            difficulty = TextElement(
                center_position=(400, 350),
                font_size=font_size_picker("difficulty", highlited_btn),
                bg_rgb=BLUE,
                text_rgb=WHITE,
                text=f"Schwierigkeit: {sets[7]}",
            )
        else:
            difficulty = TextElement(
                center_position=(400, 350),
                font_size=font_size_picker("difficulty", highlited_btn),
                bg_rgb=BLUE,
                text_rgb=WHITE,
                text=
                f"Schwierigkeit: {sets[7]} (mit '+' und '-' anpassen max. 4 min. 1)",
            )

        buttons = RenderUpdates(return_btn, move_left, move_right, do_pause,
                                difficulty, heading, shoot_ball)

        return self.game_loop(screen, buttons, highlited_btn * -1)
示例#18
0
 def __init__(self, name, index, Location, width, height, active):
     UIElement.__init__(self, name, index, Location, width, height, active)
     self.img = None
示例#19
0
 def __init__(self, ID, width, height, x, y, color, text, fontRenderer):
     UIElement.__init__(self, ID, width, height, x, y)
     self.color = color
     self.id = ID
     self.fontRenderer = fontRenderer
     self.text = text
示例#20
0
    def settings_page(self, screen, player):
        """
        description:
            - Settings page
        :param screen: actual screen
        :param player: player object
        :return: result of game_loop
        """
        # Datenbank zum auslesen der aktuellen Einstellungen
        dbi = DatabaseInteract()
        sets = dbi.get_settings()

        heading = TextElement(
            center_position=(400, 80),
            font_size=25,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Einstellungen",
        )
        return_btn = UIElement(
            center_position=(140, 570),
            font_size=20,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text="Zurück zum Hauptmenü",
            action=GameState.TITLE,
        )

        move_left = UIElement(
            center_position=(400, 150),
            font_size=20,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Nach Links: {sets[1]}",
            action=GameState.SETTINGS_HIGHLITED_MOVE_LEFT,
        )

        move_right = UIElement(
            center_position=(400, 200),
            font_size=20,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Nach Rechts: {sets[3]}",
            action=GameState.SETTINGS_HIGHLITED_MOVE_RIGHT,
        )

        shoot_ball = UIElement(
            center_position=(400, 250),
            font_size=20,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Ball schiessen: {sets[8]}",
            action=GameState.SETTINGS_HIGHLITED_SHOOT_BALL,
        )

        do_pause = UIElement(
            center_position=(400, 300),
            font_size=20,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Pausenmenü: {sets[5]}",
            action=GameState.SETTINGS_HIGHLITED_DO_PAUSE,
        )

        difficulty = UIElement(
            center_position=(400, 350),
            font_size=20,
            bg_rgb=BLUE,
            text_rgb=WHITE,
            text=f"Schwierigkeit: {sets[7]}",
            action=GameState.SETTINGS_HIGHLITED_DIFFICULTY,
        )

        buttons = RenderUpdates(return_btn, move_left, move_right, do_pause,
                                difficulty, heading, shoot_ball)

        return self.game_loop(screen, buttons, 0)
示例#21
0
# Exercise #2
#
# Create Radiobutton/Checkbox class that will be inherited from UIElement class and will have a method
# to select the radio button/checkbox if it's not selected.

# May 14th, 2021
# student Evgeny Abdulin

browser = Browser(
    "https://techskillacademy.net/brainbucket/index.php?route=account/login",
    "Firefox")
driver = browser.get_driver()

# sending a password to a login page
password_login_input = Element(browser, By.ID, "input-password")
password_login_input.enter_text("password")

# clicking a button to go to the registration page, waiting until clickable
new_registrant_btn = browser.get_wd_wait().until(
    ec.element_to_be_clickable(
        (By.XPATH, "//a[contains(text(), 'Continue')]")))
new_registrant_btn.click()

# checking if title Register Account is visible
register_title = browser.get_wd_wait().until(
    ec.visibility_of_element_located((By.XPATH, "//h1")))


# filling fields/checking 'required' on the registration page
def filling_field(f_xpath, f_id, f_keys, assert_needed=False):
示例#22
0
 def __init__(self, id, width, height, x, y, image):
     UIElement.__init__(self, id, width, height, x, y, image)
     self.rect = Rect(x, y, width, height)