接口测试基础知识
接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。把前端(client)和后端(server)联系起来,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。更早的进入介入测试能提高对应效率,当后端和前端定义好接口以后可以直接对系统的逻辑进行测试,而不用等待后端开发完后在进行测试。
接口请求一般用HTTP的请求,方法大多数为:GET, POST ,HEAD,OPTIONS, 等其他方法。
GET请求:请求指定的页面信息,并返回实体主体。(通常用来接收数据)。在浏览器上可以直接发请求例如:(url+对应路径+?参数名=xxx http://xxxxxxx/api/user/stu_info?stu_name=牛牛&sex=女&xxx=xx 多个参数时用“&”连接)
POST请求:向指定资源提交数据进行处理请求,数据被包含在请求体中。POST请求可能会导致新的资源的建立、已有资源的修改。(通常用来发送数据)。
HEAD请求:类似于get请求只不过返回的响应中没有具体的内容,用于获取报头。
OPTIONS请求:允许客户端查看服务器的性能。
接口调用传参方式:key-value参数形式,Json串传参形式。
key-value参数:把参数拼接在url的后面由?相连,多个参数之间用&相连。
Json串传参:需要在请求的body写中,入Json格式参数。
Cookie和session区别:
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份Session通过在服务器端记录信息确定用户身份
1.存取方式不同:cookie数据存放在客户的浏览器上,session数据放在服务器上。
2.隐私安全:cookie不是很安全,别人可以分析存放在本地的cookie并进行cookle欺骗考虑到安全应当使用session。
3.有效时间:session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookle。
4.服务器负担:单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
http状态码
1xx :信息服务器收到请求,需要请求者继续执行操作
2xx:成功,操作被成功接收并处理
3xx:重定向,需要进一步的操作以完成请求
4xx:客户端错误,请求包含语法错误或无法完成请求
5xx:服务器错误,服务器在处理请求的过程中发生出错
其他具体状态码报错可以参考 http://www.runoob.com/http/http-status-codes.html
测试接口前需知接口文档
接口测试用例模板
Jmeter脚本
JMeter 是用Java开发的桌面应用,用于压力测试和性能服务的受压能力或者分析不同压力条件下的总体性能情况,JMeter提供的图形化界面,分析性能指标或者在高负载情况下测试你的服务器/脚本/对象。JMeter也 能够通过断言创造测试脚本来验证我们的应用程序是否返回了我们期望的结果,帮助我们回归测试我们的程序。可链接的取样器允许无限制的测试能力,支持脚本编程的取样器。
jmeter查看结果树时出现乱码: 在jmeter的bin目录下找到jmeter.properties这个文件上添加 sampleresult.default.encoding=utf-8 重启jmeter。
jmeter body data里面有乱码:在jmeter的bin目录下找到jmeter.properties这个文件 添加上 jsyntaxtextarea.font.family=Hack 重启jmeter。
打开jmeter首先要在测试计划下新建一个线程组---请求方法—查看结果数
测试计划右键—添加—Thread—线程组
线程组右键添加—sampler—选择对应请求(一般选http请求)
线程组右键添加—监听器—选择察看结果数
当需要添加cookle值时需要添加一个http信息头管理器(线程组右键--添加--配置元件--HTTP信息头管理器)(名称:cookle 值:用户名=sign 备注:用户名是你登录时填写的名称,sign是保存服务器的cookle信息, 具体操作看“5金币添加”,如果接口有提示填写对应的值就按接口提示进行填写如“6.获取所有学生信息”)
1.注册接口
2.查询学生信息
3.登录接口
4.添加学生信息
5.金币充值
6.获取所有学生信息
7.文件上传
postman脚本
Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口,postman既可以以chrome浏览器插件的形式存在,也可以是独立的应用程序存在。
直接打开postman选择接口方法,输入对应接口地址,如post方法在Body中填写对应参数直接回车(备注:当需要添加cookle值时在Headers下选择填写对应的值)
1.用户注册
2.查询用户信息
可以直接在路径上数据对应参加查询用户的值(如果参数有多个组合用“&”连接 例如:192.168.1.1/xxxx/xxxx/xxx?参数名=用户值&参数名=用户值)
3.登录
4.添加用户信息
5.添加金币
需要cookle的值首先要登录账号查询当前账户的sign,然后添加到Value内,给对应人员添加金币需要先查询该人员id号。
6.获取所有学生信息
接口文档内有对应Headers值时填写对应的key和value
7.上传文件
postman断言
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取