跳转到主要内容

用于SSH和SFTP的Robot Framework测试库

项目描述

简介

SSHLibrary 是一个用于 SSH 和 SFTP 的 Robot Framework 测试库。项目托管在 GitHub 上,可以从 PyPI 下载。

SSHLibrary 与操作系统无关,支持 Python 2.7 以及 Python 3.4 或更高版本。除了正常的 Python 解释器外,它还与 Jython 2.7 一起工作。

该库具有以下主要用途

  • 在远程机器上执行命令,可以是阻塞或非阻塞行为。

  • 在交互式外壳中写入和读取。

  • 通过 SFTP 转移文件和目录。

  • 确保文件和目录存在于远程机器上。

https://img.shields.io/pypi/l/robotframework-sshlibrary.svg https://api.travis-ci.org/robotframework/SSHLibrary.png

文档

有关可用的关键字和有关库的更多信息,请参阅 关键字文档

有关使用 Robot Framework 测试库的详细信息,请参阅 Robot Framework 用户指南

安装

推荐的安装方法是使用 pip

pip install --upgrade robotframework-sshlibrary

运行此命令将安装最新的 Robot Framework、paramikoscp 版本。最低支持的 paramiko 版本是 1.15.3,最低支持的 scp 版本是 0.13.0。在首次安装库时可以省略 --upgrade 选项。

使用最新版本的 pip,可以直接从 GitHub 仓库安装。要从 master 分支安装最新源代码,请使用以下命令

pip install git+https://github.com/robotframework/SSHLibrary.git

或者,您可以从 PyPI 下载源代码包,解压它,然后根据您使用的是 Python 还是 Jython 使用以下方法之一进行安装

python setup.py install
jython setup.py install

使用 pip 的好处是它会自动安装 SSHLibrary 在 Python 上所需的 scp、paramiko 和 Cryptography 模块(如果 paramiko 版本 < 2.0 则为 PyCrypto)。

在 Jython 上,SSHLibrary 需要 Trilead SSH JAR 发行版。您需要下载 Trilead SSH JAR 发行版 并将其添加到 CLASSPATH。

在 Windows 操作系统上,当使用 Python 版本 < 3.0 时,SSHLibrary 将需要 win_inet_pton。最低支持的 win_inet_pton 版本是 1.1.0

为了创建 SSH 隧道,还需要 robotbackgroundlogger > 1.2。

Docker

当在容器(例如 Alpine Linux)中安装 SSHLibrary 时,还需要安装更多的依赖项:gccmakeopenssl-devmusl-devlibffi-dev。这些包可以使用以下方法安装

apk add gcc make openssl-dev musl-dev libffi-dev

用法

要在 Robot Framework 测试中使用 SSHLibrary,需要首先像其他库一样使用 Library 设置导入库。

在使用Robot Framework时,通常建议尽可能编写易于理解的测试。SSHLibrary提供的关键字相当底层,通常使用Robot Framework的更高级关键字来编写测试是一个好主意,这些高级关键字内部使用了SSHLibrary的关键字。以下示例说明了这一点,其中将SSHLibrary关键字如Open ConnectionLogin组合在一个更高级的关键字如Open Connection And Log In中。

*** Settings ***
Documentation          This example demonstrates executing a command on a remote machine
...                    and getting its output.
...
...                    Notice how connections are handled as part of the suite setup and
...                    teardown. This saves some time when executing several test cases.

Library                SSHLibrary
Suite Setup            Open Connection And Log In
Suite Teardown         Close All Connections

*** Variables ***
${HOST}                localhost
${USERNAME}            test
${PASSWORD}            test

*** Test Cases ***
Execute Command And Verify Output
    [Documentation]    Execute Command can be used to run commands on the remote machine.
    ...                The keyword returns the standard output by default.
    ${output}=         Execute Command    echo Hello SSHLibrary!
    Should Be Equal    ${output}          Hello SSHLibrary!

*** Keywords ***
Open Connection And Log In
   Open Connection     ${HOST}
   Login               ${USERNAME}        ${PASSWORD}

支持

如果提供的文档不够,还有各种支持论坛可供选择

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

由以下支持