def Robot(self, name=None, extname=None): if name and (not self.robot or name != self.robot.name): try: robot = self.robots[name] except KeyError: robot = TestRobot(name, variable_getters=[self.shell_variable]) self.robots[name] = robot self.robot = robot robot_magic = RobotMagic(name, robot_shell=self) self.line_magics[str(robot_magic)] = robot_magic self.unregister_robot_magics() self.register_robot_variable_magics() for alias, lib in robot._libraries.items(): self.register_robot_keyword_magics(alias, lib) if self.robot is None: label = self.robot_magic_name else: try: label = self.robot.magic_name except AttributeError: label = '%s.%s' % (self.robot_magic_name, name) else: if extname: label += '.' + extname self.label = label return self.robot
def robot_Remote(request): """Creates a ``TestRobot`` instance loading ``Remote`` library, which automatically connects to the external ``RemoteRobot`` instance created in ``process`` fixture. """ # make 3 connection attempts before bailing out for _ in range(3): try: # BuiltIn will also be served by RemoteRobot robot = TestRobot('Test', BuiltIn=False) robot.Import('Remote') return robot except DataError: continue raise
def robot(request, stdlibname): robot = TestRobot('Test') robot.Import(stdlibname) return robot
def robot_no_BuiltIn(request, stdlibname): robot = TestRobot('Test', BuiltIn=False) robot.Import(stdlibname) return robot
def test_ImportRemoteLibrary(self, process, robot_Remote): assert not hasattr(robot_Remote, 'CopyList') robot_Remote.ImportRemoteLibrary('Collections') robot = TestRobot('New') robot.Import('Remote') assert robot.CopyList