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安装的介绍,直接看他的英文安装说明(写的有点儿简单)。
 
安装前准备:
----------------------------------------------------------------------------
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下的多版本管理可以参照下贴:
 
 
  b.paramiko依赖另一个库,这个库提供SSH所需的数字签名算法,这个库是    PyCrypto,需要单独   安装。pyCrypto也是python写的,可以用 setup.py install 命令安装。
---------------------------------------------------------------------------------------------------------------

Jybot版本:

点击 Trilead SSH for Java  下载。

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

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

安装准备完毕。

 
  完成安装准备工作,我们就可以安装SSH LIbrary了,它的下载地址如下:
  选择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中显得更清晰) 红色字为注释:
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
,十几秒钟后,测试报告和日志就生成了。我们可以通过查看他们来获知用例的运行

使用Robot Framework框架远程操作UNIX系统的更多相关文章

  1. Robot Framework常用的操作库列表

    标准库是Robot Framework可以直接导入使用的库,包含以下几类: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的 ...

  2. Robot Framework:Excel操作

    robot framework 操作Excel需要安装库 ExcelLibrary pip install robotframework-ExcelLibrary 将ExcelLibrary 导入到r ...

  3. robot framework下载文件操作

    不同的浏览器点击[下载]按钮之后,需要点击保存,还是确定,或者直接默认直接下载都是不一样的 1.chrome:点击[下载]之后,会自动执行下载操作,直到下载结束 A)点击下载,等待下载结束(sleep ...

  4. Robot Framework——对时间操作的datetime库常用关键字

    1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3.对时间格式转化,获取时间戳 4.从完整时间中取指定年月日等 5.对时间类型进行格式化 6.获取当前时间或者指定时区时 ...

  5. Robot Framework:数据库操作

    robotframework 操作数据库,需要安装DatabaseLibrary库 pip install robotframework-databaselibrary Python操作不同的数据库, ...

  6. 虫师自动化测试robot Framework 框架的学习

    1.python关键字的定义 #coding=utf-8 def add(a,b): return a+b if __name__ == "__main__": c = add(4 ...

  7. 通过CMD远程操作Linux系统

    一.文件传输 方法:使用sftp连接方式,sftp 是一个交互式文件传输程式.它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性 命令: //登入:sftp username@ip sftp ...

  8. robot framework框架selenium API

    RIDE面板认识 selenium API 关键字 语法 参数 备注 Open Browser url Chrome 用不同的浏览器打开url,需要下载不同的浏览器驱动,默认火狐 Close Brow ...

  9. 虫师自动化测试robot Framework 框架的学习2

    循环的使用 1.in range和in的区别 输出结果 如果把上面的换成in range 会报错 未被定义,说明in range 后面使用的数据类型有限制,对比下,可以看出,in 可用在列表类型数据类 ...

随机推荐

  1. UPC 2019年第二阶段我要变强个人训练赛第六场

    传送门 A.上学路线 题目描述 小D从家到学校的道路结构是这样的:由n条东西走向和m条南北走向的道路构成了一个n*m的网格,每条道路都是单向通行的(只能从北向南,从西向东走). 已知小D的家在网格的左 ...

  2. H3C DHCP服务器基本配置

  3. Apache ServiceMix介绍

    Apache ServiceMix介绍 Apache ServiceMix 是一个广泛使用的开源ESB,适合SOA项目的集成,它提供类似商业ESB产品一样的功能呢,它的核心是基于开放标准和规范. Se ...

  4. 9月29更新美版T-mobile版本iPhone7代和7P有锁机卡贴解锁方法

    ​ T版是块难解的砖头,之前一直没有找到稳定解锁办法,经过多次不写努力和实验,终于解决 不管是用超雪卡贴还是GPP卡贴,第一次先用连接WIFI激活手机! 注意:一定不要用ICCID通用激活,或者是TM ...

  5. 为什么Redis是单线程,性能还如此高?

    一. Redis为什么是单线程 注意:redis 单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程. 因为CPU不是Redis的瓶颈.Redis的瓶颈最有可能 ...

  6. mysql(8.0.16)安装及使用注意事项

    1.安装地址:https://dev.mysql.com/downloads/mysql/ 2.在安装路径:D:\mysql\mysql-8.0.16-winx64(安装时的路径,可自己选择)下面新建 ...

  7. Date日期时间相关

    最近在封装一个关于时间函数的功能时,竟发现这些最基本的函数都有些生疏,于是进来来总结复习下,巩固自己记忆的同时,希望能帮助到需要的人 首先了解下日期对象相关的方法 var date = new Dat ...

  8. Controller中页面跳转完后页面的样式全消失的解决办法

    问题的原因应该是在controller中进行页面跳转时当前文件的路径变了 解决办法: 1.在jsp页面中<%@ page language="java" contentTyp ...

  9. 【题解】P4585 [FJOI2015]火星商店问题(线段树套Trie树)

    [题解]P4585 [FJOI2015]火星商店问题(线段树套Trie树) 语文没学好不要写省选题面!!!! 题目大意: 有\(n\)个集合,每个集合有个任意时刻都可用的初始元素.现在有\(m\)个操 ...

  10. $ [Contest \#4]$求和 思博题

    正解: 解题报告: 传送门$QwQ$ 一道看起来是数位$dp$其实并不是的题$QwQ$ 首先求$\sum_{l}^r$就变成$\sum_1^r-\sum_1^{l-1}$不说$QwQ$.现在就只要求$ ...