RobotFrameWork(1) 关键字驱动测试框架

以前经常自己琢磨着写测试框架,结果在真正投入使用后总发现有很多弊端,要么是难于维护,要么是不能适合大众化,还可能发生这样那个的BUG,由于短期投入产出不成正比,最后都作罢。

自动化还是需要团队的力量,仅靠个人力量很难实现大规模的自动化,覆盖面比较窄,很难看到成效。所以点点点还要继续这是功能测试的宿命,但是自动化也还要继续……因为我不想自己和自己的团队永远停留在点点点。

Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端web、android、ios、api的自动化测试通吃。还有它是开源滴。以上已基本包含我选择的原因,还但是重点说一下。

python编写

作为没有开发经验的测试什么语言比较上手,显然python是个不错的选择。易于上手,代码简洁,无需编译,封富的库资源简直是想干什么就干什么,而且Linux下面也能畅玩直接替一些繁琐的shell。

开源

我们没钱,我们就是喜欢开源,虽然我们暂时没能开源组织贡献什么,但用他们开源的软件也算是对他们的一点支持吧。在些也感谢他们!

支持类型的客户端

如今天大半边天已经属于移动互联网,很显然只支持传统web测试的工具已经不能满足我们需要,RF同时支持android、ios的功能测试,当然也能进行http,webservice等类型的api测试。

良好的可扩展性

RF本身就有丰富的测试库资源,如selenium2library、RequestsLibrary、databaselibrary等,然后它也能支持自定义测试库,RF提供多种方式定制测试库,你也可以佣有自己的关键字库了。(有点像Jmeter自定义插件)

关键字驱动

关键字驱动和数据驱动一直以来测试界都为怎么解释和区别他们各持已见。我也不想为解释他们花过多时间,因为它们都遵循了软件测试的输入输出,但在这里我要说的是关于二者测试设计。请看下面两图

图1为数据驱动,读取测试数据,编写测试步骤,判断预期结果,中间的操作步骤可以是一个面向过程操作,只要确保步骤实现没有错误,在业务没有变化的情况下,要需要重点放在对测试数据的构建和维护上,而不是直接维护脚本,可以利用同样的过程对不同的数据输入进行测试。

但是一但业务发生变化,整个step步骤将面降大面积的修改,本来就种面向过程的代码实现代码量可能就偏大,此时对维护造成级大困难。

图二中我们可以看出还是数据驱动,但发生了什么变化了,数据分为了局部数据和全局数据,每个步骤有自己的私有数据当然也可以没有(有点像公全局变量和私有变量),所有的控制由关键字来完成。在维护上我们可以控制全局变量来控制一批CASE的测试结果,同时可以控制单个CASE的输入数据。

另外在过程的维护上我们只需要维护执行这些控制步骤的关键字(对象),而不是大量的代码语句。

仔细看来者更像一个是面向过程的软件开发和面向对象的软件开发,面向对象也是建立在面向过程的基础之上的,这是IT进步的产特。就像爹生儿,儿子更优秀,没有太多必要讨论谁是谁,都是一家人。

时间: 2024-11-05 17:16:07

RobotFrameWork(1) 关键字驱动测试框架的相关文章

Selenium关键字驱动测试框架Demo(Java版)

Selenium关键字驱动测试框架Demo(Java版)http://www.docin.com/p-803493675.html Selenium关键字驱动测试框架Demo(Java版),布布扣,bubuko.com

关键字驱动测试框架搭建(1)

1.小练习:定义三个方法(加法.减法.断言),通过使用关键字驱动测试这个三个方法compute.py #encoding=utf-8 def add(a,b): print a + b return a + b def sub(a,b): print a - b return a - b def assert_value(a,b): if a == b: return True else: return False testdata.txt文件add,1,2,3sub,2,1,1 test_co

测试框架

什么是测试框架 测试框架是一组自动化测试的规范.测试脚本的基础代码,以及测试思想.惯例的集合.可用于减少冗余代码.提高代码生产率.提高代码重用性和可维护性.测试框架出现的最终目的是花少量的资源来完成尽可能多的测试任务,所以测试框架的建立以及框架的重用性方面是最值得测试人员深入探究的地方. 测试框架的好处 提高开发速度 提升测试代码的执行效率 提高软件代码质量,同时引入重构概念,让代码更干净和富有弹性 提升系统的可信赖度,作为回归测试的一种实现方法支持修复后“再测试”,确保代码的正确性. 测试框架

什么是关键字驱动框架

什么是关键字驱动框架? 关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试.关键字驱动的框架的基本工作是将测试用例分成四个不同的部分.首先是测试步骤(Test Step),二是测试步骤中的对象(Test Object),三是测试对象执行的动作(Action),四是测试对象需要的数据(Test Data). 以上四个部分,都可以使用Excel表格进行维护:  Test Step:是一个小的测试步骤的描述或者测试对象的一个操作说明. Test Object:是指页面对

UI自动化测试框架之Selenium关键字驱动

一.原理及特点 1. 关键字驱动测试是数据驱动测试的一种改进类型 2. 主要关键字包括三类:被操作对象(Item).操作(Operation)和值(value),用面向对象形式可将其表现为Item.Operation(Value) 3. 将测试逻辑按照这些关键字进行分解,形成数据文件. 4. 用关键字的形式将测试逻辑封装在数据文件中,测试工具只要能够解释这些关键字即可对其应用自动化 二.准备 使用工具:eclipse 用到的第三方jar包:poi.jar(操作excel);selenium.ja

Robot Framework测试框架学习笔记

一.Robot Framework框架简介 Robot Framework是一种基于Python的可扩展关键字驱动自动化测试框架,通常用于端到端的可接收测试和可接收测试驱动的开发.可以用于测试声明涉及到多种技术和接口的分布式的,异构的应用系统. 测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序.因为Robot Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,web service,编程接口等.

Robot Framework测试框架用例脚本设计方法

Robot Framework介绍 Robot Framework是一个通用的关键字驱动自动化测试框架.测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储.通过测试库中实现的关键字驱动被测软件.    Robot Framework灵活且易于扩展.它非常适合测试有不同接口的复杂软件:用户接口.命令行,Web服务,专有的编程接口等. Robot Framework是开源软件,通用的测试库源码安装包和文档等可通过http://robotframework.org获取.Robot Fr

数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索

UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo基于Selenium与Java.由于现在Selenium在自动化测试的统治地位,并且随着Selenium 4的即将发布,在未来很长的一段时间里这种统治地位应该还会持续,所以我的这篇文章还都是基于Selenium与Java的. 自动化测试小Demo 它要测试的东西其实是要看一下百度搜索能不能返回兴业银行的官网.我们分析一下这段代码都包含些什么东西. 第一,这段代码包

RobotFramework测试框架创建远程库Remote,并实现调用Ruby关键字接口

RobotFramework测试框架调用Ruby用户数据准备接口 一.安装RF Remote远程控制gem包 robot_remote_server 二.创建远程Library服务 在ruby环境完整的机器的上创建remote_library.rb文件,内容如下: 然后 ruby remote_library.rb 运行脚本: 远程robot服务库就被创建: 三.在RF中引入Library Remote host_ip:8270 四.调用方法: 五.Ruby关键字方法库: 六.远程调用原理 Ro