一、接口测试的准备工作
做接口测试之前需要有接口文档,请求参数,返回参数
二、使用postman进行接口测试
1.get请求
①get请求可以直接在URL后面添加问号加参数,不需要使用工具来测试接口:
②将stu_name改成小黑
以上是单个参数的传参,如果是有多个参数的话,使用&来连接多个参数传参:url?name=小黑&sex=女&age=18
2.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,变量值是http://xxxx.cn
调用接口的时候直接将这一串的ip使用参数替换就可以了,如图{{ip}},它就会自动的取刚才定义的变量。
三、接口测试用例
接口的测试用例与功能测试用例的编写方法相同,只需将所有业务点覆盖到就可以了。
四、接口自动化
①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来实现接口的自动化。
五、postman实现接口的自动化
1.调用登录接口:
点击tests--->Responses body:contain string)--->修改test()的内容和include()的内容。
如下图所示,这样就加了检查点。它就会自动的帮你检查,每次调用完这个接口之后有没有返回userid,sign。假如是返回了,那么你的这条用例就过了,没有返回就是失败。填好如下信息,保存。然后就点Run。
这样就能直观的看出第一条和第二条用例成功了,第三条失败(因为账号密码是错的),所以就报错了。
六、检查点不是统一的。
上面的例子中,检查点是单一的;当检查点都不一样的时候,就可以这样写:
调用查询小说的接口:
①在文本文件里面写上check列:
postman的写法:
写法一:
或者是写法二:
Run一下: