接口:把client(前端)和server(后端)联系起来的就是接口,接口测试就是功能测试,进行接口测试首先得需要接口文档。
json是一种通用的数据格式,接口返回的数据都是json,json是key--value形式的 (键值对)。例:{"name":"xiaohei","sex":"男"}
一、.根据接口文档进行接口测试 ,首先确认请求类型(大多数用到post和get请求),get请求不需要借助任何工具,用浏览器就可以发请求。如:获取学生信息为get请求可直接在浏览器发送请求,输入url地址和参数即可查询。如:http://***.**.*.**/api/user/stu_info?stu_name=小黑(stu_name)为参数。如果有多个参数可用&分隔开。
1.如果是post请求,需借助工具,如postman。举例:如登陆接口请求是post,输入url地址,在body里输入参数,key-value形式。
2.入参是json类型的,需要输入参数,格式选择json
3,添加cookie:在headers添加cookie,.cookie中key为登录用户名,value从登录接口中获取,登陆成功之后会返回sign如下:
4,需要添加header信息,请求方式 为get。
5.上传文件file
.
http请求分为两个部分,请求头 header和请求体body
请求头里面呢是一些额外的信息,比如说用的什么浏览器,cookie
请求体里面传的是具体的数据。
post请求和get请求的区别:1.get请求只有请求头,是没有请求体的。它的数据直接放在url里面的,post请求数据是放在body里面的
2、get请求有长度限制,post请求没有。(在以前的时候技术不好,有长度限制。现在早就没有了)
3.get请求没有post请求安全。(只要通过抓包,post请求的数据一样也可以看到)
http 状态码: 200 请求成功 302 重定向 404 客户端发出去的请求不合法 500 服务端有问题
二、jmeter : jmeter 开源的、java开发的一个压力测试工具 。 jemter的使用:
1.首先需添加线程组如图,然后添加http请求如图:输入ip地址 路径等信息 确认是post还是get请求 输入参数
返回结果:添加结果树 返回结果如 下:
2.入参是json类 型 返回结果:
3.添加cookie cookie 中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign如图,需添加信息头管理器,返回结果:
4.添加header信息,同上一步添加http请求,然后添加信息头管理器如图:返回结果:
5添加file,文件上传 如图:点击浏览选择文件,输入参数名称
三、jmeter参数化
1,用户定义的变量:线程组右键--添加---配置原件----用户定义的变量
2、函数助手里面的;选项---函数助手对话框
__random(生成的字符串可粘贴在用户名后, 随机加1 ,可在线程组----循环次数---更改次数多循环几次可查看效果)
__counter(生成的字符串可粘贴在用户名后, 顺序加1)
__time(取时间时间格式年月日时分秒yyyyMMddHHmmss ,取哪个值输入哪个格式即可)
如果在-time对话框不填写任何数据 直接生成字符串 粘贴在名称后 运行生成的时间表示时间戳
时间戳: 从计算机发明那一天到现在过了多少秒 jmeter是java开发的,Java里面的时间戳默认是精确到毫秒
所以你要除以1000才是真正的时间戳(截取值去掉后三位,百度时间戳转化器 可用时间戳转化为实际时间)
例 如图:格式化时间 时间戳表示的时间
四、读取文件:添加csv date set config,
五、关联:可添加
1、调用第一个接口,然后从这个接口的返回数据里面拿到某个值
2、放到第二个接口里面来用。
添加debug sampler 查看调用结果