1、接口测试的准备工做html
作接口测试以前须要有接口文档,请求参数,返回参数json
2、使用postman进行接口测试api
1.get请求浏览器
①get请求能够直接在URL后面添加问号加参数,不须要使用工具来测试接口:cookie
②将stu_name改为小黑app
以上是单个参数的传参,若是是有多个参数的话,使用&来链接多个参数传参:url?name=小黑&sex=女&age=18工具
2.post请求post
①登陆接口:填写URL,请求方法;在body-->form-data里面填写参数以及value,根据接口说明文档判断返回的对错。测试
②注册接口:填写URL,请求方法,在body-->form-data里面填写参数以及value。注册一个新的登陆用户,而后看看注册的用户可否登陆。编码
③cookie
a.页面抓包:浏览器输入https://qun.qq.com/member.html,点击右键--->检查--->network--->XHR,而后刷新页面就能抓到包了。
XHR---------表明发出去的接口的请求
①get_group_list-------------获取群列表的接口;create---我建立的群;join--我加入的群;manager----我当管理员的群
②get_friend_list----------获取好友的接口;0_99表明某个分组内的阶值。
③search_group_member-----------获取左边的这个群的信息的接口,
从抓到的包中获取到了接口的地址,接口的请求参数,接下来使用postman发送一次请求:
①get_group_list-------------获取群列表的接口,从header中找到URL、请求参数、cookie
cookie填写在headers下面,如图所示:
②get_friend_list----------获取好友的接口;
③search_group_member-----------获取左边的这个群的信息的接口,
这两个接口的方法与获取群列表的接口方法相同。
④header
这里须要在headers里面传一个Referer,Referer 的做用就是判断这个URL是从哪里点进来的
⑤入参是json类型的
body--->raw---->json(application/json),将json串直接复制过来便可。运行成功后,使用查询学生接口查询是否能查到这个新添加的学生信息
⑥上传文件接口
填写URL,请求方法,body--->form_data--->填写key---->选择file----->value栏的select files选择须要上传的文件便可。
⑦保存接口
为了方便下次调用,将接口分类保存起来。
⑧变量定义
当有不少接口须要修改ip的时候,能够将ip定义成一个变量,调用接口的时候直接引用变量便可,方便且不易出错。调用的时候直接是{{ip}}便可。
调用接口的时候直接将这一串的ip使用参数替换就能够了,如图{{ip}},它就会自动的取刚才定义的变量。
3、接口测试用例
接口的测试用例与功能测试用例的编写方法相同,只需将全部业务点覆盖到就能够了。
4、接口自动化
①URL:https://www.apiopen.top/novelSearchApi?name=盗梦笔记
②将url复制到postman上,考虑到各类场景的测试,url后面的name=盗梦笔记就使用变量来代替:https://www.apiopen.top/novelSearchApi?name={{book_name}}
③在桌面编写一个文本文件book.txt,写有3条数据:红楼梦,西游记,水浒传。(特别提醒:book.txt的编码须要保存为utf-8格式)
④postman调用接口并保存
⑤Runner
点击Runner---->上课用的接口--->查询小说接口
各个选项的选择如图所示:
⑥Run 上课用的接口,咱们这里有3条数据,它就会帮你运行3次,以下图所示表示3次请求都获取到了。
第二种状况:
运行,以下图,共有3条登陆请求,其中有2条是登陆成功的,可是有1条是登陆不成功的,由于帐号密码错误。这里,咱们须要手动查看每一条请求的成功与否,为了能实现自动校验结果,咱们使用了postman来实现接口的自动化。
5、postman实现接口的自动化
1.调用登陆接口:
点击tests--->Responses body:contain string)--->修改test()的内容和include()的内容。
以下图所示,这样就加了检查点。它就会自动的帮你检查,每次调用完这个接口以后有没有返回userid,sign。假如是返回了,那么你的这条用例就过了,没有返回就是失败。填好以下信息,保存。而后就点Run。
这样就能直观的看出第一条和第二条用例成功了,第三条失败(由于帐号密码是错的),因此就报错了。
6、检查点不是统一的。
上面的例子中,检查点是单一的;当检查点都不同的时候,就能够这样写:
调用查询小说的接口:
①在文本文件里面写上check列:
postman的写法:
写法一:
或者是写法二:
Run一下: