| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> Python-openpyxl之二次封装 -> 正文阅读 |
|
[开发测试]Python-openpyxl之二次封装 |
1.excel结合测试用例的使用测试自己写的函数是否可以正常使用,一般来说就简单的使用如下方法进行就可以: # 使用 if __name__ == '__main__'和直接调用的区别就是其他模块中导入该模块时不会执行下面的代码 if __name__ == '__main__': result = read_excel('cases.xlsx','Sheet1') print(result) excel.py文件中内容如下,读取excel数据:?
运行结果: 也可以编写测试用例进行调用,但一般不会使用这种方法去验证函数是否正确。
运行结果: 下面有个例子,调用登录函数,编写测试用例: login函数所在funcs.py文件内容如下:
test_02_login.py文件内编写测试用例:
这样写测试用例,我们发现会存在大量的代码,且代码重复性高,缺点:
缺点2,我们可以通过excel中存放测试用例数据,cases.xlsx文件存放测试用例的数据,如下:? 此时我们使用for循环,实现从excel结合测试用例的使用,test_03_login_excel.py文件如下:
运行结果: 从上面例子发现,使用for循环实现测试用例方法的实现时,把所有的用例数据都当成了一个,不会自动生成单独的测试用例,这就导致了测试用例的缺失,这就引入了数据驱动(ddt)。 ? 2.数据驱动(ddt)针对方面的for循环可以优化:每组测试数据单独一个用例。使用数据驱动的方式:另一种叫法就是参数化 。 参数化:对于一个统一的逻辑,使用不同的参数(数据)去执行。 使用第三方库实现:ddt , unittestreport,使用前请先安装,切换到terminal,输入命令点击回车即可完成安装:pip?install?ddt;pip?install?unittestreport 2.1 unittestreport
运行结果: ddt的高级之处在于,前面失败的测试用例不会影响后续的测试用例方法的生成,即ddt会根据每个不同的测试数据,自动生成新的测试用例方法。 参数后的具体使用过程: 1.?导入相应模块:form unittest import ddt,list_data; 2.在测试函数当中,加入参数row,row参数名称是可自定义的。 2.2?ddt
运行结果: ? 3.excel结合测试用例的用法:-为什么要用excel单独管理用例?便于维护。 -具体用法: ? ?1.通过read_excel方法读取excel当中的数据; ? ?2.通过参数化完成数据到用例的结合; ? ?3.此时用例函数只需要写一个,而用例数据可以有成千上万个,节省了很多的测试用例函数; ? ?4.什么数据可以整合到一个用例函数?一定要是测试逻辑一致,只有数据不一致。 -注意事项: ? ?1.excel当中不存在字典,如果单元格当中有文本,读取出来是字符串。字典是python当中的概念; ? ?2.参数化不要用for循环,因为for循环虽然一个函数可以执行多个数据,但是所有的数据被当成一个用例,for循环不会自动生成新的测试用例方法; ? ?3.如果测试过程当中出现了异常,一定要养成打断点的习惯。 -参数化 VS?数据驱动 ? ?1.参数化:函数参数,一个测试函数当中会带参数,该参数往往就是测试数据 ? ?2.数据驱动(data driven testing,ddt),数据驱动是一种思想。具体实现方式是参数化的方式。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 2:29:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |