有的系统是使用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