实例介绍
PostMan使用手册,含各类场景的使用,快速上手,备忘查询
Postman使用手册
Postman下载地址
下载地址: https://www.getpostman.com/apps
新建测试集、文件夹、请求用例
- Postman测试管理的单位是测试集(Collections),测试集内可以创建文件夹(Folder)和具体的请求(Requests)。要写用例说先第一步把架子搭好,直接点击左边栏上面的添加目录图标来新增一个测试集(collections),这样就等于新建了一个项目,我们可以把一个项目或一个模块的用例都存放在这个集中;然后在测试集之下我们还可以再建立文件夹(folder)来进行功能用例的细分(点击用例集右侧三个点, 选择“Add Folder”完成文件夹的创建)。
- 创建了项目目录后我们就可以新建用例了,具体是点击右侧区域的 号来新增一个空用例的模板,也可以通过复制一个已有用例来达到新建一个用例的目的。
添加请求信息
用例建好了请求内容还是空的,我们首先需要添加相应的请求信息,这部分的操作都在右侧的信息区域,一般流程如下: (1)选择一个请求方法,如:get或post (2)填写请求的url,如:http://www.baidu.com (3)如果是get则请求参数直接写在url后,用?连接,如果是post则请求添加在body中 (4)点击“send”发送请求 (5)查看请求响应内容
认证信息
尽管请求编辑器已经足够强大去构造各种各样的请求,但是有的时候你的请求可能是需要认证,那么就可以尝试使用下面的认证功能了(由于认证的参数信息属于敏感数据,为了保证在协作环境中工作时数据的安全,建议使用变量)
下面分别说明下拉选项中的认证方式:
No Auth
不需要认证,这是默认选中的
Bearer Auth
填写Token进行验证,JWT中有使用
Basic Auth 基础身份验证
输入用户名和密码,直接发送明文数据,在点击Preview Request按钮就会自动在Headers中生成authorization header.
或者直接发送请求,也会自动把authorizationheader 添加到 Headers 中
Digest Auth 摘要认证
消息摘要式身份认证是在基本身份认证上面扩展了安全性,服务器为每一个连接生成一个唯一的随机数,客户端用这个随机数对密码进行MD5加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果 客户端请求资源->服务器返回认证标示->客户端发送认证信息->服务器查验认证
过程:
-
发送一个请求
GET /auth/basic/ HTTP/1.1 HOST: target
-
服务器返回401响应头,要求输入用户凭据
HTTP/1.1 401 Unauthorized WWW-Authenticate: Digest realm="Digest Encrypt",nonce="nmeEHKLeBAA=aa6ac7ab3cae8f1b73b04e1e3048179777a174b3", opaque="0000000000000000",stale=false, algorithm=MD5, qop="auth"
-
输入凭据后再发送请求
GET /auth/digest/ HTTP/1.1 Accept: */* Authorization: Digest username="LengWa", realm="Digest Encrypt", qop="auth", algorithm="MD5", uri="/auth/digest/", nonce="nmeEHKLeBAA=aa6ac7ab3cae8f1b73b04e1e3048179777a174b3", nc=00000001, cnonce="6092d3a53e37bb44b3a6e0159974108b", opaque="0000000000000000", response="652b2f336aeb085d8dd9d887848c3314"
-
服务端验证通过后返回数据
返回401请求头时,对于WWW-Authenticate 各个域的作用:
- realm: 是一个简单的字符串,一般是是邮件格式
- qop: 是认证的(校验)方式,这个比较重要,对后面md5的加密过程有影响
- nonce: 是一个字符串,唯一的、不重复的(还可以包含一些有用的信息,进行验证)
- opaque: 是个字符串,它只是透传而已,即客户端还会原样返回过来
- username: 用户认证的用户名
- uri: 本次资源的位置
- cnonce: 客户端随机参数的GUID
- nc: 是认证的次数,因为如果认证失败,则仍然可以重新发送认证信息继续认证
- response: 这个值很重要,是根据以上信息加上密码根据一定的顺序加密生成的MD5值,服务端在收到这个信息后,也根据相同的方式计算出这个值,而密码保存在服务端。服务端根据用户名去找密码,计算出MD5值,如果和客户端传过来一致,就认证通过,否则不通过
OAuth 1.0 / OAuth 2.0
现在大多数授权登录都是基于 OAuth 2.0
这两种认证方式,就不具体介绍了。网上讲解的比较多
不了解的可以看看这个文档:理解OAuth
Hawk authentication
hawk是一个HTTP认证方案,使用MAC(Message Authentication Code,消息认证码算法)算法,它提供了对请求进行部分加密验证的认证HTTP请求的方法,包括HTTP方法、请求URI和主机。
hawk方案要求提供一个共享对称密匙在服务器与客户端之间,通常这个共享的凭证在初始TLS保护阶段建立的,或者是从客户端和服务器都可用的其他一些共享机密信息中获得的
举例过程:
-
发起一个资源请求
GET /resource/1?b=1&a=2 HTTP/1.1 Host: 127.0.0.1:8000
-
服务器返回401响应头
HTTP/1.1 401 Unauthorized WWW-Authenticate: Hawk
-
客户端之前已经获取一组Hawk访问资源的资格证书在对应的服务器上资格证书包含以下的属性:
Key identifier(Hawk Auth ID): dh37fgj492je Key(Hawk Auth Key): werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn Algorithm: hmac-sha-256
-
客户端通过计算时间戳来生成认证报头,并构造标准的请求字符串
1353832234 GET /resource/1?b=1&a=2 127.0.0.1 8000 some-app-data
-
使用Hawk凭证中的Algorithm指定的加密算法加上Key(Hawk Auth Key)指定的key进行加密,之后把结果在经过bae64转码为/uYWR6W5vTbY3WKUAN6fa 7p1t 1Yl6hFxKeMLfR6kk=
-
客户单在发送请求,在Authorization头字段包括Key identifier(Hawk Auth ID)指定的id,时间戳,以及加密生成的MAC
GET /resource/1?b=1&a=2 HTTP/1.1 Host: 127.0.0.1:8000 Authorization: Hawk id="dh37fgj492je", ts="1353832234", ext="some-app-data", mac="/uYWR6W5vTbY3WKUAN6fa 7p1t 1Yl6hFxKeMLfR6kk="
-
服务端收到请求后再次按相同的算法计算出MAC,并验证Hawk凭证的有效性,如果验证通过就返回结果
这个认证的方式 npm中有包,里面有案例,可以查看一下hawk
AWS Signature
AWS的使用者可以使用自定义的HTTP方案基于HMAC的加密算法去认证
Postman使用手册
Postman下载地址
下载地址: https://www.getpostman.com/apps
新建测试集、文件夹、请求用例
-
Postman测试管理的单位是测试集(Collections),测试集内可以创建文件夹(Folder)和具体的请求(Requests)。要写用例说先第一步把架子搭好,直接点击左边栏上面的添加目录图标来新增一个测试集(collections),这样就等于新建了一个项目,我们可以把一个项目或一个模块的用例都存放在这个集中;然后在测试集之下我们还可以再建立文件夹(folder)来进行功能用例的细分(点击用例集右侧三个点, 选择“Add Folder”完成文件夹的创建)。
-
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论