接口测试(postman、jmeter)

一、什么是接口测试
通常做的接口测试指的是系统对外的接口,比如你需要从别的系统来获取到或者同步资源与信息,他们会提供给你一个写好的接口方法供你调用,比如常用的app,用户同步这些在处理数据的时候需要通过接口进行调用。

webService接口和http api接口是最常见的两种接口方式,后者最常用,采用http协议,有get 和post请求方法,返回的数据是json类型,接口测试也可以说是功能测试,通过调用接口从数据库中获取到数据,返回回来。

二、前端和后端
前端和后端如果说成客户端与服务端比较好理解,在浏览器上打开一个网页,打开一个管理系统,在一个APP上操作,这些都属于前端,他的作用就是显示页面,操作页面,而处理这些业务逻辑功能比如说页面上的非空校验,业务逻辑功能能都是通过后端来实现的,而前端和后端的交互正是通过接口来交互的。

三、get请求和post请求的区别
get请求接口的请求数据是放在url里面的,post请求接口的请求数据是放在body里面的,get请求可以在浏览器中直接访问,而post请求只能借助工具完成

四、cookie和session
cookie是存放在本地的一个健值对 对应的是key-value,session是存放在服务端的一个健值对k-v

五、接口测试的依据
接口规范文档,接口文档至少包括

1、接口说明 

2、调用url

3、请求方法(get\post)

4、请求参数、参数类型、请求参数说明 

5、返回参数说明 

六、HTTP状态码
每个发出去的http请求,都会返回一个状态码,用来标识这个请求是否成功,常见的状态码有以下几种:

1)200 2开头的表示请求成功

2)300 3开头的代表重点向

3)400 4开头的代表客户端发送的请求有语法错误

4)500 5开头的代表服务器有异常

七、通用接口用例

八、postman接口测试

1)get请求

    请求参数可以在url后面直接传参,多个参数用&符号,url?x=x&xx=xx

    header 用来传输一些额外的信息

例如:获取学生信息接口,postman测试操作截图

获取所有学生信息接口添加header信息,postman测试操作截图

2)post请求

 例如登陆接口,包含内容:post请求方式,请求url,参数在body处填写,点击send返回数据

 添加学生信息接口(入参是json类型),包含内容,请求url,post请求,参数在body内选择raw填写json串

 学生金币信息充值接口,包含权限认证需要添加管理员权限cookie,操作内容包含请求url,选择Headers添加cookie,body添加参数

 获取所有学生信息接口,添加header信息,操作包含内容,请求url,header添加Referer

文件上传接口

九、Jmeter接口测试
1) jmeter查看结果树乱码?

到jmeter的安装目录bin目录下找到jmeter.properties,添加sampleresult.default.encoding=utf-8

重启jmeter

2)jmeter body data里面有乱码怎么解决?

到jmeter的安装目录bin目录下找到jmeter.properties,添加jsyntaxtextarea.font.family=Hack

重启jmeter

3)jmeter参数化

    用户定义的变量 
        线程组-》添加-》配置元件-》用户定义的变量,添加名称,值,引用变量填写${变量名}

   函数助数
       选项-》函数助手对话框,选择函数功能,例如__random、__time ,选择后点击【生成】,把生成的函数字符串拷贝到请求数据中 ,__time生成的是时间戳,时间戳就是从计算机诞生那一天到现在过了多少秒,如果要转换其他日期格式,在函数助手框中取值处填写再生成

   文件读取
       线程组-》添加-》配置元件-》CSV Data Set config

 4)jmeter压测指标

线程组-添加-聚合报告可以看到并发用户数、响应时间(越快越好)、tps(服务端每秒钟处理的请求数  越大越好)。

5)用JSON Path PostProcessor关联获取返回信息

安装JSON Path PostProcessor插件
请求-》添加-》后置处理器-》SON Path PostProcessor
根据返回json参数中的对应数据进行提取,例如sign对应的k值是login_info即$.login_info.sign

 6)操作数据库步骤

1、安装mysql-connector-java-5.1.7-bin.jar,放到jmeter安装目录的lib目录下

2、测试计划-浏览,添加mysql-connector-java-5.1.7-bin.jar

3、线程组-添加-配置元件-JDBC Connection Configuration,填写数据库连接

4.线程组-添加-sampler-JDBC Request

选择操作类型,查询选择select statement 只限单条查询,如果多条查询可选择Callable Statement(不限格式)但除了最后一条sql,其他sql需要用;来结束, insert语句选择Callable Statement

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值