Robot Framework - 使用变量
在本章中,我们将讨论如何在 Robot Framework 中创建和使用变量。变量用于保存值,可用于测试用例、用户定义的关键字等。
我们将讨论 Robot Framework 中可用的以下变量
- 标量变量
- 列表变量
- 字典变量
我们将借助 Ride 中的测试用例了解每个变量的工作原理。
标量变量
标量变量将被替换为分配给它们的值。标量变量的语法如下 −
${variablename}
我们可以使用标量变量来存储字符串、对象、列表等。我们将首先创建一个简单的测试用例并在其中使用标量变量。
在命令行中使用 ride.py 打开 RIDE 并创建一个新项目。
单击 新建项目。
现在,为您的项目命名。
给出的名称是变量。单击"确定"保存项目。
右键单击创建的项目名称,然后单击"新测试用例" −
为测试用例命名,然后单击"确定"。
我们已完成项目设置,现在将为测试用例中使用的标量变量编写测试用例。由于我们需要 Selenium 库,因此我们需要在项目中导入相同的库。
单击左侧的项目并使用"添加导入"中的"库"−
单击"库"后,将出现一个屏幕,您需要在其中输入库名称−
单击"确定",库将显示在设置中。
给出的名称必须是与 site-packages 中安装的文件夹名称匹配。
如果名称不匹配,库名称将显示为红色 −
标量变量的测试用例
在上述测试用例中,我们对提供给测试用例的值(如 URL、电子邮件、密码)进行了硬编码。使用的值可以存储在变量中,我们可以在那些地方使用变量,而不是硬编码。
要创建标量变量,请右键单击您的项目,然后单击新建标量,如下所示 −
单击"新建标量"将打开以下屏幕,以创建变量以及在测试用例内部使用该变量时需要替换的值。
我们在名称字段中输入 ${}。
在这里我们需要在花括号内输入变量的名称,如下面的屏幕所示 −
变量的名称是${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/。
单击左上角的 Apply Changes 按钮,变量将显示在项目下,如下所示 −
同样,其他变量 − 可以在需要时直接在 TextEdit 选项卡内创建列表和字典变量。
结论
我们已经了解了如何创建和使用变量。robot framework 支持三种类型的变量 − 标量、列表和字典。我们详细讨论了所有这些变量的工作原理。