拿我平时测试的一个系统为例,从UI层面来说必须先登录才可以进行后续操作,但是我在测试接口文档提供的接口时,发现并不需要登录,每个接口只要传参就可以正常返回.原因是我们这边专门弄了一个接口包来统一管理常用的接口,也方便其他程序调用.所以我之前在测试接口时还没有考虑过“要保持登录(会话)状态”这个问题.趁周末看了下这个问题,通过fiddler直接抓请求(不用接口包提供的接口),学习requests库是如何保持一个会话的. 1.查看登录前后的cookie变化 首先打开登录页面,刷新一下,fiddler…
目录 一.基本配置 二.HTTP请求默认值 三.HTTP信息头管理器 四.HTTP Cookie管理器 五.线程组下接口设置 一.基本配置 二.HTTP请求默认值 (1)jmeter的设置: (2)设置HTTP请求默认值的优点:   1.该默认请求值下的所有接口,都不用填以下截图这几个选项.   2.而且可以通过修改默认值的域名和端口,来统一修改同接口名不同域名的请求.(比如正式环境和测试环境的域名) 三.HTTP信息头管理器 (1)fiddler抓包获取请求头,找到接口请求的格式: (2)jm…
准备工具: fiddler Python+selenium 安装fidder fidder官方下载地址 fidder首次安装需要设置才能抓取https参考如下 fidder设置抓取https 开始 1.打开fidder 2.通过浏览器登录正常登录百度账号.像这样! 3.查看Fiddler获取到的登录请求的Cookie.找到Host为"passport.baidu.com"的URL,在右侧窗口查看该请求的Cookie.为什么是这两个?(试的<->) 然后,找到重要的两个参数&…
router.beforeEach(function(to,from,next){ console.log('路由拦截') console.log(to.name) console.log(from.name) if(to.name=='login'){ next(); }else{ if($.cookie('userIsLogin')=='true'){ next(); }else{ next({path:'/login'}); } } }) 我的登录地址是login,如果userIsLogi…
网上找了一堆文章没有一个是实际操作的,自己边试边查边摸索终于找到了一个全套的办法. 原创文章,转载请说明出处. 1.取得cookie 直接这样写就可以了${COOKIE_JSESSIONID},当然具体你的系统参数是什么会略有变化. 2.添加BeanShell Sampler,并设置成全局变量 ${__setProperty(cookie_jsessionId,${COOKIE_JSESSIONID},)} 3.在第2个线程组中添加HTTP Cookie 管理器 并添加一个参数如下,这样就可以使…
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~…
之前写过一篇博客:自动化测试如何解决验证码的问题. http://www.cnblogs.com/fnng/p/3606934.html 介绍了验证码的几种处理方式,最后一种就是通过Cookie跳转过验证码,但讲的不够详细.今天,就详细的介绍一下这种方式. 准备工具: ------------------ fiddler Python+selenium ------------------ 以百度登录为例. 验证码是汉字的,我想通过程序识别起来有点难度,也会比较麻烦. 接下来开始动手. 1.开启…
对于web应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的, 对于系统来说使用验证码可以有效果的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性.但对于测试人员来说,不管是进行性能测试还是自动化测试 都是一个棘手的问题.下面详细的介绍一下通过Cookie跳转过验证码这种方式. 参考了虫师的:自动化测试 -- 通过Cookie跳过登录验证码 准备工具: ------------------ fiddle…
前言有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加 cookie 的方式绕过验证码. 1.这里以登录博客园为例. a.抓取登录的cookie,登录后会生成一个已登录状态的cookie,那么只需要把这个值直接添加到cookies里面就可以 b.这里用Fiddler抓包工具进行,先手动登录一次,然后抓取cookie c.打开 fiddler 抓包工具,刷新下登录首页,就是登录前的 cookie 了 d.…
Python 的标准库 urllib 提供了大部分 HTTP 功能,但使用起来较繁琐.通常,我们会使用另外一个优秀的第三方库:Requests,它的标语是:Requests: HTTP for Humans. Requests 提供了很多功能特性,几乎涵盖了当今 Web 服务的需求,比如: 浏览器式的 SSL 验证 身份认证 Keep-Alive & 连接池 带持久 Cookie 的会话 流下载 文件分块上传 下面,我们将从以下几个方面介绍 Requests 库: HTTP 请求 HTTP 响应…
简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的登录都是用cookie来保 持登录的,有些是用token登录) 抓登录cookie 1.如博客园登录后会生成一个已登录状态的cookie,那么只需要直接把这个值添加到cookies里面就可以了. 2.可以先手动登录一次,然后抓取这个cookie,这里就需要用抓包工具fiddler了 3.先打开博客园…
一.requests库简介 urllib库和request库的作用一样,都是服务器发起请求数据,但是requests库比urllib库用起来更方便,它的接口更简单,选用哪种库看自己. 如果没有安装过这个库,需要先 pip install requests 安装. 二.requests库的基本用法 1.发送GET请求 通过get方法去请求百度页面: import requests resp = requests.get('http://www.baidu.com/') # text是request…
我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:“通过cookies跳过验证码登陆页面,直接访问网站的其它URL”   转载虫师的文章:     之前写过一篇博客:自动化测试如何解决验证码的问题. 介绍了验证码的几种处理方式,最后一种就是通过Cookie跳转过验证码,但讲的不够详细.今天,就详细的介绍一下这种方式. 准备工具: ------------------ fiddler Python+selenium ---…
前言 说到python发送HTTP请求进行接口自动化测试,脑子里第一个闪过的可能就是requests库了,当然python有很多模块可以发送HTTP请求,包括原生的模块http.client,urllib2等,但由于原生的模块过于复杂,使用繁琐,那么requests库就诞生了,它也是现阶段比较流行的接口自动化测试工具之一 requests是个第三方库,封装了HTTP请求的所有方法,使用方便简单,只需要根据不同的请求方式调用相对应的方法就可以完成发送网络请求的整个过程,那么今天我们就来说说requ…
requests库 Requests 是一个 Python 的 HTTP 客户端库. 支持许多 HTTP 特性,可以非常方便地进行网页请求.网页分析和处理网页资源,拥有许多强大的功能. 本文主要介绍 requests 库的基础使用. 1. 安装与导入 安装requests库:快捷键 Windows+r 打开运行控制框,输入 cmd,进入命令行,输入: pip install requests 导入: import requests 2. 主要方法 2.1 常见的网页请求方法 常见的网页请求方法有…
本文内容来源:https://www.dataquest.io/mission/117/working-with-apis 本文的数据来源:https://en.wikipedia.org/wiki/International_Space_Station 本文摘要:通过requests库和github的api来操作github仓库,从而熟悉一下与网络数据交互的过程 API(Application Program Interface)的作用是查询和返回网络上的动态数据,譬如股票的价格信息和新闻的实…
以前对于Requests库只是简单是使用,在现在公司的后台中,有多个接口是直接使用requests.get .post之类的方法来做的,进行过一段时间的压力测试,发现性能低的可怜,且linux服务器有好多CLOSE_WAIT状态,所以这个问题不解决是没办法上线的. 解决办法参考以下方法(下文附连接): 第一篇说了:requests 库自己会处理好连接池的问题,且访问完成之后是会有SOCKET 的CLOSE_WAIT状态,这个是正常的,后续会直接复用这些连接(CLOSE_WAIT状态直接使用在多线…
发送请求代码: NSString *testUrl = @"http://10.22.122.7:8081/test2_action/view_index"; NSURL *url = [NSURL URLWithString:testUrl]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy tim…
重定向: /* 之前的写法 response.setStatus(302); response.setHeader("Location", "login_success.html");*/ //重定向写法: 重新定位方向 参数即跳转的位置 response.sendRedirect("login_success.html"); 1. 地址上显示的是最后的那个资源的路径地址 2. 请求次数最少有两次, 服务器在第一次请求后,会返回302 以及一个地…
Session和Cookie的区别 对象 信息量大小 保存时间 应用范围 保存位置 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般为20分钟) 单个用户 服务器端 Cookie 小量,简单的数据 可以根据需要设定 单个用户 客户端 1.1 Session对象 浏览器访问服务器时,服务器会创建一个对象(该对象也称为session对象,该对象有一个唯一的id号与其对应).然后,服务器会将id号发送给浏览器(默认情况下,使用cookie机制发送).当浏览器再次访问服务器时,会将id…
同域下,即使设置了cookie的路径还是能将不同路径cookie读出来. 1.在/ctf/day3/ 目录设置一个cookie 2.其他目录下是不能访问这个cookie的 3.通过iframe可以实现跨目录读取cookie xc=function(src){ var o = document.createElement("iframe"); o.src = src; document.getElementsByTagName("body")[0].appendChi…
当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码: 1.首先新建配置文件*.ini格式 config.ini [db] #基础地址: baseurl = http://192.168.xxx #参数: m_user = 13077997162 m_pass = 123456 2.调用configparser模块进行读取文件操作,没有的自行下载 login.py import configparser def mlogin(): ''' 登录函数 :retur…
原文 第三方库 requests是基于urllib编写的.比urllib库强大,非常适合爬虫的编写. 安装: pip install requests 简单的爬百度首页的例子: response.text 和 response.content的区别: response.text是解过码的字符串.比较容易出现乱码 response.content 未解码的二进制格式(bytes). 适用于文本,图片和音乐.如果是文本,可以使用 response.content.decode('utf-8') 解码…
方法1 在登录时,叫代码等待一段时间,然后手动输入验证码 # coding:utf-8 from selenium import webdriver import time url = 'http://192.168.XXX:7001/AXXXse' driver = webdriver.Chrome() driver.get(url) # 进入登录首页 driver.maximize_window() # 窗口最大化 time.sleep(3) driver.find_element_by_i…
requests库是个很方便的爬虫,相关文档已经很详细了.不过我今天在爬网页时,有一个网站是在脚本中添加cookie的,但我向requests.cookies里添加cookie费了不少周折.尝试了多个方法,这些方法都各有一些缺点.最终找到一个完全符合需求的方法.今天尝试的各种方法如下: 1. 类似操作dict s = requests.Session()s.cookies['cookie-name'] = 'cookie-value'可以添加cookie,不会清除原cookie缺点:不能设置pa…
cookie 如果一个相应中包含了cookie,那么可以利用cookie属性拿到这个返回的cookie值: res = requests.get('http://www.baidu.com') print(res.cookies) print(res.cookies.get_dict()) session 之前用urllib库,是可以使用opener发送多个请求,多个请求之间是可以共享cookie的,那么如果使用requests,也要达到共享cookie的目的,那么可以使用requests库给我…
分类专栏: Python接口自动化测试之requests库入门 作者 | Anthony_tester ,300w+访问量博主,Oracle测试开发工程师. 地址 | https://blog.csdn.net/u011541946/article/details/77745924 声明 | 本文是 Anthony 原创,已获授权发布,未经原作者允许请勿转载 我们可能听说了Session和Cookies,面试中可能也会被问到这个两者之间的区别.本篇主要通过画图来理解两个机制,然后通过回到两个机制…
验证码,相信每个写web自动化测试的同学来说,都是个头疼的事,怎么办呢? 方法还是有的,先说今天这种方式,通过cookie绕过登录验证码 思路: 需要你通过抓包工具抓到你登录的cookie 接下来开始动手. 1.开启Fiddler 工具,像这样! 2.通过浏览器登录正常登录百度账号.像这样! 3.通过Fiddler获取登录请求的Cookie.找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie. 然后,找到重要的两个参数“BAIDUID”和“BDUS…
1.什么是Requests? Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库. 它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求. 一句话---Python实现的简单易用的HTTP库. 1.1基本用法 安装Requests pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >>> import re…
官方文档 以下内容大多来自于官方文档,本文进行了一些修改和总结.要了解更多可以参考 官方文档 安装 利用 pip 安装 $ pip install requests 或者利用 easy_install $ easy_install requests 通过以上两种方法均可以完成安装. 引入 首先我们引入一个小例子来感受一下 import requests r = requests.get('http://cuiqingcai.com') print type(r) print r.status_c…