pytest接口自动化,业务场景多接口关联应该怎么处理呢

问题

最近在学接口自动化,公司里自动化可以说为0,但是有个python写的pytest+yaml+allure+request的框架,看了下代码跟着敲了一遍,大致逻辑就是:

  • 测试数据维护在testdata文件夹下的yaml里面(内容包含单接口的基本信息和用例数据)
  • 有一个基础模板py文件(里面就是pytest发请求、断言那一套),根据每个接口的yaml配置自动生成对应的py文件(即单个接口的用例,保存在testcase文件夹下)
  • 最后跑自动化的时候再根据yaml中的用例数据测试(会用到pytest里面parametize)

以上是背景。
问题就是,上面那个框架感觉是半成品,因为里面只有针对单个接口的测试,但是实际应用上感觉还会存在业务场景的测试,例如:现在想测试一个场景a—-为用户A申请证书。这时候要做的应该是:
生成一个用户—>该用户进行实名认证—>申请证书。
生成用户的场景又包含接口1、2、3,实名认证场景包含接口4、5、6,最后申请证书需要第一步中的用户数据且包含新接口7 。
同时,存在另外一个场景b:为用户B开发票。此时的实际步骤又包含:
生成一个用户—>该用户进行实名认证—>开发票。
可以看到前两个步骤和场景a是一样的,不同的地方就是最后一步调用的接口不一样,且我实际想测试的也只有最后一个场景的那个接口。
另外,在功能上,生成用户属于A模块,实名认证属于B模块,申请证书属于C模块。
这种情况应该如何设计呢?最近也查了些资料,针对某个步骤包含多个接口的情况(例如上面提到的创建用户),可以用fixture解决,但是要把步骤放在某个场景里面就卡住了(例如上面的为用户申请证书场景)