我想使用Requests测试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'我发现了我正在传递的标题的问题。
当我在互联网上搜索时,我发现传递标题值的方式是正确的。
请有人帮我解决这个问题。
谢谢萨拉达
发布于 2016-11-29 15:13:42
问题是您的${headers}变量只是一个字符串,而不是字典。那样的话,JSON很棘手。您有几个选项可以在RF中创建字典。
Create Dictionary关键字json.loads(str)作为库调用Evaluate关键字..。发布于 2016-11-29 15:41:32
我已经把你的标题行改成了什么才能起作用。让我们知道,如果你有任何成功或其他问题,你会被绊倒。
*** Variables ***
${headers} Create Dictionary Content-Type application/json authorisationFlag N 发布于 2019-03-02 21:06:55
可以使用内置的变量字典类型,如下所示:
Set Test Variable &{HEADERS} Content-Type=application/json authorisationFlag=N Accept=*/* Cache-Control=no-cache然后将其作为一个变量调用,该变量在标头变量上作为块扩展:
${resp} Post Request api-encoder /api-token-auth/ data=${DATA} headers=${HEADERS}https://stackoverflow.com/questions/40865212
复制相似问题