什么是pytest,手把手教你搞定pytest的上线与发布-1

一:介绍pytest岗位及区别

伴随着人工智能的兴起,自动化测试和测试开发都需要掌握pytest框架,说到这肯定有同学好奇,都是要掌握pytest架构为什么还分为俩个岗位呢?这里我们就聊聊二者的本质区别:

1:使用pytest

测试用例的编写人员

    测试框架的维护人员 配置 消除错误提示

    扮演使用者的角色 根据需求编写用例代码

2:维护pytest

    Pytset核心开发人员

Pytest插件开发人员

    更多关心pytest内部原理 怎么样添加功能或修改bug  扮演开发角色

二:了解pytest架构及查看方法、特点

综上所述可以看到二者的本质区别,那pytest都可以满足我们的什么需求呢?小编在这里列举了一些比如:失败重新、并发执行、用例排序、生成报告、统计覆盖率、发送邮件等等都是通过pytest中插件实现 ,所以说为什么要很好的掌握pytest架构呢?其实就是要挑战年薪百万,Pytest不仅仅是框架,pytest本身是多个插件组合而成,从pytest源码来学习测试开发来了解其功能。

查看源码方法:

     在pycharm中导入:import pytest

          输入:pytest.main()函数 同时按下F4来查看pytest源码。

      可以看到左边的目录下有大量的文件,大部分文件都有函数且以 pytest_开头 所以说是 由pytest插件来构成。

pytest特点:

        1:包含大量插件。

        2:pytest中的main函数为入口点,来执行pytest下的main函数 真正执行的是 config。。。和判断try...expert。

        3:加载配置

        4:执行hook

        5:返回exitcode让函数结束执行 

注意:main入口点就是调用插件所以说pytest本身就是个插件。

        可以理解为pytest框架就是由N个插件堆积起来的,所以相对pytest更深入的了解和开发就需要掌握pytest架构。

三:掌握pytest搭建测试平台思路

如何搭建一个测试平台呢?

        1:用django在线编辑excel、yaml文件

        2:pytest读取和执行excel、yaml文件,生成我们的调试报告、日志记录。

        3:用pytest加载yaml文件 生成了 日志和报告

      image.png

         查看接口请求日志 生成alure的报告 报告可以选用网页报告 放到django中

         4:用django来在线展示测试结果和测试报告

注意:allure由ajango提供支持http协议才可以查看报告信息。

         综上所述,pytest是一个插件系统,因为具备插件系统的pluggy可以使插件之间相互配合。

pluggy基本原理:

   pytest的源码当中可以看到pytest_这些东西很重要就是插件一个约定

   1:声明一个函数,称之为hook 不会执行 只用作声明。

   2:软件运行的过程中 会自动的调用hook。

   3:插件会按照hook的方式 实现函数,被软件自动的调用。

   插件成为了软件的一部分所以可以自动的调用,插件的特点可以加入也可以退出

可以把hook理解成约定 插件是按照约定想来就来想走就走 软件是陪着插件和hook到最后 运行环境 插件系统,查看系统的前提条件是一定要有约定 有约定按照约定进行即可 约定就是hook。

总结:

   1:深入掌握pytest的必经之路

   2:测试开发的标志

   3:解决项目需求的技术储备

   4:搭建测试平台必备的基础

综上几步可以来搭建测试平台是非常容易的,但是在pytest执行过程中用到很多插件比如:anyio处理异步、xdist读取excel文件、allure生成报告、多个插件和pytest本身配合来实现。通过插件的方式来扩展功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值