Python + Selenium(十一)- pytest介绍与标签的使用

本文介绍了pytest对比unittest的优势,如自动发现测试用例和方便的断言。详细阐述了pytest的运行方式,包括命令行、PyCharm及启动文件。重点讨论了用例标记的注册、规范使用及运行指定标签的用例。同时,文章还提到了pytest的用例执行顺序和断言方式,并简单提及了生成测试报告。
摘要由CSDN通过智能技术生成

环境安装

pip install pytest

一、pytest对比unittest

  1. pytest能自动发现需要执行的测试用例,unittest需要使用.discover方法来指定文件夹
  2. pytest断言方便,直接使用 assert 1==1
  3. pytest 使用标签能灵活运行指定的测试用例。
  4. pytest 前置后置环境管理灵活,会话、模块,fixture等
  5. 丰富的插件,测试报告。
  6. 和unittest/nose/pytest兼容

二、pytest运行方式

  • 方式一:命令行输入 pytest
  • 方式二:使用pycharm以pytest方式运行用例文件
  • 方式三:创建一个启动文件:pytest.main()

运行参数

  • 指定测试模块
# pytest 文件名
pytest test_mod.py
  • 指定测试目录
# pytest 目录路径
pytest testcase
  • 指定测试用例执行
# 测试节点的组成
# pytest py模块名::类名::函数名
pytest test_demo.py::TestLogin::test_login_pass
# pytest py模块名::函数名
pytest test_demo.py::func_test
  • 通过关键字表达式国旅执行
# 这条命令会匹配文件名、类名、方法名匹配表达式的用例
pytest -k "MyClass and not method"
  • 通过标记表达式执行
# 这条命令会执行被装饰器 @pytest.mark.smoke 装饰的所有测试用例
pytest -m smoke

三、测试用例的规范

发现用例的规则

  1. 文件test_*.py 和 *_test.py 开头或者结尾
  2. Test开头的类中test开头的方法
  3. 模块中test开头的函数
  4. 注意点:
    1. pytest是以方法为单位发现用例的,你写不写测试类根本不重要
    2. 在哪个目录下执行pytest,就在哪个目录下按照上述规则去查找
import pytest
def test_demo():
	assert(1=1)
	
class TestDemo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值