访问被拒绝,你可能没有权限或未登录,或者你还在新人期。
接口自动化中,有几类接口,拿电商项目为例:
一类接口:商品分类接口,清空购物车接口,添加地址接口,修改地址接口;
另一类接口:提交订单接口,确认收货接口,换货,退货;
执行的时候,向第一类接口,用户操作的比较少;
第二类接口时刻在用,和主体业务息息相关,这类接口用户操作的比较多;
在框架:python+unittest+requests+HTMLTestRunner 如何,执行呢?
一个项目里面,接口有上百个,难道,真的要放到 同一个 TestSuite 中,一键执行吗?
正在从普通接口测试,往自动化接口测试这边过度
我把这些接口,按照业务写在十几个类中;
最终,都是放到同一个测试套件 TestSuite 中 ;
优先级?先执行与主题业务关联小,用户操作比较少的接口吗?
如:商品分类接口,清空购物车接口,添加地址接口
之后,执行用户操作的比较多的接口
如:提交订单接口,确认收货接口,换货,退货
是这样吗?
优先级一般是按照接口调用的顺序和次数来确定的,调用入口和次数多的都是优先级高的,先保证执行优先级高的接口,再往优先级低的接口走。
是的,调用顺序是看在 TestSuite 容器中,添加 TestCase 的顺序;
我写的也是这样,把重要的接口放在最上面,不重要的接口放在下面,把这些接口从上到下,依次排列开来;
就是因为这样,接口非常多,很多接口涉及到的业务比较紧密,无法管理;
请问,您是如何对调用入口和次数多的接口管理的呢?
TestSuite 执行测试用例并不是从上到下的顺序,默认是随机的,所以你这把重要的接口放在最上面,不重要的接口放在最下面并没有什么用;可以多用几个 TestCase 类管理,然后在 TestSuite 用自定义的方式调用。你可以看下 TestSuite 的源码,了解执行过程。
可以参考 httprunner 的思路,将测试数据,接口数据抽离出来,相同业务流程的在一个 testcase 中,动态创建多个 test 方法来执行接口
您说的是数据驱动测试吧,我需要先把这个写好了,后期在改写成数据驱动测试
TestSuite 是根据 ASCII 码的顺序加载测试用例的,TestSuite 源码之前我看过没有了解透,
我是通过 unittest.TestSuite().addTest() 来控制测试用例的执行顺序的