python+requests+excel+unittest+ddt 接口自动化数据驱动并生成 html 报告 (优化版)
本文章内容是基于上海-悠悠的版本,进行了优化,增加了部分内容,详细请查阅下文。
1、原文链接
python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
2、修改前后框架区别
修改前:
修改后:
3、主要修改内容
增加:token 关联(token 获取和保存)
增加:cookie 关联(cookie 获取和保存)
增加:发送邮件(使用 SMTP)
修改:HTML 报告模板中的样式和 ddt 用例的标题
增加:logo 日志
4、详细修改内容说明
4.1、增加 token 关联
4.1.1、token 获取 get_token.py
复制代码
4.1.2、token 保存 operation_json.py
复制代码
4.1.3、token 的读取 base_api.py
在原代码中加入 token 的读取,即把 token 加入到 heasers 中
复制代码
4.2、增加 cookie 关联
实现逻辑和获取 token 一模一样
4.2.1、cookie 获取 get_token.py
直接在获取 token 的 get_token.py 中加入,而这里的 token 格式需要根据自己的业务修改
复制代码
4.2.2、cookie 保存 operation_json.py
直接在 operation_json.py 中加入
复制代码
4.2.3、cookie 的读取 base_api.py
直接在 base_api.py 中加入
复制代码
4.3、增加邮件服务
4.3.1、邮件服务封装 send_mail.py
复制代码
4.3.2、邮件调用 run_this.py
直接在主函数入口中调用
复制代码
4.4、修改 html 报告模板
4.4.1、修改报告中用例的标题,修改 ddt 源码
①原报告用例的标题:因为使用 ddt,所以 ddt 格式中用例标题是 test_api_数字开头的用例名称,如果要自定义需要修改 ddt 源码
②修改后的报告标题:
③ 如何修改?可以参考之前的博文:unittest中使用ddt后生成的测试报告名称如何修改?(如test_api_0修改成test_api_0_titile)
复制代码
4.4.2、增加用例执行人
在 HTMLTestRunner.py 中加入如下,即获取当前用例执行的负载机的用户名
复制代码
4.5、增加 log 日志
4.5.1、在框架入口中直接加入 run_this.py
复制代码
详细可以参考之前的博文:Unittest接口测试生成报告和日志方法
4.5.2、在其它模块中直接使用即可
复制代码
5、其它截图
log 截图:
测试报告:
邮件:
版权声明: 本文为 InfoQ 作者【虫无涯】的原创文章。
原文链接:【http://xie.infoq.cn/article/5b1d93ff8a792fee44c54d4da】。文章转载请联系作者。
评论