D99【python 接口自动化学习】- pytest进阶之fixture用法

day99 pytest使用conftest管理fixture

学习日期:20241216

学习目标:pytest基础用法 -- pytest使用conftest管理fixture

学习笔记:

fixture(scope="function")

conftest.py为固定写法,不可修改名字,使用conftest.py文件方法无需导入,函数作用于当前文件夹及下属文件

  • pytest使用fixture返回数据,可以接收返回值
python 复制代码
conftest.py

@pytest.fixture(scope="function")
def get_params():
    params = {'key1': 'value1', 'key2': 'value2'}
    return params
python 复制代码
test_fixture_return.py

import pytest
import requests


def test_getmobile(get_params):
    print("测试get请求")
    #第1种方法
    # r=requests.get('https://httpbin.org/get',params=get_params)

    #第2种方法
    key1 = get_params['key1']
    key2 = get_params['key2']
    r=requests.get('https://httpbin.org/get',params={'key1':key1, 'key2':key2})
    print(r.status_code)
    assert r.status_code == 200
    res = r.json()
    assert res['url'] == 'https://httpbin.org/get?key1=value1&key2=value2'
    assert res['origin'] == '163.125.202.248'
    assert res['args']['key1'] == 'value1'
    assert res['args']['key2'] == 'value2'
总结
  1. conftest.py为固定写法,不可修改名字,使用conftest.py文件方法无需导入
相关推荐
baidu_34099882几秒前
如何正确使用 React 的 useContext Hook 管理组件状态
jvm·数据库·python
m0_674294641 分钟前
mysql如何通过脚本自动化创建用户_使用shell配合mysql命令
jvm·数据库·python
weixin_408717771 分钟前
HTML函数能否用游戏本开发_游戏本硬件冗余分析【指南】
jvm·数据库·python
yejqvow121 分钟前
Go语言怎么做链路追踪_Go语言分布式链路追踪教程【精选】
jvm·数据库·python
weixin_381288183 分钟前
如何用SQL找出每组数据波动最频繁的项_窗口函数分析
jvm·数据库·python
小熊Coding3 分钟前
Python二手房数据可视化分析+预测+推荐
开发语言·python·信息可视化·django·计算机毕业设计·二手房数据分析·二手房数据可视化分析
Greyson14 分钟前
CSS如何实现移动端分割线适配_利用伪元素before实现灵活线条
jvm·数据库·python
qq_334563554 分钟前
c++怎么把多个变量一次性写入二进制文件_结构体对齐与write【实战】
jvm·数据库·python
m0_678485455 分钟前
MySQL数据库连接波动频繁_排查网络抖动与连接池配置
jvm·数据库·python
m0_678485456 分钟前
jsoup如何读取html
jvm·数据库·python