Robot Framework - 使用变量



本章将讨论如何在 Robot Framework 中创建和使用变量。变量用于保存值,这些值可以在测试用例、用户自定义关键字等中使用。

我们将讨论 Robot Framework 中可用的以下变量

  • 标量变量
  • 列表变量
  • 字典变量

我们将借助 RIDE 中的测试用例来理解每种变量的工作原理。

标量变量

标量变量将被它们被赋予的值替换。标量变量的语法如下:

${variablename}

我们可以使用标量变量来存储字符串、对象、列表等。我们首先创建一个简单的测试用例,并在其中使用标量变量。

在命令行中使用`ride.py`打开 RIDE 并创建一个新项目。

Scalar Variable

点击“新建项目”。

现在,为您的项目命名。

Scalar Variable project

名称为`variables`。点击“确定”保存项目。

右键单击创建的项目名称,然后点击“新建测试用例”:

Scalar Variable New Test Case

Scalar Variable New Test Case Ex

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

我们完成了项目设置,现在将编写用于在测试用例中使用的标量变量的测试用例。由于我们需要 Selenium 库,我们需要在我们的项目中导入它。

点击左侧的项目,然后在“添加导入”中使用“库”:

Scalar Variable Add Import

点击“库”后,将出现一个屏幕,您需要在其中输入库名称:

Scalar Variable library

点击“确定”,库将显示在设置中。

Scalar Variable displayed

给定的名称必须与安装在 site-packages 中的文件夹名称匹配。

如果名称不匹配,库名称将显示为红色:

Scalar Variable displayed

标量变量测试用例

在上面的测试用例中,我们硬编码了值,例如我们提供给测试用例的 URL、电子邮件和密码。使用的值可以存储在变量中,而不是硬编码,我们可以使用变量代替。

Scalar Variable displayed

要创建标量变量,请右键单击您的项目,然后点击“新建标量”,如下所示:

Test Case Scalar Variable Ex

点击“新建标量”将打开以下屏幕,以便创建变量以及我们需要在测试用例中使用变量时替换的值。

我们在“名称”字段中得到`${}`。

Scalar Variable field

在这里,我们需要在花括号内输入变量的名称,如下面的屏幕所示:

Scalar Variable screen

变量的名称是`${url}`。值为:`https://127.0.0.1/robotframework/login.html`。

我们添加了如上所示的注释。点击“确定”保存标量变量。变量的详细信息将如下所示添加:

Scalar Variable comment

变量名称显示在创建的项目下,如下所示:

Scalar Variable created

现在,让我们在测试用例中使用创建的标量变量。

使用硬编码 URL 的测试用例

Scalar Variable hardcoded

在上面的测试用例中,我们必须将 URL 替换为我们上面刚刚创建的变量。

使用标量变量作为 URL 的测试用例

Scalar Variable URL

现在,我们将运行测试用例以查看它是否正在从变量中获取 URL。以下是运行时获得的输出。URL `https://127.0.0.1/robotframework/login.html`是从我们创建的标量变量中获取的。

Scalar Variable picked

执行详情

Scalar Variable Execution

使用变量的优点是您可以更改该变量的值,它将反映在所有测试用例中。您可以在该项目下创建的许多测试用例中使用这些变量。当您想要更改某些内容时,硬编码值可能会成为一个严重的问题,您必须转到各个测试用例并更改其值。在一个地方拥有变量使我们能够灵活地以不同的变量值进行测试。

现在,我们将研究下一个类型的变量,称为列表变量。

列表变量

列表变量将包含一系列值。要获取值,列表项将作为参数传递给列表变量。

语法

@{variablename}

假设我们有值 A、B。要引用这些值,我们需要按如下方式传递列表项:

@{variablename}[0] // A
@{variablename}[1] // B

要添加列表变量,请右键单击项目并点击“新建列表变量”。

Scalar Variable list

点击“新建列表变量”后,将出现一个屏幕,我们可以在其中输入值:

Scalar Variable appears

名称为`@{}`后跟值。它还选择了 4 列。现在,我们将只使用第 1 列并创建列表变量,该变量将具有电子邮件 ID 和密码的值,如下所示:

Scalar Variable password

列表变量的名称是`@{LOGIN_DETAILS}`,给定的值是`[email protected]`和`admin`,其中包含登录页面的电子邮件 ID 和密码。

点击“确定”保存列表变量。变量列在项目下方,如下所示:

Scalar Variable listed

使用的变量详细信息列在“设置”选项卡中:

Scalar Variable settings

现在,我们将按照如下所示在测试用例中添加列表变量。

在这里,我们为“输入文本”和“密码”硬编码了值。现在,我们将将其更改为使用列表变量。

Scalar Variable hardcoded values

使用列表变量

Scalar Variable List Variable

现在,我们将执行测试用例以查看它是否正在从列表变量中获取值:

Scalar Variable execute

它已从列表变量中获取电子邮件 ID 和密码,如测试屏幕所示。

以下屏幕截图显示了相同的执行详情:

Scalar Variable screenshot

在下一节中,我们将学习字典变量。

字典变量

字典变量类似于列表变量,我们将其中的索引作为参数传递;但是,在字典变量的情况下,我们可以存储详细信息——键值形式。在测试用例中使用它时,它更容易引用,而不是使用 0、1 等索引。

语法

&{Variablename}

假设我们将值存储为 key1=A、key2=B。它将在测试用例中引用为:

&{Variablename}[key1] // A
&{Variablename}[key2] // B

让我们在 RIDE 中创建字典变量。

右键单击项目并点击“新建字典变量”。

Dictionary Variable

点击“新建字典变量”后,将出现如下所示的屏幕:

screen appear

屏幕中的默认名称是`&{}`,它具有“值”和“列”选项。

我们将输入名称和将在测试用例中使用的值。

Name Values

点击“确定”保存变量。变量将列在项目下,也列在设置中,如下所示:

save variable

save variable settings

我们将更改测试用例以获取字典值。

change test case

我们将更改为字典变量,如下所示。

使用字典变量

Using Dictionary Variable

点击运行后,我们将得到以下内容:

Run Dictionary Variable

执行详情如下:

Execution Dictionary Variable

到目前为止,我们已经看到了“编辑”和“运行”选项卡。在 TextEdit 中,我们有编写的测试用例的详细信息。我们还可以添加 TextEdit 中所需的变量。

测试用例

Run Tab

我们在上面的测试用例中使用了标量变量和字典变量。到目前为止,这是 TextEdit 中的代码;这是基于编写的测试用例:

Used Scalar Variable

使用的变量以红色突出显示。我们还可以直接在 TextEdit 选项卡中创建所需的变量,如下所示:

我们添加了一个名为`${new_url}`的标量变量,其值为https://tutorialspoint.com/

点击左上角的“应用更改”按钮,变量将显示在项目下,如下所示:

Text Edit

同样,可以在需要时直接在 TextEdit 选项卡中创建其他变量——列表和字典变量。

结论

我们已经了解了如何创建和使用变量。Robot Framework 支持三种类型的变量:标量、列表和字典。我们详细讨论了所有这些变量的工作原理。

广告