Robot Framework извлекает токен - PullRequest
0 голосов
/ 31 мая 2018

довольно новый для Robot Framework.Попытка получить токен из Azure.Я кодировал это в чистом коде Python, и это работает как шарм, но я хочу сделать это в Robot Framework, и у меня огромные проблемы с пониманием этой библиотеки.

Так что мой код в Robot Framework выглядит следующим образом:

*** Settings ***
Library         RequestsLibrary
Library         json

*** Variables ***
${Content-Type}=    application/x-www-form-urlencoded                
${resource}=        xxxxxxxxxx
${grant_type}=      client_credentials
${client_secret}=   xxxxxxxxxx
${client_id}=       xxxxxxxxxx
${headers}=         accept=application/json

*** Test Cases ***
Post Requests
[Tags]  post
Create Session   azure   https://login.microsoftonline.com/xxxxxxxxxx/oauth2/token
&{data}=  Create Dictionary   client_id=${client_id}   client_secret=${client_secret}   grant_type=${grant_type}
&{headers}=  Create Dictionary   Content-Type=application/json
${resp}=  Post Request  azure  ${url}  ${data}  ${headers}
Should Be Equal As Strings  ${resp.status_code}  200

И вместо 200 я получаю 404.

Я также пытался использовать ExtendedRequestLibrary, но я получаю другие странные ошибки, поэтому я предполагаю, что я не знаюкак на самом деле использовать это, но что я получаю 404. Код в обычном Python более или менее такой же, надеюсь, кто-то может просто указать мне правильный ответ.

Если это поможет, я могу опубликовать свойкод Python.

Спасибо!

1 Ответ

0 голосов
/ 01 июня 2018

Какое значение ${url}?Вы уже установили конечную точку токена Azure oauth2 при создании сеанса. Если вы добавляете что-то еще, вы отправляете запрос на ресурс, который, вероятно, не существует.

Попробуйте вот так (только соответствующиечасти):

Create Session   azure   https://login.microsoftonline.com/xxxxxxxxxx/oauth2
${resp}=  Post Request  azure  /token  ${data}  ${headers}

Ключевое слово Create Session задает базовый URL для будущих запросов (в этом сеансе), например, каждый маршрут, который вы впоследствии используете для него, будет добавлен к базе.

...