CN114039899B - 基于Fiddler工具实现WEB化产品的网络性能测试的方法 - Google Patents
基于Fiddler工具实现WEB化产品的网络性能测试的方法 Download PDFInfo
- Publication number
- CN114039899B CN114039899B CN202111217594.8A CN202111217594A CN114039899B CN 114039899 B CN114039899 B CN 114039899B CN 202111217594 A CN202111217594 A CN 202111217594A CN 114039899 B CN114039899 B CN 114039899B
- Authority
- CN
- China
- Prior art keywords
- client
- data
- tool
- server
- fiddler
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000011056 performance test Methods 0.000 title claims abstract description 33
- 238000012360 testing method Methods 0.000 claims abstract description 92
- 230000003993 interaction Effects 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 22
- 239000000284 extract Substances 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 claims 2
- 239000000758 substrate Substances 0.000 claims 1
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241001101720 Murgantia histrionica Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明涉及一种基于Fiddler工具实现WEB化产品的网络性能测试的方法,包括:Fiddler工具安装于WEB化产品的PC并开启浏览器的代理后,根据预先的网络测试环境的测试策略,Fiddler工具设置对应测试策略中至少一个网络环境,以模拟WEB化产品的客户端处于所述网络环境的场景;Fiddler工具以所述网络环境的上行参数和下行参数,中转所述客户端与服务器之间的交互数据,以使客户端和服务器发送的数据均为处于所述网络环境中时发送的数据;根据所述交互数据,获得所述客户端的网络性能测试结果;客户端为PC中的客户端或移动端中的客户端。上述方法解决了devtools工具无法抓到包的情况,可模拟各种网络环境下的测试,且有效提高了测试效率。
Description
技术领域
本发明涉及工业测试技术领域,尤其涉及一种基于Fiddler工具实现WEB化产品的网络性能测试的方法。
背景技术
在智能集控产品中心软件产品Web化背景下,用户可以通过浏览器方便地访问应用服务。另外,一些需要通过手持设备进行作业的需求催生了移动端。因此智能集控产品中心很多项目都是PC端和移动端并存。而现场大型设备和网络布置对移动设备软件的使用造成了一定程度的影响,需要对PC端和移动端,在现场环境的性能测试,及弱网环境下交互是否友好等需求进行验证。且有的web化项目独立开发了web化客户端,禁止使用浏览器登录,所以有类似功能的devtools无法派上用处。
为此,如何实现智能集控产品的移动侧网络性能的测试成为当前急需解决的技术问题。
发明内容
(一)要解决的技术问题
鉴于现有技术的上述缺点、不足,本发明提供一种基于Fiddler工具实现WEB化产品的网络性能测试的方法,以有效解决devtools工具无法抓到包的情况,且可模拟各种网络环境下的测试,提高了测试效率。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
第一方面,本发明实施例提供一种基于Fiddler工具实现WEB化产品的网络性能测试的方法,包括:
Fiddler工具安装于WEB化产品的PC并开启浏览器的代理后,根据预先的网络测试环境的测试策略,Fiddler工具设置对应测试策略中至少一个网络环境,以模拟WEB化产品的客户端处于所述网络环境的场景;
所述Fiddler工具以所述网络环境的上行参数和下行参数,中转所述客户端与服务器之间的交互数据,以使客户端和服务器发送的数据均为处于所述网络环境中时发送的数据;根据所述交互数据,获得所述客户端的网络性能测试结果;
若所述浏览器为PC中的浏览器,则所述客户端为PC中的客户端;
若所述浏览器为移动端中的浏览器,则所述客户端为移动端中的客户端。
可选地,根据预先的网络测试环境的测试策略,Fiddler工具设置对应测试策略中至少一个网络环境,以模拟WEB化产品的客户端处于所述网络环境的场景,包括:
Fiddler工具接收测试者的编辑指令,并根据所述编辑指令开启弱网模式,以模拟WEB化产品的客户端处于弱网环境中;
所述编辑指令为根据测试策略中的弱网模式设置信息确定的指令。
可选地,所述Fiddler工具以所述网络环境的上行参数和下行参数,中转所述客户端与服务器之间的交互数据,包括:
针对单客户端场景,所述Fiddler工具获取所述客户端发送的第一数据后,采用弱网环境中的上行参数修改第一数据的信息并将修改后的第一数据转发至服务器;
所述Fiddler工具接收所述服务器基于所述修改后的第一数据的响应信息,采用弱网环境中的下行参数修改响应信息,并将修改后的响应信息转发至所述客户端;
所述上行参数包括:上行带宽、上行丢包率、上行延迟或DNS延迟;
所述下行参数包括:下行带宽、下行丢包率、下行延迟或DNS延迟;
所述弱网环境包括:2G、3G、4G或WIFI。
可选地,根据所述交互数据,获得所述客户端的网络性能测试结果;
所述Fiddler工具将获取的所述第一数据和响应信息展示并确定所述客户端的单接口时网络性能测试结果。
可选地,根据预先的网络测试环境的测试策略,Fiddler工具设置对应测试策略中至少一个网络环境,以模拟WEB化产品的客户端处于所述网络环境的场景,包括:
针对单客户端场景,Fiddler工具接收测试者的设置指令,基于设置指令开启第一断点模式或第二断点模式,以模拟WEB化产品的客户端处于断点环境中;
所述设置指令为根据测试策略中的第一断点模式或第二断点模式对应的设置信息确定的指令;
所述第一断点模式为所有HTTP信息均存在断点,所述第二断点模式为指定类型的HTTP信息存在断点。
可选地,所述Fiddler工具以所述网络环境的上行参数和下行参数,中转所述客户端与服务器之间的交互数据,包括:
若断点环境为第一断点模式对应的断点环境,则所述Fiddler工具获取所述客户端的第一数据后,挂起该第一数据,使得浏览器页面处于加载中,
或者,若断点环境为第二断点模式对应的断点环境,则所述Fiddler工具获取所述客户端的第一数据后,判断所述第一数据是否为指定类型的HTTP信息,若否则正常转发至服务器,否则挂起该第一数据,使得浏览器页面处于加载中,
以及,在挂起预设时间段后修改所述第一数据,并将修改后的第一数据发送所述服务器;
所述Fiddler工具获取服务器的响应信息,并转发至所述客户端。
可选地,所述方法还包括:
采用单客户端测试多客户端并发时的网络性能,在所述客户端与服务器交互过程中,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中;
所述Jmeter工具根据测试策略中的并发信息,模拟多个虚拟客户端产生的多个并发的第一数据,将模拟的所有第一数据以各自虚拟客户端的形式发送服务器;所述Jmeter工具用于模拟并发场景下多虚拟客户端发送的数据;
依据所述Jmeter工具中的每一虚拟客户端与所述服务器交互的信息,所述Jmeter工具输出多客户端并发时的网络性能测试报告。
可选地,在所述客户端与服务器交互过程中,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中,包括:
所述客户端发送所述服务器的第一数据,经由所述Fiddler工具基于所述网络环境的上行参数和下行参数进行修改并转发至所述服务器,同时,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中;
或者,
所述客户端发送所述服务器的第一数据,经由所述Fiddler工具直接转发服务器,同时,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中;
或者,
所述客户端直接将第一数据发送所述服务器,所述Fiddler工具仅用于获取所述第一数据并导出至Jmeter工具中。
可选地,所述Jmeter工具根据测试策略中的并发信息,模拟多个虚拟客户端产生的多个并发的第一数据,将模拟的所有第一数据以各自虚拟客户端的形式发送服务器;所述Jmeter工具用于模拟并发场景下多虚拟客户端发送的数据;
所述Jmeter工具借助于正则表达式的方式提取第一数据中的以表示有效登录的随机数,并基于并发信息中虚拟客户端的数量实现第一数据的并发,以获得对应每一虚拟客户端的且能够实现有效登录的第一数据,以及将获得的所有第一数据以各自虚拟客户端的形式发送服务器。
(三)有益效果
本发明的测试方法引入Fiddler工具,对PC端和移动端客户端的相关需求进行测试,其能够模拟现成弱网环境,找出客户端和服务器的交互过程中的性能弱点,以便针对性的调优;同时,还可以回归性能调优后的接口,便于现场问题验证。
本申请的测试方法不依赖于界面,测试脚本不需要编程,使用简便。
进一步地,Fiddler工具的测试脚本还可以二次开发,如对Fiddler工具抓取的数据导出成jmx格式的文件在Jmeter工具中进行导入,用于实现接口的并发性的性能测试;或者还可以对Fiddler工具抓取的数据导出成txt文件,用python进行解析,生成py文件,对接口进行深入的性能测试。
附图说明
图1为本发明一实施例提供的基于Fiddler工具的客户端与服务器交互的框架示意图;
图2为本发明一实施例提供的基于Fiddler工具实现WEB化产品的网络性能测试的方法的流程示意图;
图3为本发明一实施例提供的弱网环境下上行参数和下行参数的展示示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
为了更好的理解本申请的技术方案,以下说明选择Fiddler工具的理由:
现有的第一种工具Firebug:Firebug虽然可以抓包,但是对于分析HTTP请求的详细信息,不够强大。模拟HTTP请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。
现有的第二种工具Wireshark:Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取HTTP请求的应用来说成本高,且不太适合。
现有的第三种工具Httpwatch:Httpwatch也是比较常用的HTTP抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的工具),对于想要调试chrome浏览器的HTTP请求,似乎稍显无力。
本申请选择的Fiddler工具:Fiddler工具是一个使用本地127.0.0.1:8888的HTTP代理,任何能够设置HTTP代理为127.0.0.1:8888的浏览器和应用程序都可以使用Fiddler,其交互如图1所示。
实施例一
如图2所示,本实施例提供一种基于Fiddler工具实现WEB化产品的网络性能测试的方法的流程示意图,本实施例的方法的执行设备可为电子设备,其具体为电子设备中的Fiddler工具,本实施例的测试方法的步骤包括:
201、Fiddler工具安装于WEB化产品的PC并开启浏览器的代理后,根据预先的网络测试环境的测试策略,Fiddler工具设置对应测试策略中至少一个网络环境,以模拟WEB化产品的客户端处于所述网络环境的场景。
举例来说,所述测试策略包括:在规则设置中打开定制文档中打开弱网模式,弱网模式的上行和下行参数;
或者,所述测试策略包括:在规则设置中设置所有HTTP信息的第一断点模式,在规则设置中设置指定类型HTTP信息的第二断点模式等等,本实施例不对其限定,根据实际需要调整。
本实施例中的客户端可以是PC侧的移动端,也可以是移动侧的客户端,WEB化产品可为任何一个需要通过网络连接实现测试、控制使用的现场化设备,如继电器、控制器(如密封机械结构的控制器、液体流量式控制的控制器等)。
202、Fiddler工具以所述网络环境的上行参数和下行参数,中转所述客户端与服务器之间的交互数据,以使客户端和服务器发送的数据均为处于所述网络环境中时发送的数据;根据所述交互数据,获得所述客户端的网络性能测试结果。
需要说明的是,若所述浏览器为PC中的浏览器,则所述客户端为PC中的客户端;若所述浏览器为移动端中的浏览器,则所述客户端为移动端中的客户端。特别说明,移动端的客户端和PC端处于同一网络,进而才能实现Fiddler工具的代理。即PC端处于3G网络,则移动设备也必须是3G网络,此时在Fiddler工具中选择代理移动端的客户端,则可以实现Fiddler工具获取移动端客户端的数据。
本实施例的测试方法引入Fiddler工具,对PC端和移动端的单客户端的相关需求进行测试,其能够模拟弱网环境,找出客户端和服务器的交互过程中的性能弱点,以实现针对性的调优。
在本实施例中,Fiddler工具安装简单,测试者熟悉,在本实施例中用来抓包协助接口测试和简单的性能测试,运行后即可自动开启浏览器的代理,进行抓包。
实施例二
针对单客户端的场景,其模拟弱网环境的过程说明如下。
以东北制药项目遇到的问题:应用现场有大量WEB化的大型设备,导致每个区域网速不一致,有时候会造成客户端响应异常的情况(在网络信号差的地方,用户操作时会反复弹出toast框,遮挡用户(或操作者)操作,且因网络问题引起的数据提交失败,错误提示内容应和网络有关而非软件的报错),为了验证异常提示是否合理,及弱网环境软件的引用情况,本实施例提供如下的测试方法:
Fiddler工具与移动侧的客户端网络连接后模拟客户端的弱网环境,步骤如下:
通过Rules(规则目录)—>Cutomize Rules(规则设置菜单)打开CustomRules.js(即定制)文档,在文件中搜索关键字,m_SimulateModem(弱网模式选项);
判断m_SimulateModem是否为true,若是,则确定已经选择弱网模式即Fiddler工具已模拟弱网环境;此时调整弱网模式的上行参数和下行参数,例如分析代码:oSession[“request-trickle-delay”]=“300”;注释的也很明白,Delay sends by 300ms per KBuploaded.上传1KB需要300ms,转化一下上传速度:1Kb/0.3s=10/3(KB/s);
如果想限制上传的速度,就增大Delay时间,同理也可设置下载速度。然后根据弱网环境的网路参数,调整对应速度,模拟出现场设备的弱网环境,进行bug回归。举例来说,可根据图3所示的数据设置所需的弱网环境,进而实现弱网环境下客户端和服务器交互过程中网络性能的测试。
具体地,本实施例的步骤可包括:
301、Fiddler工具安装于WEB化产品的PC并开启浏览器的代理后,Fiddler工具接收测试者的编辑指令,并根据所述编辑指令开启弱网模式,以模拟WEB化产品的客户端处于弱网环境中;
所述编辑指令为根据测试策略中的弱网模式设置信息确定的指令,例如,该指令可以是设置m_SimulateModem为true的指令。
302、针对单客户端场景,Fiddler工具获取所述客户端发送的第一数据后,采用弱网环境中的上行参数修改第一数据的信息并将修改后的第一数据转发至服务器;
所述Fiddler工具接收所述服务器基于所述修改后的第一数据的响应信息,采用弱网环境中的下行参数修改响应信息,并将修改后的响应信息转发至所述客户端。
如图3所示,本实施例中的上行参数可包括:上行带宽、上行丢包率、上行延迟或DNS延迟;
下行参数可包括:下行带宽、下行丢包率、下行延迟或DNS延迟;本实施例中上行参数和下行参数均为举例说明,并不对本实施例进行限定,根据实际设置。
本实施例的弱网环境可包括:2G、3G、4G或WIFI等。
303、Fiddler工具将获取的所述第一数据和响应信息展示并确定所述客户端的单接口时网络性能测试结果。
当前WEB产品化的客户端的测试环境网络条件正常,很多问题并未被暴露,模拟弱网环境以有效测试客户端的网络性能,基于上述实施例的方法,不论是对现场网络环境影响导致的bug的回归还是也日常测试中各网络环境下的软件响应测试都有了更有效的依据。上述方法可有效模拟客户端所处的弱网环境,进而可便于操作人员或服务器针对现场情况展开测试和验证。
实施例三
针对单客户端的场景,其模拟断点环境的过程说明如下。
Fiddler工具还可以是前端调试利器,通过设置断点,可修改HTTP请求头信息;构造请求数据;拦截响应数据,修改响应实体。
1)例如,Fiddler菜单栏->rules->automatic Breakpoints->选择第一种断点模式,这种模式下设定的断点会对之后的所有HTTP请求有效。
本实施例中可以有两个断点位置:
a.before response。也就是发送请求之后,但是Fiddler工具代理中转之前,这时可以修改请求的数据。
b.after response。也就是服务器响应之后,但是在Fiddler工具代理中将响应中转给客户端之前。这时可以修改响应的结果。
2)命令行下输入。
Bpafter xxx或者bpv,bpu,bpm等设置断点。这种断点只针对特定类型的请求。
不论上述的第一断点模式还是第二断点模式,设置断点后,请求被挂起,客户端的浏览器页面一致处于加载中,此时修改需要调试的信息后,点击run to complete,便可回送修改后的信息,客户端的浏览器页面也发生相应改变。具体地,本实施例的方法可包括下述的步骤:
401、针对单客户端场景,Fiddler工具安装于WEB化产品的PC并开启浏览器的代理后,Fiddler工具接收测试者的设置指令,基于设置指令开启第一断点模式或第二断点模式,以模拟WEB化产品的客户端处于断点环境中。
本实施例中,上述的设置指令为根据测试策略中的第一断点模式或第二断点模式对应的设置信息确定的指令;例如,设置信息可为在automatic Breakpoints中选择断点模式。
所述第一断点模式为所有HTTP信息均存在断点,所述第二断点模式为指定类型的HTTP信息存在断点。
402、若断点环境为第一断点模式对应的断点环境,则所述Fiddler工具获取所述客户端的第一数据后,挂起该第一数据,使得客户端的浏览器页面处于加载中,
或者,若断点环境为第二断点模式对应的断点环境,则所述Fiddler工具获取所述客户端的第一数据后,判断所述第一数据是否为指定类型的HTTP信息,若否,则正常转发至服务器,否则挂起该第一数据,使得浏览器页面处于加载中,
以及,在挂起预设时间段后修改所述第一数据,并将修改后的第一数据发送所述服务器;
所述Fiddler工具获取服务器的响应信息,并转发至所述客户端。
403、Fiddler工具将获取的所述第一数据和响应信息展示并确定所述客户端的单接口时网络性能测试结果。
本实施例中可以模拟断点场景,有效测试客户端与服务器交互过程中的网络性能,进而便于测试者的调试。
实施例四
前述实施例举例说明的均为单客户端的网络性能测试,针对多客户端的场景,可说明如下:
除了单用户场景(即单客户端场景)还有多客户端并发的场景,但是在实际测试过程中,不能使用多个实际存在的客户端进行测试多客户端并发的场景,其耗时且成本高,测试不便。
为此,在本实施例中采用单客户端模拟测试多客户端并发时的网络性能,例如,第一种测试方案,Fiddler工具通过客户端的接口抓取实际存在的单客户端发送至服务器的第一数据,在Fiddler工具中按replay+shift键设置测试策略中的并发信息即并发数量对应的所有第一数据,以便将所有的第一数据转发至服务器,获取服务器针对所有第一数据的响应信息,进而在Fiddler工具中获取多客户端并发场景下的网络测试结果。
但是,上述多客户端并发的场景中,Fiddler工具会把每次会话都显示在该Fiddler工具的面板里,如果并发量(如超过10个客户端)过大时,会在面板出现大量数据,导致测试复杂,且操作非常不便。
本实施例中提供一种新的简化的多客户端并发场景下的网络性能测试方法,例如可将多客户端并发的网络性能测试可放到Jmeter工具中进行。具体地,可包括下述的步骤:
501、采用单客户端测试多客户端并发时的网络性能,在所述客户端与服务器交互过程中,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中。
举例来说,所述客户端发送所述服务器的第一数据,经由所述Fiddler工具基于所述网络环境的上行参数和下行参数进行修改并转发至所述服务器,同时,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中;此时的Fiddler工具中转客户端与服务器之间的交互数据,并按照测试策略进行修改。
或者,所述客户端发送所述服务器的第一数据,经由所述Fiddler工具直接转发服务器,同时,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中;此时,Fiddler工具用于中转客户端与服务器之间的交互数据,并不对其修改。
或者,所述客户端直接将第一数据发送所述服务器,所述Fiddler工具仅用于获取所述第一数据并导出至Jmeter工具中,此时Fiddler工具无需中转客户端与服务器之间的交互数据。
502、所述Jmeter工具根据测试策略中的并发信息,模拟多个虚拟客户端产生的多个并发的第一数据,将模拟的所有第一数据以各自虚拟客户端的形式发送服务器;所述Jmeter工具用于模拟并发场景下多虚拟客户端发送的数据。
需要说明的是,本实施例中的Fiddler工具可在客户端首次与服务器交互时抓取数据,并实现在Jmeter工具中复用,后续Jmeter工具中的虚拟客户端可自行与服务器交互。
或者,在另一实施例中,本实施例中的Fiddler工具可在客户端每一次与服务器交互时抓取数据,并实现在Jmeter工具中复用,使得Jmeter工具中的虚拟客户端每次基于复用的数据与服务器交互。
以客户端登录服务器时发送的数据进行复用的情况进行说明:Jmeter工具可借助于正则表达式的方式提取第一数据中的以表示有效登录的随机数,并基于并发信息中虚拟客户端的数量实现第一数据的并发,以获得对应每一虚拟客户端的且能够实现有效登录的第一数据,以及将获得的所有第一数据以各自虚拟客户端的形式发送服务器。
实际的客户端登录时采用单点登录,因为每次登录时会生成一串随机数,所以Jmeter工具采用正则表达式取出第一数据中的随机数并以参数传递验证,单接口测试必须保证登录有效才能验证,为了实现让性能测试脚本独立运行,在Jmeter工具中增加对应登录接口,并设置需要传递的参数,来保证每次运行都是有效登录。
在Jmeter工具模拟的登录请求login中添加正则表达式提取器,并设置正则表达式,用于提取相关的参数如随机数,将提取的随机数传递给登录验证请求,以实现用于上接口的返回需要作为下接口的传递参数的过程。
503、依据所述Jmeter工具中的每一虚拟客户端与所述服务器交互的信息,所述Jmeter工具输出多客户端并发时的网络性能测试报告。
可理解的是,上述实施例中,Fiddler工具将抓到的客户端的接口数据导出,Jmeter工具针对的导出的数据复用并进行更深入的性能测试。Fiddler工具和Jmeter工具均配置在同一个设备中。
Jmeter工具无需安装,操作便捷,采用Jmeter进行性能测试有以下优势:1)可模拟高并发的多个虚拟客户端,找出交互过程中的性能热点,进行调优;2)回归性能调优后的虚拟客户端的接口;3)加压验证各接口的性能,性能测试前移,提早发现问题,节约修复bug的成本;4)不依赖于界面,测试脚本不需要编程;5)JMeter工具的性能测试脚本可以集成到测试分中心现有的自动化测试框架运行;6)可以用于测试FTP、HTTP、RPC、JUNIT、JMS、LDAP、WebService(Soap)Request以及Mail和JDBC(数据库压力测试)的轻量级性能工具。
在本实施例中,在Fiddler工具中导出的数据在Jmeter中进行复用,以便后续调优后的验证。
Fiddler工具和Jmeter工具安装简便,即装即用,解决devtools工具无法抓到包的情况,可模拟各种网络环境下的测试,及Fiddler工具的测试脚本可导出抓取的客户端的第一数据并导出在其他工具中复用,并可在Jmeter工具中针对关键接口,进行性能上限测试,给出性能指标。
另外,关于Jmeter工具的具体使用过程可借鉴现有的操作过程,本实施例中不对其限定,例如,a:在线程组中设置所需的线程数如并发数对应的线程数;b:在线程组中设置所有HHTP请求的完成时间;例如,如果使用10个线程,ramp-up period(请求完成时间)是100秒,那么Jmeter工具中可设置用100秒使所有10个线程启动并运行,每个线程会在上一个线程启动后10秒(100/10)启动;如果将ramp-up period是0秒,指的同时启动线程并发。c:还可设置循环次数,如设置线程数循环次数等。当然,如果需要测试长期服务器压力可以设置成永远。在按照上述信息进行设置后,可接收执行指令以实现执行,执行完成后可获取具有测试结果的聚合报告(即网络性能测试报告),以便用户查看测试结果,即并发结果。
通常,在输出的聚和报告可包括:关注平均响应时间(Average)毫秒、错误率(Error%)、吞吐量(Throughput)等信息,由此,可有效判定接口性能。
需要说明的是,Jmeter工具中的设置操作可为接收用户输入的测试需求信息,根据测试需求信息自动设置各对应信息的过程,也可以是逐步接收用户输入的测试需求信息,以便实现调整相关信息,实现对并发性能的测试。
另外,本实施例中的Fiddler工具和Jmeter工具均为通过代码化方式实现的一个工具,其可以实现自动开启浏览器的代理操作,安装方便,操作便携,能够和其他工具有效配合实现对网络性能的有效测试和验证,解决了现有技术中无法模拟各种弱网、并发环境等无法实现对WEB化产品进行有效测试和验证的缺陷。
在其他实施例中,还可以对Fiddler工具抓取的数据导出成txt文件,用python进行解析,生成py文件,对接口进行深入的性能测试,例如,接口只是用于查看到用户名的,可以通过抓接口,二次开发后加个功能看见用户其他信息,看看接口数据的关联性是否和数据库一致。也就是说,对Fiddler工具抓取的数据可以扩展进行其他的网络性能的测试,根据实际需要配置测试工具即可,本实施例仅为距离说明。
应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
Claims (8)
1.一种基于Fiddler工具实现WEB化产品的网络性能测试的方法,其特征在于,所述WEB化产品的网络性能测试为需要通过网络连接实现测试、控制使用的现场化设备的移动侧网络性能的测试,所述现场化设备包括:继电器或控制器;方法包括:
Fiddler工具安装于WEB化产品的PC并开启浏览器的代理后,根据预先的网络测试环境的测试策略,Fiddler工具设置对应测试策略中至少一个网络环境,以模拟WEB化产品的客户端处于所述网络环境的场景;
所述Fiddler工具以所述网络环境的上行参数和下行参数,中转所述客户端与服务器之间的交互数据,以使客户端和服务器发送的数据均为处于所述网络环境中时发送的数据;根据所述交互数据,获得所述客户端的网络性能测试结果;
若所述浏览器为移动端中的浏览器,则所述客户端为移动端中的客户端;移动端的客户端和PC端处于同一网络;
采用单客户端测试多客户端并发时的网络性能,在所述客户端与服务器交互过程中,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中;
所述Jmeter工具根据测试策略中的并发信息,模拟多个虚拟客户端产生的多个并发的第一数据,将模拟的所有第一数据以各自虚拟客户端的形式发送服务器;所述Jmeter工具用于模拟并发场景下多虚拟客户端发送的数据;
依据所述Jmeter工具中的每一虚拟客户端与所述服务器交互的信息,所述Jmeter工具输出多客户端并发时的网络性能测试报告。
2.根据权利要求1所述的方法,其特征在于,根据预先的网络测试环境的测试策略,Fiddler工具设置对应测试策略中至少一个网络环境,以模拟WEB化产品的客户端处于所述网络环境的场景,包括:
Fiddler工具接收测试者的编辑指令,并根据所述编辑指令开启弱网模式,以模拟WEB化产品的客户端处于弱网环境中;
所述编辑指令为根据测试策略中的弱网模式设置信息确定的指令。
3.根据权利要求2所述的方法,其特征在于,所述Fiddler工具以所述网络环境的上行参数和下行参数,中转所述客户端与服务器之间的交互数据,包括:
针对单客户端场景,所述Fiddler工具获取所述客户端发送的第一数据后,采用弱网环境中的上行参数修改第一数据的信息并将修改后的第一数据转发至服务器;
所述Fiddler工具接收所述服务器基于所述修改后的第一数据的响应信息,采用弱网环境中的下行参数修改响应信息,并将修改后的响应信息转发至所述客户端;
所述上行参数包括:上行带宽、上行丢包率、上行延迟或DNS延迟;
所述下行参数包括:下行带宽、下行丢包率、下行延迟或DNS延迟;
所述弱网环境包括:2G、3G、4G或WIFI。
4.根据权利要求3所述的方法,其特征在于,根据所述交互数据,获得所述客户端的网络性能测试结果;
所述Fiddler工具将获取的所述第一数据和响应信息展示并确定所述客户端的单接口时网络性能测试结果。
5.根据权利要求1所述的方法,其特征在于,根据预先的网络测试环境的测试策略,Fiddler工具设置对应测试策略中至少一个网络环境,以模拟WEB化产品的客户端处于所述网络环境的场景,包括:
针对单客户端场景,Fiddler工具接收测试者的设置指令,基于设置指令开启第一断点模式或第二断点模式,以模拟WEB化产品的客户端处于断点环境中;
所述设置指令为根据测试策略中的第一断点模式或第二断点模式对应的设置信息确定的指令;
所述第一断点模式为所有HTTP信息均存在断点,所述第二断点模式为指定类型的HTTP信息存在断点。
6.根据权利要求5所述的方法,其特征在于,所述Fiddler工具以所述网络环境的上行参数和下行参数,中转所述客户端与服务器之间的交互数据,包括:
若断点环境为第一断点模式对应的断点环境,则所述Fiddler工具获取所述客户端的第一数据后,挂起该第一数据,使得客户端的浏览器页面处于加载中,
或者,若断点环境为第二断点模式对应的断点环境,则所述Fiddler工具获取所述客户端的第一数据后,判断所述第一数据是否为指定类型的HTTP信息,若否,则正常转发至服务器,否则挂起该第一数据,使得客户端的浏览器页面处于加载中,
以及,在挂起预设时间段后修改所述第一数据,并将修改后的第一数据发送所述服务器;
所述Fiddler工具获取服务器的响应信息,并转发至所述客户端。
7.根据权利要求1所述的方法,其特征在于,
在所述客户端与服务器交互过程中,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中,包括:
所述客户端发送所述服务器的第一数据,经由所述Fiddler工具基于所述网络环境的上行参数和下行参数进行修改并转发至所述服务器,同时,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中;
或者,
所述客户端发送所述服务器的第一数据,经由所述Fiddler工具直接转发服务器,同时,所述Fiddler工具获取所述客户端发送的第一数据并导出至Jmeter工具中;
或者,
所述客户端直接将第一数据发送所述服务器,所述Fiddler工具仅用于获取所述第一数据并导出至Jmeter工具中。
8.根据权利要求1所述的方法,其特征在于,所述Jmeter工具根据测试策略中的并发信息,模拟多个虚拟客户端产生的多个并发的第一数据,将模拟的所有第一数据以各自虚拟客户端的形式发送服务器;所述Jmeter工具用于模拟并发场景下多虚拟客户端发送的数据;
所述Jmeter工具借助于正则表达式的方式提取第一数据中的以表示有效登录的随机数,并基于并发信息中虚拟客户端的数量实现第一数据的并发,以获得对应每一虚拟客户端的且能够实现有效登录的第一数据,以及将获得的所有第一数据以各自虚拟客户端的形式发送服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111217594.8A CN114039899B (zh) | 2021-10-19 | 2021-10-19 | 基于Fiddler工具实现WEB化产品的网络性能测试的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111217594.8A CN114039899B (zh) | 2021-10-19 | 2021-10-19 | 基于Fiddler工具实现WEB化产品的网络性能测试的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114039899A CN114039899A (zh) | 2022-02-11 |
CN114039899B true CN114039899B (zh) | 2023-08-15 |
Family
ID=80135609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111217594.8A Active CN114039899B (zh) | 2021-10-19 | 2021-10-19 | 基于Fiddler工具实现WEB化产品的网络性能测试的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114039899B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710429A (zh) * | 2022-03-28 | 2022-07-05 | 重庆长安汽车股份有限公司 | 一种弱网模拟系统、方法及弱网下车机测试方法 |
CN115021831B (zh) * | 2022-06-22 | 2024-03-12 | 北京有竹居网络技术有限公司 | 弱网测试方法、装置、系统、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808427A (zh) * | 2016-03-02 | 2016-07-27 | 厦门美图移动科技有限公司 | 一种移动终端软件测试方法、装置和系统 |
CN108345543A (zh) * | 2018-03-02 | 2018-07-31 | 财付通支付科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN109597761A (zh) * | 2018-12-03 | 2019-04-09 | 四川长虹电器股份有限公司 | 一种基于Jmeter的接口自动化测试方法 |
CN111444111A (zh) * | 2020-04-15 | 2020-07-24 | 深圳市万睿智能科技有限公司 | 基于python的性能测试方法、装置、计算机设备及存储介质 |
CN111475359A (zh) * | 2020-04-13 | 2020-07-31 | 腾讯音乐娱乐科技(深圳)有限公司 | 多消息交互场景下的系统测试方法、装置和存储介质 |
CN112668001A (zh) * | 2020-12-22 | 2021-04-16 | 深圳市吉祥腾达科技有限公司 | 路由器抗csrf攻击的测试方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8185910B2 (en) * | 2008-08-27 | 2012-05-22 | Eric Sven-Johan Swildens | Method and system for testing interactions between web clients and networked servers |
-
2021
- 2021-10-19 CN CN202111217594.8A patent/CN114039899B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808427A (zh) * | 2016-03-02 | 2016-07-27 | 厦门美图移动科技有限公司 | 一种移动终端软件测试方法、装置和系统 |
CN108345543A (zh) * | 2018-03-02 | 2018-07-31 | 财付通支付科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN109597761A (zh) * | 2018-12-03 | 2019-04-09 | 四川长虹电器股份有限公司 | 一种基于Jmeter的接口自动化测试方法 |
CN111475359A (zh) * | 2020-04-13 | 2020-07-31 | 腾讯音乐娱乐科技(深圳)有限公司 | 多消息交互场景下的系统测试方法、装置和存储介质 |
CN111444111A (zh) * | 2020-04-15 | 2020-07-24 | 深圳市万睿智能科技有限公司 | 基于python的性能测试方法、装置、计算机设备及存储介质 |
CN112668001A (zh) * | 2020-12-22 | 2021-04-16 | 深圳市吉祥腾达科技有限公司 | 路由器抗csrf攻击的测试方法及系统 |
Non-Patent Citations (1)
Title |
---|
Dave E等.LMS on sticks: Development of a handy learning management system.IEEE.2017,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114039899A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114039899B (zh) | 基于Fiddler工具实现WEB化产品的网络性能测试的方法 | |
US6446120B1 (en) | Configurable stresser for a web server | |
US10445221B2 (en) | Automated application testing system | |
US9461871B2 (en) | Client suitability test apparatus and method for a substation automating system | |
US7016953B2 (en) | HTTP transaction monitor | |
CN102695187B (zh) | 基于分布式Web的6LoWPAN协议一致性测试装置及方法 | |
US20030182408A1 (en) | Load test system for a server and method of use | |
CN104636146B (zh) | 一种可视化在线定制方法及系统 | |
CN104579822A (zh) | 基于Http协议的移动应用自动化性能测试系统及方法 | |
US20070211696A1 (en) | Method of generating network traffic | |
US20110282642A1 (en) | Network emulation in manual and automated testing tools | |
US20070213966A1 (en) | Traffic generator program | |
CN104639653A (zh) | 基于云架构的自适应方法及系统 | |
US7337361B2 (en) | Test harness for enterprise application integration environment | |
WO2013049853A1 (en) | Analytics driven development | |
Dhiman et al. | Performance testing: a comparative study and analysis of web service testing tools | |
CN103825783A (zh) | 一种测试方法及装置 | |
CN114490383A (zh) | 远程调试系统、远程调试方法、计算设备和可读介质 | |
Göbel et al. | A novel approach for generating synthetic datasets for digital forensics | |
WO2004036366A2 (en) | Load testing methods and systems with transaction variability andconsistency | |
CN104243230A (zh) | 一种获取Linux服务器中监控数据的方法和装置 | |
CN107844486B (zh) | 一种用于客户端的分析网页问题的方法和系统 | |
CN103139004B (zh) | 利用网络限速工具模拟网络带宽的方法及系统 | |
CN116545891A (zh) | 一种基于智能设备的自动化配网测试方法 | |
CN109739754B (zh) | 基于微信开发的应用程序自动化测试方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 310053 No. 309 Liuhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Zhongkong Technology Co.,Ltd. Address before: 310053 No. 309 Liuhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd. |