Robot FrameWork测试案例
Robot FrameWork是一个自动测试框架,可到官网查看详细介绍。
安装 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 |
安装RIDE之后, 桌面快捷方式可能链接文件有问题,可以修改其目标为: C:\Python27\pythonw.exe-c "from robotide import main; main()"
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 |
然后, 如下图所示,工程 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, 可以看到,我们这个测试用例成功啦~~~
Robot FrameWork测试案例的更多相关文章
- 用 Python 写 Robot Framework 测试
Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库. 1.你懂 Python 语言. 2.又想使用 Robot Framework 测试框架 ...
- Robot Framework测试框架学习笔记
一.Robot Framework框架简介 Robot Framework是一种基于Python的可扩展关键字驱动自动化测试框架,通常用于端到端的可接收测试和可接收测试驱动的开发.可以 ...
- Robot Framework测试框架用例脚本设计方法
Robot Framework介绍 Robot Framework是一个通用的关键字驱动自动化测试框架.测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储.通过测试库中实现的关键字驱动 ...
- robot framework测试驱动无法定位页面元素
robot framework错误提示: [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: NoSuchW ...
- Jenkins上配置Robot Framework测试邮件通知模板
邮件效果 测试成功如下所示: jenkins_robot_success 测试失败如下所示: jenkins_robot_failure 通过这个模板,我们能够很直观地看出测试的执行情况,以及相关的统 ...
- robot framework 测试/预发/线上环境快捷切换
通常情况下布署的三套环境:测试.预发及线上环境.调试或者辅助验证测试时,切环境改变量甚是麻烦.这些变量包括但不限于:一些url信息,数据库信息,预置用户信息等. 切换环境方法一:使用变量文件,通过判断 ...
- 最新 robot framework安装
相信大家对robot framework并不陌生,它是一个基于Python语言,用于验收测试和验收测试驱动开发(ATDD)的通用测试自动化框架=,提供了一套特定的语法,并且有非常丰富的测试库. Pyt ...
- Robot Framework+AutoItLibrary使用
目的:用Robot Framework测试win7桌面程序 因为安装完了才补的记录,估计有错漏:( 步骤: 1. 尝试pip install AutoItLibrary 失败 2. 下载A ...
- Robot Framework(十八) 支持工具
5支持工具 5.1库文档工具(libdoc) libdoc是一种用于为HTML和XML格式的测试库和资源文件生成关键字文档的工具.前一种格式适用于人类,后者适用于RIDE和其他工具.Libdoc也没有 ...
随机推荐
- 基于OpenResty和Node.js的微服务架构实践
什么是微服务? 传统的单体服务架构是单独服务包,共享代码与数据,开发成本较高,可维护性.伸缩性较差,技术转型.跨语言配合相对困难.而微服务架构强调一个服务负责一项业务,服务可以单独部署,独立进行技术选 ...
- helm 安装prometheus operator 并监控ingress
1.helm安装 curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.shchmod 7 ...
- 利用Zynq Soc创建一个嵌入式工程
英文题目:Using the Zynq SoC Processing System,参考自ADI的ug1165文档. 利用Zynq Soc创建一个嵌入式工程,该工程总体上包括五个步骤: 步骤一.新建空 ...
- 前端PHP入门-016-静态变量
如果我想知道函数被调用了多少次怎么办?在没有学习静态变量的时候,我们没有好的办法来解决. 静态变量的特点是:声明一个静态变量,第二次调用函数的时候,静态变量不会再初始化变量,会在原值的基础上读取执行. ...
- No qualifying bean of type [java.lang.String] found for dependency: expected
出现这个问题的原因是因为多写了一个注解但是没有实体类.如: 或者其他注解下没有内容.
- NOIP模拟赛12
期望得分:100+100+50=250 实际得分:100+100+30=230 A 约数之和(count.pas/c/cpp) TL:1S ML:128MB[Description]我们用 D(x)表 ...
- uva 1639 Candy (对数处理精度)
https://vjudge.net/problem/UVA-1639 有两个盒子各有n(n≤2*10 5 )个糖,每天随机选一个(概率分别为p,1-p),然后吃一颗糖. 直到有一天,打开盒子一看,没 ...
- 关于aspx.designer.cs的研究
.aspx文件..aspx.cs文件和.aspx.designer.cs的一些说明 .aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件 ...
- 铺地砖|状压DP练习
有一个N*M(N<=5,M<=1000)的棋盘,现在有1*2及2*1的小木块无数个,要盖满整个棋盘,有多少种方式?答案只需要mod1,000,000,007即可. //我也不知道这道题的来 ...
- eclipse启动项目
今天做的任务不多,没有自己写代码,上午看了些文章,下午我司后台给配了配项目环境,全装C盘了..以后有我好受的.. 看着后台操作,修改了N多配置,tomcat.redis.zkServer..Nginx ...