首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将头与机器人框架请求库的“Get请求”关键字一起使用

将头与机器人框架请求库的“Get请求”关键字一起使用
EN

Stack Overflow用户
提问于 2016-11-29 11:50:17
回答 3查看 10.5K关注 0票数 2

我想使用Requests测试API。

我的守则如下:

代码语言:javascript
复制
*** Settings ***
Documentation     Read API Testcase
Library           RequestsLibrary

*** Variables ***
${headers}        {'content-type': 'application/json', 'authorizationFlag':'N'}

*** Test Cases ***
Read API
    Create Session    CLM    http://172.20.33.224:8080/clm-reg/rest/dataservice/1/CLM/1
    ${resp}    Get Request    CLM    /RegistrationRequestDetails/json/583d8b14498e021b2f93a773    headers = ${headers} 
    Log to console    ${resp}

我发现了一个错误:

代码语言:javascript
复制
AttributeError: 'unicode' object has no attribute 'items'

我发现了我正在传递的标题的问题。

当我在互联网上搜索时,我发现传递标题值的方式是正确的。

请有人帮我解决这个问题。

谢谢萨拉达

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-29 15:13:42

问题是您的${headers}变量只是一个字符串,而不是字典。那样的话,JSON很棘手。您有几个选项可以在RF中创建字典。

  • RF的Create Dictionary关键字
  • Python的json.loads(str)作为库调用
  • RF的Evaluate关键字..。
票数 1
EN

Stack Overflow用户

发布于 2016-11-29 15:41:32

我已经把你的标题行改成了什么才能起作用。让我们知道,如果你有任何成功或其他问题,你会被绊倒。

代码语言:javascript
复制
*** Variables ***
${headers}       Create Dictionary    Content-Type    application/json    authorisationFlag    N 
票数 2
EN

Stack Overflow用户

发布于 2019-03-02 21:06:55

可以使用内置的变量字典类型,如下所示:

代码语言:javascript
复制
    Set Test Variable    &{HEADERS}       Content-Type=application/json    authorisationFlag=N    Accept=*/*    Cache-Control=no-cache

然后将其作为一个变量调用,该变量在标头变量上作为块扩展:

代码语言:javascript
复制
    ${resp}    Post Request   api-encoder    /api-token-auth/    data=${DATA}    headers=${HEADERS}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40865212

复制
相关文章

相似问题

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