Robot FrameWork安装以及一个Demo
2013-11-21 19:31
218 查看
Robot FrameWork是一个自动测试框架,可到官网查看详细介绍。
安装RIDE之后, 桌面快捷方式可能链接文件有问题,可以修改其目标为: C:\Python27\pythonw.exe-c "from robotide import main; main()"
以下Demo中Robot Framework安装在Win7之上,而X-Product安装在另一台Linux服务器上。
Robot Framework: 该框架用于管理测试用例,并且能够很好的生成测试报告。
Keyword: 在Robot Framework中,关键字有点像其他语言中的函数。同样关键字也具有三个部分:Keyword Name, Arguments, and Return values. 在Robot Framework中写测试用例需要符合其表格语法的规范。
SSH Library: 这是一个SSH/Sftp的库,可以用来和远程其他的机器进行通信。
然后, 如下图所示,工程 HelloRobot 被创建. HelloWorld 测试套被创建,通常一个测试套里面包含一个功能测试的测试用例集合.ManualScanForSpyware 是本次测试的一个测试用例.
接着, 如下图所示,在写测试用例之前,我们首先导入 SSHLibrary 和 User keyword resource. User keyword resource “setupkeyword.txt” 是我们自己所写的高级关键字.
同时 Scalar Variables 被创建,如下图所示:
如下图所示,之前提到的User keywordresource 被创建. 高级关键字 SetupForMS 连接到需要测试的SPLX服务器,发送一个shell脚本 “setup.sh” ,然后发送一个命令去执行“setup.sh”.
再接着, 如下图所示, Setup 负责在执行测试用例之前的清理工作. 这里高级关键字 SetupForMS 来完成测试用例执行前的清理工作. 测试步骤如下:
[Step1]. 连接到服务器
[Step2]. 登陆到服务器
[Step3]. 发送病毒样本“spyware.exe”到测试服务器
[Step4]. 发送测试脚本“testscript.sh”到测试服务器
[Step5]. 发送命令去执行脚本“testscript.sh”
[Step6]. 从输出中获取测试结果
[Step7]. 关闭和服务器之间的连接
[Step8]. 对测试结果打印Log
[Step9]. 查看是否测试成功
最后, 我们来执行这个测试用例. 如下图所示, 我们可以从RIDE中直接看到测试结果和测试的log. 我们也可以通过点击图中的按钮Report/Log,来查看HTML形式的测试报告. Ok, 可以看到,我们这个测试用例成功啦~~~
http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.8.1
[2] Robot FrameworkBuildIn Doc
http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html?r=2.8.1
[3] SSH Library Doc
https://robotframework-sshlibrary.googlecode.com/git-history/1.1/doc/SSHLibrary.html
安装 Robot Framework
本文中的Robot framework安装在Win7 (32 bit) 平台上. 接下来按顺序安装以下的软件/包。Software | Version | Post-steps | Note |
Python | python-2.7.6 | Set ENV Var to PATH: C:\Python27 C:\Python27\Scripts | |
Robot Framework | robotframework-2.8.1.win32 | ||
wxPython | wxPython2.8-win32-unicode-2.8.12.1-py27 | ||
RIDE | robotframework-ride-1.2.2.win32 | Installation via CLI with Administration Privilege |
Demo: Scan Spyware via manual scan of X-Product
这里做个背景介绍:X-Product用于保护Linux服务器文件系统之上的文件。Manual Scan是其中的一个手动扫描文件的功能,将扫描出的病毒进行隔离(或者清除等),并且记录log。以下Demo中Robot Framework安装在Win7之上,而X-Product安装在另一台Linux服务器上。
1. 测试流程
Robot Framework: 该框架用于管理测试用例,并且能够很好的生成测试报告。
Keyword: 在Robot Framework中,关键字有点像其他语言中的函数。同样关键字也具有三个部分:Keyword Name, Arguments, and Return values. 在Robot Framework中写测试用例需要符合其表格语法的规范。
SSH Library: 这是一个SSH/Sftp的库,可以用来和远程其他的机器进行通信。
2. 测试逻辑
我们目标去测试X-Product的manual Scan功能能否发现一个spyware的测试样本。测试逻辑如下图所示:3. Robot Framework实战
首先,SSH Library需要被安装. 如下表所示,按顺序安装以下的包. 安装完成之后可以使用命令 python -c "import SSHLibrary” 查看是否安装成功Package | Version |
pycrypto | pycrypto-2.6.win32-py2.7 |
paramiko | paramiko-1.7.3-ctypes.win32 |
SSH Library | robotframework-sshlibrary-1.1.win32 |
接着, 如下图所示,在写测试用例之前,我们首先导入 SSHLibrary 和 User keyword resource. User keyword resource “setupkeyword.txt” 是我们自己所写的高级关键字.
同时 Scalar Variables 被创建,如下图所示:
如下图所示,之前提到的User keywordresource 被创建. 高级关键字 SetupForMS 连接到需要测试的SPLX服务器,发送一个shell脚本 “setup.sh” ,然后发送一个命令去执行“setup.sh”.
再接着, 如下图所示, Setup 负责在执行测试用例之前的清理工作. 这里高级关键字 SetupForMS 来完成测试用例执行前的清理工作. 测试步骤如下:
[Step1]. 连接到服务器
[Step2]. 登陆到服务器
[Step3]. 发送病毒样本“spyware.exe”到测试服务器
[Step4]. 发送测试脚本“testscript.sh”到测试服务器
[Step5]. 发送命令去执行脚本“testscript.sh”
[Step6]. 从输出中获取测试结果
[Step7]. 关闭和服务器之间的连接
[Step8]. 对测试结果打印Log
[Step9]. 查看是否测试成功
最后, 我们来执行这个测试用例. 如下图所示, 我们可以从RIDE中直接看到测试结果和测试的log. 我们也可以通过点击图中的按钮Report/Log,来查看HTML形式的测试报告. Ok, 可以看到,我们这个测试用例成功啦~~~
参考
[1] Robot FrameworkUser Guidehttp://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.8.1
[2] Robot FrameworkBuildIn Doc
http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html?r=2.8.1
[3] SSH Library Doc
https://robotframework-sshlibrary.googlecode.com/git-history/1.1/doc/SSHLibrary.html
相关文章推荐
- Robot FrameWork安装以及一个Demo
- Robot FrameWork安装以及一个Demo
- 服务(2)====一个lamp的脚本以及基于lamp安装wordpress
- 一个iOS图片选择器的DEMO(实现图片添加,宫格排列,图片长按删除,以及图片替换等功能)
- 日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)
- 一个系统中安装多个mysql数据库的方法,以及mysql数据库自动备份脚本的编写
- 基于投影方法的碰撞检测以及一个测试DEMO【C + SDL】
- Ubuntu - 在只安装了Ubuntu一个系统的时候如何进入grub界面以及single模式从而修改root口令
- iBATIS教程 (二)环境的安装和配置,以及一个简单的例子
- debian mysql安装以及navicat连接遇到的一个问题。
- 安装zend studio10.0.0遇到的一个小问题以及解决
- Linux 源码安装cmake以及Clion直接打开一个存在的工程所要注意的问题
- Google Protobuf的安装、配置、以及简单demo编译
- CGAL window 10安装、Demo使用步骤以及问题解决记录
- 使用php完成一个用户注册以及管理的demo(php实现单文件与多文件的上传)
- 在Windows环境中安装并使用kafka以及生产者消费者Demo
- 详解:Windows系统安装OpenSSL 以及在VC环境下编写一个简单OpenSSL程序
- Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动
- Appium简易安装,以及第一个javaDemo演示
- 介绍Struts 1.1 框架基本原理,以及介绍Struts 1.1 安装和一个简单的例子。