哈哈,个人感觉接口测试是比较简单的,总算不需要一直点点点了,可以用工具和代码辅助进行软件测试了,我学习了半个月的接口测试,学到了jemter测试工具以及python+requests测试,感觉各有各的优点,写代码我觉得比较好看报错的地方,然后去检查是自己的问题还是确实是项目的bug,如果是jemter,就比较麻烦了,拓展性也没有那么好。但是jemter的好处就是非常节省时间,测试很多时候最需要的就是时间了。
接口测试的具体工作流程如下:下面这个以jemter为例
开发在拿到需求文档以后就开始编写接口文档了,然后项目有关人员就需要开会评审接口文档
评审完成后,我们拿到了接口文档就可以编写接口案例了
编写案例的时候我们需要了解接口请求的ip和端口号,接口的请求方式,请求路径,请求参数,约束条件,加密方式。还要关注“业务响应码”,一个响应码就是一个测试点。
编写完案例就需要进行接口案例评审(与功能测试一起),然后搭建好测试环境,准备好测试数据就可以开始测试了,
编写jemter测试脚本,先设置一个线程组,在线程组下添加http请求,请求内配置ip,端口号,url编码,请求方式,请求参数,并添加察看结果树,还可以根据需求添加参数化,断言等。
如果在运行后,出现接口运行失败,并且报404,或者500的错误,先查看自己的请求路径有没有问题,看看请求参数有没有问题
如果确实是接口本身存在bug,就把服务器上的日志取下来,和开发沟通后,在禅道上提bug单给开发修改。
后面一直到接口都没问题了,就可以使用Jenkins+Ant+Jmeter上做持续集成的接口自动化测试(回归测试),定时跑测试脚本,生成html测试报告,并自动发送邮件给相关人。
下面是用python+requests+pytest+allure或者python+requests+unittest+ddt进行测试
两种测试框架都很好,但是我比较习惯喜欢用unittest+ddt可能是因为这个用的多,不过pytest比较流行,读者可以自行选择,也可以两种都多学习一下
首先,对于这种框架,我们需要进行代码分层处理:核心层是api和testcase层
api层:存放api接口类,主要是一些调用接口的api
testcase层:定义测试类,类中定义测试方法,可以使用参数化,断言,异常处理,日志处理等。
common层:通用层,存放通用的方法,比如已登录获取到的token值等
data层:数据层,用于存放测试需要使用的测试数据。
log层:存放日志层
report层:存放生成的html测试报告
tools层:存放工具类,比如说存放访问数据库的类,类中定义访问数据库的方法,还有存放log日志类,存放日志的处理方式,还可以定义存放访问文件的类
main.py:主文件,运行测试类或者测试方法
2.脚本调试好,没有问题了,可使用jenkins进行持续集成的接口自动化测试,定时跑测试脚本,生成html
测试报告,并自动发送邮件给相关人。