pytest基础使用

相信用python做自动化的人,对于pytest这个框架一定不陌生,自动化必备神器,比起unittest的笨重,pytest可以说是非常好用的一个框架了。从最开始的unittest用户转变为pytest后就再也不想用unittest了,下面简单讲解下pytest的一些基本结构及应用。
pytest集成了很多现成可用的库,可以pip安装后直接用。像pytest-metadata就是,下面会讲解到。pytest提供了setup.cfg文件,很多初始的配置都可以写在里面,例如用什么浏览器,浏览器driver的地址,生成什么类型的report,运行的case目录地址等等。上面说到的pytest-metadata也可以配置在里面,设置变量参数用到,如设置用户名、密码、url等等,如下图所示。
在这里插入图片描述

设置完配置参数后,运行时就会比较简单,下一步当然是把一些公用的步骤提取出来,比如登陆,这样不用每个脚本都写一遍登陆了。pytest有什么办法实现呢?当然有,pytest提供了一个叫conftest.py的文件来实现,在这个py文件中写一个函数,加上@pytest.fixture装饰器,那么其他case运行时,都会先执行这个脚本,把这个函数当作参数自动入参到case中,相当于就可以接着conftest中的步骤进行下一步操作了,用来存放一些公用的步骤再适合不过了,如果跑完case想进行清理工作的话,就可以用yield,把处理工作写到yield后面即可
在这里插入图片描述
这些处理完下一步当然就是编写case了,上面有用到metadata这个库,那具体怎么使用呢?很简单,直接上图
在这里插入图片描述
给函数入参metadata,然后metadata后带setup.cfg中定义的变量名就行,是不是很方便呢!
那怎么批量运行case呢?pytest也帮你解决了,他会默认去寻找文件名、类名、函数名是test或者Test开头的文件去批量执行。执行完之后怎么生成报告呢?可以pip install pytest-html后,如上图般在setup.cfg里配置好,那么执行完所有脚本后就会自动生成html报告,也算比较详细的一份报告了。当然也可以和allure相结合,这个之后有空写篇文章讲解下。
还有跳过某些用例不执行、一次运行多个脚本、失败后重复运行、为脚本设置标签等等之后文章有空再讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值