Robot Framework-使用变量

Python/Java学习交流群:369606713


Robot Framework-使用变量

在本章中,我们将讨论如何在Robot Framework中创建和使用变量。变量用于保存值,该值可用于测试用例,用户定义的关键字等。

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

  • 标量变量
  • 列表变量
  • 字典变量 我们将借助Ride中的测试用例来理解每个变量的工作方式。

标量变量

标量变量将替换为其分配的值。标量变量的语法如下

${variablename}

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

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

单击新建项目。

现在,为您的项目命名。

给出的名称是变量。单击确定保存项目。

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

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

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

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

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

单击确定,该库将显示在设置中。

给定的名称必须与站点软件包中安装的文件夹的名称匹配。

如果名称不匹配,则库名称将以红色显示

标量变量测试用例

在上述测试用例中,我们对要提供给测试用例的URL,电子邮件,密码等值进行了硬编码。所使用的值可以存储在变量中,而不是硬编码,我们可以在那些地方使用变量。

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

单击New Scalar将打开以下屏幕,以创建变量以及在测试用例中使用该变量时我们需要替换的值。

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

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

变量的名称为$ {url}。值是-http://localhost/robotframework/login.html。

我们添加了如上所述的评论。单击确定保存标量变量。变量的详细信息如下所示添加

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

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

URL硬编码的测试用例

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

URL具有标量变量的测试用例

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

执行细节

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

现在,我们将研究称为List变量的下一类变量。

列表变量

List变量将具有一个值数组。为了获得值,列表项作为参数传递给列表变量。

句法

@{variablename}

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

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

要添加列表变量,请在项目上单击鼠标右键,然后单击“ 新建列表变量”。

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

名称以@ {}后跟Value的形式给出。它还选择了4列。现在,我们将仅使用列1并创建list变量,该变量将具有值,电子邮件ID和密码,如下所示

列表变量的名称为@ {LOGIN_DETAILS},给定的值为admin@gmail.com和admin,其登录页面具有电子邮件ID和密码。

单击确定以保存列表变量。变量在项目下方列出,如下所示

设置标签中列出了使用的变量的详细信息

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

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

使用列表变量

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

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

以下屏幕快照显示了相同的执行详细信息

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

字典变量

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

句法

&{Variablename}

假设我们将值存储为key1 = A,key2 = B。在测试用例中将其称为-

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

让我们在Ride中创建字典变量。 右键单击Project,然后单击New Dictionary Variable。

单击“ 新建字典变量”后,将显示如下屏幕:

屏幕上的默认名称为&{},并且具有“值”和“列”选项。

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

单击确定保存变量。该变量将在项目下以及以下设置中列出

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

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

使用字典变量

单击运行后,我们得到以下内容

执行细节如下

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

测试用例

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

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

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

单击左上角的Apply Changes按钮,该变量将显示在项目下,如下所示

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

结论

我们已经看到了如何创建和使用变量。Robot Framework支持三种类型的变量-标量,列表和字典。我们详细讨论了所有这些变量的工作方式。