San*_*dya 5 frameworks robotframework oauth2
我正在尝试在使用 OAUTH2 身份验证的 api 上使用 RequestsLibrary。
身份验证通过 OAUTH2 进行,凭据提供给 /v1/authtoken 端点。对 APÍ 的后续调用需要将令牌作为“承载”包含在 http 请求的“授权”标头中。
所以下面是测试用例。我得到的错误是: 401 != 200
凭据在 jmeter 中工作正常,并返回帐户列表。但是,我无法使 RF 脚本工作。任何帮助将不胜感激。
在剧本中,
${accessToken}返回访问令牌:8ETFXTZOWQLrgsMj7c_KuCEeypdj-eO1r...${token}返回:Bearer 8ETFXTZOWQLrgsMj7c_KuCEeypdj-eO1r...*** Test Cases ***
Get authToken
Create Session hook http://xxxx.azurewebsites.net verify=${True}
${data}= Create Dictionary grant_type=client_credentials client_id=yyy-zzzz client_secret=xxxxxxxxxxxxxxx
${headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded
${resp}= post request hook /v1/authtoken data=${data} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
Dictionary Should Contain Value ${resp.json()} bearer
${accessToken}= evaluate $resp.json().get("access_token")
Log to Console ${accessToken}
${Bearer}= Set Variable Bearer
${token}= catenate Bearer ${accessToken}
Log to Console ${token}
${headers}= Create Dictionary Authorization=${token}
${resp1}= get request hook /v1/integration/accounts headers=${headers}
Should Be Equal As Strings ${resp1.status_code} 200
#Log to Console ${resp1.json()}
Run Code Online (Sandbox Code Playgroud)
小智 1
我也使用 OAuth 2.0 身份验证来实现我的销售人员自动化。
我的第一个答案是跳过基于客户端的身份验证并切换到基于用户名/密码的身份验证
Get authToken by Password Authentication
RequestsLibrary.Create Session hook https://<url>/services/oauth2 verify=${True}
${data}= Create Dictionary grant_type=password client_id=1abc client_secret=2abc username=test@test.com password=keypass
${headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded
${resp}= RequestsLibrary.Post Request hook /token data=${data} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
${accessToken}= evaluate $resp.json().get("access_token")
Log to Console ${accessToken}
Run Code Online (Sandbox Code Playgroud)
如果您使用基于客户端或基于 Web 的身份验证,则会出现一个登录屏幕,用户将使用该登录屏幕输入用户名/密码,以授权应用程序代表其发送请求。请查看这些页面以获取更多信息,因为它们主要讨论使用刷新令牌或完全跳过用户提示。
| 归档时间: |
|
| 查看次数: |
5364 次 |
| 最近记录: |