robot framework get、post 接口调用
使用rf调用 get、post接口,可以先定义好 对应的关键字,后面直接使用
关键字如下:
一、 set login headers
入参为 cookie,如果没有,传 {}
1 [Arguments] ${cookies} 2 ${loginheader} Evaluate json.loads('{"User-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36","Content-Type":"application/json;charset=UTF-8","Connection":"keep-alive","Accept-Encoding":"gzip, deflate","Accept":"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest","Content-Length":"72","cache-control":"no-cache","Accept-Language": "zh-CN,zh;q=0.9"}') json 3 ${header} Create Dictionary Cookie=${cookies} 4 log ${header} 5 ${header} Evaluate dict(${header},**${loginheader}) 6 [Return] ${header}
二、http-post
1 [Arguments] ${host} ${path} ${postdata} ${headers} 2 Create Session url ${host} ${headers} 3 ${data} Evaluate json.loads('${postdata}') json 4 ${res} Post Request url ${path} ${postdata} 5 Delete All Sessions 6 [Return] ${res.content}
三、http-get
1 [Arguments] ${host} ${headers} ${path} ${getdata}=None 2 Create Session url ${host} 3 ${res} Get Request url ${headers} ${path} ${getdata} 4 Delete All Sessions 5 [Return] ${res.content}
四、调用
结果如下:
问题:
1.如果 结果中需要鉴权的 header不叫 cookie,可这样使用
不用 第一个关键字,直接编写 header
1 ${newCookie} Set Variable xxxxxx 2 ${header} Create Dictionary Content-Type=application/json newCookileNeam=${newCookie} 3 ${res} http-post http://xxxxxx.com /xxxx {postdata} ${header}