我眼中的robot framework
由于近期公司需要,需要一个测试框架对于公司的服务做自动化测试。
由于服务的复杂性,人工测试的方式越来越复杂,体现在以下方面:
1.人工测试步骤复杂,容易出错。服务的复杂性会使人工测试的准备工作,测试条件以及测试反馈都越来越复杂。
2.人工测试难以重复。随着产品的迭代越来越快,人工测试需要不断重复测试,此时人力投入成本很高。
自动化测试框架
优点
1.测试步骤自动化,不像人工测试那样容易出错。
2.测试步骤可以反复进行,不需要或者很少需要人工介入。
3.测试步骤在接口等改变后,容易替换,因为其测试数据和测试步骤是分离。
缺点
1.测试自动化需要人编写代码,初期投入较大。
2.测试自动化需要人维护以及测试其正确性,维护也需要成本。
在这个阶段不得不新增自动化测试框架对于服务进行操作。我一个软件研发工程师现在需要做测试开发工程的工作还是有点变扭。
robot framework简介
robot framework是使用python语言写的一种验收测试和验收测试驱动开发(ATDD)的自动化测试框架,这是一个跨平台的自动化测试框架。由于robot framework的关键字以及测试套件特性。通过类似于函数一样的关键字不仅可以实现复用和组合编程,而且还可以通过python语言实现的函数来灵活地实现自动化测试。
robot framework适用场景
1.用于单元测试,这是没有问题的,一般单元测试中一般都是一步一步完成的
2.用于功能测试,这是没有问题的,一般功能测试中一般都是一步一步完成的
3.用于集成测试,这时有不合适的地方,rf一般是顺序执行的,但在集成测试中需要并发测试,这种测试需要加入写入的并发关键字
robot framework使用心得
1.自定义库
go test的函数调用gotest.py
class GOTest(object):
def __init__(self):
pass
def run(self,goPath,binPath):
cmd = 'set GOPATH=' + goPath + ' && cd ' + binPath \
+ ' && go test -v'
res = os.popen(cmd)
if 'FAIL' in res:
return False
return True
robot framework的python库__init__.py
from gotest import GOTest class GOTEST(GOTest):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
将其放入python的第三方库中就是Lib\site-packages。
通过robot framework创建资源的方式加载GOTEST库,然后通过robot framework的关键字对函数run加载。
2.测试用例
测试用例中setup可以初始化,teardown哪怕在失败时也会执行,编辑时可以使用关键字,如gotest | d:\\gotest | d:\\project。
3.测试套件
a.测试套件中setup可以初始化,teardown哪怕在失败时也会执行,编辑时可以使用关键字,如gotest | d:\\gotest | d:\\project。
b.测试套件的setting中可以加载资源以及自定义库。
4.使用命令行跑测试用例
pybot -T -o D:\\output D:\\testcase,这个命令schtasks /creat /tn 设定定时运行的名字 /tr “运行程序” /sc daily可以用于每日自动化用力运行
安装robot framework步骤
1.安装python
2.安装robot framework
3.安装wxPython
4.安装ride,这是robot framework的图形编辑界面
我眼中的robot framework的更多相关文章
- Robot Framework用户手册 (版本:3.0)
版权信息:诺基亚网络和解决中心 本翻译尊重原协议,仅用于个人学习使用 1.开始: 1.1 介绍: Robot Framework是一个基于Python的,为终端测试和验收驱动开发(ATDD)的可扩展的 ...
- RIDE -- Robot Framework setup
RobotFramework 是一款基于python 的可以实现关键字驱动和数据驱动并能够生成比较漂亮的测试报告的一款测试框架 这里使用的环境是 python-2.7.10.amd64.msi RID ...
- Robot Framework自动化测试 ---视频与教程免费分享
当我第一次使用Robot Framework时,我是拒绝的.我跟老大说,我拒绝其实对于习惯了代码的自由,所以讨厌这种“填表格”式的脚本.老大说,Robot Framework使用简单,类库丰富,还可以 ...
- Robot Framework 的安装和配置(转载)
Robot Framework 的安装和配置 在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定.本文以在有 Python 的环 ...
- 解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题
最新的jenkins打开jenkins robot framework报告会提示如下 Verify that you have JavaScript enabled in your browser. ...
- 在centos7中安装Robot Framework
安装前景介绍: 最初,我们是在Windows环境下搭建Robot Framework来对我们的服务进行接口测试的(想知道如何在Windows下安装Robot Framework,可以参考我同事的博客h ...
- 移动端自动化环境搭建-Robot Framework的安装
A.安装依赖 RF框架,robotframework本身. B.安装过程 可以通过下载 exe 程序进行安装,Robot Framework 分别提供了,win-amd64.exe 和 win32.e ...
- robot framework 安装配置
robot framework 是一款专门用作自动化测试的框架,提供了丰富的内置库,与第三方库,也支持用户自己编写的库,robot framework +library 可以 用来做ui的自动化测试, ...
- Robot Framework入门学习1 安装部署详解
安装注意: 目前Robot framework-ride不支持python3,安装时请下载python2.7版本. Robot Framework安装时出现了一点小问题,网上没有找到直接的介绍,现将安 ...
随机推荐
- 11995 - I Can Guess the Data
大意:猜数据结构是栈.队列或者优先队列,可能为两种以上,也可能都不是. 水题.. STL 记得判断是否为空 #include<iostream> #include<cstdio> ...
- 源码笔记---MBProgressHUD
前言 作为初学者,想要快速提高自己的水平,阅读一些优秀的第三方源代码是一个非常好的途径.通过看别人的代码,可以学习不一样的编程思路,了解一些没有接触过的类和方法. MBProgressHUD是一个非常 ...
- Instruction-Set Support for Invocation of VMM-Configured Services without VMM Intervention
A processing core comprising instruction execution logic circuitry and register space. The register ...
- Android 底部TabActivity(0)——开篇(界面分析|系列文章文件夹)
当下主流的软件没有一个统一明白的风格,App框架什么样的都有,但个人钟情于页面底部Tab分签架构,移动设备的屏幕尽管越来越大,可是显示的内容还是有限,为了能展示很多其它的内容,方便简洁的操作习惯中Ta ...
- HDU 1406 完数 因子的和
http://acm.hdu.edu.cn/showproblem.php?pid=1406 完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6= ...
- 调试 之gdb thread命令 与 ltrace/strace
我们可以通过 1) gdb prog_name -> r 用在逐步调试自己的程序时 2) gdb -> attach process_id 正 ...
- Ditto —— windows 剪贴板增强小工具(复制粘贴多条记录)
Windows 虽然不断在升级,但系统自带的剪贴板功能却仍然弱爆了 (只能保留一条记录). Ditto 下载地址:http://sourceforge.net/projects/ditto-cp/fi ...
- [Node.js] Use Realm Object Database with Node.js
Realm is an ACID compliant object database. In this lesson, you will learn how to install Realm, def ...
- 【41.43%】【codeforces 560C】Gerald's Hexagon
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- LeetCode -- 删除链表中值为k的元素
本题目比較直接,一次遍历遇到匹配的元素直接删除(通过n.next = n.next.next)就能够了,仅仅是须要考虑到:1.首节点的情况2.末节点的情况 下面为实现: public ListNode ...