首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用带有机器人框架的response获得API响应?

如何使用带有机器人框架的response获得API响应?
EN

Stack Overflow用户
提问于 2019-01-04 08:17:45
回答 2查看 2.8K关注 0票数 3

我是机器人框架新手。我正在尽我所能去尝试,但是由于某些原因,我仍然无法得到正确的结果。我试图使用Rest和RestInstance库的组合为网站创建会话,然后记录API的响应。

当我使用下面的方法时,我得到了这个错误。

15:52:15.075失败ValueError:需要超过一个值才能打开包

代码语言:javascript
复制
Get User API Response
${auth}=    Create List    ${example_email}    ${pwd}
Create Session    a    website/api/sign_in    ${headers}    123    ${auth}

当我使用此方法时,我无法成功地创建一个带有帐户登录的活动会话,从而返回不正确的信息。

代码语言:javascript
复制
${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

我不明白我做错了什么。如果有人能指点正确的方向,我会感激不尽。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-04 10:17:35

问题在于你调用Create Session的方式--参数中"123“的目的是什么?

看看图书馆文献 --那个位置上的论点是cookies,它一定是字典。

所以要么创建一本字典并把它传递到那里:

代码语言:javascript
复制
${cookies}=     Create Dictionary    var=123
Create Session    a    website/api/sign_in    ${headers}    ${cookies}    ${auth}

,或者显式映射要传递给关键字的参数的参数:

代码语言:javascript
复制
Create Session    a    website/api/sign_in    headers=${headers}    auth=${auth}

(我从第二个例子中删除了"123“-我不确定它的目的是什么,例如它是哪个参数)

票数 1
EN

Stack Overflow用户

发布于 2019-01-04 09:30:07

您可以执行以下操作--您正在尝试做正确的事情--只需将Rest.Ouput赋值给一个变量,这样您就可以记录它或验证响应

代码语言:javascript
复制
*** 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}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54035278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档