Excel读取数据的三种方式:
1.一次性读取所有的数据,对内存的要求高点(必须掌握)
2.需要用的时候读取所有的数据,就是磁盘读写要求高点 磁盘(速度最低)----》 内存(速度中间)---》 CPU(速度最高)
3.使用DDT进行参数化
方法一:一次性读取所有的数据
先创建一个test.xlsx文件,填写进需要的数据,保存在Python代码文件夹的磁盘路径下 注意:不可在Python中直接新建.xlsx文件
![](https://img-blog.csdnimg.cn/972fa728c6794e9991a7e9c842a7def5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/323f02a71f1f4209bf259424e566f523.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
---------------------------------------------------------------------------------------------------------------------------------
DDT:
一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合。所以在测试一个接口时通常会编写多条case,而这些case除了传参不同外,其实并没什么区别。
这个时候就可以利用ddt来管理测试数据,提高代码复用率。
※但要注意:正向和逆向的要分开写※
安装:pip install ddt
四种模式:第一步引入的装饰器@ddt;导入数据的@data;拆分数据的@unpack,后面的参数少于5个时用;导入外部数据的@file_data
1.读取元组数据
![](https://img-blog.csdnimg.cn/aa2165960e8e44e8b0783e1afe90ef88.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/76c1589361e9478aaaaee5809a9adefb.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/b115c177bdda4c3b99a823e461485a42.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_12,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/0fc8f4142efa4552a553f3281dadd726.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
2.读取列表数据(嵌套)
![](https://img-blog.csdnimg.cn/24b05009672742abad74e26a1006395d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
3.读取字典数据
![](https://img-blog.csdnimg.cn/b02989a2d7084c648a5f40cd9b56eedc.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
4.读取文件数据
![](https://img-blog.csdnimg.cn/96b703e5a7754e4faaf6fa3c5ff9d64f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
---------------------------------------------------------------------------------------------------------------------------------
配置文件:
比如:properties 、config、ini 、log4j 的,都属于文件部署
新建一个file文件,case1.config
![](https://img-blog.csdnimg.cn/45ca9ec336ed45898363974f2862c47f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
再新建一个py文件引用
![](https://img-blog.csdnimg.cn/d2ea2d97c610445b9df394eec7c725a5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_19,color_FFFFFF,t_70,g_se,x_16)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总结下前面两篇excel的知识:
把数据存到Excel里面去,通过Python去操作Excel。 openpyxl只支持.xlsx这种格式
if __name__ == main: 下的代码只有在本文件直接执行时才会被执行,而 import 到其他脚本中是不会执行该函数下的内容
如果安装了第三方模块,不能以该名字命名py文件,所有的py文件命名要和关键字隔开
![](https://img-blog.csdnimg.cn/c8eec31d17fc4ca5bda0acacaf18b0bd.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pil5aSP56eL5YasODg4,size_20,color_FFFFFF,t_70,g_se,x_16)
ddt+unittest 来进行数据的处理 ------第三方库
装饰器:会在函数运行之前运行
装饰器本质上就是一个函数,它用来给别的函数增加功能。
装饰器可以在代码运行期间动态地增加函数的功能,当我们想要给多个函数增加相同的功能,一个一个地去修改这些函数效率很低,而且代码混乱,我们可以采用装饰器