Robot Framework - 使用下拉菜单



本章我们将学习如何使用 Selenium 库操作下拉菜单。

下拉菜单测试的项目设置

我们首先在 RIDE 中创建一个项目来操作浏览器。使用命令行中的 `ride.py` 打开 RIDE:

Dropdown Testing

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

Dropdown New Project

这里命名为 dropdown。点击确定保存项目。

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

Dropdown New Test Case

Dropdown New Test Case Ex

为测试用例命名,然后点击确定保存。

项目设置完成。现在,我们将为下拉菜单编写测试用例。由于我们需要 Selenium 库,我们需要在项目中导入它。

点击左侧的项目,然后从添加导入中使用,如下所示:

Dropdown Add Import

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

Dropdown Library

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

Dropdown Displayed

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

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

Dropdown site packages

库导入显示红色意味着该库在 Python 中不存在。现在我们完成了 Selenium 库的导入。

下拉菜单的测试用例

下拉菜单的测试用例将从下拉菜单中选择值。要进行此操作,我们需要该下拉菜单的定位器(标识符)。

考虑以下下拉菜单的 HTML 显示:

<select name = "carbrand">
   <option value = "">Select car brand..</option>
   <option value = "audi">AUDI</option>
   <option value = "bmw">BMW</option>
   <option value = "chevrolet">CHEVROLET</option>
   <option value = "datsun">DATSUN</option>
</select>

对于下拉菜单,`name` 是`定位器`。在上面的例子中,`name` 是 `carbrand`。我们还需要值,以便我们可以选择它。上面的例子中的值是:`audi, bmw, chevrolet 和 datsun`。

现在,我们将创建一个带有下拉菜单的测试页面,在浏览器中打开它,然后从下拉菜单中选择值。

测试用例详情如下:

  • 在 Chrome 中打开浏览器 URL - **https://127.0.0.1/robotframework/dropdown.html**

  • 输入下拉菜单的详细信息

  • 执行测试用例

在 RIDE 中编写测试用例的关键字时,按 Ctrl + 空格键。这将提供命令的所有详细信息。

对于下拉菜单,我们有三种方法:

  • 按索引选择列表项
  • 按标签选择列表项
  • 按值选择列表项

我们将通过一个例子来展示上面所有情况的操作。

在我们的测试页面中,我们将创建 3 个下拉菜单,并使用上述测试用例按索引、标签和值选择下拉菜单。

dropdown.html

<html>
   <head>
      <title>Dropdown</title>
   </head>
   <body>
      <form name="myform" method="POST">
         <div>
            Dropdown By Index:
            <select name = "months">
               <option value = "">Select Months.</option>
               <option value = "Jan">January</option>
               <option value = "Feb">February</option>
               <option value = "Mar">March</option>
               <option value = "Apr">April</option>
               <option value = "May">May</option>
               <option value = "Jun">June</option>
               <option value = "Jul">July</option>
               <option value = "Aug">August</option>
               <option value = "Sept">September</option>
               <option value = "Oct">October</option>
               <option value = "Nov">November</option>
               <option value = "Dec">December</option>
            </select>
         </div>
         <br/>
         <br/>
         <div>
            Dropdown By Label:
            <select name = "days">
               <option value = "">Select Day..</option>
               <option value = "01">01</option>
               <option value = "02">02</option>
               <option value = "03">03</option>
               <option value = "04">04</option>
               <option value = "05">05</option>
               <option value = "06">06</option>
               <option value = "07">07</option>
               <option value = "08">08</option>
               <option value = "09">09</option>
               <option value = "10">10</option>
               <option value = "11">11</option>
               <option value = "12">12</option>
               <option value = "13">13</option>
               <option value = "14">14</option>
               <option value = "15">15</option>
               <option value = "16">16</option>
               <option value = "17">17</option>
               <option value = "18">18</option>
               <option value = "19">19</option>
               <option value = "20">20</option>
               <option value = "21">21</option>
               <option value = "22">22</option>
               <option value = "23">23</option>
               <option value = "24">24</option>
               <option value = "25">25</option>
               <option value = "26">26</option>
               <option value = "27">27</option>
               <option value = "28">28</option>
               <option value = "29">29</option>
               <option value = "30">30</option>
               <option value = "31">31</option>
            </select>
         </div>
         <br/>
         <br/>
         <div>
            Dropdown By Value:
            <select name = "year">
               <option value = "">Select year..</option>
               <option value = "0">2000</option>
               <option value = "1">2001</option>
               <option value = "2">2002</option>
               <option value = "3">2003</option>
               <option value = "4">2004</option>
               <option value = "5">2005</option>
               <option value = "6">2006</option>
               <option value = "7">2007</option>
               <option value = "8">2008</option>
               <option value = "9">2009</option>
               <option value = "10">2010</option>
               <option value = "11">2011</option>
               <option value = "12">2012</option>
               <option value = "13">2013</option>
               <option value = "14">2014</option>
               <option value = "15">2015</option>
               <option value = "16">2016</option>
               <option value = "17">2017</option>
               <option value = "18">2018</option>
            </select>
         </div>
      </form>
   </body>
</html>
Dropdown example

我们将在 RIDE 中为所有 3 个下拉菜单选择添加测试用例。

对于索引,我们需要传递该下拉菜单的定位器 - name 或 id,以及需要选择的元素的索引。

按索引选择列表 - 例子

<select name = "months">
   <option value = "">Select Months.</option> // index 0
   <option value = "Jan">January</option> //index 1
   <option value = "Feb">February</option> // index 2
   <option value = "Mar">March</option> // index 3
   <option value = "Apr">April</option> // index 4
   <option value = "May">May</option> // index 5
   <option value = "Jun">June</option> // index 6
   <option value = "Jul">July</option> // index 7
   <option value = "Aug">August</option> // index 8
   <option value = "Sept">September</option> //index 9
   <option value = "Oct">October</option> //index 10
   <option value = "Nov">November</option> //index 11
   <option value = "Dec">December</option> // index 12
</select>

现在,我们想选择月份为五月,所以测试用例中要给出的索引是 5。

标签是在屏幕上打开下拉菜单时看到的。

Dropdown screen

如果要选择一天,您可以从下拉菜单中选择一个。

按值选择列表项

这是年份列表。列表中的值从 0 到 18。

<select name = "year">
   <option value = "">Select year..</option>
   <option value = "0">2000</option>
   <option value = "1">2001</option>
   <option value = "2">2002</option>
   <option value = "3">2003</option>
   <option value = "4">2004</option>
   <option value = "5">2005</option>
   <option value = "6">2006</option>
   <option value = "7">2007</option>
   <option value = "8">2008</option>
   <option value = "9">2009</option>
   <option value = "10">2010</option>
   <option value = "11">2011</option>
   <option value = "12">2012</option>
   <option value = "13">2013</option>
   <option value = "14">2014</option>
   <option value = "15">2015</option>
   <option value = "16">2016</option>
   <option value = "17">2017</option>
   <option value = "18">2018</option>
</select>

如果要选择任何年份,请取与年份对应的值并将其添加到测试用例中。例如,如果要选择 2017 年,则值为 17。

以下是最终的测试用例列表:

Dropdown test cases

执行后,以下是根据测试用例对下拉菜单进行的选择:

Dropdown selection

执行详情

Dropdown Execution Details

报告详情

Dropdown Report Details

日志详情

Dropdown Log Details

日志中的测试用例详情

Dropdown Test case Details

结论

我们已经看到了如何通过值、索引和标签来操作下拉菜单。我们可以参考日志和报告来获取执行的测试用例的详细信息。

广告