Postman接口测试教程【3】_Authorization(授权)&&Generate code snippets(生成代码)
一、Authorization(授权)
当请求编辑器强大到足以构建任何类型的请求时,可以处理身份验证协议;
1、基本认证(Basic Auth)
Basic Auth:填写用户名和密码,点击Update Requests;
2、Digest Auth
Digest Auth:要比Basic Auth复杂的多,使用当前填写的值生成authorization header,所以在生成header之前要确保设置的正确性,如果当前的header已经存在,postman会移除之前的header;
3、OAuth 1.0a
OAuth 1.0a:签署支持OAuth1.0基于身份验证的请求,OAuth不用获取access token(令牌),你需要去API提供者获取的,OAuth1.0可以在header或者查询参数中设置value;随后的OAuth请求可能会期望不同的随机值,如果启用了自动添加参数,Postman可以在发送请求之前刷新OAuth签名。OAuth 1.0规范相当复杂,有很多变化。
Postman包括的几个选项:
(1)、Add params to header--》如果启用此复选框,则params将添加到标题中。如果没有,GET请求的URL参数和POST / PUT请求的请求体。
(2)、Add empty params to signature--》OAuth1.0的一些实现需要将空参数添加到签名中;
4、OAuth 2.0a
PostMan支持获取OAuth 2.0令牌,并将其轻松添加到请求中。
要从OAuth 2.0提供程序获取访问令牌,请按照下列步骤操作:
(1)、单击“Get New Access Token”按钮打开Model。您将看到https://www.getpostman.com/oauth2/callback 回调URL;
(2)、从API提供商获取授权URL,访问令牌URL,客户端ID和客户机密钥的值。这些值将被提供给你的API提供者。或者,您可以设置一些API所需的Scope参数,以设置在API中具有的访问级别。
(3)、按“Request Token”按钮启动OAuth 2.0流程。如果一切都正确设置,您将被重定向到Postman服务器,该服务器将接收您的访问令牌并将其发送到Postman应用程序。要完成向PostMan添加令牌,请给它一个名称,以便以后可以快速访问。
(4)、如果您的OAuth2提供程序不可公开访问(托管在本地或内部网),请确保启用“Request Access Token Locally’”选项。
(5)、访问令牌存储在本地,并将显示在帮助列表中。要向请求添加访问令牌,请单击Token名称。
5、Hawk authentication
Hawk:使用消息认证码(MAC)算法来提供部分HTTP请求加密验证的HTTP认证方案;
6、AWS Signature
AWS用户必须使用基于密钥HMAC(哈希消息认证码)的自定义HTTP方案进行身份验证。
PostMan支持这个开箱即用;详细了解AWS签名AWS文档:
http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html
二、Generate code snippets(生成代码)
(1)、PostMan可以让您以各种语言和框架生成代码段,点击Code--》进入GENERATE CODE SNIPPETS模式;
(2)、选择语言和不同的框架来生成代码段,可选择的语言及框架有:C - libcurl、C# - RestSharp、cURL、Go - Native、HTTP、Java - OkHttp、Java - Unirest、JavaScript - Fetch、JavaScript - jQuery、JavaScript - XHR、NodeJs - Axios、NodeJs - Native、NodeJs - Request、NodeJs - Unirest、Objective-C - NSURLSession、OCaml - Cohttp、PHP - cURL、PHP - HTTP_Request2、PHP - pecl_http、PowerShell - RestMethod、Python - http.client、Python - Requests、Ruby - Net::HTTP、Shell - Httpie、Shell - wget、Swift - URLSession;
1、导出python脚本进行数据驱动的接口测试
(1)、导出python的requests脚本;
(2)、使用nuittest进行接口自动化测试;
2、导出java代码进行数据驱动的接口测试
(1)、导出成java的OkHttp代码;
(2)、使用Junit进行接口自动化测试;
(3)、使用fastJSON解析json字符串;