1.假如现在有个项目,没有接口文档,你该如何进行接口自动化测试
1.没有接口文档,那就需要先跟开发沟通,然后整理接口文档
2.没有接口文档,可以抓包看接口请求参数,然后不懂的跟开发沟通
2.依赖第三方数据的接口如何进行测试?
用 mock
3. 当一个接口出现异常时,你是如何分析异常的
1.抓包,用fiddler工具抓包,或者浏览器上f12,app上的话,那就用fiddler设置代理,去看请求报文和返回报文了
2.查看后端日志,xshell连上服务器,查看日志
4.当接口返回成功,但实际数据库却没有相应的数据,你觉得有可能是什么问题?
1.如果此接口,不是对数据库操作的,这个可以忽略,
2.如果此接口本身就是要对数据库进行数据库修改的,而实际上数据库并没有修改,那么这就是个bug
bug定位的时候,我们需要去查看后台日志中是否有执行对应的sql语句
5.接口测试的流程是怎样的?
首先第一步要获取接口设计文档,要了解接口本身的业务,以及它的实现方式
第二步就是设计接口测试用例,一般是根据接口文档当中入参的参数以及相应结果的各种类型来设计。
第三步是利用工具或者接口自动测试框架来完成接口测试工作,我们重点关注下响应断言和数据库断言
6.鉴权接口怎么处理?
首先分析一下接口采用的是什么样的鉴权方式,是cookie的还是token那如果是cookies方式的话,我们只需要利用requests的session类将他实例化之后在我们每次请求的时候呢,通过他去传递,他会自动去记录顾客的信息,如果是token的方式呢那么你先要知道token他是怎么返回回来的,然后我们去提取token的值,在下一次请求当中带上token就可以了
7.cookie和session有什么区别?
Cookie保存在客户端的用户数据,而session是保存在服务端的用户数据,cookie既然保存在客户端就可以利用客户端的那些cooky进行cookie欺骗,当然cookie存储的数据的长度也是有限制的,session是在服务端存储用户的数据,默认情况下一个session就是我们去打开一次网页到关闭浏览器的过程通常来说我们会输入一些url然后进行一定的操作接下来我们会把这个网站关掉那么这个过程我们会称为一次session,这次session过程中用户的一些操作就会在服务器被记录下来,当用户非常多的时候他需要频繁的去获取服务器的用户信息这样的话就会对我们的服务器造成一定的性能影响,session严重依赖于(session ID)而且这种session ID通常来说是通过cookie的形式进行返回给客户端,当客户端禁用掉cookie以后session也就失效了
8. 接口测试流程
1.获取接口信息
API接口文档或者抓包来获取接口信息
2.接口测试用例
根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期的结果
3.接口发包
通过postman向接口传递参数
4.返回信息验证
获取接口返回的信息,进行解析和验证
9. get和post的区别?
Get要用url传参,明文提交,不安全,post要用body传参,密文安全性高,get有数据大小限制,post没有
10. 响应状态码
2开头 请求成功,3开头请求重定向,4开头,请求错误,5开头,服务器异常