robotframework之使用cookies登陸


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

 

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM