我正在使用Robot framework中this github link提供的请求库。文档表明if可以通过执行CreateSession <url> headers={'header1':'value1'} ....
但是,当我这样做时,我得到一个错误“value error:需要超过1个值来解包”
这行得通

CreateSession SendCustomHeader http://myhost.com  verify=False

这不是
CreateSession SendCustomHeader http://myhost.com headers={'header1':'value1'} verify=False
我尝试了头的各种组合,如'header1'或{'header1':'value1'}或'header1':'value1',但出现了相同的错误
请求库代码RequestsKeywords.py中似乎没有错误
"        self.builtin.log('Creating session: %s' % alias, 'DEBUG')
        s = session = requests.Session()
        s.headers.update(headers)
"

我不确定错误从何而来,因此无法修复
如有任何故障排除提示,敬请垂询

最佳答案

你传递的不是字典,而是一个看起来像字典的字符串。解决方法是创建一个合适的字典并将其传入。为此,Robot有一个Create Dictionary关键字。

*** Settings ***
| Library | Collections

*** Test Cases ***
| Example
| | ${headers}= | Create dictionary
| | ... | header1 | value1
| | ... | header2 | value2
| | CreateSession | SendCustomHeader | http://myhost.com
| | ... | header=${headers} | verify=False

关于python - 如何在机器人框架HTTP请求库中为CreateSession添加 header ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30075809/

10-12 00:09