《Pytest + Yaml 框架开发与使用》框架使用与框架开发二合一课程

发布时间 2023-07-05 16:58:53作者: 上海-悠悠

为什么会开这个专题?

目前越来越多的自动化测试人员在学习使用 pytest 框架了,但是大家对 pytest 框架的学习大部分同学都是局限于如何编写测试用例,如何使用 fixtures,以及生成测试报告等基本的使用。
大家对 pytest 插件的了解知道的很少,只知道 pip 安装一个 pytest 插件就可以用了。对于 hook 钩子的使用也是一知半解,大部分但是从网上复制了改一改。
网上对 pytest 插件相关的资料也比较少,缺少深入学习的资料。

本教程适合哪些人学习?

1.如果你是一名测试人员,想在公司用 pytest 框架完成项目接口自动化,那么本插件可以快速帮你完成, 一般2周左右即可轻松搞定项目接口自动化

  • 1.框架搭建非常简单,只需pip 一个命令安装即可
  • 2.用例编写,仅仅只需一个yaml 文件即可运行,不需要额外的py文件去读yaml,再转用例这些多余动作
  • 3.本插件配置非常简单,多环境,全局token,数据库,配置等非常容易
  • 4.如果你不会些yaml 用例,可以录制帮你自动生成,你只需要改下数据即可
  • 5.简单来说,你只需要关注用例本身,不需要关注框架上的事情,框架帮你自动搭建了。

2.如果已经是一名自动化参数人员,之前有写过 pytest+requests+yaml+allure 等框架,实现方式是

  • 1.接口数据放yaml 文件
  • 2.写个函数去读取yaml 文件内容
  • 3.写个py 文件再参数化读取的yaml,生成用例

网上大部分都是这种思路,本课程就是把中间实现过程打包成插件了,不需要关注重复的读取 yaml, 参数化 yaml 数据了。
如果你想学习插件开发思路,学习钩子函数的开发,那么本课程会教你插件开发原理,开发过程,以及后续自己二次开发扩展新功能

本教程的框架开发难度如何?

本教程的定位是 Pytest 框架的开发进阶学习,并不是初级入门,如果您是一个Python 初学者,并没有接触过 Pytest 框架,那么建议您应该找一些 Pytest 初级入门的教程学习。

如果你已经熟练掌握了 Pytest 框架的基础使用,但是对于 hook 钩子函数,插件开发不太懂。
那么此教程是非常适合你深入学习的。

主要教哪些内容?

主要分3个阶段的教学:

第一阶段,学习 Pytest 框架开发插件的三大难点

  • 1、内置 fixture
  • 2、hook 钩子函数
  • 3、内置对象学习,如:Config 、 Item 等

第二阶段,pytest-yaml-yoyo 插件使用

  • 1、pip 安装环境,环境非常简单
  • 2、只需yaml 文件用例即可运行,使用 pytest 命令
  • 3、yaml 文件中支持定义变量 与 引用
  • 4、extract 功能实现多个接口的参数关联
  • 5、全局仅 base_url 功能,yaml 中写相对路径即可
  • 6、全局仅登录一次,头部添加 Authorization token
  • 7、用例参数化 parameters 功能实现
  • 8、yaml 中调用 fixture 功能实现
  • 9、yaml 中支持自定义函数
  • 10、yaml 中调用 hooks 功能(sign签名与加解密)
  • 11、用例分层机制:API和用例层
  • 12、支持 logging 日志
  • 13、支持 allure 报告
  • 14、支持 mysql 数据库增删改查
  • 15、支持钉钉机器人通知和 allure 报告地址
  • 16、随机测试数据,如字符串,姓名,手机号,邮箱等
  • 17、根据 swagger.json 自动生成 yaml 用例
  • 18、支持全局代理配置
  • 19、全局配置 env 多套环境切换
  • 20、CLI 执行,适配持续集成 CI/CD
  • 21、export 导出全局变量
  • 22、飞书群/企业微信群机器人通知
  • 23、引用变量支持过滤器
  • 24、mark 标记功能
  • 25、runtime 断言用例运行时长
  • 26、录制生成 yaml 用例
  • 27、mock 功能

第三阶段,学习 pytest-yaml-yoyo 框架开发过程

  • 1、动态收集 yaml 文件用例
  • 2、yaml 文件动态转用例
  • 3、yaml 文件中关键字开发
  • 4、jinja2 模板引擎,变量使用和参数关联
  • 5、requests 库 hooks 钩子的功能
  • 6、参数化功能开发
  • 7、fixture 功能的使用
  • 8、config配置文件
  • 9、logging 日志的使用
  • 10、extract 提取开发
  • 11、hooks 钩子功能实现
  • 12、用例分层
  • 13、mark 标记功能开发
  • 14、export 变量提升
  • 15、allure报告与钉钉、飞书通知

用此框架能不能在公司完成接口自动化

目前已经有多名学员在自己公司成功的落地接口自动化了。
并且基本只需1-2 周就能掌握框架的使用,2-3周就能独立完成用例的编写了。
在使用过程中有任何问题,我都会解答,教你如何正确高效的使用,辅助你在公司落地接口自动化。

框架后期会不会更新与维护

如果你在使用过程中发现 BUG,可以提给我本人,我会尽快在 1-3 个工作日内解决 BUG 更新版本。
如果你有好的建议,采纳后会根据优先级排期更新版本。
版本也会不断的更新与维护!

学完本教程你会有哪些收获?

1.你会掌握钩子函数的使用

通过课程的学习,你会掌握 pytest 的 hook 钩子函数的使用。
能自己开发一些钩子,比如:注册命令行参数和 ini 配置

2.学会插件的二次开发

能对插件二次开发,对 pip 安装的插件,可以在本地修改后自己注册到 pytest 框架上。
灵活掌握插件的二次开发。

3.能自己开发插件了

当有一天你写的插件上传到了pypi 库,别人能通过 pip 安装你写的包,你会是什么心情?
你会非常自豪,有成就感!
如果你把课程学通了,你也可以打包自己的插件,可以上传到 pypi 库成为一名真正的 python 开发者。

4.python代码能力提升

本教程教了很多动态创建模块,动态创建函数的使用,以及一些封装技巧,对你的python 代码能力会有很大的提升!

课程目录





联系方式

课程咨询,加本人微信:283340479 (加微信咨询后报名)
网易云课程地址https://study.163.com/course/courseMain.htm?courseId=1213419817&share=2&shareId=480000002230338