• 0
  • 0
分享
  • 那个不会自动化管理测试数据的员工,昨天被辞退了——软件测试圈
  • 曼倩诙谐 2023-03-06 11:59:56 字数 1455 阅读 1071 收藏 0

  你在学习python自动化测试吗?听过requests库吗?

  tablib是requests库常年维护的一个可以操作Excel等多种文件格式,将他们变成一种通用数据集的第三方库。

  tablib支持的主要数据格式有:

  ◆ xls, 老版 office 的 excel 文件格式;

  ◆ xlsx系列,新版 office 文件格式;

  ◆ json

  ◆ yaml

  ◆ html

  ◆ csv

  ◆df,pandas 的 DataFrame, 需要安装 pandas

  也就是说,tablib 能把不同格式的数据转化成一种通用的关系型数据格式,然后再各个格式之间无缝切换。

  什么叫关系型数据格式呢?

  比如:

  ◆ MySQL数据,每行数据对应着一个字段名。你可以通过这个库将数据库查询到的数据轻松存入Excel。

  ◆ Excel数据,每行数据都有一个header。

  ◆ json, 数据分为key和value

  ◆ 上面提到的都类似。

  tablib这种通用数据格式的特性解决了以前一些Excel操作库的一些问题。

  操作Excel的几个常用库:

  ◆ xlrd

  ◆ openpyxl

  这些库都是非常优秀的库,限制性也有:

  1、xlrd 的问题。他只能读,不能写。要写还得另外装库。

  2、openpyxl的问题。只支持xlsx系列的读写。因为现在大多使用这种Excel格式,所以这个问题其实可以忽略,但如果你的office软件比较老,只能用xls格式,这个库就用不了了。

  tablib的安装:

  1、安装pip install tablib

  2、导入import tablib

  核心概念

1.jpg

  Dataset快速入门

  先看一个小例子:

  ◆ url

  ◆ method

  ◆expected

  http://lemon.ke.qq.com

  get

  成功

  http://lemonban.com

  post

  成功

  url, method, expected 是一个表的表头 header,其实就是每一列的名字,在数据库里我们称为字段名。下面的行都是数据。

  想要创建一个Excel非常的简单,只需要准备你需要的数据data, 表头header和表的名字 title:

1-1.jpg

  打印的结果是这样的:

1-2.jpg

  保存为excel

  要保存为excel文档,只需要像操作普通的文件一样读写就可以了,写入data.xls 或者 data.xlsx 属性里面的数据:

1-3.jpg

  注意:模式需要用二进制模式wb。

  保存之后的结果是这样的:

1-4.jpg

  Databook就是类似工作簿的概念,所以Databook需要的参数实际上就是上文中的 DataSet。

  如果一个Excel里只有一个表,用DataSet就够了,如果有多个表:

1-5.jpg

  表格导入:import_set

  说完Excel的写操作, 接下来是读操作, 读取一个excel文件也是和普通文件读写类似,调用 import_set 方法:

1-6.jpg

  获取数据进行自动化测试

  用一个例子来实战,获取excel文件里的数据,执行自动化测试程序:

1-7.jpg

  和DataSet的操作一样的:

1-8.jpg

  这篇我们熟悉了tablib的核心概念:

  ◆ DataBook

  ◆ DataSet

  ◆ 读取, import_set, import_book

  ◆ 写入, write


作者:佚名    

来源:http://www.51testing.com/html/68/n-7794168.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 问题:在调研appium自动化中,最开始使用的模拟器,adb查看设备时,输入dab devices一下就连上了。但是使用真机连接时,就出现了设备连上了,但是设备状态却不对,显示为unauthorized(未经授权的)。就相当于是强行连接上了,但是不能使用。调研:百度大法,百度一下,搜索出来可能是设备已经授权给其他终端,保留上一个终端的授权数据,所以需要在调试按钮  但是点击之后,查询还是提示unauthorized,有点崩溃。 重启大法    1. 手机重启    2.&nb...
            1 0 7799
            分享
          •   据财联社9月26日报道,迪士尼在声明中证实裁员,称公司层面正在进行裁员。  第一财经此前报道,迪士尼电视部门今年将裁员140人,占迪士尼娱乐电视公司(DET)员工的2%。据知情人士透露,裁员将影响《国家地理》、电视台、相关营销和宣传部门等。去年,迪士尼已推行多轮裁员,累计削减了7000个工作岗位。  迪士尼旗下的皮克斯动画工作室也正推行裁员计划,年内将裁员175人,约占工作室员工总数的14%。作为大规模重组的一部分,皮克斯工作室去年已裁员75人,今年裁员规模继续扩大,接下来将重新专注于制作长篇电影。作者:老板联播来源:微博(s.weibo.com)
            0 0 431
            分享
          • 一、自动化测试众所周知,自动化测试已经成为软件项目中不可或缺的测试方法。基于用户交互界面(GUI)的自动化测试方法具有模拟用户行为和过程可视化的特点,因此受到了广大入门自动化人士的喜爱。诸如:QTP、Selenium等都具有强大的功能支撑和丰富的知识库,而逐渐成为自动化测试人士必备工具之一。然而,伴随着敏捷开发和持续交付在软件开发项目中的普及和应用,测试工作的重心不得不进一步前移。而由于用户界面的开发通常处于软件开发的末端且缺陷修复成本较大,因此基于GUI的自动化测试无法很好的适用于此类项目。基于应用程序接口(API)的自动化测试却可以很好的解决了此类问题。二、接口自动化测试在分层测试策略中各...
            1 1 1260
            分享
          • 测试驱动开发可以在很多环节里体现,同样,我们也可以主观地把TDD的思维运用到各个环节当中去。相信对敏捷熟悉的朋友对测试驱动开发(TDD)的概念都不会陌生。测试驱动开发强调通过预定义的测试标准驱动开发写出符合标准的代码。不过现在越来越多人会把TDD等同于单元测试驱动开发,即UTDD。我并不否认UTDD的价值,不过我更想强调应该把TDD当作一种思维。TDD的思维其实非常合理,做任何事情都应该有一个预期的目标和标准,如果目标和标准不清晰,就很难确保产出的价值。“The original description of TDD was in an ancient book about programmi...
            0 0 1000
            分享
          •   测试用例八大要素  1.测试用例编号  由字母、字符、数字组合而成的字符串,有唯一性,易识别性。  eg:  1)系统测试:产品编号-ST-系统测试项名-系统测试子项名-编号  2)集成测试:产品编号-IT-集成测试项名-集成测试子项名-编号  3)单元测试:产品编号-UT-单元测试项名-单元测试子项名-编号  这样看到编号就可以知道是做的什么测试,测试的对象是什么,也方便维护。  2.测试项目  当前测试用例所在测试用例所属大类、被测需求、被测模块、被测单元等。  3.测试用例标题  对测试用例的简单描述。用概括的语言描述该测试用例的测试点。每个测试用例的标题不能够重复,因为每个测试用例...
            0 0 1046
            分享
      • 51testing软件测试圈微信