Asp.net web api 当需要OAuth 2.0授权时,如何使用Postman开发测试自动化

Asp.net web api 当需要OAuth 2.0授权时,如何使用Postman开发测试自动化,asp.net-web-api,automated-tests,asp.net-web-api2,postman,newman,Asp.net Web Api,Automated Tests,Asp.net Web Api2,Postman,Newman,我有一个ASP.NET Web API 2,它使用OAuth 2.0进行授权。假设我有一个简单的Web API方法,比如: GET: http://host/api/profiles/user123 (requires OAuth 2.0 token) 因此,使用户可以轻松地测试此Web API。我从Web API OAuthAuthorization方法中为user123获取一个OAuth令牌,然后在HTTP请求的头中使用该令牌: GET /api/profiles/user123

我有一个ASP.NET Web API 2,它使用OAuth 2.0进行授权。假设我有一个简单的Web API方法,比如:

GET: http://host/api/profiles/user123   (requires OAuth 2.0 token)
因此,使用户可以轻松地测试此Web API。我从Web API OAuthAuthorization方法中为
user123
获取一个OAuth令牌,然后在HTTP请求的头中使用该令牌:

GET /api/profiles/user123   HTTP/1.1
Host: {host}
Authorization: Bearer {Token}
Content-Type: application/json
Cache-Control: no-cache
但是,如果我保存测试并稍后运行(由邮递员自己或由其他人运行),令牌将在那时过期,并且无法工作

如何为
user123
自动获取新令牌并在HTTP请求中使用它


注意:我知道如何使用邮递员的要求一个新的代币。但是这个场景不适合测试自动化。在测试自动化中,我想删除任何人工交互。

很简单,在运行时获取访问令牌并将其保存到环境变量中。然后在下一个Get请求中使用它

在获取令牌请求中,在测试部分中执行此操作:

var body = JSON.parse(responseBody);
pm.environment.set('AccessToken', body.access_token);
在主Get请求中,可以使用
授权
标题中的环境变量:

Authorization: Bearer {{AccessToken}}

希望这有帮助。

很简单,在运行时获取访问令牌并将其保存到环境变量中。然后在下一个Get请求中使用它

在获取令牌请求中,在测试部分中执行此操作:

var body = JSON.parse(responseBody);
pm.environment.set('AccessToken', body.access_token);
在主Get请求中,可以使用
授权
标题中的环境变量:

Authorization: Bearer {{AccessToken}}

希望这有帮助。

Hi@Pandit81-知道如何在Postman中对集合中保存的项目进行排序/重新排序吗?因此,我确保“获取令牌”发生在所有其他项目和测试之前?@Tohid文件夹中的单个请求可以手动按您想要的顺序放置,并按该顺序运行。对于文件夹,我使用数字预设,如101 Access Token、102 Get Request等。以下是详细订购问题的答案>Hi@Pandit81-知道如何在Postman中订购/重新订购集合中保存的项目吗,因此我确保“Get Token”发生在所有其他项目和测试之前?@Tohid文件夹中的单个请求可以手动按您想要的顺序放置,并按该顺序运行。对于文件夹,我使用数字预设,如101访问令牌、102获取请求等。以下是详细订购问题的答案>