fiddler+jmeter自动化投票

article/2025/9/18 16:46:20

0x00

前几年,在上一家公司需要员工为创新单位投票,每天只能投一票。那就投呗,我就多点击两下投票,界面显示“一个IP每天只能投一票”,这个提示好奇怪,“一个IP”?合着不同的IP地址就是可以继续投呗?说干就干~

0x01

XX公司创新单位投票解决方案
方案一、员工手动刷
实施难度:低
技术难度:无
每天增长票数:100~200
优点:能够增强公司融入感,提高公司在员工心中形象。
缺点:适合双卡手机,外地出差人员使用wifi人员。
方案二、发朋友圈,让亲戚朋友帮忙
实施难度:中
技术难度:无
每天增长票数:50~100
优点:能够让亲戚朋友了解公司
缺点:有些人不愿意莫名其妙的投票,点赞
方案三、程序自动化
实施难度:中
技术难度:高
每天增长票数:理论最多2^32-1
优点:能够快速提高票数
缺点:风险高,可能后台会查到恶意刷票。
技术路线fiddler+jmeter自动化执行
步骤:
1使用fiddler抓包,抓取网站投票URL,写入脚本。
2观察到网站限制一个IP每天只能投票一次(并未限制用户名),可以使用IP欺骗或代理试一下,经验证代理可行。
3百度一下代理并爬取代理IP和端口号,做成csv文件。
4完善脚本,参数化,设置等待时间等。
5执行

0x02

1.打开fiddler,使用浏览器浏览投票网站,抓取创新产品URL:http://www.cnbp.net/events/ITServiceInnovation/PostVote.ashx?voteid=5943&votetype=2017innovation1,创新单位URL:http://www.cnbp.net/events/ITServiceInnovation/PostVote.ashx?voteid=5943&votetype=2017innovation3,将fiddler中报文头写入http head manager。
2.打开jmeter,将两个URL写入脚本。
在这里插入图片描述
3.因为网站限制一个IP每天只能投票一次,可以使用免费代理。百度一下免费代理,选择西刺免费代理(也可以是其他);
4.开始时手动将每一页的IP地址和端口号复制到Excel中,另存为csv文件,后来觉得好傻,为什么不能直接抓取页面中的IP呢?
5.了解到可以使用jmeter中的xpath可以提取网页信息,试一试呗。下图为网页响应内容:
在这里插入图片描述
6.jmeter中在HTTP Request后加入post processors的Xpath Extractor,下图分别为提取IP地址和端口号,可以用开发者模式,直接提取xpath:
在这里插入图片描述
在这里插入图片描述
7.但是上面的仅能得到第一个出现的IP地址和端口号,于是加入计数器counter。
在这里插入图片描述
8.使用Xpath Extractor只是将IP地址和端口号写入变量,还得将变量写入文件,于是用到了post processors的BeanShell PostProcessor。
在这里插入图片描述
代码是百度后拿来主义,改了一下,可以用。
代码如下:

FileWriter fstream = new FileWriter("G:\\Jmeter_learn\\Project\\test0323\\xicai_IP.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("ip_address")+","+vars.get("port")+"\r");
out.close();
fstream.close();

9.使用beanshell提取后的csv如下
在这里插入图片描述
10.到此,IP地址爬取完毕,将IP地址和端口号参数化就可投票。
在这里插入图片描述
在这里插入图片描述
【注意事项】
(1)取IP地址时,不可频繁的请求代理网站,一定要加请求间隔且时间不要太短,会被封的;
(2)http head manager 中User-Agent需多模拟几个浏览器;
(3)免费IP地址可用性很差,可以多尝试其他多个不同网站的代理。


http://chatgpt.dhexx.cn/article/qlfgIavE.shtml

相关文章

Jmeter-获取本地动态from参数

如何引用本地动态from参数? 方法如下 1.本地新建txt文档,使用Notepad进行转码,正确编码:UTF-8,命名data05.txt 2.新建请求一,HTTP请求设置POST,值与CSV数据文件设置的变量名(a,b,c,d,e)保持一致,f1,f2,f3…

Jmeter性能测试+自动化

1.、性能测试指标 应用场景:服务器的接口性能测试80% - 20%(UI性能:web渲染,app反应) APP 微信小程序 web H5 模拟器——Jmeter/LR http协议,连接到后台服务器 (web服务器 数据库服务器(mysql&#xff09…

Jmeter的三种参数化方式(2)

小伙伴们在使用JMeter的过程中,肯定会遇到参数值传递的问题,下面来和大家总结下,在使用JMeter做压力测试的时候,常见的3种参数值的传递是怎样的。 (一)从CSV文件读取要批量输入的变量 假如我们要登录的数据保存在login.csv文件里…

Jmeter基础知识

前言:性能测试是现如今测试人员都要有具备会的,至少目前内卷的来说,不会点性能测试、自动化测试,都不对不起自己的高薪,对吧,所以小白想要高薪,就必须要学会这些技能,因为你不会不代…

JMeter如何实现参数名称和个数动态变化的接口请求

需求分析 在做接口自动化和性能测试,经常会遇到一些请求参数是根据上一个请求结果,动态变化的参数个数,参数名可能相同,也可能为序列递增格式,参数个数可能为10、20个,这样就导致手工不好模拟该请求效果&am…

【性能测试系列】JMeter核心技术:分布式压测和参数化

微信搜索关注公众号:测试小工,第一时间获取最新软件测试技术文章 JMeter分布式压测 1. 为什么要做分布式部署? 在上一篇文章中,我们提到了JMeter的线程启动和运行,是会占用系统资源的,一旦需要大并发,而JMeter单机部署配置不够,将会导致JMeter无法在规定时间内启动对…

接口测试参数化详解(Jmeter)

简介 接口测试是目前最主流的自动化测试手段,它组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性。我们在测试过程中需要考虑不同的输入组合,来覆盖不同的测试范围&#…

【JMeter】JMeter的工作原理

一、JMeter简介 JMeter是Apache组织开发的基于Java的开源的压力测试工具、接口测试工具 可以模拟高并发和多次循环的测试场景,能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试,具有可移植性 二、压测的原理 …

jmeter设置参数化

设置参数化方法有3种 第一种: 1.打开 jmeter,导入badboy录制的脚本 导入后记得选择“step”右键选择change controller -》逻辑控制器-》循环控制器或者简单控制器 注意:badboy 仅s适用于B/S架构的产品录制 因为内置浏览器的内核的兼容性问题…

JMeter接口测试_参数化

对应qq群号:616961231 简介: 环境: Mac OS home 目录类似windows 的自建目录 如: D:/test/id.txt 上篇内容介绍了jmeter的基本使用, 略微提了如何做参数化, 本篇对参数化做进一步深入讲解. Jmeter大概有以下几种参数化方法: 参数化方式使用场景1User Parameters适用于参…

Jmeter如何实现参数化用户,并且管理Cookie

谈到性能测试,经常需要对用户进行参数化,jemter工具参数化经常使用的一个元件就是CSV数据文件设置 一、 操作步骤 1. 首先建议大家创建一个规范的目录保存文件 目录作用data保存参数result保存结果script保存脚本 2. 如下图所示 设置目录的好处&#x…

jmeter + mysql数据驱动自动化测试

测试对象:前端web等后端接口mysql数据库 https://www.cnblogs.com/testfan2019/p/12124093.html 需求: 通过后端接口,对数据进行查询,对比查询返回内容和数据库内容是否一致。 Jmeter配置: 安装mysql驱动包 1. 下…

Jmeter参数化设置,多用户登录

一、模拟多用户登录场景 如登录模式如下图所示,登录界面中需要输入:用户名、密码、验证码 用户名以及密码均是固定值,不需要做处理。验证码需要处理一下,可以后台配置成固定值,具体可以找开发咨询。 在此场景中&#x…

【完结版】jmeter+ant+python自动化框架,且支持jenkins持续集成

前言:本文是实现jmeterantpython脚本的自动化测试框架,并且把整套部署在jenkins,通过jenkins的构建来出发脚本的运行,而且还会在jenkins上展示html报告。本文记录搭建框架的整个步骤,以及遇到的问题和记录解决办法。 一…

Jmeter之参数化

这里我用到的是微信的获取access_token接口。 https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credential&appidAPPID&secretAPPSECRET 共有三个参数。接下来是设计接口测试用例 新建一个excel文件,输入标题&#xff0c…

常用的Jmeter参数化技巧总结,总有一个你不知道

说起接口测试,相信大家在工作中用的最多的还是Jmeter。 JMeter是一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是功能和性能测试的工具。具有高可扩展性、支持Web(HTTP/HTTPS)、SOAP、FTP、JAVA 等多种协议。 在做…

Jmeter关联实现及参数化使用解析

这篇文章主要介绍了Jmeter关联实现及参数化使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、Jmeter介绍 一款融合接口、性能都能完成的测试工具纯JAVA开发的工具开源工具支持多种协议应该是测试业界…

Jmeter系列之参数化

VOL 132 08 2020-06 今天距2021年206天 这是ITester软件测试小栈第132次推文 点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 07:30准时推送。 微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“21天打卡”一起学习成长,打…

Jmeter参数化---使用CSV 数据文件设置

上一篇写了jmeter做接口测试的流程(链接:使用 jmeter 做接口测试) 这一篇写的是如何参数化的做Jmeter接口测试 这次依然是获取access_token的接口,相关文档详询:(https://developers.weixin.qq.com/doc/offiaccount/…

Jmeter参数化--后置处理器之正则表达式提取器

在接口测试中,很多都需要依赖前一个请求的响应数据放到后一个请求的请求数据中来,在Jmeter中提供了正则表达式提取器来提取响应数据中的片段 本次使用的实例是微信公众号的客服发消息,在这个接口中,需要用到access_token接口返回…