前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Robot Framework框架远程操作UNIX系统

使用Robot Framework框架远程操作UNIX系统

作者头像
叉叉敌
发布2022-03-11 14:23:14
8070
发布2022-03-11 14:23:14
举报
文章被收录于专栏:ChasaysChasays

使用Robot Framework框架远程操作UNIX系统

bot Framework是一个强大的自动化测试框架,依靠社区力量编写的Test Library为它提供了非常强的扩展性。下面我将介绍的就是如何使用第三方提供的扩展测试库(Test Library)来远程登录Unix,并在上面做常见操作。

  • 环境准备(W32环境下):

1.首先我们得拥有Robot Framework的运行环境。

a.必须安装python,因为Robot Framework是用python实现的,目前Robot Framework只支持Python2.X版本。

b.安装Robot Framework,目前最新版本为2.6.1。安装说明在项目的主页中给了详细说明,可见下面链接

,这里就不累述了。 http://code.google.com/p/robotframework/downloads/list

2.要实现RobotFramework对Unix的访问,我们需要使用到它的第三方扩展库 SSH Library。

如果你动手能力强,E文又好,可以跳过对SSH Library安装的介绍,直接看他的英文安装说明(写的有点儿简单)。

http://code.google.com/p/robotframework-sshlibrary/wiki/InstallationInstructions

安装前准备:

----------------------------------------------------------------------------

Pybot版本:

a.在安装SSHLibrary以前,我们需要安装它的支撑库Paramiko

实际上真正实现访问Unix功能的软件是paramiko,SSHLibrary是按照Robot Framework的扩展测试库标准对 Paramiko进行的封装。

Paramiko的首页 http://www.lag.net/paramiko/

我们在页面的下载部分下载 paramiko-1.7.7.1.zip 解压后执行: setup.py install 安装。

注意要如果有多个python版本,必须安装到与RobotFramwork一致的版本上。

windows下的多版本管理可以参照下贴:

http://hi.baidu.com/yobin/blog/item/f28af43650ec0f370a55a9d5.html

b.paramiko依赖另一个库,这个库提供SSH所需的数字签名算法,这个库是 PyCrypto,需要单独 安装。pyCrypto也是python写的,可以用 setup.py install 命令安装。

---------------------------------------------------------------------------------------------------------------

Jybot版本:

点击 Trilead SSH for Java 下载。

加入你环境变量中的 ”Classpath “ 项中去。这样Jython才能识别它。

---------------------------------------------------------------------------------------------------------

安装准备完毕。

完成安装准备工作,我们就可以安装SSH LIbrary了,它的下载地址如下:

http://code.google.com/p/robotframework-sshlibrary/

选择 SSHLibrary-1.0.win32.exe 这个安装文件下载并安装。安装很傻瓜,直接Next就行了。

仍需要注意的是如果你安装了多个Python版本,必须选择你安装Robot Framework的对应Python版本.

3.使用Ride(选用):

Ride是一个robot framework 测试用例编写的一个集成工具,通过它我们可以非常方便的编辑测试用例。

Ride的首页: http://code.google.com/p/robotframework-ride/ 大家自行安装,这里就不多说了。

  • 使用

SSHLibrary的使用方法,与其它Robot Framework下其它测试库使用的方法相同。都是通过编写测试用例来实现对被测程序的操作。SSHLibrary为我们隐去了很多细节(如使用DSA,RSA建立加密信道等),仅仅通过几个关键字就能实现与UNIX的交互了。

下面通过一个例子来说明SSHLibrary的用法。

例子实现的功能如下:

1.登录一台远程unix服务器。 10.2.2.233

2.执行bash

3.切换到 /userhome/lucas/config目录下

4.执行程序 testTux

5.在/userhome/lucas/log下取得日志文件 tux_log.001到本地目录d:\tux_log.001

6.退出登录。

编写脚本(推荐使用Ride,这样可以减少拼写错误,并且用例在Ride中显得更清晰) 红色字为注释:

代码语言:javascript
复制
     Open Connection   10.2.2.233  #None  22    
  Set Timeout       0minutes 3 seconds 
  Set Prompt        None    
  Login             username    password 
  Write             bash 
  Read Until        >   INOF               使用了一个技巧,见到>就说明输出完了。 
  Write             cd  /userhome/lucas/config    
  Read Until        >   INFO 
 Write             testTux 
  Read Until        >   INFO 
 Get File          /userhome/lucas/log/tux_log.001      d:\tux_log.001      注意使用绝对路径 
 Close All Connections 

保存为脚本 testSSH.txt

直接运行pybot testSSH.txt ,十几秒钟后,测试报告和日志就生成了。我们可以通过查看他们来获知用例的运行

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用Robot Framework框架远程操作UNIX系统
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档