CN109669851A - 基于Selenium自动化的性能测试脚本录制方法 - Google Patents
基于Selenium自动化的性能测试脚本录制方法 Download PDFInfo
- Publication number
- CN109669851A CN109669851A CN201811593242.0A CN201811593242A CN109669851A CN 109669851 A CN109669851 A CN 109669851A CN 201811593242 A CN201811593242 A CN 201811593242A CN 109669851 A CN109669851 A CN 109669851A
- Authority
- CN
- China
- Prior art keywords
- script
- selenium
- performance test
- module
- loadrunner
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于Selenium自动化的性能测试脚本录制方法,包括如下步骤:S1:搭建Selenium、浏览器和Eclipse的自动化测试环境;S2:对浏览器中需要进行性能测试的所有业务通过Selenium输出Java自动化脚本;S3:通过Eclipse中对Java自动化脚本进行调试,确保可执行通过;S4:对Java自动化脚本进行模块化区分,并将每个模块分别打包为Jar包保存;S5:通过LoadRunner调用中保存的Jar包执行,生成LoadRunner性能测试脚本。本发明对页面元素改动的部分在Selenium中完成自动化脚本的调试,不涉及URL请求,脚本复用率高;Selenium兼容各类浏览器进行脚本生成,脚本调试无需参数化、关联等操作,提高了脚本输出效率;更接近于真实操作,从使用者角度反应系统的真实性能情况。
Description
技术领域
本发明涉及一种性能测试方法,尤其涉及一种基于Selenium自动化的性能测试脚本录制方法。
背景技术
信息技术在电信运营商里成为主要的盈利渠道,性能问题成为重要支撑内容,其中应用程序版本质量成为性能管控的首要把关项,其重要性也是不言而喻的。
现有技术中,测试系统版本性能的主要工具是HP LoadRunner,而LoadRunner包含了测试脚本录制的功能,过程描述如下:专业的性能测试团队使用LoadRunner自带虚拟用户生成器工具,对各种不同的交互协议(Web HTTP、Web Services、Windows Sockets等)进行选择后(以运营支撑系统为例),调用IE等外部工具,完成相应的业务操作后,结束录制。再对初始脚本进行参数化、关联、添加事务、添加集合点等一系列的脚本调试和优化工作。
现有技术存在以下缺点:1)、LoadRunner对部分浏览器或IE浏览器版本的兼容性不够,无法完成调用并生成性能测试脚本,从而导致某些系统无法使用LoadRunner展开性能测试工作;2)、LoadRunner脚本录制是基于URL请求的方式,如果系统新版本的开发改造导致了某些或某个请求变动,而测试人员无法精确定位到改动请求,脚本调试工作将变得非常困难,这种情况经常导致脚本复用率低,经常需要重新录制;且在实际应用中并未关注到真实的页面操作;3)、LoadRunner脚本的录制加调试工作耗时较长,复杂业务和场景的脚本录制和调试工作时间通常会占到整个性能测试周期的一半以上,导致性能测试效率较低,在有限的测试周期内只能完成部分关键性业务的测试工作,无法高效的扩大测试范围。
发明内容
本发明要解决的技术问题是提供一种基于Selenium自动化的性能测试脚本录制方法,解决现有性能测试脚本录制方法,存在的低效率和低复用率。
本发明为解决上述技术问题而采用的技术方案是提供一种基于Selenium自动化的性能测试脚本录制方法,包括如下步骤:
S1:搭建Selenium、浏览器和Eclipse的自动化测试环境;
S2:在步骤S1搭建好的自动化测试环境中,对浏览器中需要进行性能测试的所有业务通过Selenium输出Java自动化脚本;
S3:通过Eclipse中对步骤S2中输出的Java自动化脚本进行调试,使得Java自动化脚本可执行通过;
S4:对步骤S3中调试通过的Java自动化脚本进行模块化区分,并将每个模块分别打包为Jar包保存;
S5:通过LoadRunner调用步骤S4中保存的Jar包执行,生成LoadRunner性能测试脚本。
进一步的,所述步骤S1中的浏览器包括IE、Mozilla Firefox、Safari、GoogleChrome或Opera。
进一步的,所述步骤S4具体包括:S41:提取所有业务中的公共部分,做成Java可调用的公共类;S42:将公共类作为公共模块,将业务的非公共部分按照业务分类作为各种业务模块进行区分;S43:将区分的业务模块和公共模块分别打包为jar文件包保存。
进一步的,所述步骤S41中的公共部分包括登录模块、退出模块和结算模块。
进一步的,所述步骤S5具体包括:S51:配置LoadRunner的RunTime Setting运行时间设置工具的环境变量classpath,指定class路径;S52:引入要调用的所有业务的jar包,在LoadRunner虚拟用户生成器的脚本中导入需要测试的业务模块和公共模块的jar包;S53:定义外部函数对象,调用jar包内的类成员,生成LoadRunner性能测试脚本。
本发明对比现有技术有如下的有益效果:本发明提供的基于Selenium自动化的性能测试脚本录制方法,具有以下优点:1、只需要对页面元素改动的部分,在Selenium中完成自动化脚本的调试,不涉及URL请求,脚本复用率高;2、Selenium拥有不同的驱动程序兼容各类浏览器进行脚本生成,而且Selenium自动化脚本的执行与浏览器版本没有很强的相关性;3、脚本调试无需参数化、关联等操作,提高了脚本输出效率,从而在固定的性能测试周期内,提高测试效率;4、更接近于真实操作,从使用者角度反应系统的真实性能情况。
附图说明
图1为本发明实施例中基于Selenium自动化的性能测试脚本录制方法流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明实施例中基于Selenium自动化的性能测试脚本录制方法流程图。
请参见图1,本发明实施例中基于Selenium自动化的性能测试脚本录制方法,包括如下步骤:
S1:搭建Selenium、浏览器和Eclipse的自动化测试环境;所述浏览器包括IE、Mozilla Firefox、Safari、Google Chrome或Opera;
S2:在步骤S1搭建好的自动化测试环境中,对浏览器中需要进行性能测试的所有业务通过Selenium输出Java自动化脚本;
S3:通过Eclipse中对步骤S2中输出的Java自动化脚本进行调试,确保可执行通过;
S4:对步骤S3中调试通过的Java自动化脚本进行模块化区分,并将每个模块分别打包为Jar包保存;
S5:通过LoadRunner调用步骤S4中保存的Jar包执行,生成LoadRunner性能测试脚本。
Selenium是一种浏览器自动化测试框架,是用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性,测试应用程序是否能够很好得工作在不同浏览器和操作系统之上;测试系统功能,创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台,可以作为Java的集成开发环境来使用,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具。
LoadRunner是一种预测系统行为和性能的负载测试工具,以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
具体的,本发明实施例中基于Selenium自动化的性能测试脚本录制方法,步骤S4包括:S41:提取所有业务中的公共部分,包括登录、退出和结算等,做成Java可调用的公共类;S42:将公共类作为公共模块,将业务的非公共部分按照业务分类作为各种业务模块进行区分;S43:将区分的业务模块和公共模块分别打包为jar文件包保存。
具体的,本发明实施例中基于Selenium自动化的性能测试脚本录制方法,步骤S5具体包括:S51:配置LoadRunner的RunTime Setting运行时间设置工具的环境变量classpath,指定class路径;S52:引入要调用的所有业务的jar包,在LoadRunner虚拟用户生成器的脚本中导入需要测试的业务模块和公共模块的jar包;S53:定义外部函数对象,调用jar包内的类成员,生成LoadRunner性能测试脚本。
本发明实施例中基于Selenium自动化的性能测试脚本录制方法,对公共部分避免重复的脚本输出,提高业务脚本的输出效率;通过对页面元素的定位和采集以及程序化的处理公共部分,实现高复用率和高效率,在一个版本性能测试周期内可以快速区别并完成一个版本周期内的改造和非改造部分的性能测试。本发明将需要测试业务的公共部分提取出来以及针对页面元素调整的简单便捷性决定了该脚本录制方法的效率提升,效率提升公式为:
其中r1代表方法改进后的Selenium+LoadRunner脚本录制时间,r2代表原始的LoadRunner脚本录制时间。
综上所述,本发明提供的基于Selenium自动化的性能测试脚本录制方法,只需要对页面元素改动的部分,在Selenium中完成自动化脚本的调试,不涉及URL请求,脚本复用率高;Selenium拥有不同的驱动程序兼容各类浏览器进行脚本生成,而且Selenium自动化脚本的执行与浏览器版本没有很强的相关性;脚本调试无需参数化、关联等操作,提高了脚本输出效率,从而在固定的性能测试周期内,提高测试效率;更接近于真实操作,从使用者角度反应系统的真实性能情况。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (5)
1.一种基于Selenium自动化的性能测试脚本录制方法,其特征在于,包括如下步骤:
S1:搭建Selenium、浏览器和Eclipse的自动化测试环境;
S2:在步骤S1搭建好的自动化测试环境中,对浏览器中需要进行性能测试的所有业务通过Selenium输出Java自动化脚本;
S3:通过Eclipse中对步骤S2中输出的Java自动化脚本进行调试,使得Java自动化脚本可执行通过;
S4:对步骤S3中调试通过的Java自动化脚本进行模块化区分,并将每个模块分别打包为Jar包保存;
S5:通过LoadRunner调用步骤S4中保存的Jar包执行,生成LoadRunner性能测试脚本。
2.如权利要求1所述的基于Selenium自动化的性能测试脚本录制方法,其特征在于,所述步骤S1中的浏览器包括IE、Mozilla Firefox、Safari、Google Chrome或Opera。
3.如权利要求1所述的基于Selenium自动化的性能测试脚本录制方法,其特征在于,所述步骤S4具体包括:
S41:提取所有业务中的公共部分,做成Java可调用的公共类;
S42:将公共类作为公共模块,将业务的非公共部分按照业务分类作为各种业务模块进行区分;
S43:将区分的业务模块和公共模块分别打包为jar文件包保存。
4.如权利要求1所述的基于Selenium自动化的性能测试脚本录制方法,其特征在于,所述步骤S41中的公共部分包括登录模块、退出模块和结算模块。
5.如权利要求1所述的基于Selenium自动化的性能测试脚本录制方法,其特征在于,所述步骤S5具体包括:
S51:配置LoadRunner的RunTime Setting运行时间设置工具的环境变量classpath,指定class路径;
S52:引入要调用的所有业务的jar包,在LoadRunner虚拟用户生成器的脚本中导入需要测试的业务模块和公共模块的jar包;
S53:定义外部函数对象,调用jar包内的类成员,生成LoadRunner性能测试脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811593242.0A CN109669851A (zh) | 2018-12-25 | 2018-12-25 | 基于Selenium自动化的性能测试脚本录制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811593242.0A CN109669851A (zh) | 2018-12-25 | 2018-12-25 | 基于Selenium自动化的性能测试脚本录制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109669851A true CN109669851A (zh) | 2019-04-23 |
Family
ID=66146169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811593242.0A Pending CN109669851A (zh) | 2018-12-25 | 2018-12-25 | 基于Selenium自动化的性能测试脚本录制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669851A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684196A (zh) * | 2018-11-01 | 2019-04-26 | 北京中清龙图网络技术有限公司 | 一种测试方法及装置 |
CN110287099A (zh) * | 2019-05-21 | 2019-09-27 | 平安银行股份有限公司 | 简化Loadrunner性能测试方法、服务器及计算机可读存储介质 |
CN112506785A (zh) * | 2020-12-15 | 2021-03-16 | 杭州电魂网络科技股份有限公司 | Html5游戏页面登录的自动化测试方法、装置、设备和介质 |
CN115001991A (zh) * | 2022-08-02 | 2022-09-02 | 北京聚合盈创科技有限公司 | 基于性能测试的录制方法、装置以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412820A (zh) * | 2013-08-30 | 2013-11-27 | 曙光信息产业(北京)有限公司 | Web系统中的页面的测试方法和装置 |
US20160147645A1 (en) * | 2014-11-20 | 2016-05-26 | Accenture Global Services Limited | Automated testing of web-based applications |
CN107992418A (zh) * | 2017-12-05 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种提高软件测试稳定性的方法及系统 |
-
2018
- 2018-12-25 CN CN201811593242.0A patent/CN109669851A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412820A (zh) * | 2013-08-30 | 2013-11-27 | 曙光信息产业(北京)有限公司 | Web系统中的页面的测试方法和装置 |
US20160147645A1 (en) * | 2014-11-20 | 2016-05-26 | Accenture Global Services Limited | Automated testing of web-based applications |
CN107992418A (zh) * | 2017-12-05 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种提高软件测试稳定性的方法及系统 |
Non-Patent Citations (4)
Title |
---|
DILAI0918: "基于webdriver的jmeter性能测试-Eclipse+Selenium+JUnit生成jar包", 《CSDN网址:HTTPS://BLOG.CSDN.NET/DILAI0918/ARTICLE/DETAILS/101588086》 * |
DILAI0918: "基于webdriver的jmeter性能测试-Selenium IDE", 《CSDN网址:HTTPS://BLOG.CSDN.NET/DILAI0918/ARTICLE/DETAILS/101588089》 * |
洪芳: "基于Selenium2的Web UI自动化测试框架的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
自动化测试: "如何在 LoadRunner 中运行Selenium 脚本", 《网址:HTTPS://TESTGUILD.COM/SELENIUM-LOADRUNNER/》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684196A (zh) * | 2018-11-01 | 2019-04-26 | 北京中清龙图网络技术有限公司 | 一种测试方法及装置 |
CN109684196B (zh) * | 2018-11-01 | 2024-01-09 | 北京中清龙图网络技术有限公司 | 一种测试方法及装置 |
CN110287099A (zh) * | 2019-05-21 | 2019-09-27 | 平安银行股份有限公司 | 简化Loadrunner性能测试方法、服务器及计算机可读存储介质 |
CN110287099B (zh) * | 2019-05-21 | 2023-11-21 | 平安银行股份有限公司 | 简化Loadrunner性能测试方法、服务器及计算机可读存储介质 |
CN112506785A (zh) * | 2020-12-15 | 2021-03-16 | 杭州电魂网络科技股份有限公司 | Html5游戏页面登录的自动化测试方法、装置、设备和介质 |
CN115001991A (zh) * | 2022-08-02 | 2022-09-02 | 北京聚合盈创科技有限公司 | 基于性能测试的录制方法、装置以及存储介质 |
CN115001991B (zh) * | 2022-08-02 | 2022-10-25 | 北京聚合盈创科技有限公司 | 基于性能测试的录制方法、装置以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669851A (zh) | 基于Selenium自动化的性能测试脚本录制方法 | |
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
CN106909510B (zh) | 一种获取测试用例的方法以及服务器 | |
CN110008113B (zh) | 一种测试方法、装置、电子设备 | |
US7222265B1 (en) | Automated software testing | |
CN103049371A (zh) | Android应用程序测试方法和测试装置 | |
CN101924656A (zh) | 一种基于动态配置的网络设备cli实现方法和装置 | |
CN108415826B (zh) | 应用的测试方法、终端设备及计算机可读存储介质 | |
WO2012022065A1 (zh) | 实现数字信号处理器自动测试的方法及系统 | |
CN105335287B (zh) | 一种自动化测试方法及装置 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
JP2010250378A (ja) | ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム | |
CN103186463B (zh) | 确定软件的测试范围的方法和系统 | |
CN104899132A (zh) | 应用软件测试方法、装置及系统 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN111427583A (zh) | 组件的编译方法、装置和电子设备及计算机可读存储介质 | |
WO2005082072A2 (en) | Testing web services workflow using web service tester | |
CN111176971A (zh) | 一种基于ui自动化的代码质量测试系统及方法 | |
US20050203717A1 (en) | Automated testing system, method and program product using testing map | |
CN113934642B (zh) | 一种基于动静态结合的软件兼容性测试方法 | |
CN113641594B (zh) | 跨端自动化测试方法以及相关装置 | |
Jain et al. | Comparative study of software automation testing tools: OpenScript and selenium | |
Schulz et al. | Towards model-based testing with architecture models | |
CN111858315B (zh) | 一种基于版本管理的软件调试方法、装置、设备和介质 | |
CN117493162B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190423 |
|
WD01 | Invention patent application deemed withdrawn after publication |