cookie

【软件测试】RobotFramwork使用Cookie获取验证码,登录账户

百般思念 提交于 2019-12-09 10:19:47
标题:RobotFramwork使用Cookie获取验证码,登录账户 环境:办公测试环境。 背景:循环执行发布任务,需要保持长期登录状态,后台当前是随机验证码,无法登录。 方法:1.通过技术手段,将随机验证码设置为123456,方便测试。2.通过获取cookie状态,保持长期登录。 步骤:手动登录一次,打印出日志记录,通过日志log信息找到打印的cookie信息,截取前后两部分,获取登录状态,goto已登录状态的页面,保持登录成功 命令: OperatingSystem.Run taskkill \ /F \ /im chromedriver.exe #清理缓存 open browser http://op.yidai.co chrome #打开浏览器 maximize browser window #浏览器窗口最大化 sleep 50 #手动登录一次,打印出日志记录,通过日志log信息找到打印的cookie信息,截取前后两部分,获取登录状态,goto已登录状态的页面,保持登录成功 ${ww}= get cookies # 获取cookie的值 log ${ww} #打印cookie的值 add cookie 6ePf_2132_authCode a5fbe88QO4pKsD9EumTBfm5GtR7NkxxNqvezQEnmY2N8 #添加cookie值 add cookie

如何获取注册过程图片上的验证码?并实现自动化测试。

喜夏-厌秋 提交于 2019-12-09 10:18:25
一、如果是生产环境,手动测试 二、 如果是测试环境,4种方法 1、利用python图形识别库pytesseract里面的函数Image to string,然后封装在python根目录下的site-packages里面,重载robotframework,例如: import pytesseract from PIL import Image def GetImageORC (self, filepath) : """获取图片中的字符,并返回字符串,例:| Get Image ORC | ${file} |""" self.filepath = filepath img = Image.open(self.filepath) orctext = pytesseract.image_to_string(img, lang= 'eng+chi_sim+osd' ) return orctext 2、设置万能码、验证码白名单或者要开发屏蔽掉 去掉验证码的主要是安全问题,为了应对在线系统的安全性威胁,可以在修改程序时不取消验证码,而是程序中留一个“后门”—设置一个“万能验证码”,只要用户输入这个“万能验证码”,程序就认为验证通过,否则按照原先的验证方式进行验证。   这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可,如果是在测试环境,这样做可省去了测试人员不少麻烦

自动化测试如何解决验证码的问题

这一生的挚爱 提交于 2019-12-09 10:18:07
注意:本标题的“自动化测试” 包括性能测试 与UI级的自动化测试   经常会被问到如何解决验证码的问题,在此记录一下我所知道的几种方式。   对于 web 应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性。但对于测试人员来说,不管是进行性能测试还是自动化测试都是一个棘手的问题。 下面来谈一下处理验证码的几种方法。 去掉验证码   这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可,如果是在测试环境,这样做可省去了测试人员不少麻烦,如果自动化脚本是要在正式环境跑,这样就给系统带来了一定的风险。 设置万能码   去掉验证码的主要是安全问题,为了应对在线系统的安全性威胁,可以在修改程序时不取消验证码,而是程序中留一个“后门” --- 设置一个“万能验证码”,只要用户输入这个“万能验证码”,程序就认为验证通过,否则按照原先的验证方式进行验证。 # coding=utf-8 import random # 生成0到10之间的随机数 # d = random.uniform(0,10) # print d # 生成一个1000到9999之间的随机整数 d = random.randint(1000

jQuery插件实现“点击获取验证码后60秒内禁止重新获取(防刷新)”

心已入冬 提交于 2019-12-09 10:11:48
转自: jQuery插件实现“点击获取验证码后60秒内禁止重新获取(防刷新)” 效果图 先到官网( http://plugins.jquery.com/ )下载jquery.cookie.js插件,放到相应文件夹,代码如下: <!DOCTYPE html> < html > < head > < meta charset = "utf-8" > < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" > < title > Examples </ title > < meta name = "description" content = "" > < meta name = "keywords" content = "" > < script src = "js/jquery.min.js" > </ script > < script src = "js/jquery.cookie.js" > </ script > < style type = "text/css" > * { margin : 0 ; padding : 0 ; font-family : "Microsoft Yahei" ; } .captcha-box { width : 360 px ; height : 34 px ;

Python爬虫实战之爬取链家广州房价_04链家的模拟登录(记录)

不羁的心 提交于 2019-12-08 21:13:27
问题引入 开始链家爬虫的时候,了解到需要实现模拟登录,不登录不能爬取三个月之内的数据,目前暂未验证这个说法是否正确,这一小节记录一下利用浏览器(IE11)的开发者工具去分析模拟登录网站(链家)的内部逻辑过程,花了一个周末的时间,部分问题暂未解决。 思路介绍 利用浏览器(IE11)的开发者工具,启用网络流量捕获,在调试之前,先做一些配置上的准备工作:清除旧的cookie和缓存,禁用跳转后清除日志(Firefox在开发工具的Settings设置中勾上启用持续日志)。 首先简要介绍一下模拟登录网站的基本逻辑,模拟网站登录需要知道,要向什么url地址,发送什么样的数据,GET请求还是POST请求。GET请求从服务器请求数据,不需要post data,但是经常需要在url后面加上对应的query parameter,类似?para1=value1&para2=value2之类的形式,本质上有点类似于post data。POST请求需要提供对应的post data,对应工具中的Request Body。而剩下的,是设置发送请求时的相关参数,包括user-agent等,对应工具中的Request Headers。提交请求后,网站服务器返回Response Headers和Response Body。其中,还经常涉及到cookie信息,在发送前,准备好,发送给服务器,服务器返回的信息中

python模拟get/post请求登录

两盒软妹~` 提交于 2019-12-08 09:28:23
今天学习了python模拟登陆,然后自己进行一下总结,以csdn登录为例子,浏览器为Chrome 1:直接携带cookie请求url地址 1.1cookie放在headers中 import requests #1.直接携带cookie请求URL地址 url="https://www.csdn.net/" #cookie放在headers中 headers={"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Mobile Safari/537.36", "Cookie": " cookies值" } response=requests.get(url,headers=headers) with open('csdn1.html','w',encoding='utf-8') as f: f.write(response.content.decode()) 这样生成的csdn1.html文件打开就是你的csdn主页。 这里又有一个新的问题,就是我的cookie值在哪里找? 右键点击登录进去之后的页面,会出现以下形式,然后就可以找到cookie值。 1

ajax跨域请求传输cookie

不想你离开。 提交于 2019-12-08 05:01:56
ajax跨域请求后台取不到cookie,记录一下吧!直接贴代码了。 前端请求: $.ajax({ type : "post", url : "http://m.zy.com:8080/weblogin", xhrFields: { withCredentials: true }, crossDomain: true, data : { phone:15011110000, password:11111111, type:0 }, success : function(data,text,res){ console.log(data); console.log(text); console.log(res.getResponseHeader("setCookie")); }, error:function(data){ console.log(data); } }); 主要加上xhrFields,crossDomain。 后端: response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Origin", request.getHeader("origin")); 暂时算是解决了问题,但是还有一个问题没弄明白

跨域请求及跨域携带Cookie解决方案

落花浮王杯 提交于 2019-12-08 04:02:43
Web项目前后端分离开发时,经常会遇到跨域请求和跨域携带Cookie的相关问题: 跨域请求 服务端可以根据实际需求修改下面设置,以Java代码为做示例: //允许跨域的域名,*号为允许所有,存在被 DDoS攻击的可能。 getResponse().setHeader( "Access-Control-Allow-Origin" , "*" ); //表明服务器支持的所有头信息字段 getResponse().setHeader( "Access-Control-Allow-Headers" , "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma,Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token" ); /** 目前测试来看为了兼容所有请求方式,上面 2 个必须设 **/ //如果需要把Cookie发到服务端,需要指定Access-Control-Allow-Credentials字段为true; getResponse().setHeader( "Access-Control-Allow-Credentials" , "true" ); // 首部字段 Access-Control-Allow

Javaweb笔记整理

廉价感情. 提交于 2019-12-08 02:43:28
分页 MySQL 使用: limit 起始条数,显示多少条 Oracle使用: SELECT * FROM( SELECT e.*,ROWNUM rn FROM emp e WHERE ROWNUM <=20 )WHERE rn>10; -- 第10条开始,取10条 分页的对象封装 public class Page<T> { private List<T> datas = new ArrayList<T>();// 数据 private int size;// 显示条数:10 private int dataCount;// 总120条 private int pre;// 上一页 private int now;// 第3页: private int count;// 共5页/尾页 private int next;// 下一页 private int start;// 显示页码开始 private int end;// 显示页码结束 private String url;// 路径 // 共130条/第3页/共5页 // 第一页 上一页 [1][2]3[4][5] 下一页 尾页 /** * @param size */ public Page(int size, int dataCount, int nowPage) { // 根据数据总条数来计算总页数:count

Android中X5WebView详解

依然范特西╮ 提交于 2019-12-08 01:02:51
今日科技快讯 据路透社报道,推特(Twitter)公司周五宣布,它已经禁止总部位于莫斯科的卡巴斯基实验室在其社交平台上打广告,称这家网络安全公司的商业模式与其广告规则存在冲突,并援引美国政府的说法称卡巴斯基实验室与俄罗斯情报机构有关联。推特通过电子邮件证实了这项封杀令。 作者简介 欢迎回到周一,新的一周继续加油努力吧! 本篇来自 骑小猪看流星 的投稿,分享了他如何封装 X5WebView以及如何在项目中灵活运用的过程 ,一起来看看!希望大家喜欢。 骑小猪看流星 的博客地址: https://www.jianshu.com/u/0111a7da544b 前言 这一篇的目标就是怎么样快速封装X5WebView,如何有效的同步以及管理Cookie,使用IntentService优化预加载,如何监听进度条等一些在项目中使用的常用功能。 正文 功能需求 需求一:客户端账号密码登录成功以后,调用H5界面(也就是使用X5webView,以下简称X5)。H5界面也需要去记录你的状态,比如你客户端本地登录成功以后,H5界面也需要显示登录成功的状态。那么,客户端和H5如何去同步状态? 需求二:因为X5加载的时候,会有一段时间会显示空白或者卡顿,如何去监听并利用这个进度并优化? 需求三:如何简单封装X5WebView基本功能? 需求分析 需求一 (针对需求一,我真的是参考了很多哥们的技术博客