Keyword |
Action |
Argument |
Argument |
Argument |
---|---|---|---|---|
Database Should Contain |
[Arguments] |
${username} |
${password} |
${status} |
${database} = |
Get File |
${DATABASE FILE} |
||
Should Contain |
${database} |
${username}/t${password}/t${status} |
组织测试用例
测试套件
在Robot Framework中测试用例的集合叫做测试套件。每个包含测试用例的输入文件组成一个测试套件。当运行本demo时,可以在控制台输出上看见测试套件Quickstart 。这个名字来自于文件名并且在报告和日志都可见。
可以通过将测试用例文件放置在目录中并将这些目录放在其他目录中来组织测试用例的层次。所有这些目录自动创建以目录名命名的高层次测试套件。因为测试套件知识文件和目录,它们很容易放置到任何版本管理系统中。
你可以通过在本指南的目录下运行如下命令来测试运行一个目录作为一个测试套件:
pybot .
启动和卸载
如果你希望让一系列动作在每个测试执行之前或之后发生,使用Test Setup 和 Test Teardown 设置如下:
Setting |
Value |
---|---|
Test Setup |
Clear Login Database |
Test Teardown |
同样你也可以使用Suite Setup 和 Suite Teardown 设置来指定在整个测试套件执行之前和之后执行的动作。
使用标签
Robot Framework 允许为测试用例设置标签以便给他们自由的元数据。allows setting tags for test cases to give them free metadata. 标签可以使用如下表中Default Tags 和 Force Tags settings为一个文件中的所有测试用例设置。也可以像前面User status is stored in database测试中那样为单独的测试用例设置标签。
Setting |
Value |
Value |
---|---|---|
Force Tags |
quickstart |
|
Default Tags |
example |
smoke |
当你在一个测试执行后查看报告时,可以发现测试与标签相关联并且按照标签同级生成。标签还可用于很多其他目的,其中一个很重要的就是用于选择想要执行什么测试。你可以尝试下面的命令:
pybot --include smoke quickstart.html
pybot --exclude database quickstart.html
创建测试库
Robot Framework 为创建测试库提供了一个简单的API,包括Python 和 Java。 user guide包括有具有例子的详细说明。
下面是本文中LoginLibrary 的源码。可以看到关键词Create User 是如何映射到方法create_user 的实际实现。
import os
import sys
class LoginLibrary:
def __init__(self):
self._sut_path = os.path.join(os.path.dirname(__file__),
'..', 'sut', 'login.py')
self._status = ''
def create_user(self, username, password):
self._run_command('create', username, password)
def change_password(self, username, old_pwd, new_pwd):
self._run_command('change-password', username, old_pwd, new_pwd)
def attempt_to_login_with_credentials(self, username, password):
self._run_command('login', username, password)