Python之参数化DDT(包含:openpyxl的初步了解)

文章目录

  • 前言
  • 一、参数化(DDT)
  • 二、初步了解Excel表格操作
  • 总结

前言

记录参数化DDT数据驱动;初步了解Python中openpyxl对Excel表格操作和手动操作表格的区别点。


一、参数化(DDT)

DDT Data Driven Test 数据驱动测试。

应用场景:

流程是一样的,多组数据不一样。 == ddt

1、所有用例的步骤是一样的,只是步骤当中的数据不一样的

2、所有用例的断言方法是一样的,只是断言的期望数据不一样。

python有一个第三方库:ddt

应用的原理:

1、疏理流程出来
2、把多组数据拎出来。
把多组数据当中的每一组,传递给流程,即每一组数据都要把这个流程跑一遍。

DDT与for循环有相似之处:

1、for循环实现:


1)只会当作一条用例。
2)当用例失败的时候,很难快速定位是哪一条数据造成的。
3)当某个数据执行流程失败的时候,后面的数据就都不会执行了。

2、ddt模块,解决以上问题

0)安装ddt    pip install ddt

1)导入ddt   import ddt 或者  from ddt import ddt,data

2)如果是from ddt import ddt,data,在测试类上面@ddt

3)在要参数的测试函数上面,@data(*多组数据对象)

@ddt
class TestA:

    @data(*数据组)
    def test_abc(self,变量-接收每一组数据)

另一个第三方库(木森老师的)的用法:

unittestreport当中,对于ddt进行了修改

用法如下:

1)安装unittestreport
2) 导入:from unittestreport import ddt, list_data
3) 在测试类名上面@ddt
4)在测试方法上面 @list_data(数据组)
@ddt
class TestA:

   @list_data(数据组)  # 注意没有*
   def test_abc(self,变量-接收每一组数据)

举例:

(1)使用ddt里面的函数

 

(2)使用另一个第三方库里面的函数

备注:其实ddt的运用主要就是解决,不同的测试数据,在同一条测试用例里面的使用,就比如这个登录模块,对它不同的造数据,但都是作用于登录这个测试点。

二、初步了解Excel表格操作

excel : 数据     

读read  写write  数据

1、不同的表格所对应的库:

xlrd   xlwt   xlutil --- .xls

openpyxl --- .xlsx

安装:pip install openpyxl

2、手工使用excel的流程:


 (1)文件打开就是一个  工作薄(workbook)
 (2)选择一个  表单(sheet)
 (3)单元格(cell)
            读写操作

3、代码版:

1、打开一个excel,读取工作薄。
   wb = load_workbook(excel_path)

2、获取表单,通过表单名称。
   sh = wb["表单名称"]

3、获取单元格。行和列起始下标是从1开始。
   行号、列号
   sh.cell(row,colum).value
   单元格如果没有值,那得到就是None

4、获取表单当中,行数和列数。
   print(sh.max_row)
   print(sh.max_column)

5、往单元格写入数据:
   sh.cell(row,colum).value = 值

6、保存修改的数据
   工作薄对象wb.save(文件路径)
   注意:保存数据时,excel文件要是关闭状态。

7、获取所有行数据,放在一个列表当中
   list(sh.values) 


总结

暂无

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值