CN106407112A - 基于Selenium和TestNG的自动化测试方法 - Google Patents
基于Selenium和TestNG的自动化测试方法 Download PDFInfo
- Publication number
- CN106407112A CN106407112A CN201610814485.7A CN201610814485A CN106407112A CN 106407112 A CN106407112 A CN 106407112A CN 201610814485 A CN201610814485 A CN 201610814485A CN 106407112 A CN106407112 A CN 106407112A
- Authority
- CN
- China
- Prior art keywords
- test
- selenium
- testng
- method based
- testing method
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 110
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 title claims abstract description 27
- 229910052711 selenium Inorganic materials 0.000 title claims abstract description 27
- 239000011669 selenium Substances 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims description 18
- 230000010076 replication Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 5
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000010168 coupling process Methods 0.000 abstract description 3
- 238000005859 coupling reaction Methods 0.000 abstract description 3
- 238000000151 deposition Methods 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- 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/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3672—Test management
-
- 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)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种基于Selenium和TestNG的自动化测试方法,涉及Web自动化测试框架,其将Selenium和TestNG进行结合,采用测试数据、页面对象和方法、测试场景三者分层的形式,搭建良好的Web自动化测试框架,进行数据驱动测试。本发明降低了各测试场景之间的耦合度,实现数据驱动测试,方便脚本的维护,降低自动化测试脚本维护成本,提高了Web自动化测试效率,提高测试的可靠性,避免人为因素。
Description
技术领域
本发明涉及Web自动化测试框架,具体的说是基于Selenium和TestNG的自动化测试方法。
背景技术
Selenium是一个用于Web应用程序测试的工具,直接运行在浏览器中,就像真正的用户在操作一样。Selenium支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite、Google Chrome等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作***之上;测试***功能——创建回归测试检验软件功能和用户需求;支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。Selenium是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。
TestNG是一个开源自动化测试框架,支持依赖性测试、套件测试、数据驱动测试、失败和重运行、灵活的运行时配置,适合进行高级测试及大型测试套件的测试设计、测试执行。
当前Web自动化测试框架主要有以下两种:1、基于QTP和QC的自动化测试框架;2、基于Selenium的未分层的自动化测试框架。基于QTP和QC的自动化测试框架主要有以下不足:需要安装QTP、QC等非开源工具;对操作***有限制,只能在Windows下;运行速度较慢;可读性较差;无法设置依赖测试;不方便进行失败重运行。基于Selenium的未分层的自动化测试框架,未进行测试数据、页面对象和方法、测试场景三者分层,主要有以下不足:测试场景和页面对象、页面方法都在一起,不方便维护;不方便进行参数化的数据驱动测试;在较大项目进行实际应用会很困难,维护成本非常高;测试人员必须非常了解业务***才能编写脚本。
发明内容
本发明针对目前技术发展的需求和不足之处,提供基于Selenium和TestNG的自动化测试方法。
本发明所述基于Selenium和TestNG的自动化测试方法,解决上述技术问题采用的技术方案如下:所述基于Selenium和TestNG的自动化测试方法,将Web应用程序测试工具Selenium和开源自动化测试框架TestNG进行结合,采用测试数据、页面对象和方法、测试场景三者分层的形式,搭建良好的Web自动化测试框架,进行数据驱动测试。
优选的,新建java工程,新建libs目录,将所需jar包复制到libs目录下,并且将jar包引入到工程的编译路径下。
优选的,新建目录,其中data目录存放测试数据,object存放页面的对象和方法,scenario存放测试场景,commmon存放公共类。
优选的,运行BaiduDemoScenario.java,运行结束之后生成测试报告。
优选的,在浏览器访问index.html:若一个测试类中有多个@Test需要设置执行顺序,则使用属性dependsOnMethods在@Test注释。
本发明所述基于Selenium和TestNG的自动化测试方法与现有技术相比具有的有益效果是:本发明将Selenium和TestNG进行结合,采用测试数据、页面对象和方法、测试场景三者分层的形式,降低各测试场景之间的耦合度,实现数据驱动测试,方便脚本的维护,使得脚本可读性更高,降低自动化测试脚本维护成本,更加高效的开展Web自动化测试,提高测试的可靠性,避免人为因素。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述基于Selenium和TestNG的自动化测试方法进一步详细说明。
实施例:
本实施所述基于Selenium和TestNG的自动化测试方法,将Web应用程序测试工具Selenium和开源自动化测试框架TestNG进行结合,采用测试数据、页面对象和方法、测试场景三者分层的形式,搭建良好的Web自动化测试框架,进行数据驱动测试、依赖测试、多线程测试。
下面以访问百度为例,对所述自动化测试方法进行详细介绍,具体包括如下步骤:
步骤一,新建java工程,新建libs目录,将所需jar包复制到libs目录下,并且将jar包引入到工程的编译路径下;用到的jar包包括Selenium的所有jar包、feed4testng的所有jar包、以及guice-3.0.jar;
步骤二,新建目录,其中data目录存放测试数据,object存放页面的对象和方法,scenario存放测试场景,commmon存放公共类;在data目录下新建xls数据文件,新增列input;在object目录下新建页面对象和方法类,定义页面对象,创建用到的方法;在scenario目录下新建测试场景类,在common目录下新建公共类;
步骤三,运行BaiduDemoScenario.java,运行结束之后生成测试报告;
步骤四,在浏览器访问index.html:若一个测试类中有多个@Test需要设置执行顺序,则使用属性dependsOnMethods在@Test注释。@Test注解是JUnit测试的基础。
使用属性groups在@Test注释,指定testng.xml文件使用<groups>标签实现分组测试;使用<suite>标签实现套件测试;使用属性expectedExceptions在@Test注释,实现异常测试;使用@Test(enabled=false)实现忽略测试;使用@Parameters在beforeClass()方法中参数化,指定testng.xml文件使用<suite>标签下的parallel、thread-count属性,和<parameter>标签实现多线程并发测试。
本实施例所述基于Selenium和TestNG的自动化测试方法,将Selenium和TestNG进行结合,采用测试数据、页面对象和方法、测试场景三者分层的形式,实现三者单独维护。data层用来存放测试数据,object层用来存放页面对象和方法,scenario层用来存放测试场景。测试数据准备人员可以专注于准备测试场景对应的测试数据,无需关心页面对象如何获取,都有哪些方法;页面脚本编写人员可以专注于定义页面对象和封装方法,无需关心如何组装场景,数据如何准备;测试场景设计人员可以专注于场景设置,无需关心页面对象是如何获取的。使得自动化测试操作起来更加容易,同样提高了测试效率。
该自动化测试方法能够支持多种浏览器,如IE8,9,10,11、Firefox、Opera、Safari、Chrome;能够支持多种操作***,如Windows、Linux、Mac、Solaris;能够支持多线程并发测试,可以调用不同浏览器测试,实现远程不同浏览器兼容性测试;页面对象和方法可复用,测试数据易于维护和管理,降低各测试场景之间的耦合度;同时,支持套件测试、分组测试、依赖测试、异常测试、忽略测试,方便组织测试场景;并且,支持失败重运行,可以单独重运行执行失败的用例。可以结合持续集成工具,实现自动更新测试环境、自动备份还原测试数据库,做到真正无人值守的高效的自动化测试。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (5)
1.基于Selenium和TestNG的自动化测试方法,其特征在于,将Web应用程序测试工具Selenium和开源自动化测试框架TestNG进行结合,采用测试数据、页面对象和方法、测试场景三者分层的形式,搭建良好的Web自动化测试框架,进行数据驱动测试。
2.根据权利要求1所述基于Selenium和TestNG的自动化测试方法,其特征在于,新建java工程,新建libs目录,将所需jar包复制到libs目录下,并且将jar包引入到工程的编译路径下。
3.根据权利要求2所述基于Selenium和TestNG的自动化测试方法,其特征在于,新建目录,其中data目录存放测试数据,object存放页面的对象和方法,scenario存放测试场景,commmon存放公共类。
4.根据权利要求3所述基于Selenium和TestNG的自动化测试方法,其特征在于,运行BaiduDemoScenario.java,运行结束之后生成测试报告。
5.根据权利要求4所述基于Selenium和TestNG的自动化测试方法,其特征在于,在浏览器访问index.html:若一个测试类中有多个@Test需要设置执行顺序,则使用属性dependsOnMethods在@Test注释。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610814485.7A CN106407112A (zh) | 2016-09-09 | 2016-09-09 | 基于Selenium和TestNG的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610814485.7A CN106407112A (zh) | 2016-09-09 | 2016-09-09 | 基于Selenium和TestNG的自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106407112A true CN106407112A (zh) | 2017-02-15 |
Family
ID=57999156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610814485.7A Pending CN106407112A (zh) | 2016-09-09 | 2016-09-09 | 基于Selenium和TestNG的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407112A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562626A (zh) * | 2017-08-31 | 2018-01-09 | 国家电网公司 | 一种封装Selenium和Sikuli实现Web自动化测试的方法 |
CN107678963A (zh) * | 2017-09-27 | 2018-02-09 | 国云科技股份有限公司 | 一种基于java的接口自动化测试方法 |
CN108491319A (zh) * | 2018-02-11 | 2018-09-04 | 广州小百合信息技术有限公司 | Web自动化测试方法及基于该方法的*** |
CN109240926A (zh) * | 2018-09-06 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种软件兼容性测试装置及方法 |
CN109800154A (zh) * | 2018-12-15 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 测试数据的加载方法、装置、计算机设备及存储介质 |
CN111241000A (zh) * | 2020-04-26 | 2020-06-05 | 四川新网银行股份有限公司 | 基于cucumber测试工具的分层自动化测试方法 |
CN111459821A (zh) * | 2020-04-01 | 2020-07-28 | 汇通达网络股份有限公司 | 一种基于TestNG的软件自动化单元测试方法 |
CN111913889A (zh) * | 2020-09-11 | 2020-11-10 | 中移(杭州)信息技术有限公司 | 一种测试***搭建方法及测试*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984624A (zh) * | 2014-04-29 | 2014-08-13 | 北京京东尚科信息技术有限公司 | 一种网页自动化测试方法及*** |
US20140380281A1 (en) * | 2013-06-24 | 2014-12-25 | Linkedin Corporation | Automated software testing |
CN105095059A (zh) * | 2014-04-15 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种自动化测试的方法和装置 |
-
2016
- 2016-09-09 CN CN201610814485.7A patent/CN106407112A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140380281A1 (en) * | 2013-06-24 | 2014-12-25 | Linkedin Corporation | Automated software testing |
CN105095059A (zh) * | 2014-04-15 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种自动化测试的方法和装置 |
CN103984624A (zh) * | 2014-04-29 | 2014-08-13 | 北京京东尚科信息技术有限公司 | 一种网页自动化测试方法及*** |
Non-Patent Citations (1)
Title |
---|
LICHAO330530: "selenium+java+testing+pageObject深入理解自动化测试框架", 《HTTPS://BLOG.CSDN.NET/LICHAO330530.ARTICLE/DETAILS/51840757》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562626A (zh) * | 2017-08-31 | 2018-01-09 | 国家电网公司 | 一种封装Selenium和Sikuli实现Web自动化测试的方法 |
CN107678963A (zh) * | 2017-09-27 | 2018-02-09 | 国云科技股份有限公司 | 一种基于java的接口自动化测试方法 |
CN108491319A (zh) * | 2018-02-11 | 2018-09-04 | 广州小百合信息技术有限公司 | Web自动化测试方法及基于该方法的*** |
CN109240926A (zh) * | 2018-09-06 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种软件兼容性测试装置及方法 |
CN109800154A (zh) * | 2018-12-15 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 测试数据的加载方法、装置、计算机设备及存储介质 |
CN111459821A (zh) * | 2020-04-01 | 2020-07-28 | 汇通达网络股份有限公司 | 一种基于TestNG的软件自动化单元测试方法 |
CN111459821B (zh) * | 2020-04-01 | 2023-05-30 | 汇通达网络股份有限公司 | 一种基于TestNG的软件自动化单元测试方法 |
CN111241000A (zh) * | 2020-04-26 | 2020-06-05 | 四川新网银行股份有限公司 | 基于cucumber测试工具的分层自动化测试方法 |
CN111241000B (zh) * | 2020-04-26 | 2020-08-21 | 四川新网银行股份有限公司 | 基于cucumber测试工具的分层自动化测试方法 |
CN111913889A (zh) * | 2020-09-11 | 2020-11-10 | 中移(杭州)信息技术有限公司 | 一种测试***搭建方法及测试*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407112A (zh) | 基于Selenium和TestNG的自动化测试方法 | |
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及*** | |
Miles et al. | Prime: A methodology for developing provenance-aware applications | |
Bento et al. | Automated analysis of distributed tracing: Challenges and research directions | |
CN102331967B (zh) | 芯片验证测试用例的管理方法 | |
Ghoshal et al. | Provenance from log files: a BigData problem | |
CN104407971A (zh) | 自动化测试嵌入式软件的方法 | |
CN104298588B (zh) | 一种持续集成的实现方法及装置 | |
CN101739339A (zh) | 一种基于程序动态依赖关系的软件故障定位方法 | |
JP2012256323A (ja) | 解析データ用の直感的なコンテクストを作成するためのシステム及び方法 | |
CN104699601A (zh) | 用于执行状态机驱动的注入的方法和*** | |
US8832640B1 (en) | Component mapped software development workflow | |
CN103577310A (zh) | 记录软件调试日志的方法以及装置 | |
CN103294596A (zh) | 一种基于程序不变量的合约式软件故障预警方法 | |
CN101908006A (zh) | 一种基于gcc抽象语法树的缓冲区溢出漏洞检测方法 | |
JP2016100006A (ja) | パフォーマンス試験のためのベンチマーク・アプリケーションを生成する方法および装置 | |
CN104077232A (zh) | 一种基于用例与源码双向追溯的测试装置及方法 | |
CN107968833A (zh) | 一种基于执行路径的云应用性能监测方法 | |
CN110515754A (zh) | 神经网络处理器的调试***及方法 | |
Lindvall et al. | Bridging the software architecture gap | |
CN110750582B (zh) | 数据处理方法、装置和*** | |
Drebes et al. | Interactive visualization of cross-layer performance anomalies in dynamic task-parallel applications and systems | |
US20140201711A1 (en) | Logging and profiling content space data and coverage metric self-reporting | |
Hryszko et al. | Bottlenecks in software defect prediction implementation in industrial projects | |
CN106155665A (zh) | 符合性举证***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170215 |