一、接口测试概念
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口:就是从数据库里面取数据库、插入数据。前端、后端通过接口交互数据。
接口测试本质上就是功能测试,它比功能测试更简单。功能测试是在页面上进行操作、输入、提交、查看数据结果,而接口测试没有页面,是通过接口规范文档上的调用地址、请求参数,拼接报文,然后发送请求,检查返回结果。
二、接口文档
三、接口请求报文拼接
四、get、post请求的区别
七、接口测试工具
1、postman
1)get请求
get请求不需要借助工具,在浏览器里面就可以发起请求
格式:url?parma=abc&name=def 多个请求参数用
header信息需要放在headers里面
2)post请求
请求类型为post,输入url,选择参数类型为Body--form-data
- 入参是json类型
- 添加cookie信息
cookie信息添加在Headers里面,其它参数在Body里
- 文件上传
文件上传,key类型选择file类型
2、jmeter
1)打开jmeter
双击 jmeter bin目录下 jmeter.bat 文件,打开jmeter
2)解决jmeter返回有乱码
jmeter bin目录下 jmeter.properties 文件最的一行加上 sampleresult.default.encoding=UTF-8,重启生效
3)bodydata里面汉字显示不出来
jmeter bin目录下 jmeter.properties 文件最的一行加上 jsyntaxtextarea.font.family=Hack,重启生效
4)jmeter参数化
③用户定义的变量
④使用文件参数化
添加-->配置元件-->CSV Data Set config
filename:文件绝对路径
Variable Names:参数名称,多个参数用 , (逗号)隔开,使用参数时用${参数名}
Delimiter:分隔符,默认逗号。
Allow quoted data:是非选项,是否允许变量中间有分隔符,这里最好先默认false,数据中间最好不要有分隔符。
Recycle on EOF和Stop thread on EOF:是否循环,到结尾是否停止测试。
Sharing mode:选择哪些线程可以利用此参数化。
⑤关联
添加-->后置处理器-->JSON Path PostProcessor
Variable names:变量名
Json Path expressions :返回值中的值。$表示根{},login_info是下一级{},sign是要取的值
关联好后,使用${sign}就可以使用返回值,使用关联值的脚本放在后面,jmeter顺序执行
- 添加线程组
- 添加http请求
- 添加查看结果树
6)jmeter接口实例
- get请求
- 带header的get请求
- post请求
- 入参是json的post请求
- 添加cookie的post请求
- 文件上传
7)jmeter连接数据库
1、导入jar包
在“测试计划”中加入mysql的jar包,其它数据库加入对应的jar包。
2、添加数据库连接
线程组--》添加--》配置元件--》JDBC Connection Configuration
数据库连接配置:
名称:数据库连接的名字
线程组--》添加--》Sampler--》JDBC Request
Variable Name:与JDBC Connection Configuration中的Variable Name 保持一致就可以
Query Type:
1、Select statement
这是一个查询语句类型;如果JDBC Request中的Query内容为一条查询语句,则选择这种类型。
2、Update statement
这是一个更新语句类型(包含insert和update);如果JDBC Request中的Query内容为一条更新语句,则选择这种类型。
3、Callable statement
Query内容为多条查询语句、更新语句或者都有,则选择这种类型。
8)jmeter分布式
jmeter当前压力机的性能不能满足测试需求,就需要借助其它压力机共同完成压力发生操作。
添加压力机:两台电脑要能互相ping通