接口测试——postman
一、接口测试的准备工作
做接口测试之前需要有接口文档,请求参数,返回参数
二、使用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一下:

接口测试——postman的更多相关文章
- 接口测试——postman & jmeter
		
新名词: 自动化测试:写代码帮你测试 接口:是一个抽象的概念,一种交互关系. 抓包:拦截请求. 接口测试:就是功能测试,比后者还简单. 需要有测试文档,包括项目.模块.URL.请求方式.参数.参数说明 ...
 - 接口测试--postman简介
		
一.什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑 ...
 - 接口测试-postman,JMeter与LoadRunner比较
		
postman是一个谷歌出的轻量级的专门测试接口的小工具~(PS:postman包括两种:Chrome浏览器插件和postman客户端,我使用的是postman客户端)虽然不如firefox的post ...
 - Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试  Postman 使用方法详解
		
Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试 问题引入:做接口测试时,有依赖关系的接口往往不好测试( ...
 - 接口测试postman和Jmeter
		
接口测试属于功能测试的范畴,一般来说分为两种,一种是程序内部的接口,一种是系统对外的接口. postman测试接口 1. get请求: (1) 直接在浏览器中输入接口地址+?+参数 (2)使用post ...
 - 接口测试 Postman 做接口自动化测试_入门篇
		
可能是目前最好用的web接口调试工具 无需注册(注册后可多终端同步用例) 免费(每年付费$60可用云服务,30天免费试用) 保存历史记录 支持录制请求 基于Chrome的V8引擎,支持JS脚本(基本支 ...
 - 接口测试postman深度挖掘应用③--postman终结篇
		
上一章节我们介绍了postman的变量测试以及导入数据测试基本上技术性的东西已经差不过了,这篇文章再系统性的介绍一下. 一.下载 官网:https://www.postman.com 1.选择需要下载 ...
 - 接口测试postman深度挖掘应用②
		
上一篇文章我们已经介绍了postman的基本用法,以及接口测试原理.未关注博主的可以关注下博主,后期测试安全,以及各种工具用法,编程语言都会有讲解的 老样子:①先补习基础知识: ②补充上一章节由于过 ...
 - 接口测试——postman安装
		
http://www.jianshu.com/p/dd0db1b13cfc postman的视频终于过审了,https://ke.qq.com/course/229839#tuin=1eb87ef,大 ...
 
随机推荐
- Java-javaFx库运用-自动弹跳的球
			
(1)定义一个名为BallPane的类,用于显示一个弹动的球: (2)定义一个名为BounceBallControl的类,用来使用鼠标动作控制弹球,当鼠标按下的时候动画暂停,当鼠标释放的时候动画恢复执 ...
 - 通过Matlab SDK 获取tushare数据
			
概要说明 版本要求:Matlab需要2016b及以上版本 接口说明:可以用help pro_api和help pro_bar查看 demo程序:请参考tushare_pro_test.m文件 程序包下 ...
 - c++11 Thread库写多线程程序
			
一个简单的使用线程的Demo c++11提供了一个新的头文件<thread>提供了对线程函数的支持的声明(其他数据保护相关的声明放在其他的头文件中,暂时先从thread头文件入手吧),写一 ...
 - vc枚举本机端口信息
			
关于查看本机端口信息,可能大多数人都知道在cmd下的netstat 命令,殊不知该命令在底层也是调用相关api来实现的,相关函数有:GetTcpTableGetExtendedTcpTableGetU ...
 - Java 学习 时间格式化(SimpleDateFormat)与历法类(Calendar)用法详解
			
基于Android一些时间创建的基本概念 获取当前时间 方式一: Date date = new Date(); Log.e(TAG, "当前时间="+date); 结果: E/T ...
 - Git 如何使用ssh上传或者同步/下载项目到github
			
上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...
 - The Counting Problem
			
The Counting Problem 询问区间\([a,b]\)中\(1\sim 9\)出现的次数,0 < a, b < 100000000. 解 显然为数位递推,考虑试填法,现在关键 ...
 - 0704 Process继承实现多进程、Pool进程池,进程间通过队列通信,Pool实现多进程实现复制文件
			
通过继承的方式,实现Process多进程 from multiprocessing import Process import time class MyNewProcess(Process): de ...
 - 关于IDEA中maven项目中在pom.xml导入依赖报错的解决方法
			
报错详情 今天使用springcloud中的hystrix做服务降级的时候,导入下面的依赖,出现红色波浪线的报错信息 <dependency> <groupId>org.spr ...
 - SpringBoot_05_ssm拦截器和默认欢迎页面的设置
			
1.在springBoot下通过使用拦截器完成在没有登陆的前提下,不允许访问其他资源 编写拦截器,要实现HandlerInterceptor @Component public class UserI ...