pytest基础知识

本文介绍了pytest自动化测试框架,包括其特点、安装方法、用例设计原则和执行方式。pytest以其简单灵活、支持参数化和丰富的插件生态,广泛应用于单元测试、功能测试和接口自动化测试。文章详细阐述了如何在命令行和PyCharm中运行测试,并列举了多种命令行参数选项,以满足不同测试需求。

介绍

Pytest是当前主流的自动化测试框架,主要特点有如下几点:

1.简单灵活,容易上手;

2.支持参数化;

3.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);

4.pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;

5.测试用例的skip和xfail处理;

6.可以很好的和jenkins集成;

7.report框架----allure 也支持了pytest

安装

1.可以使用pip安装,在python安装目录运行cmd,输入命令 pip install -U pytest

2.在pycharm中安装,file-》settting-》python interpreter-》点击add按钮,搜索框输入pytest安装

用例设计原则

 在pytest中,有如下约束,不符合规范的用例不会被执行

1.所有的单测文件名都需要满足test_*.py格式或*_test.py格式

2.在单测文件中,测试类以Test开头,并且不能带有init方法(注意:定义class时,需要以T开头,不然pytest不会运行该类)

3.在单测类中,可以包含一个或多个test_开头的函数

4.所有的包 package 必须要有__init__.py文件

5.在执行pytest命令时,会自动从当前目录及子目录中寻找符合上述约束的测试函数来执行

 用例执行

命令行模式 

cmd进入当前文件目录,输入 python3 -m pytest 文件名 (执行某个文件)

如果不输入文件名只执行pytest,则会查找当前目录及其子目录下的test_*py以及*_test.py文件,在找到文件后,找到文件中以test开头的函数进行执行

pycharm运行

首先需在pycharm的settting中将单元测试框架设置为pytest

命令行参数

1.执行某一py文件下的用例 pytest 脚本名称.py

2.pytest -v 08_mark.py::TestClass::test_method 运行测试模块的某个测试类中的方法

3.pytest start.py::test_answer 运行start.py模块里的某个函数,加v或不加都可以,加-v打印7更加详细

4. -m标记表达式

5. -q 简单打印,只打印测试用例的执行结果

6. -s 详细打印

7. -x遇到错误时停止测试

8. —maxfail=num,当用例错误个数达到指定数量时,停止测试

9. -k 匹配用例名称   pytest -s -k http start.py(执行测试用例名称包含http的所有用例)

10. -k 根据用例名称排除某些用例 pytest -s -k "not http" start.py(不执行测试用例名称包含http的用例)

11. -k 同时匹配不同的用例名称 pytest -s -k "method or weibo" start.py(执行测试用例名称包含method或者weibo的所有用例)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值