CN103186459A - 基于脚本的java图形用户界面自动测试方法 - Google Patents

基于脚本的java图形用户界面自动测试方法 Download PDF

Info

Publication number
CN103186459A
CN103186459A CN2011104553927A CN201110455392A CN103186459A CN 103186459 A CN103186459 A CN 103186459A CN 2011104553927 A CN2011104553927 A CN 2011104553927A CN 201110455392 A CN201110455392 A CN 201110455392A CN 103186459 A CN103186459 A CN 103186459A
Authority
CN
China
Prior art keywords
test
script
automatic test
java
application program
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.)
Granted
Application number
CN2011104553927A
Other languages
English (en)
Other versions
CN103186459B (zh
Inventor
邓鹏�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201110455392.7A priority Critical patent/CN103186459B/zh
Publication of CN103186459A publication Critical patent/CN103186459A/zh
Application granted granted Critical
Publication of CN103186459B publication Critical patent/CN103186459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及计算机技术。本发明解决了现有JAVA应用程序中图形化界面的测试需要大量人工的的问题,提供了一种基于脚本的JAVA图形用户界面自动测试方法,其技术方案可概括为:开发时,对于需要测试的界面组件对象设置对应的组件名称,JAVA应用程序入口主类中为自动化测试工程提供主窗体对象读取函数接口,在自动化测试工程中启动JAVA应用程序,读取JAVA应用程序主窗体对象,再读取所有需要测试的界面组件对象,然后读取并解析预先准备的用户测试脚本,并根据指令及该指令对应的组件名称对界面组件对象进行测试,最后检测执行结果,生成测试报告。本发明的有益效果是:缩短测试时间,适用于JAVA应用程序中图形化界面的测试。

Description

基于脚本的JAVA图形用户界面自动测试方法
技术领域
本发明涉及计算机技术,特别涉及JAVA应用程序中图形化界面的测试技术。
背景技术
随着信息技术的发展,计算机应用越来越广泛,各种应用系统相继而生,与客户交互过程是必不可少的,交互方式都是采用界面,早期的字符界面已经在用户那儿被淘汰,目前主要以图形化界面为主。在JAVA应用程序中,开发GUI(图形用户接口)的图形化界面,是大部分JAVA应用程序必不可少的功能。
在JAVA开发GUI界面时,对界面测试的要求也比较多,比如:边界测试、正确性测试、界面操作过程测试、功能测试等等,这些测试过程一直都是繁重的测试任务。特别在修改一个BUG后以及在提交新的一个版本后等,测试人员为保证软件的正确性需要将所有的功能验证一遍,而这些工作大部分属于重复劳动。
在一个大型的JAVA应用程序中,用户交互界面很多,每个界面测试的内容也很多,当成功完成测试后,如果某个模块出现问题或者增加了新的功能,这时如果手工去验证所有的功能,需要花费比较大的人力和时间,且不一定能完全回归到所有的测试用例。
目前有一种界面录制回放工具,通过该工具对界面进行录制,可以通过回放的方式完成指定的测试过程,但是对于该工具来说,存在一个很大的问题,若每个界面产生了很小的变化,这个变化就会使得录制过程重新进行,导致该工具不能广泛应用。
发明内容
本发明的目的就是克服目前JAVA应用程序中图形化界面的测试需要大量人工的缺点,提供一种基于脚本的JAVA图形用户界面自动测试方法。
本发明解决其技术问题,采用的技术方案是,基于脚本的JAVA图形用户界面自动测试方法,其特征在于,包括以下步骤:
步骤1.开发JAVA应用程序界面时,对于需要测试的界面组件对象设置对应的组件名称;
步骤2.JAVA应用程序入口主类中为自动化测试工程提供主窗体对象读取函数接口;
步骤3.建立自动化测试工程,在自动化测试工程中启动JAVA应用程序,读取JAVA应用程序主窗体对象;
步骤4.自动化测试工程通过主窗体对象读取所有需要测试的界面组件对象;
步骤5.自动化测试工程读取并解析预先准备的用户测试脚本,根据用户测试脚本中的指令及该指令对应的组件名称对需要测试的界面组件对象进行测试;
步骤6.自动化测试工程检测用户测试脚本指令的执行结果,得到测试结果,生成测试报告。
优选地,步骤3中,所述在自动化测试工程中启动JAVA应用程序的方法为,通过调用JAVA应用程序的main函数启动JAVA应用程序。
优选地,步骤5中,所述根据用户测试脚本中的指令对需要测试的界面组件对象进行测试的方法为:自动化测试工程根据用户测试脚本对各用户界面组件对象设置数据或触发相应事件。
优选地,步骤5中,所述自动化测试工程根据用户测试脚本对各用户界面组件对象设置数据的方法为,根据用户测试脚本指令中的组件名称以及设置值对对应的界面组件进行设置。
优选地,步骤6中,所述自动化测试工程检测用户测试脚本指令的执行结果的方法为:对于直接触发事件,等待事件执行结束后进行检测;对于通过线程触发的事件,由该线程进行检测。
优选地,步骤5中,在根据用户测试脚本中的指令对需要测试的界面组件对象进行测试之前,对用户测试脚本进行正确性检查。
具体地,在步骤3之前还包括步骤:准备用户测试脚本。
本发明的有益效果是,通过上述基于脚本的JAVA图形化界面自动测试方法,通过一个自动测试过程,极大的缩短了所需要的测试时间,降低了整个系统成本。
附图说明
图1是本发明基于脚本的JAVA图形化界面自动测试方法流程图。
具体实施方式
下面结合实施例及附图,详细描述本发明的技术方案。
本发明的基于脚本的JAVA图形用户界面自动测试方法中,首先开发JAVA界面时,对于需要测试的界面组件设置对应的组件名称,然后由JAVA应用程序入口主类中提供主窗体读取接口,使得自动化测试工程能够获得主窗体的需要测试的界面组件对象。自动化测试工程建立后,主窗体的需要测试的界面组对象件将传入到自动化测试工程中,在根据预先准备的用户测试脚本,通过读取并解析用户脚本,对用户脚本进行正确性检查及脚本对象生成,最后系统根据用户脚本对各需要测试的界面组件对象设置数据或触发相应事件,完成不同事件发起,检测设置数据后或事件完成后的结果,得到测试结果,生成测试报告。
参见图1,为本发明基于脚本的JAVA图形化界面自动测试方法流程图。包括如下步骤:
步骤100,准备用户测试脚本。在用户脚本中可以定义函数方法和过程调用,以简化用户脚本。
步骤101,开发JAVA应用程序界面时,对于需要测试的界面组件对象设置对应的组件名称。
步骤102,JAVA应用程序入口主类中为自动化测试工程提供主窗体对象读取函数接口。
请注意,以上100-102三个步骤为准备工作,没有绝对的先后顺序之分。但必须要在步骤103中启动JAVA应用程序之前完成。
步骤103,建立自动化测试工程,在自动化测试工程中启动JAVA应用程序,读取JAVA应用程序主窗体对象。本步骤中,所述在自动化测试工程中启动JAVA应用程序的方法为,通过调用JAVA应用程序的main函数启动JAVA应用程序。本发明实施例在测试工程中启动JAVA应用项目,不需要通过进程来启动,本发明的自动化测试工程与JAVA应用程序在同一个进程中。
步骤104,自动化测试工程通过主窗体对象读取所有需要测试的界面组件对象。
步骤105,自动化测试工程读取并解析预先准备的用户测试脚本,根据用户测试脚本中的指令及该指令对应的组件名称对需要测试的界面组件对象进行测试。
本步骤中,所述根据用户测试脚本中的指令对需要测试的界面组件对象进行测试的方法为:自动化测试工程根据用户测试脚本对各用户界面组件对象设置数据或触发相应事件。所述自动化测试工程根据用户测试脚本对各用户界面组件对象设置数据的方法为,根据用户测试脚本指令中的组件名称以及设置值对对应的界面组件进行设置。另外,在根据用户测试脚本中的指令对需要测试的界面组件对象进行测试之前,对用户测试脚本进行正确性检查。
步骤106.自动化测试工程检测用户测试脚本指令的执行结果,得到测试结果,生成测试报告。本步骤中,所述自动化测试工程检测用户测试脚本指令的执行结果的方法为:对于直接触发事件,等待事件执行结束后进行检测;对于通过线程触发的事件,由该线程进行检测。
本步骤的具体检测可以是错误检测,也可以使正确性检测,只要符合定义的业务逻辑就算正确。比如输入错误数据,点击保存,会弹出错误提示框。所述测试报告包括错误报告和/调试报告和/输出测试信息报告。
实施例
本实施例的自动化测试工程,通过JAVA应用程序入口主类中提供的函数接口getComponent得到有名称为testTextField的需要测试的界面组件JTextField,以及名称为testButton的需要测试的界面组件JButton。
可以通过查找的方式得到两个界面组件的对象,如果用户测试脚本中定义:
swing.textfield.testTextField.setText(“测试名称”);
swing.button.testButton.click();
在测试时可以如下处理:
testTextField.setText(…);
testButton.doClick()。

Claims (9)

1.基于脚本的JAVA图形用户界面自动测试方法,其特征在于,包括以下步骤:
步骤1.开发JAVA应用程序界面时,对于需要测试的界面组件对象设置对应的组件名称;
步骤2.JAVA应用程序入口主类中为自动化测试工程提供主窗体对象读取函数接口;
步骤3.建立自动化测试工程,在自动化测试工程中启动JAVA应用程序,读取JAVA应用程序主窗体对象;
步骤4.自动化测试工程通过主窗体对象读取所有需要测试的界面组件对象;
步骤5.自动化测试工程读取并解析预先准备的用户测试脚本,根据用户测试脚本中的指令及该指令对应的组件名称对需要测试的界面组件对象进行测试;
步骤6.自动化测试工程检测用户测试脚本指令的执行结果,得到测试结果,生成测试报告。
2.如权利要求1所述的基于脚本的JAVA图形用户界面自动测试方法,其特征在于,步骤3中,所述在自动化测试工程中启动JAVA应用程序的方法为,通过调用JAVA应用程序的main函数启动JAVA应用程序。
3.如权利要求1或2所述的基于脚本的JAVA图形用户界面自动测试方法,其特征在于,步骤5中,所述根据用户测试脚本中的指令对需要测试的界面组件对象进行测试的方法为:自动化测试工程根据用户测试脚本对各用户界面组件对象设置数据或触发相应事件。
4.如权利要求3所述的基于脚本的JAVA图形用户界面自动测试方法,其特征在于,步骤6中,所述自动化测试工程检测用户测试脚本指令的执行结果的方法为:对于直接触发事件,等待事件执行结束后进行检测;对于通过线程触发的事件,由该线程进行检测。
5.如权利要求3所述的基于脚本的JAVA图形用户界面自动测试方法,其特征在于,所述自动化测试工程根据用户测试脚本对各用户界面组件对象设置数据的方法为,根据用户测试脚本指令中的组件名称以及设置值对对应的界面组件进行设置。
6.如权利要求1所述的基于脚本的JAVA图形用户界面自动测试方法,其特征在于,步骤5中,在根据用户测试脚本中的指令对需要测试的界面组件对象进行测试之前,对用户测试脚本进行正确性检查。
7.如权利要求1所述的基于脚本的JAVA图形用户界面自动测试方法,其特征在于,所述自动化测试工程与JAVA应用程序在同一个进程中。
8.如权利要求1-7任一项所述的基于脚本的JAVA图形用户界面自动测试方法,其特征在于,在步骤3之前还包括步骤:准备用户测试脚本。
9.如权利要求1-7任一项所述的基于脚本的JAVA图形用户界面自动测试方法,其特征在于,步骤6中,所述测试报告包括错误报告和/调试报告和/输出测试信息报告。
CN201110455392.7A 2011-12-30 2011-12-30 基于脚本的java图形用户界面自动测试方法 Active CN103186459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110455392.7A CN103186459B (zh) 2011-12-30 2011-12-30 基于脚本的java图形用户界面自动测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110455392.7A CN103186459B (zh) 2011-12-30 2011-12-30 基于脚本的java图形用户界面自动测试方法

Publications (2)

Publication Number Publication Date
CN103186459A true CN103186459A (zh) 2013-07-03
CN103186459B CN103186459B (zh) 2016-05-11

Family

ID=48677635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110455392.7A Active CN103186459B (zh) 2011-12-30 2011-12-30 基于脚本的java图形用户界面自动测试方法

Country Status (1)

Country Link
CN (1) CN103186459B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778121A (zh) * 2015-03-25 2015-07-15 网易(杭州)网络有限公司 游戏程序的测试方法、装置及系统
CN105718353A (zh) * 2016-01-18 2016-06-29 深圳市同创国芯电子有限公司 一种用于图形界面应用的测试方法、装置及系统
CN106155902A (zh) * 2015-04-28 2016-11-23 中兴通讯股份有限公司 一种js调试页面方法和装置
WO2017148376A1 (zh) * 2016-03-02 2017-09-08 平安科技(深圳)有限公司 应用程序用户界面自动化测试方法、电子设备、系统及存储介质
CN108121650A (zh) * 2016-11-29 2018-06-05 腾讯科技(深圳)有限公司 一种对于页面用户界面的测试方法及装置
CN109003602A (zh) * 2018-09-10 2018-12-14 百度在线网络技术(北京)有限公司 语音产品的测试方法、装置、设备及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030098879A1 (en) * 2001-11-29 2003-05-29 I2 Technologies Us, Inc. Distributed automated software graphical user interface (GUI) testing
CN1851667A (zh) * 2006-02-15 2006-10-25 华为技术有限公司 一种图形用户界面的测试方法和系统
CN101082877A (zh) * 2006-05-30 2007-12-05 上海科泰世纪科技有限公司 图形用户界面程序的自动测试接口及其自动测试方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030098879A1 (en) * 2001-11-29 2003-05-29 I2 Technologies Us, Inc. Distributed automated software graphical user interface (GUI) testing
CN1851667A (zh) * 2006-02-15 2006-10-25 华为技术有限公司 一种图形用户界面的测试方法和系统
CN101082877A (zh) * 2006-05-30 2007-12-05 上海科泰世纪科技有限公司 图形用户界面程序的自动测试接口及其自动测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
潘丽丽: "面向图形用户界面的自动化测试技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 1, 15 January 2010 (2010-01-15), pages 42 - 54 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778121A (zh) * 2015-03-25 2015-07-15 网易(杭州)网络有限公司 游戏程序的测试方法、装置及系统
CN104778121B (zh) * 2015-03-25 2018-09-18 网易(杭州)网络有限公司 游戏程序的测试方法、装置及系统
CN106155902A (zh) * 2015-04-28 2016-11-23 中兴通讯股份有限公司 一种js调试页面方法和装置
CN105718353A (zh) * 2016-01-18 2016-06-29 深圳市同创国芯电子有限公司 一种用于图形界面应用的测试方法、装置及系统
WO2017148376A1 (zh) * 2016-03-02 2017-09-08 平安科技(深圳)有限公司 应用程序用户界面自动化测试方法、电子设备、系统及存储介质
US10061686B2 (en) 2016-03-02 2018-08-28 Ping An Technology (Shenzhen) Co., Ltd. Method, electronic apparatus, system, and storage medium for automated testing of application user interface
CN108121650A (zh) * 2016-11-29 2018-06-05 腾讯科技(深圳)有限公司 一种对于页面用户界面的测试方法及装置
CN108121650B (zh) * 2016-11-29 2020-06-19 腾讯科技(深圳)有限公司 一种对于页面用户界面的测试方法及装置
CN109003602A (zh) * 2018-09-10 2018-12-14 百度在线网络技术(北京)有限公司 语音产品的测试方法、装置、设备及计算机可读介质

Also Published As

Publication number Publication date
CN103186459B (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
US10176079B2 (en) Identification of elements of currently-executing component script
US8645912B2 (en) System and method for use in replaying software application events
US7895575B2 (en) Apparatus and method for generating test driver
CN103186459A (zh) 基于脚本的java图形用户界面自动测试方法
Singh et al. Automated testing of mobile applications using scripting technique: A study on appium
CN102567164A (zh) 用于处理器的指令集批量测试装置与方法
Grechanik et al. Creating GUI testing tools using accessibility technologies
CN107329889B (zh) 一种c编译器自动化测试的方法
Anjum et al. A comparative analysis of quality assurance of mobile applications using automated testing tools
CN107622017B (zh) 一种通用自动化软件测试的解析方法
CN106126425B (zh) 基于Android自动化测试框架的功能遍历方法及系统
Nguyen et al. Model-based testing of multiple GUI variants using the GUI test generator
CN110286882B (zh) 一种基于模型检测的前台系统设计与验证方法
Salam et al. Advanced Framework for Automated Testing of Mobile Applications
Wang et al. Build an auto testing framework based on selenium and fitnesse
CN112162921B (zh) 一种工业自动化测试与控制系统
CN114116466A (zh) 一种基于操作日志的单元测试方法、装置及介质
Mateo Navarro et al. A proposal for automatic testing of GUIs based on annotated use cases
Jung et al. An image comparing-based gui software testing automation system
CN112015638A (zh) 一种自动化测试方法及系统
Alsmadi et al. An object oriented framework for user interface test automation
Duan et al. Model-based testing of infotainment systems on the basis of a graphical human-machine interface
CN114090454B (zh) 一种接口自动化测试方法、装置、设备及存储介质
Wu et al. Keyword-driven testing framework for android applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant