zoukankan      html  css  js  c++  java
  • 数据驱动(四)

    数据驱动

    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。

    二、ExcelLibrary方式

    还是以登录测试为例讨论ExcelLibrary方式。

    这里写图片描述

    安装:pip install robotframework-excellibrary

    这里写图片描述

    数据文件:%{G_DATACENTER}login_info.xls

    • 数据目录

    这里写图片描述

    • 数据源

    Excel问题:对长度过长的数字以科学计数的格式处理,结果改变了密码值。

    这里写图片描述

    解决方案

    1. 在单元格数字前加上英文单引号’:例如,’123456787901234567890
    2. 先改单元格格式为文本,再输入数字:右击单元格,设置单元格格式,选择“文本”
    3. 修改单元格自定义格式: 右击单元格,设置单元格格式,选择“自定义”,类型改”G/通用格式”

    这里写图片描述

    用例:

    • 打开Excel文件:Open Excel
    • 获取每一列内容:Get Column Values
    • 登录网站:GUI_Login
    • 断言:用户名与密码是否正确

    读取Excel的缺点和问题

    • 缺点:其存储方式是读取的每一项内容都会加上列名,对于数据的处理不是特别优雅。

    这里写图片描述

    源代码:C:Python27Libsite-packagesExcelLibraryExcelLibrary.py

    这里写图片描述

    • 问题:python读取数字的时候,把所有的数字都变成了浮点数。用例因为数据错误而 FAIL。

    这里写图片描述

    • 修改源代码,处理浮点数的问题

    这里写图片描述

    定义两个方法:

    def _keep_integer_type_from excel(self, value): 
    def _is_number(self, value):

    功能实现:如果输入是数字而且是整数,去掉浮点数并存储为字符串类型。在输入用户名和密码时,如果是整型或者浮点型都会报错。

    • 问题:用方法 def _keep_integer_type_from excel(self, value) 转换数据时,因为过长的数字不再以科学计数的格式处理。python读取时,存储为unicode类型。所以,return str(int(value))报错,“not all arguments converted during string formatting”。

    这里写图片描述

    修改方法 def _keep_integer_type_from excel(self, value),让其不再转换unicode类型数据。当然,也可以把Excel数据全部以上面三个解决方案处理而无需增加python的两个方法(def _keep_integer_type_from excel(self, value) & def _is_number(self, value))。不过,这样一来也失去了程序的灵活性(flexibility)。

    这里写图片描述

  • 相关阅读:
    ABAP接口用法
    监听textarea数值变化
    The first step in solving any problem is recognizing there is one.
    Wrinkles should merely indicate where smiles have been.
    God made relatives.Thank God we can choose our friends.
    Home is where your heart is
    ABAP跳转屏幕
    Python 工具包 werkzeug 初探
    atom通过remote ftp同步本地文件到远程主机的方法
    Mongodb学习笔记一
  • 原文地址:https://www.cnblogs.com/feifei-cyj/p/7739230.html
Copyright © 2011-2022 走看看