【发布时间】:2016-03-18 23:02:09
【问题描述】:
我有一个使用 RequestsLibrary 的 Robot Framework 测试套件,用于测试 RESTful API。测试效果很好。一个简单的示例调用:
*** Test Cases ***
Test API
Create API Session
${resp} = Get Request api_session /foo/bar
BlahBlah test the ${resp} etc.
*** Keywords ***
Create API Session
${headers_str} = Evaluate str('application/json')
&{headers} = Create Dictionary Content-Type=${headers_str}
Create Session api_session ${BASE_URL} headers=${headers} verify=True
现在我需要开始为这个测试套件的所有调用添加一些代码接收代码覆盖率跟踪的 cookie。所以我修改了上面的工作代码,如下所示:
*** Test Cases ***
Test API
Create API Session
${resp} = Get Request api_session /foo/bar
BlahBlah test the ${resp} etc.
*** Keywords ***
Create API Session
${headers_str} = Evaluate str('application/json')
&{headers} = Create Dictionary Content-Type=${headers_str}
${cookies_str} = Evaluate str('{"CodeCoverage":"Test Name","CodeCoverage_Suite":null,"CodeCoverage_Config":null}')
&{cookies} = Create Dictionary CODECEPTION_CODECOVERAGE=${cookies_str}
Create Session api_session ${BASE_URL} headers=${headers} cookies=${cookies} verify=True
但现在Test API 测试在Get Request 关键字处失败,并带有令人困惑的TypeError: string indices must be integers。这里发生了什么?我想我误解了我的 cookie,但文档让我比开始时更加困惑。
【问题讨论】:
标签: cookies python-requests robotframework