SSHLibrary库通信
常用关键字介绍
SSHLibrary测试库是ATTRobot平台一个扩展库,同时也是一个SSH测试库。用于通过SSH协议通信连接终端设备进行交互通信,发送指令、接收回显消息,对常用操作方法都封装在SSHLibrary测试库中。
A、连接相关的关键字:
关键字  | 说 明  | 
Open Connection  | 打开到给定主机和端口的新SSH连接  | 
Get Connection  | 返回有关连接的信息  | 
Get Connections  | 返回有关所有连接的信息  | 
Switch Connection  | 通过索引或别名切换活动连接  | 
Close Connection  | 关闭当前连接  | 
Close All Connections  | 关闭所有打开的连接  | 
Login  | 使用给定的用户名和密码登录到SSH服务器  | 
Login With Public Key  | 使用基于密钥的身份验证登录到SSH服务器  | 
Set Client Configuration  | 更新当前连接的配置  | 
Set Default Configuration  | 更新默认配置  | 
Enable Ssh Logging  | 允许将SSH协议输出记录到给定的日志文件  | 
B、 文件/目录相关的关键字
关键字  | 说 明  | 
File Should Exist  | 如果给定路径不指向现有文件,则失败  | 
File Should Not Exist  | 如果给定路径指向现有文件,则失败  | 
Directory Should Exist  | 如果给定路径不指向现有目录,则失败  | 
Directory Should Not Exist  | 如果给定路径指向现有目录,则失败  | 
List Directory  | 返回给定的远程路径中的目录,可以选择使用模式进行筛选  | 
List Files In Directory  | 只返回目录所属的文件  | 
List Directories In Directory  | 只返回目录所属的子目录  | 
Put Directory  | 将目录从本地计算机上传到远程计算机  | 
Get Directory  | 从远程计算机获取目录下载到本地计算机  | 
Put File  | 将文件从本地计算机上传到远程计算机  | 
Get File  | 从远程计算机获取文件下载到本地计算机  | 
C、 读写执行相关的关键字
关键字  | 说 明  | 
Write  | 在远程计算机上写入给定文本并附加换行符  | 
Write Bare  | 在远程计算机上写入给定文本而不附加换行符  | 
Write Until Expected Output  | 重复写入给定文本,直到预期的文本出现在服务器输出  | 
Read  | 读取并返回服务器输出的所有可用内容  | 
Read Until  | 读取并返回服务器输出,直到遇到预期的  | 
Read Until Prompt  | 读取并返回服务器输出,直到找到提示符  | 
Read Until Regexp  | 读取并返回服务器输出,直到找到与regexp匹配的  | 
Execute Command  | 在远程计算机上执行命令并返回其输出  | 
Start Command  | 开始在远程计算机上执行命令并立即返回  | 
Read Command Output  | 返回最近启动的命令输出  | 
- Exectute Command
 
参数:【command | return_stdout=True | return_stderr=False | return_rc=False | sudo=False | sudo_password=None | timeout=None | invoke_subsystem=False | forward_agent=False】
说明:在远程计算机上执行命令并返回其输出
举例:

结果:

- Get Connection
 
参数:【index_or_alias=None | index=False | host=False | alias=False | port=False | timeout=False | newline=False | prompt=False | term_type=False | width=False | height=False | encoding=False | escape_ansi=False】
说明:返回有关连接的信息
举例:

结果:

- List Directories In Directory
 
参数:【path | pattern=None | absolute=False】
说明:返回远程计算机指定文件夹的目录
Pattern:模式筛选,可以设置需要返回哪些目录名。
Absolute:默认值是False,当设置为True时,返回是带有绝对路径目录,否则返回只显示目录名
举例:

- Put File
 
参数:【source | destination=. | mode=0744 | newline= | scp=OFF】
说明:上传本地计算机文件到远程计算机指定的路径目录下
Source:源文件
Destination:目的目录,默认是下载到当前工程名目录下
Scp:安全复制协议进行文件传输
Mode:模式可用于设置目标文件权限。接受数值。默认值为0744(-rwxr--r--)
Newline:用于强制写入远程文件的换行符。有效值为LF和CRLF。如果启用scp,则不工作。
1、如果目标是远程计算机上的现有路径,则将源目录上载到其中。
2、如果目标在远程计算机上不存在,则会创建它并将源目录的内容上载到其中。
3、如果未指定目标,则源目录通常上载到远程计算机上用户的主目录。
举例:

- Read
 
参数:【loglevel=None | delay=None】
说明:返回服务器输出的内容
Loglevel:日志级别。默认无。如有设置级别会根据当前日志级别输出对应内容
Delay:延时。
举例:

- Read Command Output
 
参数:【return_stdout=True | return_stderr=False | return_rc=False | timeout=None】
说明:返回最近启动的命令输出
return_stdout:设置输出返回值,默认输出。设置False不会输出
return_stderr:设置输出返回异常消息,默认输出。当设置True时,是为空。
return_rc:设置返回的状态码,默认不输出,当设置True时,会返回状态码值
timeout:设置超时时间。
举例:

- Read Until
 
参数:【expected | loglevel=None】
说明:读取并返回服务器输出,直到遇到预期的
举例:

- Read Until Prompt
 
参数:【loglevel=None | strip_prompt=False】
说明:读取并返回服务器输出,直到遇到预期的提示符
Loglevel:设置需要返回日志级别消息
strip_prompt:提示符开关,默认关闭表示允许出到提示符。如设置True时,就不会出现提示符。
比如[ opt],缺少提示符“#”
举例:

- Read Until Regexp
 
参数:【regexp | loglevel=None】
说明:读取并返回服务器输出,直到找到与regexp匹配的
举例:

- Start Command
 
参数:【command | sudo=False | sudo_password=None | invoke_subsystem=False | forward_agent=False】
说明:开始在远程计算机上执行命令并立即返回
invoke_subsystem:请求服务器上由command参数给定的子系统。如果服务器允许,那么通道将直接连接到请求的子系统。
forward_agent:是否将本地SSH代理进程转发到正在执行的进程。
举例:

- Switch Connection
 
参数:【index_or_alias】
说明:通过索引或别名切换活动连接
举例:

- Write
 
参数:【text | loglevel=None】
说明:在远程计算机上写入给定文本并附加换行符
举例:

- Write Bare
 
参数:【text】
说明:在远程计算机上写入给定文本而不附加换行符
举例:

- Write Until Expected Output
 
参数:【text | expected | timeout | retry_interval | loglevel=None】
说明:重复写入给定文本,直到预期的文本出现在服务器输出
Text:向终端写入文本
Expected:读取预期的文本
Timeout:超时
retry_interval:每秒写入一次
举例:

编写pwd回车,直到出现/root输出中。每5秒写入一次,如果在5秒内未出现在服务器输出中,则关键字失败。
结果:
