96SEO 2026-02-19 23:29 14
动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜

它其实就是一些函数会在执行测试方法/测试函数之前或之后加载运行它们常见的如接口用例在请求接口前数据库的初始连接和请求之后关闭数据库的操作。
中提供了功能更加丰富的Fixture用于实现setup、teardown功能。
test_01(before):print(执行test_01)方式二使用
pytest.mark.usefixtures(‘fixture函数名’)装饰器
pytest.mark.usefixtures(before)
test_01():print(执行test_01)方式三使用autouse参数自动执行fixture函数
fixture函数定义的时候使用autouse参数作用域范围内的测试用例会自动调用该fixture函数
test_01():print(执行test_01)三种方式调用后的结果都如下
before():print(连接数据库)pytest.fixture()
函数时由前至后依次执行所以test_01()调用时先执行before再执行before_s。
定义fixture函数时可以利用name参数进行重命名方便用于调用示例如下
connect_order_db():print(连接数据库)def
test_01(db):print(执行test_01)使用fixture传递测试数据
在执行完fixture函数后有时需要将该fixture中得到到某些数据传递给测试函数/测试方法用于后续的执行。
test_01(before):print(执行test_01)assert
连接成功注意如果自定义的fixture函数有返回值需要使用上面说的方式一调用才能获取fixture函数的返回值并传入测试函数中方式二就无法获取返回值。
对fixture函数进行参数化时需要使用参数params并且需要传入参数request简单示例如下
pytest.fixture(paramstest_params)
test_02(before):print(执行test_02)assert
可以看到因为所调用的fixture函数进行了参数化虽然只有一个测试函数但执行了3次。
上面我们举的例子都是把fixture函数放在测试用例模块里面但如果很多测试模块需要引用同一个fixture函数怎么办这是时候就需要把它放在命名为conftest的模块里这样同级或以下目录中的测试用例便能调用这些自定义的fixture函数。
中的test_case_1.py与test_case_2.py都需要调用同一个
中新建conftest.py并编写这个fixture函数即可示例如下
pytestpytest.fixture(autouseTrue)
before():print(连接数据库)test_case_1.py
test_01():print(执行test_01)test_case_2.py
test_02():print(执行test_02)这样执行这两个模块的测试用例时会自动先去调用conftest.py中的before()函数。
也需要调用这个before()函数那么这个时候我们就需要在上一层即
中新建conftest.py并编写这个before()函数才能在
test_case_3.pyconftest.py只作用于同级或以下目录中的测试模块且需要注意当以下层级中存在了另一个conftest.py那么以下层级将由另一个conftest.py文件接管。
作用域分session、module、class、function四个级别。
在定义
函数的时候通过scope参数指定作用范围默认为function。
test_case_4.py其中conftest.py代码如下
pytestpytest.fixture(scopesession,
session_fixture():print(这是一个作用于session的fixture)pytest.fixture(scopemodule,
module_fixture():print(这是一个作用于module的fixture)pytest.fixture(scopeclass,
class_fixture():print(这是一个作用于class的fixture)pytest.fixture(scopefunction,
function_fixture():print(这是一个作用于function的fixture)test_case_3.py代码如下
test_c():print(test_c)test_case_4.py代码如下
test_e():print(test_e)run.py代码如下
__main__:pytest.main([-s])运行run.py结果如下
itemstestcase\test_module_02\test_case_3.py
testcase\test_module_02\test_case_4.py
作用于session的fixture函数只在所有测试用例执行之前调用了一次
作用于module的fixture函数在每个测试模块执行之前调用了一次
作用于class的fixture函数在每个测试类执行之前调用了一次
作用于function的fixture函数在每个测试方法/测试函数执行之前调用了一次
注意在定义的测试函数如test_c()、test_e()执行之前也会调用scopeclass的fixture函数。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图
每一次跌倒都是为了更高的飞翔每一次挫折都是为了更坚强的成长。
不惧困难不畏艰险勇往直前追逐梦想。
坚持奋斗超越自己终将引领辉煌的人生之巅
不管前方有多少艰险和困难只要心中燃着梦想的火焰就有无限的力量去闯荡。
勇往直前坚持不懈唯有奋斗才能书写出属于自己的辉煌篇章
愿你的内心燃起坚定的火焰迎接挑战超越极限。
不论前路多坎坷披荆斩棘只有拼搏奋斗才能创造出属于自己的辉煌人生。
相信自己永远不言放弃
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback