动漫网站建设方案项目书目录,网站开发需要有登陆界面的网站,网站安全防护,网站建设产品手册一、先明确你的需求对应的技能 / 库清单#xff08;按优先级排序#xff09;你的核心需求是「读取标准化用例→生成用例→执行用例」#xff0c;结合你已掌握的 pandas/openpyxl 基础#xff0c;需要补充的技能 / 库如下#xff1a;表格类别核心库 / 技能作用说明用例执行…一、先明确你的需求对应的技能 / 库清单按优先级排序你的核心需求是「读取标准化用例→生成用例→执行用例」结合你已掌握的 pandas/openpyxl 基础需要补充的技能 / 库如下表格类别核心库 / 技能作用说明用例执行核心pytest必学自动化用例执行、断言、报告生成、用例管理用例生成 / 读取1. 已掌握的 pandas/openpyxl复用2. yaml/json 库可选读取用例文件Excel/YAML/JSON、生成用例执行辅助1. requests接口用例/selenium/appiumUI 用例2. logging日志实际执行用例接口 / UI、记录执行过程结果输出pytest-html测试报告、allure-pytest可视化报告生成易读的测试报告用例的读取和写入优先使用pandas/openpyxl来读取或写入写入pass写入备注写入测试时间和地点地点需要自己填写位置需要自己填写二、pytest 库超详细讲解贴合你的用例执行需求pytest 是 Python 最主流的自动化测试框架比自带的unittest更简洁、灵活完全适配「读取 - 生成 - 执行用例」的全流程。1. 核心优势为什么选 pytest 而非其他语法极简无需类 / 继承普通函数加装饰器就能当用例用例灵活支持参数化批量执行多组用例、跳过 / 标记用例插件丰富自带 1000 插件报告、并行执行、失败重跑等兼容广泛能执行 unittest 写的用例也能和 pandas/Excel 无缝结合。2. 基础安装pip install pytest # 核心库 pip install pytest-html # 生成HTML报告必备 pip install allure-pytest # 可选生成更美观的Allure报告3. 核心语法从简单到复杂贴合你的用例场景1最基础的用例写法单条用例首先我们有如下一个标准化表格用例 ID用例名称参数 a参数 b操作步骤预期结果用例状态TC001正数相加231、ab5执行TC002零加正数051、ab5执行TC003负数相加-2-3/1、a-b1执行python以下代码实现了以下功能import pytest import pandas as pd # 操作映射表步骤字符串 → 计算函数 OPERATIONS { ab: lambda a, b: a b,#这个字典非常特殊它的value实际上是个函数 a-b: lambda a, b: a - b } #到时候读取到的字符会在这里索引如果存在就装换为对应的参数值 def parse_operation(step_str):#这里的形参就是读取表格中的操作步骤那一个单元格的所有数据 解析操作步骤字符串提取核心操作 if 、 in step_str: return step_str.split(、)[1].strip() #这段代码的作用是分割字符为字符列表然后取一个特定字符最后去除一些额外符号 return step_str.strip() # 读取所有用例并参数化 df pd.read_excel(用例文件.xlsx, sheet_name加法用例)#确认读取的用例存储地址 df df[df[用例状态] 执行] #筛选出所有用例标注为执行的用例其他用例不执行 test_data [ ( row[参数a], row[参数b], row[预期结果], row[操作步骤] ) for _, row in df.iterrows() ] pytest.mark.parametrize(a, b, expected, step, test_data) def test_calculate(a, b, expected, step): # 1. 解析操作步骤 op_key parse_operation(step) if op_key not in OPERATIONS: pytest.fail(f不支持的操作步骤{step})#如果代码执行到pytest.fail则不会再执行其他语句代码到这里就结束了 # 2. 动态执行对应操作 calc_func OPERATIONS[op_key]#将函数名称赋值给calc变量 actual calc_func(a, b) #calc就变成变量了 # 3. 断言结果 assert actual expected, \ f操作{op_key}实际{actual}预期{expected}执行命令pytest test_demo.py -v # -v 显示详细执行结果2参数化批量执行 Excel 中的多组用例核心你的需求是「读取标准化用例→生成用例」参数化是实现这个需求的核心python# test_param.py import pytest import pandas as pd # 1. 读取Excel中的所有用例数据 df pd.read_excel(用例文件.xlsx, sheet_name加法用例) # 把DataFrame转成列表每个元素是一组用例参数 test_data [(row[参数a], row[参数b], row[预期结果]) for _, row in df.iterrows()] # 2. 参数化装饰器批量传入用例数据 pytest.mark.parametrize(a, b, expected, test_data) def test_add_param(a, b, expected): # 执行用例逻辑 actual a b # 断言 assert actual expected效果Excel 中有多少行用例pytest 就自动执行多少条每条结果独立显示。3用例管理标记 / 跳过用例python运行# 标记重要用例执行时可筛选 pytest.mark.smoke # 冒烟用例标记 def test_login(): assert True # 跳过某个用例 pytest.mark.skip(reason该用例暂未实现) def test_pay(): assert False # 按标记执行用例只执行冒烟用例 # 命令行pytest -m smoke4生成测试报告必备bash# 生成HTML报告执行后会生成report.html文件 pytest test_param.py --htmlreport.html --self-contained-html报告包含用例总数、通过数、失败数、失败原因、执行时间直接发给同事 / 领导即可。4. 完整流程示例贴合你的需求python运行# test_case_exec.py import pytest import pandas as pd # 步骤1读取Excel中的标准化用例 def read_test_cases(file_path, sheet_name): df pd.read_excel(file_path, sheet_namesheet_name) # 过滤有效用例比如只执行状态为执行的用例 df df[df[用例状态] 执行] return df # 步骤2生成并执行用例 test_cases read_test_cases(标准化用例.xlsx, 接口用例) # 提取用例参数接口URL、请求参数、预期响应码 test_data [ (row[URL], row[请求参数], row[预期响应码]) for _, row in test_cases.iterrows() ] pytest.mark.parametrize(url, params, expected_code, test_data) def test_api_case(url, params, expected_code): # 步骤3执行用例以接口用例为例需安装requests import requests response requests.get(url, paramseval(params)) # eval转参数为字典 # 断言响应码是否符合预期 assert response.status_code expected_code if __name__ __main__: # 执行用例并生成报告 pytest.main([-v, --htmlapi_test_report.html, --self-contained-html])5. 必学的 pytest 核心概念表格概念作用测试用例以test_开头的函数 / 以Test开头的类类中方法以test_开头断言assert语句判断实际结果是否等于预期结果参数化pytest.mark.parametrize批量传入用例数据固件fixture前置 / 后置操作如初始化数据库、打开浏览器用pytest.fixture定义测试报告--html生成 HTML 报告allure生成可视化报告三、补充学习建议按阶段阶段 11-2 天掌握 pytest 核心学会基础用例写法、参数化、断言能读取 Excel 用例并批量执行生成 HTML 报告。阶段 23-5 天结合实际用例场景接口用例学requests库发送 HTTP 请求UI 用例学seleniumWeb/appiumAPP日志学logging库记录用例执行细节方便排查问题。阶段 3可选进阶优化用fixture做用例前置如统一初始化 Excel 读取、关闭连接用allure生成更美观的测试报告用pytest-xdist实现用例并行执行提速。总结核心必学pytest用例执行 复用 pandas/openpyxl用例读取场景补充接口用例学 requestsUI 用例学 selenium/appiumpytest 关键参数化批量执行 Excel 用例、断言验证结果、报告生成输出结果先从「读取 Excel 用例→参数化执行→生成报告」这个最小流程入手再逐步扩展。