- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
译稿:Part I :Robot Framework Tutorial
Robot Framework 教程-概述(点击可以访问原文)?Robot Framework是个通用的自动化测试框架。这是本教程的第一篇文章,本篇会给出对RobotFramework的一个全面的概述,按计划,教程会由一系列文章组成。你已经从这个博客找到了大量的Robot Framework 相关的文章,但他们更像个活页纸集合(指内容松散没有组织)。本教程会从更有组织性的视角叙述整个话题,同时会引用一些已经存在的文章来让教程本体更加充实。请注意这篇文章几乎不包含任何“具体实现内容”,但更注重于对我们用到的概念进行综述,目的是为后续文章打下坚实的基础。什么是自动化测试框架?如果你已经对自动化测试有了一些经验(例如使用了一些其它的自动化工具)你很可能可以安全的跳过这一部分了。否则我更想先从几个简短的相关问题谈起:什么是自动化测试?它和手工执行的测试有什么区别?Michael Bolton写的一篇博客对这些问题给出了非常好的答案,我们可以把它概括成下面这句话:检查是机器就能干的,测试需要人的智慧。请注意,在后续讨论自动化测试的时候,我们仍将使用“测试”和“检查”这两个术语让我们来看一个具体的例子:某个保险公司的评级引擎。这个引擎会对特定的输入参数(数字)进行计算。这显然是一个好的例子,当我们知道算法的时候,我们可以做很多自动化的“检查”(这样自动化很有意义)。而判别算法本身是否正确很明显的需要人的智慧。让我们假设我们有一个基于一些数据库表和批处理程序的接口:向一张表插入数据,执行运算并且在另一张表查看结果。现在我们需要一些基本的测试脚本来开始工作(依据人们的偏好,实现的形式可能是Shell,Perl, Java,或者其它脚本形式)。另外,我们还需要一些基本的测试功能:访问数据库表,执行另一个脚本 ,以某种报表的形式返回结果。一旦这些完成后,我们可以开始实现我们的检查了。到现在为止我们基本上已经说出了一个典型的自动化框架需要提供的组件。最小化测试框架设计上图画的是一个非常基本的自动化测试框架。一个能够执行测试脚本的核心系统,该核心系统可以做一些报表工作,还提供一个把自定义测试功能插入的接口(plug-in)。测试功能插入的相关工作越简单越好。当然这会引发一个基本问题:当使用一个特定测试框架时,我该使用哪种语言实现我的测试功能(插件)呢?我将会在后面详细的回答这个问题,但是目前我们可以说Robot Framework的架构允许大家使用多种语言来实现。在我们能够深入讲解Robot Framework的具体架构之前,我们必须先讨论一个Robot Framework相关的主要术语:关键字驱动测试。什么是关键字驱动测试?每当我试着解释什么是关键字时,我把它比作一个能够测试或者帮助测试SUT(System Under Test,即被测物,这样叫是不是很酷?)的某个方面的函数或者方法(大一点或小一点都没关系)。真正酷和真正给力的事情是:我们能够用一些关键字实现另一些关键字。这是我们经常谈论的:高阶关键字:用来真实地测试被测物的业务逻辑的某个具体方面。低阶关键字:为了基于合适的粒度实现高阶关键字,高阶关键字通常把功能分解成一些低阶关键字。技术关键字:提供技术层面的实现(访问并且测试被测系统)下面的图通过一个例子描绘了关键字分层:关键字嵌套定义典型的技术关键可以用几乎所有编程语言来实现。其它类型的关键字用已有关键字的组合形式来实现。虽然本篇文章我们更加关注抽象的部分,让我们来看看一些关键字实际的定义方式。Google搜索关键字上表展示了Google Search这个关键字在Selenium库里是如何定义的。从该表我们可以看出在我们通常所说的测试库(Test Libraries)里已经有了很多被预先定义好的关键字,这就引出了我们开始要说的话题:Robot Framework概述我们终于说到了我们承诺的Robot Framework概述。当你安装Robot Framework后,你得到了核心框架和随安装包绑定的一系列标准测试库。除了标准测试库以外还有很多外部扩展库可用。这些库通常都是Robot Framework社区为了服务于不同的目的贡献的。关于这些库的非常棒的地方是,你可以把不同库中的关键字进行混用来定义你自己的关键字或者编写特定用例。 举个例子来说,这样你就可以很容易的使用Selenium Library中的关键字来实现对web前端的远程控制,同时使用Database Library来检查web操作对数据库造成的影响。在理想状态下,所有这些都能够通过将现有关键字组合成高阶关键字,而不用编写真正的代码来实现。Robot Framework概览除了核心功能和测试库以外,Robot Framework还提供了一个图形用户界面,叫做RIDE(Robot In
文档评论(0)