![Robot Framework 快速入门_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/11/30bab6e4-483c-4ab9-9cc3-37216c4e2cf6/30bab6e4-483c-4ab9-9cc3-37216c4e2cf61.gif)
![Robot Framework 快速入门_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/11/30bab6e4-483c-4ab9-9cc3-37216c4e2cf6/30bab6e4-483c-4ab9-9cc3-37216c4e2cf62.gif)
![Robot Framework 快速入门_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/11/30bab6e4-483c-4ab9-9cc3-37216c4e2cf6/30bab6e4-483c-4ab9-9cc3-37216c4e2cf63.gif)
![Robot Framework 快速入门_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/11/30bab6e4-483c-4ab9-9cc3-37216c4e2cf6/30bab6e4-483c-4ab9-9cc3-37216c4e2cf64.gif)
![Robot Framework 快速入门_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/11/30bab6e4-483c-4ab9-9cc3-37216c4e2cf6/30bab6e4-483c-4ab9-9cc3-37216c4e2cf65.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Robot Framework 快速入门 Copyright ? Nokia Siemens Networks 2008 Licensed under the Apache License, Version 2.0 翻译:ren-zhang 目录 Robot Framework 快速入门 介绍概述安装运行demo介绍样例应用程序测试用例第一个测试用例 高级别测试用例 数据驱动测试用例关键词keywords 内置关键词 库关键词 用户定义关键词变量定义变量 使用变量组织测试用例测试套件 启动和卸载 使用标签创建测试库Robot Framework 是一个关键词驱动的自动测试狂教案。测试用例位于H
2、TML或者TSV(以tab分隔值文件,使用在测试库中实现的关键词来在测试中运行程序。因为Robot Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,web service,编程接口等。 Robot Framework 是开源软件和安装包,源码和相关文档可通过获得。本篇指南计划介绍Robot Framework 的基本概念。如果需要详细的技术描述,请查阅Robot Framework User Guide. 安装Robot Framework 的前提是Python被安装。另外,需要使用用Java编
3、写的测试库, Jython必须被安装。对使用本篇快速入门来说Pyhon已经足够了。 共有三种不同的安装Robot Framework 的方法,从而可以选择最合适你的方式。详细安装说明可以在project web pages上找到. 有用于windows平台的二进制安装包。双击安装包按照提示安装即可。 在所有平台上Robot Framework 都可以从源码安装。想要安装源码,解压源码发行包运行命令python setup.py install 。 可以使用, Robot Framework 可以通过命令 easy_install robotframework 安装。在windows下你可以手动
4、运行 框架安装好后,将包含有启动脚本的安装目录添加到PATH环境变量中。在UNIX-like 系统中应该可以自动完成,但在windows系统必须从 ControlPanel>System>Advanced>EnvironmentVariables 添加如下例子. C:Python25Scripts to PATH. 安装成功后可以用命令pybot version测试,应该输出如下: $ pybot -version Robot Framework 2.0.3 (Python 2.5.2 on linux2 本篇快速入门指南使用一个可执行的demo。为了运行它启动一个命令she
5、ll,cd到本文件目录,在命令行输入下面的命令: pybot quickstart.html 在本文件内的测试将被执行并产生如下报告: report.html 测试结果概述 log.html 测试结果细节 output.xml 以轻型XML保存的测试结果,便于与其他工具集成 在浏览器中打开 report.html (此链接只有在本指南被执行后才能工作, 然后打开此链接查看结果。report.html文件链接着 log.html文件。 有一些命令行选项可以用来控制测试执行和产生的结果。完整列表可以 使用pybot help 来显示。例如如下命令修改了日志文件和顶层测试套件的名字: pybot -
6、log mylog.html -name My_Fine_Tests quickstart.html 注意 使用jybot启动脚本执行本快速入门指南不能与Jython 2.2工作。使用Jython2.5执行需要使用-Dsys.executable选项设置可执行文件。 本篇指南的样例应用程序是一个经典登陆样例的变种: 它是一个使用Python编写的基于命令行的认证服务器。 样例应用允许用户做三件事情: 应用程序在sut目录下,可以使用命令python sut/login.py来执行。尝试使用不存在的用户账户或者错误密码登录将会长生同样的错误信息: > python sut/login.py
7、 login nobody P4ssw0rd Access Denied 在使用有效的密码创建一个用户账户后成功登录: > python sut/login.py create fred P4ssw0rd SUCCESS > python sut/login.py login fred P4ssw0rd Logged In 一个有效的密码必须满足两个要求: 它必须是7-12 字符长, 它必须包含大写或者小写字母和数字,但是不能包含特殊字符。尝试使用非法的密码创建用户会失败: > python sut/login.py create fred short Creating us
8、er failed: Password must be 7-12 characters long > python sut/login.py create fred invalid Creating user failed: Password must be a combination of lowercase and uppercase letters and numbers 使用非法信任状修改密码会产生和使用非法信任状登录一样的错误。新密码的有效性将会被验证,如果不合法如下错误信息会被显示: > python sut/login.py change-password fred
9、wrong NewP4ss Changing password failed: Access Denied > python sut/login.py change-password fred P4ssw0rd short Changing password failed: Password must be 7-12 characters long > python sut/login.py change-password fred P4ssw0rd NewP4ss SUCCESS 本应用程序使用一个简单的数据库文件来追踪用户的状态。文件在操作西洞庭的临时文件目录。 Robot F
10、ramework 测试用例使用一种简单表格语法。下表含有两个样例: . 用户可以创建账户并登入 . 用户使用错误密码无法登入 注意 这些测试比起自动测试用例更像用英语手工写的测试。Robot Framework 使用关键词驱动的方式,支持用自然语言来编写可以抓住动作和期望值的本质的测试。测试用例由关键词(通常在第二列和它们可能的参数组成。 测试用例也可以通过使用不携带参数的高级别关键词来创建。这种风格允许使用完全的自由文本以便于进行交流,即使是和非技术人员或者其他利益相关者。T Robot Framework 不强制使用任何风格来编写测试用例,它可以用于行为驱动开发behavior-drive
11、n development (BDD推荐的giv en-when-then格式的样例,如下所示。 这种测试用例或者用户故事风格的测试用例的类型很适合用于acceptance test-driven development (ATDD. 在 ATDD 中接收测试在实现实际产品特性前编写并且他们反映了需求。 通常部分测试用例除了部分不同的输入或者输出数据外都.在这些情况下数据驱动,如下面六个测试用例,允许在不复制工作流的情况下改变测试数据。 Test Case Action Password Expected error message Too short password Creating us
12、er with invalid password should fail abCD5 $PWD INVALID LENGTH Too long password Creating user with invalid password should fail abCD567890123 $PWD INVALID LENGTH Password without lowercase letters Creating user with invalid password should fail 123DEFG $PWD INVALID CONTENT Password without capital
13、letters Creating user with invalid password should fail abcd56789 $PWD INVALID CONTENT Password without numbers Creating user with invalid password should fail AbCdEfGh $PWD INVALID CONTENT Password with special characters Creating user with invalid password should fail abCD56+ $PWD INVALID CONTENT
14、在这些测试中每个测试用例只有一个关键词,它用于用给定的密码创建用户并检查创建过程失败返回的错误信息。注意错误信息使用variables变量指定。 测试用例使用关键词创建,关键词可以从三种来源得到:总是可用的built-in keywords内置关键词,从导入的测试库中得到的library keywords库关键词和使用同样表格语法创建的用于创造测试用例的user keywords用户关键词。 一些常见有用的关键词如Get Time和 Should Be Equal总是可用的。技术上来说这些关键词来自于BuiltIn测试库,你可以通过它的文档查看到所有可用的关键词的列表。 所有最底层的关键词都是
15、在测试库中定义的,它们通过使用标准编程语言实现。 Robot Framework 本身具有部分库,包括用于支持常见的操作系统函数的OperatingSystem库,和用于捕捉屏幕焦点的Screenshot库。在这些标准库之外,还有其他的库分布在不同的开源项目中,例如SeleniumLibrary用于 Web 测试。当 没有合适的库可用时实现自己的库implement your own libraries也是很容易的。 想要使用一个测试库提供的关键词,这个库必须被启用。本文件中的测试需要从标准OperatingSystem 库 (例如,Remove File和用户自定义LoginLibrary库
16、(例如Attempt to login with credentials中定义的关键词。这两个库都是使用下面叫做setting表的表格导入。 Robot Framework 最有用的特性之一就是很容易的从其他关键词中创建新的高级别关键词。创建用户定义关键词,简称用户关键词,的语法和创建测试用例的语法很相似。前面测试用例用到的所有高级别关键词都是在下面keyword 表中定义的。 Keyword Action Argument Argument Clear lo gin database Remove file $DATABASE FILE Create valid user Arguments
17、 $username $password Create user $username $password Status should be SUCCESS Creating user with invalid password should fail Arguments $password $error Create user example $password Status should be Creating user failed: $error Login Arguments $username $password Attempt to login with credentials $
18、username $password Status should be Logged In # Used by BDD test cases (this is a comment Given a user has a valid account Create valid user $USERNAME $PASSWORD When she changes her password Change password $USERNAME $PASSWORD . $NEW PASSWORD Status should be SUCCESS Then she can log in with the new
19、 password Login $USERNAME $NEW PASSWORD And she cannot use the old password anymore Attempt to login with credentials $USERNAME $PASSWORD Status should be Access Denied 用户定一个经常可以包含从其他用户定义关键词,内置关键词或者库关键词定义的动作。如在本例中所示,用户定义关键词可以携带参数。它们可以返回值设置包括FOR循环。现在重要的是用户定义关键词使测试创建者能够为常用的动作序列创建可重用的步骤。用户定义关键词还可以帮助测试作
20、者在不同的环境下尽可能保持测试测试可读性和使用恰当的抽象级别。 变量是Robot Framework 的组成部分。通常在测试中的可能变化的数据最好定义为变量。定义变量的语法非常简单,如下表所示: 变量也可以从命令行给定,以便于测试需要在不同的环境中执行。例如本demo可以像下面一样执行: pybot -variable USERNAME:johndoe -variable PASSWORD:J0hnD0e quickstart.html 除了用户定义变量之外,还有一些内置变量也很有用。这些变量包括在上表中使用的$TEMPDIR和 $/。 变量可以在测试数据的大部分地方使用。如下面的测试用例所示
21、它们最常用作关键词的参数。关键词的返回值也可以复制给变量以便在后面使用。例如下面的Database Should Contain用户关键词设置数据库内容给$database 变量,然后使用内置关键词Should Contain 验证内容。库和用户定义关键词口可以返回值。 在Robot Framework中测试用例的集合叫做测试套件。每个包含测试用例的输入文件组成一个测试套件。当运行本demo时,可以在控制台输出上看见测试套件Quickstart。这个名字来自于文件名并且在报告和日志都可见。 可以通过将测试用例文件放置在目录中并将这些目录放在其他目录中来组织测试用例的层次。所有这些目录自动创建以
22、目录名命名的高层次测试套件。因为测试套件知识文件和目录,它们很容易放置到任何版本管理系统中。 你可以通过在本指南的目录下运行如下命令来测试运行一个目录作为一个测试套件: pybot . 如果你希望让一系列动作在每个测试执行之前或之后发生,使用Test Setup和 Test Teardown设置如下: 同样你也可以使用Suite Setup和 Suite Teardown设置来指定在整个测试套件执行之前和之后执行的动作。 Robot Framework 允许为测试用例设置标签以便给他们自由的元数据。allows setting tags for test cases to give them
23、free metadata. 标签可以使用如下表中Default Tags和 Force Tags settings为一个文件中的所有测试用例设置。也可以像前面User status is stored in database测试中那样为单独的测试用例设置标签。 当你在一个测试执行后查看报告时,可以发现测试与标签相关联并且按照标签同级生成。标签还可用于很多其他目的,其中一个很重要的就是用于选择想要执行什么测试。你可以尝试下面的命令: pybot -include smoke quickstart.html pybot -exclude database quickstart.html Robo
24、t Framework 为创建测试库提供了一个简单的API,包括Python 和 Java。 user guide包括有具有例子的详细说明。 下面是本文中LoginLibrary的源码。可以看到关键词Create User是如何映射到方法create_user 的实际实现。 importos importsys classLoginLibrary: def_init_(self: self._sut_path = os.path.join(os.path.dirname(_file_, '.', 'sut', 'login.py' self._s
25、tatus ='' defcreate_user(self, username, password: self._run_command('create', username, password defchange_password(self, username, old_pwd, new_pwd: self._run_command('change-password', username, old_pwd, new_pwd defattempt_to_login_with_credentials(self, username, password
26、: self._run_command('login', username, password defstatus_should_be(self, expected_status: if expected_status !=self._status: raiseAssertionError("Expected status to be '%s' but was '%s'" % (expected_status, self._status def_run_command(self, command, *args: command ='"%s" %s%s'% (self._sut_path, command, ' '.join(args process = os.popen(command self._status = process.read(.strip( process.close( Generated by reStructuredText. Syntax highlighting by Pygments. Generated on: 2009-01-13 16:13 UTC.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版通信网络建设投标承诺书规范范本3篇
- 能源化工行业营业员工作总结
- 人教版五年级数学上册第3单元《小数除法》听评课记录
- 钓鱼场租赁合同三篇
- 二零二五版私人民间借贷金钱合同抵押品管理细则3篇
- 二零二五年度企业团建活动策划与户外拓展合同3篇
- 二零二五年度节能减排项目管理合同3篇
- 娱乐行业技术岗位总结
- 二零二五年度鱼塘承包及渔村旅游开发合同2篇
- 二零二五年度公司内部借款及资金管理协议4篇
- 元素的用途完整版本
- 七十岁换领证驾考三力测试答题
- 2024版义务教育小学数学课程标准
- Nokia销售五部曲培训课件
- 服务人员队伍稳定措施
- 支气管镜护理测试题
- 大连理工大学信封纸
- 图形创意(高职艺术设计)PPT完整全套教学课件
- 北京版小学英语必背单词
- 2023年全国4月高等教育自学考试管理学原理00054试题及答案新编
- 稀土配合物和量子点共掺杂构筑发光软材料及其荧光性能研究
评论
0/150
提交评论