我想使用请求库测试API。
我的代码如下:
*** 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}
我收到错误:
AttributeError: 'unicode' object has no attribute 'items'
我发现了正在传递的标题问题。
当我通过互联网搜索时,我得到了传递标题值的方式是正确的。
请任何人帮助我。
由于 Sarada
答案 0 :(得分:2)
我已将您的标题行更改为应该起作用的内容。如果您取得任何成功或者您遇到的其他问题,请告诉我们。
*** Variables ***
${headers} Create Dictionary Content-Type application/json authorisationFlag N
答案 1 :(得分:1)
问题是你的${headers}
var只是一个字符串,而不是字典。
JSON就是那么棘手。您可以通过多种方式在RF中创建字典。
Create Dictionary
关键字json.loads(str)
作为lib调用Evaluate
关键字...... 答案 2 :(得分:0)
您可以使用内置变量字典类型,如下所示:
Set Test Variable &{HEADERS} Content-Type=application/json authorisationFlag=N Accept=*/* Cache-Control=no-cache
然后将其称为变量,该变量作为dict散布在标头变量上:
${resp} Post Request api-encoder /api-token-auth/ data=${DATA} headers=${HEADERS}