我正在尝试使用Robot Framework中的RequestsLibrary创建会话。第一个API调用是"身份验证步骤"。此步骤要求我为剩余的API调用存储cookie。通常,我会使用
curl -c cookie.txt -d
"j_username=foo%40inq.com&j_password=pass123&submit=Login" https://api.company.com/j_spring_security_check
但据我了解,RequestsLibrary不支持curl命令?下面是我尝试执行的代码的示例
*** Settings ***
Documentation API
Library RequestsLibrary
Library Collections
*** Variables ***
${headers} Create Dictionary Content-Type application/json Accept application/json
*** Test Cases ***
Tester
Create Session TC https://api.company.com/j_spring_security_check?j_username=regression1@att&j_password=TCpass1234&submit=Login ${headers} cookies.txt
如果我将cookie参数保留为None,那么它是有效的,但是我无法运行测试的其余部分:
${result}= Post Request TC https://api.company.com/engagementAPI/v1/agent/login?username=regression1@att&password=TCpass1234&output=json headers = ${headers}
帖子有效,但我在Swagger UI中运行时没有得到所需的响应
由于
答案 0 :(得分:1)
cookies
参数需要将实际的cookie包含为字典,而不是文件名。
例如:
${cookies}= Create Dictionary foo=bar
Create Session session ${url} cookies=${cookies}