pytest接口自动化实战记录

一,出接口自动化测试方案。收集整理接口文档。
二,搭建自动化测试demo,优化完善架构目录。
三,框架接入流水线与编写case同时进行。
四,持续维护。

项目目录结构。

实操过程中遇到的问题及解决方案。

1,登录问题
正常登录流程,先get请求login的url获取,csrf_token,及其他的所需要的信息,用于前端加密,前端加密算法,是用csrf_token, 盐,输入的密码等算出来一个值,去post请求登录接口。
解决方案:
使用python的第三方包《pyduktape》,来直接操作js文件,将所需要的参数,传递给js进行加密后将结果返回来,然后模拟登录。
在这里插入图片描述

2,设置全局登录cookies

需求:设置一个已登录client,能够全局使用,每条用例可直接去请求。
解决方案:
使用conftest.py@pytest.fixture(scope="session")
在这里插入图片描述
3,关于参数化的思考
解决方案:
1,单接口参数:@pytest.mark.parametrize
2,接口之间参数传递:@pytest.fixture(scope="function")
3,接口之间的依赖:@pytest.mark.dependency() 处理的场景是,b接口依赖于a接口的成功,此方法实现的是,a接口失败,b接口自动跳过,不去执行。
4,可以操作数据库,来获取b接口依赖a接口的值。
5,如果登录的cookies是全局的,可以将a获取到的值存到cookies对象中去,用@pytest.mark.run(order=1)来控制顺序,或者使用@pytest.mark.dependency()失败后自动跳过,b接口可以从cookies的对象中取出a的返回值,进行使用后,将属性删除。
在这里插入图片描述
发现的问题
1,dependency与parametrize不能一起用 否则dependency依赖的接口会跳过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值