示例#1
0
    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