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