Как получить ответ API, используя Restinstance с Robot Framework? - PullRequest
0 голосов
/ 04 января 2019

Я новичок в сфере робототехники. Я пробую все, что только могу придумать, но по какой-то причине я все еще не могу получить правильный результат. Я пытаюсь использовать комбинацию библиотек Rest и RestInstance, чтобы создать сеанс для веб-сайта, а затем записать ответ API.

Когда я использую следующий метод, я получил эту ошибку.

15: 52: 15.075 FAIL ValueError: требуется более 1 значения для распаковки

Get User API Response
${auth}=    Create List    ${example_email}    ${pwd}
Create Session    a    website/api/sign_in    ${headers}    123    ${auth}

Когда я использую этот метод, я не могу успешно создать активный сеанс с входом в учетную запись, поэтому возвращаю неверную информацию.

${headers}=    Create Dictionary    csrf_token=123
Create Session    a    website/api/sign_in    ${headers}    123    ${auth}
Rest.Get    website/api/sign_in
Rest.Output    response

Я не понимаю, что я сделал не так. Если кто-то может указать правильные направления с благодарностью.

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Проблема выглядит так, как вы называете Create Session - какова цель «123» в аргументах?

Посмотрите документацию библиотеки - аргумент в этой позиции cookies, и это должен быть словарь.

Так что либо создайте словарь и передайте его туда:

${cookies}=     Create Dictionary    var=123
Create Session    a    website/api/sign_in    ${headers}    ${cookies}    ${auth}

или явным образом сопоставьте передаваемые аргументы с параметрами ключевого слова:

Create Session    a    website/api/sign_in    headers=${headers}    auth=${auth}

(я опустил «123» из второго примера - я не могу быть уверен, какова его цель, например, для какого параметра это)

0 голосов
/ 04 января 2019

Вы можете сделать следующее. Вы пытаетесь сделать правильную вещь, просто назначив Rest.Ouput переменной и таким образом вы можете зарегистрировать ее или проверить ответ

*** Keywords ***
Sample Rest
  ${Response_Body_Verify} =  set variable  Sample Data
  ${headers}=    Create Dictionary    csrf_token=123
  Create Session    a    website/api/sign_in    ${headers}    123    ${auth}
  Rest.Get    website/api/sign_in
  ${Response} =  Rest.Output    response body
  should be equal  ${Response}  ${Response_Body_Verify}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...