RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)

数据驱动

RIDE提供的库:

  1. Create List
  2. Get File
  3. Import Variables
  4. Template
  5. ExcelLibrary

自定义库:DataCenter.py

  1. Read Data From Excel
  2. Read Excel File
  3. Read CSV File
  4. Read Column From Excel
  5. Get Sheet Values From Excel

一、数据驱动测试注重于测试软件的功能性需求,也即数据驱动测试执行程序所有功能需求的输入条件。实现KISS。

二、Get Sheet Values From Excel 方法

前面我们以精确和模糊搜索课程测试为例,分别讨论过 Read Excel File和 Read Column From Excel 方法。在精确搜索之后,对获取到的卡进一步检测详细内容。因为存储的数据是三维列表,所以我们需要创建关键字 Reorgnize List 对三维列表进行处理。下面我们用 Get Sheet Values From Excel 方法通过 sheetname 获取不同卡的数据和自定义关键字 GUI_CHECK_eCard_Contain_Courses & Reorgnize List 实现详细内容检测。

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第1张图片

导入自定义库文件 data_center.py & main.py
目录:F:\Robotframework\common\library

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第2张图片

数据源
有关Excel数据源的问题,请参考个人博客数据驱动(ExcelLibrary)

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第3张图片

eCard_Courses.xls 包含各类卡;sheetname 中每张卡内包含的所有课程。

用例:Case01614_Course_Contains

  1. 从 Excel 读取数据
  2. 登录,输入“单张畅学卡全名”,进行搜索
  3. 获取卡内课程信息
  4. 检测卡内课程信息是否包含Excel表中对应 sheet 的数据

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第4张图片

Get Sheet Values From Excel:通过 sheetname 获取不同卡的数据,删除为空数据。

封装 keyword: GUI_Search_Language & GUI_FETCH_eCards 实现搜索并获取所有卡。

封装 keyword: GUI_ENTER_eCard_Detail & GUI_CHECK_eCard_Contain_Courses 进入课程详情页,获取并检测单卡包含的所有课程。

Keyword:GUI_CHECK_eCard_Contain_Courses

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第5张图片

${data}:Excel 数据
${result}:获取并处理后的数据

源代码: Get Sheet Values From Excel

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第6张图片

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第7张图片

通过sheetname,从第三行、第二列开始按列读取所有数据;
判断数据是否为空,是空移除。

源代码: Reorgnize List

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第8张图片

GUI_CHECK_eCard_Contain_Courses 中获取的数据是三维 list,Reorgnize List 重组成二维 list。

RobotFramework环境配置二十:数据驱动(Get Sheet Values From Excel)_第9张图片

最后,检测卡内课程信息是否与 Excel 表中对应 sheet 的数据一致。

PS:

  1. 关于处理Excel整数变浮点数的问题:python读取Excel文件后,如何处理浮点数的问题请查看个人博客数据驱动(ExcelLibrary)
  2. 关于用json处理完list,tuple和dict中乱码之后产生的问题:无法以列表,元组和字典的方式读取数据,请查看个人博客中文日志乱码问题

你可能感兴趣的:(Robotframework)