当前位置: 首页 > news >正文

接口自动化测试项目实战day2

pytest

直接封装函数执行
以test打头的函数自动执行
login方法
def test_login():
if_name_ == 'main'
pytest.main(['-s','-v','Test.py'])

方法执行规则

importpytest

定义Testordering类

class TestOrderning();

定义test_login方法

def test_login(self)
print("正在登录")

定义test_add方法

def test_add(self)
print("正在增加")
if_name_=='main';
pytest.main(['-v'.'-s','Test.py'])

类必须以Test开头
方法必须以test开头

参数化

被参数化对象为字符串

@pytest.mark.parametrize("username".["a","b","c"])

被参数化内容是元组

@pytest.mark.parametrize.("userid",[(1,2),(3,4)])

被参数化内容是字典

@pytest.mark.parametrize.("register",[{'name':'a'},{'password':123456}])

多参数参数化

被参数化对象为字符串 username和password 交替取值

@pytest.mark.parametrize.("username",["a","b","c"])
@pytest.mark.parametrize.("password",["1","2"."3"])
a b c 1
a b c 2
a b c 3
9组

被参数化对象为元组 username和password 同步取值

@pytest.mark.parametrize.("username","password",[("hua","te12"),("liu","te56")])
hua te12
liu te56

assert 原生断言

assert x
assert not x
assert x in y
assert x == y
asert x!= y

pytest 的setup 和 teardown

初始化 和 测试后清理

现在建议使用fixture​​

模块
setup module
teardown module
直接写
def setup_module
def teardown_module
def test 1
def test 2
执行顺寻 setup test1 test2 teardown

函数

类方法

类方法细化

配置文件设置

pytest.ini
[pytest]
markers =
slow: 标记慢测试
fast: 标记快测试
skip: 跳过测试
xfail: 预期失败的测试

其他pytest配置选项

python_files = test_.py _test.py
python_classes = Test

python_functions = test_

显示详细输出

addopts = -v

收集测试时忽略的目录

norecursedirs = .venv pycache venv env .git

测试超时设置

timeout = 30

一、配置项逐个解析​​

  1. [pytest]
    pytest 配置的​​核心 section​​,所有 pytest 相关配置都需放在该节下。
  2. markers:自定义测试标记
    用于给测试用例打标签,方便筛选执行特定类型的测试(比如慢测试、预期失败)。
    示例中的标记:slow(慢测试)、fast(快测试)、skip(跳过测试)、xfail(预期失败)。
    后面的描述(如标记慢测试)会在运行时显示,提升可读性。
  3. python_files:测试文件命名规则
    指定 pytest 收集测试文件的​​模式​​,仅匹配以下文件:
    以 test_开头的文件(如 test_login.py);
    以 _test结尾的文件(如 login_test.py)。
  4. python_classes:测试类命名规则
    指定测试类的​​命名模式​​,仅匹配以 Test开头的类(如 TestLogin)。
  5. python_functions:测试函数命名规则
    指定测试函数的​​命名模式​​,仅匹配以 test_开头的函数(如 test_login_success)。
  6. addopts = -v:默认运行选项
    添加全局命令行参数,默认以​​详细模式​​运行测试(-v会显示每个测试用例的名称、状态等细节)。
  7. norecursedirs:忽略的收集目录
    pytest 收集测试时会​​跳过​​这些目录(避免无意义的扫描,提升速度):
    .venv(虚拟环境)、pycache(缓存)、venv/env(其他虚拟环境)、.git(版本控制)。
  8. timeout = 30:测试超时设置
    所有测试用例的​​最大执行时间​​为 30 秒,超时会自动标记为失败(避免死循环或卡住的测试)。

生成测试报告 pytest-html

会在执行的py文件目录下生成一个report.html
open in browser 查看

http://www.jsqmd.com/news/27675/

相关文章:

  • Turbo monorepo
  • 2025 年 10 月办公家具厂家推荐排行榜,办公桌,办公椅,文件柜,会议桌,办公沙发,办公家具公司推荐
  • 2025 年输送带厂家最新推荐榜,技术实力与市场口碑深度解析,助力企业精准选购优质产品
  • 2025 年 10 月三层绝缘线厂家推荐排行榜,东特,大亚,TOTOKU,FURUKAWA(古河),TIW-2,TIW-3,TIW-4,TIW-E,TIW-2S,TEX-E 三层绝缘线公司推荐
  • 2025年LAN变压器生产厂家权威推荐榜单:以太网变压器/网络隔离变压器/网络变压器源头厂家精选
  • 2025 年战略解码咨询,战略解码工作坊,战略解码内训培训教练最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 多RID分层路径计算性能优化
  • 《程序员修炼之道:从小工到专家》
  • 博客更新通知!
  • 2025 年战略解码培训教练最新推荐榜,技术实力与市场口碑深度解析,助力企业突破战略落地瓶颈战略解码落地/战略解码陪跑/战略解码管理/战略解码服务顾问推荐
  • 接口自动化测试项目实战day3
  • Channel Sounding 对比AOA优点
  • Nordic芯片中C/I co-channel. 参数什么意思呢?
  • Allegro丨17.4 手动绘制矩形板框
  • 【mdBook】6 在持续集成中运行 mdbook - 指南
  • Allegro丨17.4 导出导入封装与网表
  • 2025 年 OKR 培训教练最新推荐榜,技术实力与市场口碑深度解析,助力企业战略落地OKR 落地/OKR 管理/OKR 认证/OKR 目标管理顾问推荐
  • nrf52840 USB Mass Storage 通信原理是什么?
  • Nordic 芯片如何快速调整PWM 占空比生效?
  • 【2025最新教程】电脑怎么连接打印机?从USB到WiFi的全方位图文教学
  • 2025年码垛桁架机械手生产厂家权威推荐榜单:桁架搬运机械臂/桁架机器人/桁架搬运机械臂源头厂家精选
  • 人类智慧
  • 2025 年 10 月防静电地板厂家推荐排行榜,全钢/全钢陶瓷/硫酸钙/铝合金/pvc架空/防静电地板,OA网络地板,机房防静电地板,办公室网络架空地板公司推荐
  • 开源神器MinerU:一键提取PDF内容的工具 - yi
  • Python创建类(上)_ 没对象?实例化一个
  • 2025年隧道装备公司新推荐排行榜,开创星隧道装备等公司推荐
  • 0307-Nand-实现类
  • 互信息MI
  • Allegro丨17.4 操作记录
  • 0306-Nand-解析和绑定