J'essaie d'utiliser la RequestsLibrary sur une API en utilisant l'authentification OAUTH2.Robot Framework api test avec l'en-tête de demande d'autorisation OAUTH2
L'authentification s'effectue via OAUTH2 avec les informations d'identification fournies au point de terminaison/v1/authtoken. Les appels suivants à API doivent inclure le jeton en tant que «porteur» dans l'en-tête «Autorisation» des demandes http.
Voici donc le scénario de test. L'erreur que j'obtiens est: 401! = 200
Les informations d'identification fonctionnent correctement dans jmeter et une liste de comptes est renvoyée. Cependant, je ne suis pas capable de faire fonctionner le script RF. Toute aide serait appréciée.
Dans le script,
- Se connecter à la console
${accessToken}
retourne le jeton d'accès: 8ETFXTZOWQLrgsMj7c_KuCEeypdj-eO1r ... - Se connecter à la console
${token}
Retours: 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()}
@ Sandeep @Bryan Avez-vous trouvé la réponse à votre question que je reçois même erreur. veuillez partager la réponse –
Désolé, j'étais parti. Je viens de voir cette discussion .... Je vais essayer cela. –
Oui, cela semble fonctionner pour moi maintenant. Merci. Cependant, ma méthode pure python pour générer le jeton auth2 est, je dois dire beaucoup plus concis! –