统一鉴权的意义
接口自动化一般需要登录获得鉴权信息, 供各个suite和case使用, 因此登录鉴权适合定义在Session级别的夹具中, 供所有用例共享. 示例:
@pytest.fixture(scope='session')
def autherization_wrapper(pytestconfig):
"""
返回登录状态的 header
:return:
"""
logger.info('================ 测试开始 ===================')
logger.info('开始初始化鉴权信息......')
mobile = pytestconfig.getoption('mobile') # 自定义参数, 见下文
get_token = GetToken(mobile)
try:
get_token.get_webLogin_authorization() # 官网登录, 具体业务流程不展示
logger.info('web 登录请求头: {}'.format(get_token.headers))
logger.info('h5 登录请求头: {}'.format(get_token.h5_headers))
except Exception as e:
logger.error(f'web/h5 登录失败, 原因 {
e}')
try:
get_token.get_omsLogin_cookie() # 订单管理系统登录,具体逻辑不展示了
logger.info('oms 登录请求头: {}'.format(get_token.oms_headers

本文介绍了如何在Pytest中实现接口自动化测试的统一鉴权和日志输出。通过创建Session级别的鉴权夹具,确保所有测试用例共享鉴权信息。同时,详细阐述了自定义Pytest参数的方法,以便在测试配置中添加和解析鉴权信息,实现了日志的统一管理。
最低0.47元/天 解锁文章
697

被折叠的 条评论
为什么被折叠?



