安装
安装Robot Framework 的前提是Python被安装。另外,需要使用用Java编写的测试库, Jython 必须被安装。对使用本篇快速入门来说Pyhon已经足够了。
共有三种不同的安装Robot Framework 的方法,从而可以选择最合适你的方式。详细安装说明可以在project web pages上找到.
- 有用于windows平台的二进制安装包。双击安装包按照提示安装即可。
- 在所有平台上Robot Framework 都可以从源码安装。想要安装源码,解压源码发行包运行命令python setup.py install 。
- 如果Python包管理系统Easy Install 可以使用, Robot Framework 可以通过命令easy_install robotframework 安装。在windows下你可以手动运行robot_postinstall.py 脚本。
框架安装好后,将包含有启动脚本的安装目录添加到PATH环境变量中。在UNIX-like 系统中应该可以自动完成,但在windows系统必须从 Control Panel > System > Advanced > EnvironmentVariables 添加如下例子. C:/Python25/Scripts to PATH.
安装成功后可以用命令pybot –version测试,应该输出如下:
$ pybot --version
Robot Framework 2.0.3 (Python 2.5.2 on linux2)
运行demo
本篇快速入门指南使用一个可执行的demo。为了运行它启动一个命令shell,cd到本文件目录,在命令行输入下面的命令:
pybot quickstart.html
在本文件内的测试将被执行并产生如下报告:
report.html
测试结果概述
log.html
测试结果细节
output.xml
以轻型XML保存的测试结果,便于与其他工具集成
在浏览器中打开 report.html (此链接只有在本指南被执行后才能工作), 然后打开此链接查看结果。report.html 文件链接着 log.html 文件。
有一些命令行选项可以用来控制测试执行和产生的结果。完整列表可以使用pybot –help 来显示。例如如下命令修改了日志文件和顶层测试套件的名字:
pybot --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 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 user 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 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 Framework 测试用例使用一种简单表格语法。下表含有两个样例:
Test Case | Action | Argument | Argument |
User can create an account and log in | Create Valid User | fred | P4ssw0rd |
| Attempt to Login with Credentials | fred | P4ssw0rd |
| Status Should Be | Logged In | |
| | | |
User cannot log in with bad password | Create Valid User | betty | P4ssw0rd |
| Attempt to Login with Credentials | betty | wrong |
| Status Should Be | Access Denied | |
注意 这些测试比起自动测试用例更像用英语手工写的测试。Robot Framework 使用关键词驱动的方式,支持用自然语言来编写可以抓住动作和期望值的本质的测试。测试用例由关键词(通常在第二列)和它们可能的参数组成。
高级别测试用例
测试用例也可以通过使用不携带参数的高级别关键词来创建。这种风格允许使用完全的自由文本以便于进行交流,即使是和非技术人员或者其他利益相关者。T Robot Framework 不强制使用任何风格来编写测试用例,它可以用于行为驱动开发behavior-driven development (BDD)推荐的given-when-then 格式的样例,如下所示。
Test Case | Steps |
User can change password | Given a user has a valid account |
| when she changes her password |
| then she can log in with the new password |
| and she cannot use the old password anymore |
这种测试用例或者用户故事风格的测试用例的类型很适合用于acceptance test-driven development (ATDD). 在 ATDD 中接收测试在实现实际产品特性前编写并且他们反映了需求。