Robot Framework - 使用变量
在本章中,我们将讨论如何在 Robot Framework 中创建和使用变量。变量用于保存一个值,可以在测试用例、用户定义的关键字等中使用。
我们将讨论 Robot Framework 中可用的以下变量
- 标量变量
- 列表变量
- 字典变量
我们将借助 Ride 中的测试用例来了解每个变量的工作原理。
标量变量
标量变量将替换为为其分配的值。标量变量的语法如下 -
${variablename}
我们可以使用标量变量来存储字符串、对象、列表等。我们将首先创建一个简单的测试用例并在其中使用标量变量。
在命令行中使用ride.py打开RIDE并创建一个新项目。
单击“新建项目”。
现在,为您的项目命名。
给出的名称是变量。单击“确定”保存项目。
右键单击创建的项目名称,然后单击“新建测试用例” -
为测试用例命名并单击“确定”。
我们已经完成了项目设置,现在将为测试用例中使用的标量变量编写测试用例。由于我们需要 Selenium 库,因此我们需要在项目中导入它。
单击左侧的项目并使用“添加导入”中的库 -
单击“库”后,将出现一个屏幕,您需要在其中输入库名称 -
单击“确定”,该库将显示在设置中。
给定的名称必须与站点包中安装的文件夹的名称匹配。
如果名称不匹配,库名称将显示为红色 -
标量变量的测试用例
在上面的测试用例中,我们对 URL、电子邮件、密码等值进行了硬编码,并将这些值提供给测试用例。使用的值可以存储在变量中,我们可以在这些地方使用变量,而不是硬编码。
要创建标量变量,请右键单击您的项目,然后单击“新建标量”,如下所示 -
单击“新建标量”将打开以下屏幕来创建变量以及在测试用例中使用该变量时需要替换的值。
我们在 Name 字段中得到 ${}。
在这里,我们需要在大括号内输入变量的名称,如下图所示 -
变量的名称是${url}。该值为 - http://localhost/robotframework/login.html。
我们添加了评论,如上所示。单击“确定”保存标量变量。添加变量的详细信息如下所示 -
变量名称显示在创建的项目下,如下所示 -
现在让我们使用在测试用例中创建的标量变量。
URL 硬编码的测试用例
在上面的测试用例中,我们必须将 URL 替换为上面刚刚创建的变量。
URL 标量变量的测试用例
现在,我们将运行测试用例以查看它是否从变量中获取 URL。下面是我们运行它时得到的输出。URL http://localhost/robotframework/login.html是从我们创建的标量变量中获取的。
执行详情
使用变量的优点是您可以更改该变量的值,它将反映在所有测试用例中。您可以在该项目下创建的许多测试用例中使用这些变量。当您想要更改某些内容时,值的硬编码可能是一个严重的问题,您必须转到单个测试用例并更改其值。将变量放在一处使我们能够灵活地使用不同的变量值来测试我们想要的方式。
现在,我们将研究下一种称为列表变量的变量。
列表变量
列表变量将有一个值数组。要获取该值,列表项将作为参数传递给列表变量。
句法
@{variablename}
假设我们有值 A、B。要引用这些值,我们需要传递列表项,如下所示 -
@{variablename}[0] // A @{variablename}[1] // B
要添加列表变量,请右键单击项目,然后单击“新建列表变量”。
单击“新建列表变量”后,会出现一个屏幕,我们可以在其中输入值 -
名称以 @{} 形式给出,后跟值。它还选择了 4 列。现在,我们将仅使用第 1 列并创建列表变量,该变量将包含值、电子邮件 ID 和密码,如下所示 -
列表变量的名称是@{LOGIN_DETAILS},给定的值是admin@gmail.com和admin,其中包含登录页面的电子邮件 ID 和密码。
单击“确定”保存列表变量。该变量列在项目下方,如下所示 -
使用的变量的详细信息在设置选项卡中列出 -
现在,我们将在测试用例中添加列表变量,如下所示。
在这里,我们对输入文本和密码进行了硬编码值。现在,我们将其更改为使用列表变量。
使用列表变量
现在,我们将执行测试用例以查看它是否从列表变量中获取值 -
它从列表变量中获取了电子邮件 ID 和密码,如上面的测试屏幕所示。
以下屏幕截图显示了相同的执行详细信息 -
在下一节中,我们将了解字典变量。
字典变量
字典变量类似于列表变量,其中我们将索引作为参数传递;但是,对于字典变量,我们可以存储详细信息 - 键值形式。在测试用例中使用时,比使用 0、1 等索引更容易引用。
句法
&{Variablename}
假设我们将值存储为 key1=A, key2=B。它将在测试用例中被称为 -
&{Variablename}[key1] // A &{Variablename}[key2] // B
让我们在 Ride 中创建字典变量。
右键单击“项目”,然后单击“新建字典变量”。
单击“新建字典变量”后,将出现一个屏幕,如下所示 -
屏幕中默认的名称是 &{},它有值和列选项。
我们将输入测试用例中使用的名称和值。
单击“确定”保存变量。该变量将在项目下以及设置中列出,如下所示 -
我们将更改测试用例以获取字典值。
我们将更改为字典变量,如下所示。
使用字典变量
单击运行后,我们得到以下结果 -
执行细节如下 -
到目前为止,我们已经看到了“编辑和运行”选项卡。对于 TextEdit,我们编写了测试用例的详细信息。我们还可以在TextEdit中添加所需的变量。
测试用例
我们在上面的测试用例中使用了标量变量和字典变量。这是到目前为止 TextEdit 中的代码;这是基于编写的测试用例 -
使用的变量以红色突出显示。我们还可以直接在 TextEdit 中创建我们想要的变量,如下所示 -
我们添加了一个名为${new_url}的标量变量,给出的值是https://www.tutorialspoint.com/。
单击左上角的应用更改按钮,变量将在项目下看到,如下所示 -
同样,其他变量 - 列表和字典变量可以在需要时直接在 TextEdit 选项卡内创建。
结论
我们已经了解了如何创建和使用变量。机器人框架支持三种类型的变量:标量、列表和字典。我们详细讨论了所有这些变量的工作原理。