简单记录下今年上半年实现的店销通接口自动化实现。

  店销通,是一个传统线下渠道和商贸流程+互联网业务平台, 能够将产品直接销售到终端门店, 从而使纯销几何级的增长,优惠及时、直接兑付到终端。

  从前公司只有店销通app,包括andriod和ios版本上线,今年新增了小程序支持,用户关注了店销通微信公众号后,微信与从前app账号绑定,使各权限用户在微信上接收到推送消息,方便用户。

  因为店销通app之前就已经上线了,我只负责介入测试此次的小程序,但是需求和功能基本和从前的app一样,此次也没有大的改动,所以前期花了3天大致了解需求,拿着开发提供的接口文档就开始了测试。花了大概5天使用postman完成了接口的入参出参测试,将发现的bug提交。(其实也几乎没有发现什么接口bug,毕竟之前都上线了,就是发现一个单价可以设置为负数的bug,印像比较深。可想之前做功能测试的时候后台管理的tester多么不仔细hhh)

  因为是自动化的小白,虽然之前网课培训班也讲过,但是没落地,这次也算有机会能够理论结合实践了。所以在功能测试和接口测试完后,花了大概一个多月完成了包括框架选型,框架设计,代码编写与调试,最后完成了11个常用的接口,合计40多个用例的实现。使用jenkins每周日定时执行,发送邮件。

  框架分为api层,用例层,数据层,报告层,工具层,以及测试套件run_suite.py,api层封装了一些接口,用例层存放的是测试用例,data层存储的是测试用户相关的数据,如产生的报告路径。报告层存放生成的html测试报告,工具层封装有一些工具,如查找数据库,调用SMTP库发送邮件,读取json串等。

选用的是python3+requests+unittest+HTMLTestRunner,运用了po模式思想,完成了用例的接口自动化。

 

框架的结构:

 

 

运行测试套件的入口:

 

 

实现发送邮件的部分:

 

 

   3月份初步写的几个接口用例还有工具类(hhhh,后来觉得报告丑又换了):

  

 

 

 

   6月份已经在用的时候,接口冒烟自动执行的用例:

 

 

   具体实现的代码就不贴了,项目还在用,封装的接口请求部分可以贴一下下。