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

robotframework之使用cookies登陆的更多相关文章
- robotframework自动化系列:登陆操作
		robotframework自动化系统:登录 robotframework对于编程能力比较弱的测试人员而言,真的是雪中送炭!我们可以使用robotframework根据之前完成的测试用例,一步步完善自 ... 
- scrapy加载cookies登陆
		import scrapy from xxxx.items import XXXXItem from scrapy.http.request import Request class ZndsSpid ... 
- java模拟Cookies登陆
		在使用java访问URL时,如果该URL需要身份验证,那么就不能够直接访问,因为没有登陆.那么,如何解决这个问题呢? 方法是使用java模拟登陆,登陆后记录下cookie信息,在下次发起请求时时将co ... 
- python3爬虫-通过selenium登陆拉钩,爬取职位信息
		from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from se ... 
- python模拟登陆豆瓣——简单方法
		学爬虫有一段时间了,前面没有总结又重装了系统,导致之前的代码和思考都没了..所以还是要及时整理总结备份.下面记录我模拟登陆豆瓣的方法,方法一登上了豆瓣,方法二重定向到了豆瓣中“我的喜欢”列表,获取了第 ... 
- python-selenium登陆今日头条
		https://blog.csdn.net/a942242856/article/details/88379727 原文地址:http://www.bianbingdang.com/article_d ... 
- koa 实现session登陆
		在我们访问一些网站内部内容的时候,通常都会先验证我们是否已经登陆,如果登陆了就跳转到内容页面否则就跳转或者弹出登陆页面. 但是HTTP协议是没有状态的协议,无法标识一个用户的登录状态. 于是Cooki ... 
- 使用python进行接口测试(二)
		之前使用过urllib和urllib2做接口测试,在做的途中,感觉使用urllib2直接进行的get,post 请求并没有那么好用.作为测试人员,所需要的测试工具应当以方便为第一要务,测试的耗时只要是 ... 
- angular 1.5.3各种模块使用(一)
		1.angular cookie的用法:(1)引入angular-cookies(2)注入ngCookies这模块(3)想要更改cookies存储位置的话要添加内置服务$cookiesProvider ... 
随机推荐
- Maven项目构建利器03——第一个Maven工程
			1.Maven工程的结构 我们需要通过Maven进行自动化构建, 以编译为例, Maven要想自动进行编译, 那么它必须知道Java源文件保存在哪里,所以要遵守Maven的约定,也就是约定大于配置,配 ... 
- MySQL发生系统错误2 系统无法找到指定文件
			https://blog.csdn.net/digitalmon/article/details/78152187 https://www.cnblogs.com/gaogaoyanjiu/p/104 ... 
- java ArrayList迭代过程中删除
			第一种迭代删除方式: 第二种迭代删除方式: 第三种迭代删除: 第四种迭代删除: 第五种迭代删除: 第六种: ArrayList中remove()方法的机制,首先看源码: 真正的删除操作在fastRem ... 
- python gitlab 学习笔记
			gitlab创建个人访问令牌(personal access token) https://blog.csdn.net/NGU2028070003/article/details/86634474 P ... 
- Python _easygui详细版
			1. msgbox msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None) m ... 
- 数据库基本概念及Oracle基本语句
			一.数据库分类 通常是按照数据模型的特点将传统数据库系统分成网状数据库.层次数据库和关系数据库三种. 1.网状数据库 顾名思义,网状数据库采用的是以记录类型为结点的网状数据模型,是一种导航式(Navi ... 
- 【leetcode】1125. Smallest Sufficient Team
			题目如下: In a project, you have a list of required skills req_skills, and a list of people. The i-th p ... 
- net core 下 接受文件 测试
			/* IFormFileCollection Files 再Request对象下的From对象下的Files对象 public interface IFormFileCollection : IRea ... 
- 2019hdu多校 K-th Closest Distance
			题目链接:Click here 大致题意:q次询问,每次询问你区间[L,R]中|p-ai|的值第k小的是多少 Solution: 直接找是很困难的,我们考虑二分答案,那么本题就十分简单了 我们对权值维 ... 
- 2019 Multi-University Training Contest 3 T6 - Fansblog
			Fansblog Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ... 
