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

news/2025/10/31 16:40:10/文章来源:https://www.cnblogs.com/yanrb6/p/19176515

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.mzph.cn/news/951968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Turbo monorepo

Turbo monorepoTurbo 是一个构建工具,但它更准确地说是一个高性能的构建系统,专为 JavaScript 和 TypeScript 项目设计,旨在解决大规模代码库中的构建速度问题。 你可以把它看作是传统构建工具(如 Webpack、Vite、…

2025 年 10 月办公家具厂家推荐排行榜,办公桌,办公椅,文件柜,会议桌,办公沙发,办公家具公司推荐

2025年10月办公家具厂家推荐排行榜:专业采购指南与权威推荐 行业背景与发展趋势 随着现代办公环境的不断升级,办公家具行业正经历着深刻的变革。2025年的办公家具市场呈现出智能化、人性化、环保化三大发展趋势。智能…

2025 年输送带厂家最新推荐榜,技术实力与市场口碑深度解析,助力企业精准选购优质产品

引言 为精准筛选出符合工业企业实际需求的优质输送带品牌,本次推荐榜由橡胶工业协会联合机械传动设备检测中心共同发起测评,测评覆盖全国 23 个省市共 86 家输送带生产企业。测评采用 “三维九项” 评价体系,从技术…

2025 年 10 月三层绝缘线厂家推荐排行榜,东特,大亚,TOTOKU,FURUKAWA(古河),TIW-2,TIW-3,TIW-4,TIW-E,TIW-2S,TEX-E 三层绝缘线公司推荐

2025年10月三层绝缘线厂家推荐排行榜:东特、大亚、TOTOKU、FURUKAWA(古河)、TIW系列专业解析 行业背景分析 三层绝缘线作为电子元器件领域的关键基础材料,在电源适配器、变压器、新能源汽车电子等应用中发挥着不可替…

2025年LAN变压器生产厂家权威推荐榜单:以太网变压器/网络隔离变压器/网络变压器源头厂家精选

在当今高速发展的网络通信领域,LAN变压器作为网络设备中实现电气隔离、信号传输和电磁干扰抑制的关键元件,其性能直接关系到数据通信的稳定性、速率和抗干扰能力。随着全球数字化转型进程加快,LAN变压器市场需求持续…

2025 年战略解码咨询,战略解码工作坊,战略解码内训培训教练最新推荐,聚焦资质、案例、售后的五家机构深度解读

引言 随着企业战略落地需求日益迫切,战略解码相关服务的专业性与可靠性成为企业关注焦点。为帮助企业精准筛选优质培训教练,某某战略管理协会于 2025 年初开展专项测评,通过 “资质审核 - 案例验证 - 售后调研 - 效…

多RID分层路径计算性能优化

本文分享自天翼云开发者社区《多RID分层路径计算性能优化》.作者:罗****斌针对以上问题和性能分析点,进行了以下优化,分别是: 1)基础探测图按rid分层染色计算所有点到点路径,零拷贝萃取整个路径算法需要修改的部…

《程序员修炼之道:从小工到专家》

这本书跳出代码本身,揭示了程序员进阶的核心逻辑。“持续学习”与“注重实践”的理念让我警醒,技术迭代飞快,固守旧知只会被淘汰,唯有像打磨工匠技艺般积累,才能筑牢根基。书中“不要重复造轮子”“保持代码整洁”…

博客更新通知!

现在点击 ciallo 可以发梗图了!

2025 年战略解码培训教练最新推荐榜,技术实力与市场口碑深度解析,助力企业突破战略落地瓶颈战略解码落地/战略解码陪跑/战略解码管理/战略解码服务顾问推荐

引言 为精准筛选出能切实助力企业解决战略落地难题的优质培训教练,本次推荐榜测评由企业管理咨询协会联合行业权威专家共同开展,测评周期历时 3 个月,覆盖全国 23 个省市的 120 余家战略解码培训服务机构。测评采用…

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

构建接口自动化框架 接口自动化框架运行载体 :接口自动化测试用例 接口自动化测试用例存储 框架:python3.8+requests+Pymysql+pytest 接口自动化持续集成:git版本管理,远程仓库(gitee GitHub),构建工具(Jenkins) 阅读接…

Channel Sounding 对比AOA优点

Channel Sounding 对比AOA有什么优点? 测量方式不同 Channel Sounding 基于距离测量,使用往返时间(RTT)和相位测距(PBR)技术 AoA 基于方向测量,使用角相位偏移来确定信号的到达角度 应用场景优势 Channel Sounding …

Nordic芯片中C/I co-channel. 参数什么意思呢?

Nordic芯片中C/I co-channel. 参数什么意思呢?C/I co-channel(同频道载波干扰比)是一个射频性能参数,用于衡量接收器在同一频道上抵抗干扰的能力。 根据提供的知识源,C/I co-channel参数表示接收器在同一频道上能…

Allegro丨17.4 手动绘制矩形板框

打开 “Setup - Outlines - Design Outline...”,按如下设置,会同时生成内缩 0.3mm 的“Package Keepin”和“Route Keepin”区域。点击空白处放置板框后,继续点击 OK。手动绘制“Package/Route Keepin/Keepout”区…

【mdBook】6 在持续集成中运行 mdbook - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Allegro丨17.4 导出导入封装与网表

若是中途接手的 allegro 项目文件,建议重新导一遍封装与网表1. 导出封装 (1)新建 “lib” 文件夹,用来存放封装 (2)allegro 打开 “File - Export - Libraries...”(2)设置封装库的路径2. 导出网表 (1)原理图…

2025 年 OKR 培训教练最新推荐榜,技术实力与市场口碑深度解析,助力企业战略落地OKR 落地/OKR 管理/OKR 认证/OKR 目标管理顾问推荐

引言 为精准筛选出能切实助力企业 OKR 落地的优质培训教练,本次推荐榜测评由企业管理咨询协会牵头,联合国内 10 余家权威商学院共同开展。测评过程严格遵循 “三维九项” 评估体系,从技术实力、服务成果、市场口碑三…

nrf52840 USB Mass Storage 通信原理是什么?

nrf52840 USB Mass Storage 通信原理是什么? 当主机请求读写操作时,设备通过USB协议接收命令。 设备解析命令后,通过SPI协议与SD卡进行数据交换。 数据从SD卡读取后,通过USB协议传输回主机,或从主机接收数据后写入…

Nordic 芯片如何快速调整PWM 占空比生效?

NRF52840 芯片中,如果使用上想快速的跳转pwm 的占空比生效,我们该怎么做呢? 是硬件PWM 更新部分,用了DECODER.MODE设置为NextStep的特殊配置,可以实现更快的占空比更新。在这种模式下,每次接收到NEXTSTEP任务时,…

ble精准指定广播次数和时间的问题

ble精准指定广播次数和时间的问题 一:问题出现的原因: 客人的问题是想在例如广播间隔是300ms ,我想在他发送广播前 我能更新广播包 ,或者我update后 能立刻发送出去的问题; 二:问题的具体分析和解决方法: 想精准…