问题
做自动化,无论时UI自动化,还是api自动化,用例和数据都是分离的,但是驱动用例的数据可能是不同类型的。比如:驱动一条用例,需要(A,B,C,D,E)5个参数,A是固定的,B是随机手机号,C是需要查询数据库的,D是需要调用接口从返回值拿出来的,
这样一条用例,做参数化时,数据没法统一管理
如下图
现在的想法
1.yml文件,当用到非固定数据时,写标识做替换,比如:
现在遇到的问题
1.读取文件时,即使我做了标识,我如何去找到这个标识?找到后又如何做替换?遍历yml文件吗?
2.针对随机类型的,还可以这样处理,针对接口和sql的如何处理?假设1方法成立,我取到了接口响应或者数据库返回,每个用例调用的接口不一样,返回结构不一样(数据库同理)。我如何去写公共方法,去拿到这个返回值?
3.不能写公共方法,每个用例都写个脚本维护,这样就完全没必要了。和在用例里直接使用不太来源没区别,且加大了,复杂度和维护成本
4.现在的想法是,标识按照一定的规则去写,然后按照这个规则去写个公共方法,是否可行?
最后一个问题,大家遇到这样的情况,是如何处理的?
是不处理,数据来源多处,就多处,还是有更好的处理方法?
如果数据只想从yaml文件中来获取的话,可以在conftest.py中对yaml文件中的数据,和公共方法进行封装,并返回新的数据集
能稍微详细些嘛,不太理解