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	

  

  

原文地址:https://www.cnblogs.com/weizhideweilai/p/11221410.html