测试之路 pytest接口自动化框架-pytest基础使用

哈喽大家好,我是歪小王,又来给大家分享学习笔记了😄本期内容就围绕pytest的基本使用开始。废话不多说。开整!

01 配置文件





pytest是接口自动化的一个主要角色之一,配置文件也是pytest不可获取的一大功臣。使用配置文件,可以实现修改pytest的默认行为,比如用例的分组执行,也可以个性化定制测试用例文件命名以及用例方法的命名。

pytest的配置文件使用方法:首先新建一个pytest.ini的文件。命名是统一命名。不可修改。然后就可以在这个配置文件中增加常用参数。

  • addopts:表示命令行参数。具体详指在terminal中输入的参数。他还包括一些子参数

    • -s:表示输出调试信息,用于显示测试函数中print()打印的信息

    • -v:未加前只打印模块名,加v后打印类名、模块名、方法名,显示更详细的信息

    • -q:表示只显示整体测试结果

    • -vs:这两个参数可以一起使用

    • -n:支持多线程或者分布式运行测试用例。需安装:pytest-xdist插件

    • --reruns x:表示失败重试,x表示重跑次数。同多线程,需要安装插件:pytest-rerunfailures

    • --html=用户路径/report.html:生成报告。需安装:pytest-html(比较丑。有了allure。就可以抛弃它了)

    • -k ‘字符串’ :过滤执行,过滤执行用例方法中带有指定字符串的case

  • testpaths:测试用例路径。pytest默认执行当前项目下文件名以test_开头的文件。可以指定用例文件的目录路径,让pytest只执行该路径下的用例文件。

  • python_files:用例文件名称。可以指定pytest执行哪些文件

  • python_classes:用例类。可以指定pytest执行哪些类

  • python_functions:用例方法。可以指定pytest执行哪些方法

  • markers:标记、分组。使用他与pytest.mark.分组名称的装饰器。可将用例进行分组执行

[pytest]
# 添加命令行参数
addopts = -vs
# 文件搜索路径
testpaths = ./
# 文件名称
python_files = test_*.py
# 类名称
python_classes = Test*
# 方法名称
python_functions = test*
# 分组
markers =
    moke:冒烟测试
import pytest
class Test:
    def test01(self):
        print("01")
    # 使用装饰器分组
    @pytest.mark.moke
    def test02(self):
        print("02")
        assert 1 == 1
        return '03'
    # 使用装饰器分组
    @pytest.mark.moke
    def test03(self):
        s = self.test02()
        print(s)
        assert '03' == s

PS:注意。如果是windows平台。在配置文件中不要写中文。否则,可能会出现gbk错误

02 运行方式




pytest有两种运行方式。一种是在main方法中使用run的方式进行运行。第二种则是在terminal命令行中。输入pytest运行。

main函数运行时。也是可以增加一些常用参数的。只需在main()方法的括号中以列表的方式增加参数即可。参数与上面配置文件类似。当然如果提前配置了配置文件。此处就不需要进行增加。

75ced4debf21471e9e933ed95744bf50.png

命令行运行方法

e5d163444ebb0b70e44712f49c246e14.png

两种运行方式都是可以读取配置文件。所以配置文件配置好了。这里就非常简单了。

03 运行顺序




pytest的执行顺序在没有特殊控制器下,是以线性模式,由上至下的顺序来执行case的。在pytest接收到运行指令时(在命令行输入pytest或者执行main方法)。pytest首先会去找配置文件。读取其中的配置。

在得到配置后,pytest就会去指定的文件夹下面找到指定的用例文件。然后去查看这个文件里面有没有装饰器。如果有,则优先执行装饰器。如果没有,则执行用例方法。

04 结语




本期内容,到这里就先暂停一哈。下期将对工厂函数以及pytest一些常用插件进行一些介绍。本期内容中也提到一些插件,也会在下期内容中出现。

最近北京疫情较严重。各位大佬保护好自身哈,不要去蹦迪,不要去蹦迪,不要去蹦迪!在家卷一下不香吗?76436992754a9679309c9fbb83697a49.png

fc65b60765d30fe56dd84019916bb9b2.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值