转自:http://blog.csdn.net/sxyzwq/article/details/62039952
一,接口测试自动化的优点:
1,web自动化说起来很多人都会直接想到UI自动化这个设计,很少有人直接第一个概念是接口自动化,接口测试的开发更加快捷方便,维护工作比起UI自动化更加容易,例如:有一个项目,做完第一周期以后,后面需求变动,所有的页面都需要更换,功能稍有变动,这时候ui自动化维护起来就比较麻烦,工作量较大,所有的页面对面都需要从新进行封装调试,这时候如果只是接口自动化,接口不发生改变,完全可以不用就行太多的维护修改。这样节省了很多的时间,而且接口自动化的开发有一个好处是,不用完全等到页面设计开发完成后才进行,只要后台开发员的功能接口设计开发完成,测试人员就可以进行设计开发脚本。
二,接口自动化框架的介绍:
主要包含:
1,Requests模块发送给予http的网络请求,主要包含了post,get,PUT, DELETE, HEAD
2,Python+unittest单元测试框架,构建测试框架,包括测试脚本构成,测试脚本的运行,测试脚本集成,测试报告生成(HTMLTestRunner)
3,xlrd数据驱动的读取,作用于excel文档,smtplib用于测试邮件的发送
三,接口自动化的开发过程(本篇只做一个简单演示代码):
1,构建自动化的测试目录
测试目录主要包含了public,test_report,testcase,分别用来存放公共函数或者类,测试报告,测试用例
2,编写公共函数或者类用于后面测试用例的调用,测试报告的生成
首先编写一个BASEWAY,发送邮件函数,用于后面的测试完成后告知测试情况发送测试消息
编写读取excel数据函数,用于读取测试数据,测试用例调用excel数据做准备
编写excel数据写入函数,可以把测试结果写入excel表格中,仅供参考使用
2,编写测试用例,下面代码只是一个简单的演示代码,仅供参考
3,测试case编写完成后,我们就可以执行测试用例,利用unittest中的defaultTestLoader.discover方法进行对测试用例的集成,组件测试套件,然后利用runner.run()方法运行测试套件,最后生成基于HTMLTestRunner测试报告,具体代码如下:
测试完毕后发送测试邮件给测试人员,最后查看测试报告