• 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	
    

      

      

  • 相关阅读:
    DECLARE
    deallocvt
    科研院所
    jQuery Ajax 确定 form 表单 submit 提交成功
    Java实现 LeetCode 10 正则表达式匹配
    Java实现 LeetCode 10 正则表达式匹配
    Java实现 LeetCode 9 回文数
    Java实现 LeetCode 9 回文数
    Java实现 LeetCode 9 回文数
    Java实现 LeetCode 8 字符串转换整数(atoi)
  • 原文地址:https://www.cnblogs.com/weizhideweilai/p/11221410.html
Copyright © 2020-2023  润新知