在我之前的框架当中,我是把Data 类,设计成所有测试类共享得全局变量。所有的测试类,都是向Data 类存数据,取数据。
但是在我测试过程当中,会遇到一个问题:
在执行多接口并发(有2~3个接口用例同事执行),同时向Data 类存数据就会出现问题
——比如审核接口和 提现接口是并发执行的,审核接口用例执行的时候修改了token,提现接口同时也修改了token,这个时候
可能会出现数据错乱问题,审核接口修改的token 还没用,提现接口就拿来使用了,像这种情况就不能做成全局通用的。
那怎么处理会好一些?
——解决方式:
可以考虑做成仅这个区域内有效
——具体做法:
—1、定义一个conftest.py ,在conftest.py 中增加class 级别的fixture
—2、在提取方法、替换方法,都添加一个参数:Data 类对象
在替换方法当中,向Data 类对象当中,取属性值
—3、在测试类当中:
调用class 级别的fixture,接收它的返回值
在调用的提取方法、替换方法当中,传参,Data类对象
示例代码如下:
—1、定义一个conftest.py ,在conftest.py 中增加class 级别的fixture
—2、在提取方法、替换方法,都添加一个参数:Data 类对象
在替换方法当中,向Data 类对象当中,取属性值
—3、在测试类当中:
调用class 级别的fixture,接收它的返回值
在调用的提取方法、替换方法当中,传参,Data类对象