CN107704389A - 一种页面测试方法及装置 - Google Patents
一种页面测试方法及装置 Download PDFInfo
- Publication number
- CN107704389A CN107704389A CN201710884689.2A CN201710884689A CN107704389A CN 107704389 A CN107704389 A CN 107704389A CN 201710884689 A CN201710884689 A CN 201710884689A CN 107704389 A CN107704389 A CN 107704389A
- Authority
- CN
- China
- Prior art keywords
- script
- test
- sectional drawing
- customized
- test script
- 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
Links
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/3668—Software testing
- G06F11/3672—Test management
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
本发明公开了一种页面测试方法及装置,该方法包括:在网页端根据自定义的脚本语言编写测试脚本,根据与自定义的脚本语言对应的语言解析执行引擎对根据自定义的脚本语言编写的测试脚本进行解析并执行测试脚本。本发明实施例的上述技术方案,通过自定义脚本语言可以降低企业开发UI自动化脚本对人员的编程技能要求,把App UI自动化测试脚本的开发、调试过程搬到云端,消除企业开发UI自动化脚本部署环境的复杂过程。
Description
技术领域
本发明UI自动化测试技术领域,特别涉及一种页面测试方法及装置。
背景技术
自动化测试,狭义上来讲,通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。当然,我们更普遍的认识把“自动化测试”看作“基于产品或项目UI层的自动化测试”。针对企业级的UI自动化脚本开发,往往需要付出高额的基础技能培训,环境搭建等时间、人力成本。
目前编写App UI自动化脚本的过程中,需要测试人员学习App UI自动化测试框架,掌握框架及开发语言相关的知识,同时还需要部署自动化脚本开发环境,App UI自动化脚本开发环境搭建也是比较复杂,中间也会遇到很多问题,这些对于企业来说都是技术、时间及人力成本。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种页面测试方法及装置。用以降低企业的开发成本。
本发明提供一种页面测试方法,包括:
在网页端根据自定义的脚本语言编写测试脚本;
根据与所述自定义的脚本语言对应的语言解析执行引擎对所述根据自定义的脚本语言编写的测试脚本进行解析并执行所述测试脚本。
在一个实施例中,在所述在网页端根据自定义的脚本语言编写测试脚本之前,所述方法还可包括:
在云平台端部署所述与所述自定义的脚本语言对应的语言解析执行引擎。
在一个实施例中,在所述在网页端根据自定义的脚本语言编写测试脚本之后,所述方法还可包括:
在云平台上接收针对执行所述测试脚本的机器的选择操作。
在一个实施例中,所述根据与所述自定义的脚本语言对应的语言解析执行引擎对所述根据自定义的脚本语言编写的测试脚本进行解析并执行所述测试脚本,可包括:
根据所述测试脚本对测试页面中的每一个可操作控件进行测试。
在一个实施例中,在所述根据所述测试脚本对测试页面中的每一个可操作控件进行测试之前,所述方法还可包括:
对当前界面进行第一次截图;
在所述根据所述测试脚本对测试页面中的每一个可操作控件进行测试之后,所述方法还包括:
对测试之后的界面进行第二次截图;
根据所述第一次截图和第二次截图确定所述可操作控件是否异常;
当每一个可操作控件的第一次截图和第二次截图完成后,获取当前界面所有可操作控件,检查当前界面是否包含异常控件。
本发明还提供一种页面测试装置,包括:
编写模块,用于在网页端根据自定义的脚本语言编写测试脚本;
解析执行模块,用于根据与所述自定义的脚本语言对应的语言解析执行引擎对所述根据自定义的脚本语言编写的测试脚本进行解析并执行所述测试脚本。
在一个实施例中,所述装置还可包括:
部署模块,用于在云平台端部署所述与所述自定义的脚本语言对应的语言解析执行引擎。
在一个实施例中,所述装置还可包括:
接收模块,用于在云平台上接收针对执行所述测试脚本的机器的选择操作。
在一个实施例中,所述解析执行模块,可包括:
测试子模块,用于根据所述测试脚本对测试页面中的每一个可操作控件进行测试。
在一个实施例中,所述解析执行模块还可包括:
第一截图子模块,用于对当前界面进行第一次截图;
第二截图子模块,用于对测试之后的界面进行第二次截图;
确定子模块,用于根据所述第一次截图和第二次截图确定所述可操作控件是否异常;
检查子模块,用于当每一个可操作控件的第一次截图和第二次截图完成后,获取当前界面所有可操作控件,检查当前界面是否包含异常控件。
本发明的实施例提供的技术方案可以包括以下有益效果:
上述技术方案,通过在网页端根据自定义的脚本语言编写测试脚本,根据与自定义的脚本语言对应的语言解析执行引擎对根据自定义的脚本语言编写的测试脚本进行解析并执行测试脚本。通过自定义脚本语言可以降低企业开发UI自动化脚本对人员的编程技能要求,把App UI自动化测试脚本的开发、调试过程搬到云端,消除企业开发UI自动化脚本部署环境的复杂过程。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种页面测试方法的流程图;
图2为本发明实施例中另一种页面测试方法的流程图;
图3为本发明实施例中另一种页面测试方法的流程图;
图4为本发明实施例的测试脚本执行流程示意图;
图5为本发明实施例中一种页面测试装置的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1所示为本发明实施例中一种页面测试方法的流程图,如图1所示,该页面测试方法包括以下步骤S11-S12:
步骤S11,在网页端根据自定义的脚本语言编写测试脚本。
步骤S12,根据与自定义的脚本语言对应的语言解析执行引擎对根据自定义的脚本语言编写的测试脚本进行解析并执行测试脚本。
本发明实施例的技术方案,自定义了一套控件操作的描述方法,比如:点击某控件,click(“xx”),输入文本input(“xx”:”xx”),启动webview(“url”:”www.baidu.com”)等,这套描述性的语言组成了测试用例,这套描述语言有着极其简单的规则,脚本开发者只需要熟悉基础的规则就可以写出完整的测试用例。另外,在云平台端部署一套可以解析并执行上述提出的简易脚本语言解析执行引擎。和以往的App UI开发不一样,开发者无需在本地开发调试测试脚本,本方案提供一套在线开发调试脚本的web页面,开发者只需要在web端编写上述的简易脚本语言即可,测试脚本编写完成后,在云平台上,脚本解析执行引擎会解析并执行测试脚本。本发明实施例的关键点为:把App UI自动化测试脚本的开发、调试过程搬到云端,消除部署开发环境这个非常麻烦的过程。2.通过自定义一套中间语言来替代App UI自动化开发语言,降低对开发人员的编程技术的要求。从而可以让脚本开发者无需部署开发环境,不需要掌握UI自动化框架及编程语言相关知识等就可以开发高质量的AppUI自动化脚本。
本发明实施例提供的上述方法,通过在网页端根据自定义的脚本语言编写测试脚本,根据与自定义的脚本语言对应的语言解析执行引擎对根据自定义的脚本语言编写的测试脚本进行解析并执行测试脚本。通过自定义脚本语言可以降低企业开发UI自动化脚本对人员的编程技能要求,把App UI自动化测试脚本的开发、调试过程搬到云端,消除企业开发UI自动化脚本部署环境的复杂过程。
在一个实施例中,在步骤S11之前,如图2所示,该页面测试方法还可包括以下步骤S13:
步骤S13,在云平台端部署与自定义的脚本语言对应的语言解析执行引擎。
本实施例中,在云平台端部署一套可以解析并执行上述提出的简易脚本语言解析执行引擎。该语言解析执行引擎对自定义的脚本语言进行解析并执行该脚本语言。由于通过自定义一套中间语言来替代App UI自动化开发语言,降低了对开发人员的编程技术的要求。
在一个实施例中,在步骤S11之后,如图3所示,该页面测试方法还可包括以下步骤S14:
步骤S14,在云平台上接收针对执行测试脚本的机器的选择操作。
本实施例中,脚本编写完成后,可以在云平台上选择需要执行的机器,选择完成后,脚本解析执行引擎会解析并在对应的机器上执行测试脚本。具体流程图如图4所示。从图4可以看出,整套解决方案对脚本开发者来说,没有开发环境的限制,只要能访问到本系统,就可以在web端开发脚本,免去了本地环境部署的巨大成本。同时在web端开发的语言是本框架自定义的语言,这套语言规则极其简单,没有任何编程基础的测试人员也可以快速的开发出高质量的脚本。相对于传统的UI自动化脚本开发方法,对技术人员的要求更低,免去了很多学习成本。
在一个实施例中,步骤S12可包括以下步骤A:
步骤A,根据所述测试脚本对测试页面中的每一个可操作控件进行测试。
在一个实施例中,在步骤A之前,该页面测试方法还可包括步骤B:
步骤B,对当前界面进行第一次截图。
在步骤A之后,该页面测试方法还可包括步骤C、D、E:
步骤C,对测试之后的界面进行第二次截图。
步骤D,根据第一次截图和第二次截图确定可操作控件是否异常;
步骤E,当每一个可操作控件的第一次截图和第二次截图完成后,获取当前界面所有可操作控件,检查当前界面是否包含异常控件。
使用常规的UI自动化测试技术判定页面是否异常时,需要不断的更新异常控件,而控件的获取是一个比较麻烦的过程,并且,使用UI自动化测试技术可能存在无法识别的页面元素。而本实施例中,在操作每一个控件前截图记录,然后对控件执行相对应的操作。在对控件执行完操作以后,再次截图,然后根据截图判断该可操作控件是否为异常控件。对当前界面的每一个可操作控件进行测试,所有操作执行完成后,获取当前界面所有控件,检查当前界面是否包含异常控件。本实施例通过截图即可判定页面是否异常,维护成本更低。
在发现有异常的控件或者图片显示后,记录异常错误。操作控件前后的两个截图是这个测试用例的记录,用来做测试报告记录以及异常问题的排查和复现。
基于同一发明构思,本发明实施例还提供了一种页面测试装置,由于该装置所解决问题的原理与前述页面测试方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
图5所示为本发明实施例中一种页面测试装置的框图,如图5所示,该页面测试装置包括:
编写模块51,用于在网页端根据自定义的脚本语言编写测试脚本;
解析执行模块52,用于根据与自定义的脚本语言对应的语言解析执行引擎对根据自定义的脚本语言编写的测试脚本进行解析并执行测试脚本。
本发明实施例提供的上述装置,通过在网页端根据自定义的脚本语言编写测试脚本,根据与自定义的脚本语言对应的语言解析执行引擎对根据自定义的脚本语言编写的测试脚本进行解析并执行测试脚本。通过自定义脚本语言可以降低企业开发UI自动化脚本对人员的编程技能要求,把App UI自动化测试脚本的开发、调试过程搬到云端,消除企业开发UI自动化脚本部署环境的复杂过程。
在一个实施例中,该页面测试装置还可包括:
部署模块,用于在云平台端部署与自定义的脚本语言对应的语言解析执行引擎。
在一个实施例中,该页面测试装置还可包括:
接收模块,用于在云平台上接收针对执行测试脚本的机器的选择操作。
在一个实施例中,解析执行模块,可包括:
测试子模块,用于根据测试脚本对测试页面中的每一个可操作控件进行测试。
在一个实施例中,解析执行模块还可包括:
第一截图子模块,用于对当前界面进行第一次截图;
第二截图子模块,用于对测试之后的界面进行第二次截图;
确定子模块,用于根据第一次截图和第二次截图确定可操作控件是否异常;
检查子模块,用于当每一个可操作控件的第一次截图和第二次截图完成后,获取当前界面所有可操作控件,检查当前界面是否包含异常控件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种页面测试方法,其特征在于,包括:
在网页端根据自定义的脚本语言编写测试脚本;
根据与所述自定义的脚本语言对应的语言解析执行引擎对所述根据自定义的脚本语言编写的测试脚本进行解析并执行所述测试脚本。
2.如权利要求1所述的方法,其特征在于,在所述在网页端根据自定义的脚本语言编写测试脚本之前,所述方法还包括:
在云平台端部署所述与所述自定义的脚本语言对应的语言解析执行引擎。
3.如权利要求1所述的方法,其特征在于,在所述在网页端根据自定义的脚本语言编写测试脚本之后,所述方法还包括:
在云平台上接收针对执行所述测试脚本的机器的选择操作。
4.如权利要求1所述的方法,其特征在于,所述根据与所述自定义的脚本语言对应的语言解析执行引擎对所述根据自定义的脚本语言编写的测试脚本进行解析并执行所述测试脚本,包括:
根据所述测试脚本对测试页面中的每一个可操作控件进行测试。
5.如权利要求4所述的方法,其特征在于,在所述根据所述测试脚本对测试页面中的每一个可操作控件进行测试之前,所述方法还包括:
对当前界面进行第一次截图;
在所述根据所述测试脚本对测试页面中的每一个可操作控件进行测试之后,所述方法还包括:
对测试之后的界面进行第二次截图;
根据所述第一次截图和第二次截图确定所述可操作控件是否异常;
当每一个可操作控件的第一次截图和第二次截图完成后,获取当前界面所有可操作控件,检查当前界面是否包含异常控件。
6.一种页面测试装置,其特征在于,包括:
编写模块,用于在网页端根据自定义的脚本语言编写测试脚本;
解析执行模块,用于根据与所述自定义的脚本语言对应的语言解析执行引擎对所述根据自定义的脚本语言编写的测试脚本进行解析并执行所述测试脚本。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
部署模块,用于在云平台端部署所述与所述自定义的脚本语言对应的语言解析执行引擎。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于在云平台上接收针对执行所述测试脚本的机器的选择操作。
9.如权利要求6所述的装置,其特征在于,所述解析执行模块,包括:
测试子模块,用于根据所述测试脚本对测试页面中的每一个可操作控件进行测试。
10.如权利要求9所述的装置,其特征在于,所述解析执行模块还包括:
第一截图子模块,用于对当前界面进行第一次截图;
第二截图子模块,用于对测试之后的界面进行第二次截图;
确定子模块,用于根据所述第一次截图和第二次截图确定所述可操作控件是否异常;
检查子模块,用于当每一个可操作控件的第一次截图和第二次截图完成后,获取当前界面所有可操作控件,检查当前界面是否包含异常控件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710884689.2A CN107704389B (zh) | 2017-09-26 | 2017-09-26 | 一种页面测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710884689.2A CN107704389B (zh) | 2017-09-26 | 2017-09-26 | 一种页面测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704389A true CN107704389A (zh) | 2018-02-16 |
CN107704389B CN107704389B (zh) | 2020-05-01 |
Family
ID=61174524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710884689.2A Active CN107704389B (zh) | 2017-09-26 | 2017-09-26 | 一种页面测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704389B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897609A (zh) * | 2018-06-14 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种机器任务调度方法及装置 |
CN109144868A (zh) * | 2018-08-15 | 2019-01-04 | 无线生活(杭州)信息科技有限公司 | 一种页面判断方法及装置 |
CN109901968A (zh) * | 2019-01-31 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 一种自动化页面数据校验方法和装置 |
CN114237732A (zh) * | 2021-11-09 | 2022-03-25 | 北京心遇科技有限公司 | 一种特戒脚本引擎和脚本运行方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739277A (zh) * | 2009-12-08 | 2010-06-16 | 南京联创科技集团股份有限公司 | 基于自定义脚本方式管理业务监控系统的方法 |
US20150082279A1 (en) * | 2013-09-13 | 2015-03-19 | Sap Ag | Software testing system and method |
CN105260301A (zh) * | 2015-09-24 | 2016-01-20 | 努比亚技术有限公司 | 用户界面的视效比对测试装置及其实现方法 |
CN106776343A (zh) * | 2017-01-13 | 2017-05-31 | 中国科学院软件研究所 | 一种Web应用程序自动化测试工具及方法 |
-
2017
- 2017-09-26 CN CN201710884689.2A patent/CN107704389B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739277A (zh) * | 2009-12-08 | 2010-06-16 | 南京联创科技集团股份有限公司 | 基于自定义脚本方式管理业务监控系统的方法 |
US20150082279A1 (en) * | 2013-09-13 | 2015-03-19 | Sap Ag | Software testing system and method |
CN105260301A (zh) * | 2015-09-24 | 2016-01-20 | 努比亚技术有限公司 | 用户界面的视效比对测试装置及其实现方法 |
CN106776343A (zh) * | 2017-01-13 | 2017-05-31 | 中国科学院软件研究所 | 一种Web应用程序自动化测试工具及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897609A (zh) * | 2018-06-14 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种机器任务调度方法及装置 |
CN109144868A (zh) * | 2018-08-15 | 2019-01-04 | 无线生活(杭州)信息科技有限公司 | 一种页面判断方法及装置 |
CN109144868B (zh) * | 2018-08-15 | 2022-02-01 | 无线生活(杭州)信息科技有限公司 | 一种页面判断方法及装置 |
CN109901968A (zh) * | 2019-01-31 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 一种自动化页面数据校验方法和装置 |
CN114237732A (zh) * | 2021-11-09 | 2022-03-25 | 北京心遇科技有限公司 | 一种特戒脚本引擎和脚本运行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107704389B (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018010552A1 (zh) | 测试方法和装置 | |
US6889337B1 (en) | Method and system for screen reader regression testing | |
US8977739B2 (en) | Configurable frame work for testing and analysis of client-side web browser page performance | |
CN107704389A (zh) | 一种页面测试方法及装置 | |
CN107832774A (zh) | 一种页面异常检测方法及装置 | |
US20230273775A1 (en) | Remote application modernization | |
US20100325492A1 (en) | Identification Of Elements Of Currently-Executing Component Script | |
US20180196742A1 (en) | System and method for end to end performance response time measurement based on graphic recognition | |
CN107622016A (zh) | 一种页面测试方法及装置 | |
CN111966580A (zh) | 基于人工智能的自动化测试方法、装置、设备和存储介质 | |
Copche et al. | Exploratory testing of apps with opportunity maps | |
US9852048B2 (en) | Simulating process variable changes during process runtime | |
CN106933738A (zh) | App测试方法、app测试脚本生成装置和app测试脚本执行装置 | |
Souza et al. | On the exploratory testing of mobile apps | |
CN105653445A (zh) | 一种满足do-178c测试结果的实现方法 | |
US10296449B2 (en) | Recording an application test | |
CN106155895A (zh) | 脚本数据处理方法及装置 | |
Virtanen | Applying test automation in usability testing | |
US12026077B2 (en) | Accelerating application interrogation and interaction mapping | |
Malik | User interface, Accessibility, and Automation Testing Principles for E-commerce Platforms | |
Kilingaru et al. | Smart evaluation of instrument scan pattern using state transition model during flight simulator training | |
US11886330B1 (en) | System, method, and computer program for generating a context visualization during test automation | |
CN106569955A (zh) | 实现回归测试的方法及系统 | |
Gebre | Implementing a UI automated testing system for RoKiX Windows GUI | |
Leivo | Automating user interface testing: Case study at Finnish Transport Agency |
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 |