Python Robot框架传递cookie以获取请求(RequestsLibrary)-类型错误
我需要传递cookie值以获取请求关键字以使其工作,但它仍然失败。我不知道如何正确地通过那里。关键字的文档说明了标题:“标题:用于请求的标题字典” 我使用库Python Robot框架传递cookie以获取请求(RequestsLibrary)-类型错误,python,cookies,automated-tests,python-requests,robotframework,Python,Cookies,Automated Tests,Python Requests,Robotframework,我需要传递cookie值以获取请求关键字以使其工作,但它仍然失败。我不知道如何正确地通过那里。关键字的文档说明了标题:“标题:用于请求的标题字典” 我使用库RequestsLibrary,进行了如下测试: Check request and response Do Local Login ${username} ${password} #this is my custom keyword - opens browser and logs in using UI ${co
RequestsLibrary
,进行了如下测试:
Check request and response
Do Local Login ${username} ${password} #this is my custom keyword - opens browser and logs in using UI
${cookie_value}= Get Cookie Value JSESSIONID
Create Session session1 https://oururl.com verify=${False} cookies=${cookie_value}
${dict}= Create Dictionary Cookie=${cookie_value}
${resp}= Get request session1 /somepage/request headers=${dict}
它总是返回类型错误:字符串索引必须是整数。
回溯:
Traceback (most recent call last):
File "c:\python27\lib\site-packages\RequestsLibrary\RequestsKeywords.py", line 370, in get_request
session, uri, params, headers, json, redir, timeout)
File "c:\python27\lib\site-packages\RequestsLibrary\RequestsKeywords.py", line 897, in _get_request
verify=self.verify)
File "c:\python27\lib\site-packages\requests\sessions.py", line 501, in get
return self.request('GET', url, **kwargs)
File "c:\python27\lib\site-packages\requests\sessions.py", line 474, in request
prep = self.prepare_request(req)
File "c:\python27\lib\site-packages\requests\sessions.py", line 385, in prepare_request
cookies = cookiejar_from_dict(cookies)
File "c:\python27\lib\site-packages\requests\cookies.py", line 518, in cookiejar_from_dict
cookiejar.set_cookie(create_cookie(name, cookie_dict[name]))
我真的需要将cookie传递给请求,否则它将再次返回仅登录页面
非常感谢您的帮助 Sooo终于找到了解决方案:
Do Local Login ${username} ${password}
${cookie_value}= Get Cookie Value JSESSIONID
${dict}= Create Dictionary JSESSIONID=${cookie_value}
Create Session session1 https://oururl.com verify=${False} cookies=${dict}
${resp}= Get request session1 /somepage/request
关键字Create Session
与cookie一起使用,只是cookie不仅必须作为cookie值传递,还必须作为dictionaryJSESSIONID=${cookie\u value}
传递。
或者,我不必在Create Session
中传递cookie,但在Get Request
中,我必须将cookie设置为类似字典的${dict}=
创建字典Cookie=JSESSIONID=${Cookie_value}
并将其传递到Get request session1/somepage/request headers=${dict}
最后一行是生成错误的行吗?是的,最后一行。我添加了一个回溯