コード例 #1
0
    def login(self, username, password=None, login_prompt='login: '******'Password: '******'1 second',
              login_incorrect='Login incorrect'):
        """
        This is a hack of the robotframework telnet library's login function
        because that library does not support login without password.

        Just one test is needed inside _submit_credentials
        https://github.com/robotframework/robotframework/blob/master/src/robot/libraries/Telnet.py
        to test if password is None and There would be no need for this code.
        I did not take the time to submit a pull request to robotframework.
        """
        connection = BuiltIn().get_library_instance('Telnet')
        if password:
            out = connection.login(username, password,
                                   login_prompt=login_prompt,
                                   password_prompt=password_prompt,
                                   login_timeout=login_timeout,
                                   login_incorrect=login_incorrect)
            return out
        output = connection.read_until(login_prompt, 'TRACE')
        #_newline is private, no other way to get it than to set it once and set it back
        new_line = connection.set_newline('\n')
        connection.set_newline(new_line)
        connection.write_bare(username  + new_line)
        output = connection.read_until_prompt()
        return output