一、接口测试
接口测试:就是把client和server端联系起来的。
Json是一种通用的数据类型,因此,任何支持的类型都可以通过 JSON 来表示。
Json语法:Json 键/值对(key-value)
key写在前面,并用双引号""括起来,中间用冒号:分隔,然后紧挨着值:
{"name":"aaa",
"sex","女"
}
二、Postman设置环境变量
1、添加环境变量
点击设置,打开“Manage Environments”对话框
点击下面的“Add”按钮,添加一个名为“test”的一组环境变量,key是“test”,value是“XXXX”,接口中URL用{{test}}来引用这个值
三、用Postman做接口测试
接口测试中常用的请求为get和post请求方式
Get与Post区别:
1、get的数据是直接放在URL里面的,post请求的数据是放在body里面的。
2、get请求有长度限制,post没有长度限制。
3、get请求没有post请求安全,get请求参数会显示在地址栏上
4、get是从服务器上获取数据,post是向服务器传送数据。
1、Get请求实例:
例1:stu_info:获取学生信息
例2:all_stu:获取所有学生信息
--这个接口是为了说明怎么添加header信息的,需要在header里添加Referer ,用来获取所有用户。
2、Post实例
例1:login:登录
例2:add_stu:添加学生信息
入参是Json类型
例3:gold_add:金币充值
该接口有权限验证,需要admin用户才可以做操作,需要添加cookie
例4:file_upload:文件上传
四、用Jmeter做接口测试
jmeter 是一个开源的java开发的压力测试工具。
jmeter查看结果树乱码
1、在jmeter的bin目录下找到jmeter.properties这个文件
添加上
sampleresult.default.encoding=utf-8
2、重启jmeter
jmeter body data里面有乱码怎么解决
1、在jmeter的bin目录下找到jmeter.properties这个文件
添加上
jsyntaxtextarea.font.family=Hack
2、重启jmeter
以下是Jmeter页面
使用步骤:
1、添加线程组
测试计划右键->添加->Threads(Users)->线程组
2、添加HTTP请求
线程组右键->添加->Sampler->HTTP请求
3、输入服务器名称或IP,HTTP请求的方法Get或Post,输入路径,参数和值。
4、设置用户定义的变量
添加用户定义的变量是为了通过用户定义变量的方式来取得HTTP请求的服务器名称和IP,格式为${用户定义变量的名称}
在线程组右键->添加->配置元件->用户定义的变量
填写用户定义变量的名称和值
5、察看结果树
察看结果树是为了察看HTTP请求的结果信息
添加察看结果树
在线程组右键->添加->监听器->察看结果树
启动请求后,点击察看结果树,就可以察看请求的结果
6、HTTP Cookie管理器的应用
以学生金币充值为例,建议HTTP请求,填写服务器名称或IP,请求方式为Post,填写名称和值
学生金币充值右键->添加->配置元件->HTTP Cookie管理器
cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign
注意:1、如果把HTTP Cookie管理器放到某一个接口下面,运行时只有这个接口会发送cookie
2、如果把HTTP Cookie管理器放到线程组下面,每执行一次请求就会给所有接口发送cookie
五、Jmeter参数化
1、用户定义的变量(用法在上方已说明)
2、__Random随机数
选项->函数助手对话框
选择__Random函数,填写最小值和最大值,点击【生成】按钮,生成函数字符串
以user_reg接口为例,把函数字符串 粘贴到username后面
在线程组中增加循环次数
请求该注册接口,察看结果树
3、__counter函数
线程组->函数助手对话框->__counter函数
4、__time函数
线程组->函数助手对话框->__time函数
5、从文件里面读
以gold_add接口为例,先获取所有学生信息的id,把所有id存到一个文件里,如文件名为user.txt
在线程组->添加->配置元件->CSV Data Set Config
填写文件的绝对路径和变量名
注意:1、如果文件不写绝对路径,只写文件名,把文件保存在Jmeter的bin目录下即可。
2、如果有多列,Delimiter显示的是什么符号,就用什么隔开
调用变量名
六、关联
调用第一个接口,然后从第一个接口中返回的数据里面拿到某个值,传到第二个接口中
如:调用登录接口,从登录接口返回的数据里面拿到sign值,传到学生金币接口
1、在登录接口下方添加jp@JSON Path Extractor
2、填写变量名和JSON Path Extractor
3、调用登录接口放到学生金币接口中用
若想查看sessionid有没有取到值,在线程组->添加->Sampler->Debug Sampler
察看结果树