关键词和数据驱动测试用例



测试用例的工作流程可以使用关键词或数据驱动的方式进行测试。如果您想使用不同的输入测试工作流程,可以使用数据驱动测试用例来完成。我们将通过一个示例来了解以下测试用例方法:

  • 关键词驱动风格
  • 数据驱动风格

关键词驱动风格

我们将进行项目设置以展示关键词驱动风格的工作原理。

使用命令行中的ride.py打开 RIDE。

Keyword Driven Style

点击“新建项目”并为您的项目命名。

Keyword Driven Style Ex

项目名称为keywordstyle。点击“确定”保存项目。在这个项目中,我们将创建一个用户关键词,如下所示。

右键点击项目名称,然后点击“新建用户关键词”,如下所示

New User Keyword

将显示如下屏幕:

display screen Ex

输入关键词的名称及其将接收的参数。这里我们将关键词的名称设置为“Display Message”。关键词“Display Message”的作用是在被调用时记录一条消息。因此,我们需要向其传递一个参数。因此,在上面的示例中,参数将是一个标量变量${msg}。

log message

点击“确定”保存用户关键词。现在我们需要编写关键词需要执行的操作。因此,它将具有如下所示的表格格式,我们可以在其中提供 Robot Framework 提供的库关键词或内置关键词。

这里,我们将使用 Robot Framework 提供的简单“Log”关键词,如下所示:

log keyword Ex

要获取 Robot Framework 提供的更多关键词,请在表格列中按 Ctrl + 空格键,如下所示:

table column

因此,我们希望与测试用例一起使用的关键词已准备就绪。用户关键词的名称为Display Message,它接收一个名为${msg}的参数。

现在让我们以简单的关键词驱动风格测试用例使用此关键词。为此,我们需要创建测试用例。右键点击创建的项目名称。现在,点击“新建测试用例” -

keyword driven

simple keyword

为测试用例命名,然后点击“确定”。

我们完成了项目设置,现在将为关键词驱动风格编写测试用例。

在测试用例中,我们以表格格式使用了用户定义的关键词“Display Message”,如下所示:

user defined keyword Ex

我们使用了上面创建的关键词,并传递了值“Hello World”。

我们将执行测试用例 TC1 并检查输出:

execute test case Ex

在上面的示例中,我们编写了一个简单的测试用例,该测试用例记录消息,并且测试用例已执行,输出为Hello World。我们可以看到日志中打印的输出“Hello World”。测试用例也通过了。

数据驱动风格

我们将在同一项目中创建另一个测试用例。我们将测试用例的名称设置为 TC2。

more test case

要使用数据驱动风格,我们需要创建模板。模板将采用高级关键词的名称,该关键词是用户定义的关键词,例如我们在开始时创建的名为“Display Message”的关键词。传递给该模板的参数将以测试用例的形式发送。我们可以向该模板关键词传递不同的值。当您想使用不同的数据测试场景时,大多数情况下会使用数据驱动方法。

保存测试用例后。点击测试用例,将显示如下内容:

data driven style

点击模板的“编辑”按钮并添加用户定义的关键词。

Edit button

输入模板的用户关键词,然后点击“确定”保存模板。

user keyword

Display Message 关键词接收一个名为 ${msg} 的参数。这是一个标量变量。在此测试用例中传递的详细信息将作为用户定义的关键词“Display Message”的参数。

keyword Display Message

在 TC2 中,我们添加了模板“Display Message”(用户定义的关键词)。我们以表格格式提供了消息。

现在让我们执行测试用例。

Template Display Message

我们可以看到“运行”执行了两个测试用例。TC1 显示的输出为“Hello World”。这是我们传递给用户关键词“Display Message”的消息。

对于 TC2,我们使用“Display Message”作为模板。我们在 TC2 中传递了My First Test CaseTesting Template 作为值。由于用户关键词“Display Message”在内部使用“Log”关键词,因此它在日志中显示消息,如上所示。

结论

在本节中,我们使用了关键词风格和数据驱动风格,并了解了它们的工作原理。数据驱动风格将高级用户定义的关键词作为模板,所有测试用例都作为模板的值。

广告

© . All rights reserved.