有的系统是使用cookies保持登陆的,而RF的Request库里面没有像Selenium2Library里面一样操作cookies的关键字,若接口需要登录则只能用UI自动化先登录,然后再将cookies添加到header中,保持登陆状态
目录
1、Selenium2Library操作cookie
2、cookies的应用
1、Selenium2Library操作cookie
#1、添加cookies,名称为key,值为value Add Cookie key value #2、删除所有的cookies Delete All Cookies #3、删除名称为key的cookie Delete Cookie key #4、获取所有的cookies Get Cookies #5、获取名称为key的cookie的value值,get cookie这个是在selenium2Library3.2以后的版本的应用 Get Cookie Get Cookie Value
应用:需要使用cookie=${cookies}这种固定格式来给header传入cookie
2、cookies的应用
第一步:通过抓包工具判断接口是用cookie保持登陆的
第二步:导入selenium2Library这个库
第三步:将获取cookies的UI登陆写成一个关键字,获取cookies的值作为返回值并设置为全局变量
Open Browser http://localhost:8090/jpress/admin/login chrome Input Text name=username ${user} sleep 3 Input Text name=password ${psw} Click Button xpath=//*[@id="loginform"]/div[3]/div[2]/button ${m} get cookies log ${m} ${cookies} get cookie value user Set Global Variable ${cookies}
第四步:给需要保持登陆的接口传入cookies
${cookies} 登录 root 123456 log ${cookies} ${cookie} Set Variable user=${cookies} Create Session api http://localhost:8090/jpress ${headers} Create Dictionary Content-Type=application/x-www-form-urlencoded Cookie=${cookie} ${data} Create Dictionary user.username=test22 user.nickname=test22 ${m} Post Request api /admin/user/save ${i} To Json ${m.content} ${n} Get From Dictionary ${i} message Should Contain ${n} ok