SSHLibrary库通信

Posted yinjia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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时,就不会出现提示符。

比如[root@localhost 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秒内未出现在服务器输出中,则关键字失败。

结果:

技术图片

 

以上是关于SSHLibrary库通信的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SSHLibrary 在远程机器中打开 tmux 会话?

5远程服务器操作(SSHLibrary)

5远程服务器操作(SSHLibrary)

用于与 C 库通信的 Cordova 插件

robotframework swinglibrary需要安装吗

Robot Framework - SSH 库 - 使用公钥登录