CN110297758A - 用户界面自动化测试方法、装置及计算机可读存储介质 - Google Patents
用户界面自动化测试方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110297758A CN110297758A CN201910419740.1A CN201910419740A CN110297758A CN 110297758 A CN110297758 A CN 110297758A CN 201910419740 A CN201910419740 A CN 201910419740A CN 110297758 A CN110297758 A CN 110297758A
- Authority
- CN
- China
- Prior art keywords
- user interface
- test
- picture
- page elements
- control
- 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/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
Abstract
本发明涉及测试技术领域,揭露了一种用户界面自动化测试方法、装置及计算机可读存储介质。该方法包括:录制用户的操作过程视频,利用图像识别算法确定用户操作对应的用户界面、页面元素,并确定页面元素对应的控件、控件对应的事件,生成测试数据,根据测试数据配置测试用例,自动生成测试脚本。该方法有效避免了测试人员手动编写测试脚本,降低了测试需求变更时测试脚本的维护成本,解决了动画、非原生控件无法定位的问题。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种用户界面自动化测试方法、装置及计算机可读存储介质。
背景技术
用户界面(User Interface,UI)测试主要目的是测试用户界面的功能模块的布局是否合理,整体风格是否一致等,传统的用户界面测试通常采用人工测试,人工测试需要耗费大量的时间和人力,而且工作枯燥乏味,慢慢的市面上出现了用户界面自动化测试工具,但是因测试需求变更太快导致自动化测试脚本维护成本过高,且对于某些特殊页面元素如动画、非原生控件没办法定位,同时需要测试人员有一定的编码能力。因此,如何实现自动生成测试脚本,降低测试脚本的维护成本,解决特殊页面元素无法定位的问题,已经成为一个亟待解决的技术问题。
发明内容
鉴于以上内容,有必要提出一种用户界面自动化测试方法、装置及计算机可读存储介质,其主要目的在于实现自动生成测试脚本,降低测试需求变更时测试脚本的维护成本,解决动画、非原生控件无法定位的问题。
为实现上述目的,本发明提出一种用户界面自动化测试装置,该装置包括存储器和处理器,所述存储器上存储有用户界面自动化测试程序,所述用户界面自动化测试程序被所述处理器执行时实现如下步骤:
测试数据获取步骤:录制用户的操作过程视频,在所述视频中截取用户操作的用户界面的图片以及所述用户界面的图片中包含的页面元素的图片,利用图片识别算法确定所述页面元素对应的控件及控件对应的事件,生成测试数据,并建立所述用户界面与页面元素的映射关系,所述测试数据包含用户界面、用户界面中的页面元素、页面元素对应的控件、控件对应的事件;
测试用例配置步骤:根据所述测试数据配置测试用例;
测试脚本生成步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模板,编译所述测试模板生成测试脚本;
测试脚本执行步骤:根据所述测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置,调用所述控件对应的事件,执行所述事件对应的测试操作。
可选的,所述用户界面自动化测试程序被所述处理器执行时还实现如下步骤:
测试脚本维护步骤:将所述用户界面的图片的版本号加载至所述映射关系中,当用户界面发生变化时,根据新版本的用户界面自动生成新的测试脚本。
可选的,所述测试数据获取步骤还包括:
将所述用户界面的图片存储至预先确定的第一图片库中,将所述页面元素的图片存储至预先确定的第二图片库中。
可选的,所述测试脚本生成步骤还包括:
验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
可选的,所述根据测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置包括:
根据所述测试脚本中的控件的名称参数确定待测试的页面元素,从所述预先确定的第二图片库中获取所述页面元素的图片;
根据所述用户界面与页面元素的映射关系获取所述待测试的页面元素对应的用户界面,从所述预先确定的第一图片库中获取所述用户界面的图片;
通过图片识别算法,比对获取的所述页面元素的图片和所述用户界面的图片,确定所述页面元素在所述用户界面中的位置。
为实现上述目的,本发明提出一种用户界面自动化测试方法,该方法包括:
测试数据获取步骤:录制用户的操作过程视频,在所述视频中截取用户操作的用户界面的图片以及所述用户界面的图片中包含的页面元素的图片,利用图片识别算法确定所述页面元素对应的控件及控件对应的事件,生成测试数据,并建立所述用户界面与页面元素的映射关系,所述测试数据包含用户界面、用户界面中的页面元素、页面元素对应的控件、控件对应的事件;
测试用例配置步骤:根据所述测试数据配置测试用例;
测试脚本生成步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模板,编译所述测试模板生成测试脚本;
测试脚本执行步骤:根据所述测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置,调用所述控件对应的事件,执行所述事件对应的测试操作。
可选的,该用户界面自动化测试方法还包括:
测试脚本维护步骤:将所述用户界面的图片的版本号加载至所述映射关系中,当用户界面发生变化时,根据新版本的用户界面自动生成新的测试脚本。
可选的,所述测试数据获取步骤还包括:
将所述用户界面的图片存储至预先确定的第一图片库中,将所述页面元素的图片存储至预先确定的第二图片库中。
可选的,所述根据测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置包括:
根据所述测试脚本中的控件的名称参数确定待测试的页面元素,从所述预先确定的第二图片库中获取所述页面元素的图片;
根据所述用户界面与页面元素的映射关系获取所述待测试的页面元素对应的用户界面,从所述预先确定的第一图片库中获取所述用户界面的图片;
通过图片识别算法,比对获取的所述页面元素的图片和所述用户界面的图片,确定所述页面元素在所述用户界面中的位置。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有用户界面自动化测试程序,所述用户界面自动化测试程序可被一个或者多个处理器执行,以实现上述任一项所述的用户界面自动化测试方法的步骤。
相较现有技术,本发明通过录制用户的操作过程视频,利用图像识别算法确定用户操作对应的用户界面、页面元素,并确定页面元素对应的控件、控件对应的事件,生成测试数据,根据测试数据配置测试用例,自动生成测试脚本,有效避免了测试人员手动编写脚本,降低了测试需求变更时测试脚本的维护成本,解决了动画、非原生控件无法定位的问题。
附图说明
图1为本发明用户界面自动化测试装置一实施例的硬件结构图。
图2为图1中的用户界面自动化测试程序一实施例的功能模块图。
图3为本发明用户界面自动化测试方法一实施例的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如图1所示,为本发明用户界面自动化测试装置一实施例的硬件结构图。在本实施例中,用户界面自动化测试装置1包括存储器11、处理器12及摄像单元13,该存储器11中存储有用户界面自动化测试程序10,所述用户界面自动化测试程序10可被所述处理器12执行。
存储器11包括内存及至少一种类型的可读存储介质。内存为用户界面自动化测试装置1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是用户界面自动化测试装置1的内部存储单元,例如该用户界面自动化测试装置1的硬盘;在另一些实施例中,该非易失性存储介质也可以是用户界面自动化测试装置1的外部存储设备,例如用户界面自动化测试装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于用户界面自动化测试装置1的操作系统和各类应用软件,例如存储本发明一实施例中的用户界面自动化测试程序10的代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述用户界面自动化测试装置1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行用户界面自动化测试程序10等。
本实施例中,摄像单元13用于录制用户的操作过程视频。
可选的,所述用户界面自动化测试装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在用户界面自动化测试装置1中处理的信息以及用于显示可视化的用户界面。
图1仅示出了具有组件11-12以及用户界面自动化测试程序10的用户界面自动化测试装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对用户界面自动化测试装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在本发明的一实施例中,所述用户界面自动化测试程序10被所述处理器12执行时实现如下测试数据获取步骤、测试用例配置步骤、测试脚本生成步骤及测试脚本执行步骤。
测试数据获取步骤:录制用户的操作过程视频,在所述视频中截取用户操作的用户界面的图片以及所述用户界面的图片中包含的页面元素的图片,利用图片识别算法确定所述页面元素对应的控件及控件对应的事件,生成测试数据,并建立所述用户界面与页面元素的映射关系,所述测试数据包含用户界面、用户界面中的页面元素、页面元素对应的控件、控件对应的事件;
其中,页面元素包括用户界面上的按钮、图片、文字框图、动画等,每个页面元素对应一个控件。
用户的操作包括鼠标单击、鼠标右键点击、鼠标拖拽、文本框输入操作等,控件对应的鼠标事件包括鼠标操作的控件、鼠标的操作方式,控件对应的键盘事件包括输入操作的文本框、文本框中输入的内容。
在本发明的一个实施例中,所述测试数据获取步骤还包括:
将所述用户界面的图片存储至预先确定的第一图片库中,将所述页面元素的图片存储至预先确定的第二图片库中。
其中,将用户界面大图的名称命名为用户界面的界面名称,用户界面中的各个控件分别对应的页面元素小图的名称命名为控件的名称,将用户界面图片存储至预先确定的第一图片库中,将页面元素图片存储至预先确定的第二图片库中,第一图片库与第二图片库可以是相同的图片库,也可以是不相同的图片库。
BUTTON类型控件对应click事件,TEXT类型控件对应send_keys事件。
所述映射关系可以是一对多的映射关系。
在一个实施例中,所述映射关系可以用表格的形式表示:
界面名称为Login的用户界面与id分别为1、2、3的三个页面元素建立映射关系,id为1的页面元素对应的控件名称为:userName_text,控件类型为:TEXT(文本框类型),页面元素图片存储地址为:http://a/b/c。
测试用例配置步骤:根据所述测试数据配置测试用例;
其中,测试用例是测试的标准,是测试脚本的设计规格说明书,指导测试的实施,测试用例包括场景、测试步骤、测试数据及预期结果。以下是Login的测试用例的示例:
测试脚本生成步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模板,编译所述测试模板生成测试脚本;
在本实施例中,所述预先确定的编程语言可以是Python语言,也可以是Java语言,本发明对此不做进一步的限定。
所述测试用例的执行过程包括读取所述测试用例的内容,执行测试用例中的判断逻辑。
在本发明的一个实施例中,所述测试脚本生成步骤还包括:
验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
测试脚本执行步骤:根据所述测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置,调用所述控件对应的事件,执行所述事件对应的测试操作。
在本发明的一个实施例中,所述根据测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置包括:
根据所述测试脚本中的控件的名称参数确定待测试的页面元素,从所述预先确定的第二图片库中获取所述页面元素的图片;
根据所述用户界面与页面元素的映射关系获取所述待测试的页面元素对应的用户界面,从所述预先确定的第一图片库中获取所述用户界面的图片;
通过图片识别算法,比对获取的所述页面元素的图片和所述用户界面的图片,确定所述页面元素在所述用户界面中的位置。
在本发明的一个实施例中,所述用户界面自动化测试程序10被所述处理器12执行时还实现如下步骤:
测试脚本维护步骤:将所述用户界面的图片的版本号加载至所述映射关系中,当用户界面发生变化时,根据新版本的用户界面自动生成新的测试脚本。
测试需求变更很快,每次变更后,执行原来的测试脚本已经失效了,当用户界面发生变化时,根据新版本的用户界面执行测试数据获取步骤、测试用例配置步骤及测试脚本生成步骤自动生成新的测试脚本。
如图2所示,为图1中的用户界面自动化测试程序10一实施例的功能模块图。在本实施例中,用户界面自动化测试程序10包括测试数据获取模块110、测试用例配置模块120、测试脚本生成模块130及测试脚本执行模块140。
所述测试数据获取模块110,用于录制用户的操作过程视频,在所述视频中截取用户操作的用户界面的图片以及所述用户界面的图片中包含的页面元素的图片,利用图片识别算法确定所述页面元素对应的控件及控件对应的事件,生成测试数据,并建立所述用户界面与页面元素的映射关系,所述测试数据包含用户界面、用户界面中的页面元素、页面元素对应的控件、控件对应的事件;
其中,页面元素包括用户界面上的按钮、图片、文字框图、动画等,每个页面元素对应一个控件。
用户的操作包括鼠标单击、鼠标右键点击、鼠标拖拽、文本框输入操作等,控件对应的鼠标事件包括鼠标操作的控件、鼠标的操作方式,控件对应的键盘事件包括输入操作的文本框、文本框中输入的内容。
在本发明的一个实施例中,所述测试数据获取模块110还用于:
将所述用户界面图片存储至预先确定的第一图片库中,将所述页面元素图片存储至预先确定的第二图片库中。
其中,将用户界面大图的名称命名为用户界面的界面名称,用户界面中的各个控件分别对应的页面元素小图的名称命名为控件的名称,将用户界面图片存储至预先确定的第一图片库中,将页面元素图片存储至预先确定的第二图片库中,第一图片库与第二图片库可以是相同的图片库,也可以是不相同的图片库。
BUTTON类型控件对应click事件,TEXT类型控件对应send_keys事件。
所述映射关系可以是一对多的映射关系。
在一个实施例中,所述映射关系可以用表格的形式表示:
界面名称为Login的用户界面与id分别为1、2、3的三个页面元素建立映射关系,id为1的页面元素对应的控件名称为:userName_text,控件类型为:TEXT(文本框类型),页面元素图片存储地址为:http://a/b/c。
所述测试用例配置模块120,用于根据所述测试数据配置测试用例。
其中,测试用例是测试的标准,是测试脚本的设计规格说明书,指导测试的实施,测试用例包括场景、测试步骤、测试数据及预期结果。以下是Login的测试用例的示例:
所述测试脚本生成模块130,用于利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模板,编译所述测试模板生成测试脚本。
在本实施例中,所述预先确定的编程语言可以是Python语言,也可以是Java语言,本发明对此不做进一步的限定。
所述测试用例的执行过程包括读取所述测试用例的内容,执行测试用例中的判断逻辑。
在本发明的一个实施例中,所述测试脚本生成模块130还用于验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
所述测试脚本执行模块140,用于根据所述测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置,调用所述控件对应的事件,执行所述事件对应的测试操作。
在本发明的一个实施例中,所述测试脚本执行模块140根据测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置包括:
根据所述测试脚本中的控件的名称参数确定待测试的页面元素,从所述预先确定的第二图片库中获取所述页面元素的图片;
根据所述用户界面与页面元素的映射关系获取所述待测试的页面元素对应的用户界面,从所述预先确定的第一图片库中获取所述用户界面的图片;
通过图片识别算法,比对获取的所述页面元素的图片和所述用户界面的图片,确定所述页面元素在所述用户界面中的位置。
可选的,所述用户界面自动化测试程序10还包括测试脚本维护模块150。
所述测试脚本维护模块150,用于将所述用户界面的图片的版本号加载至所述映射关系中,当用户界面发生变化时,根据新版本的用户界面自动生成新的测试脚本。
测试需求变更很快,每次变更后,执行原来的测试脚本已经失效了,当用户界面发生变化时,根据新版本的用户界面执行测试数据获取模块110、测试用例配置模块120及测试脚本生成模块130自动生成新的测试脚本。
如图3所示,为本发明用户界面自动化测试方法一实施例的流程图。
在本发明的一个实施例中,所述用户界面自动化测试方法包括步骤S11、S12、S13及S14。
步骤S11:测试数据获取模块110录制用户的操作过程视频,在所述视频中截取用户操作的用户界面的图片以及所述用户界面的图片中包含的页面元素的图片,利用图片识别算法确定所述页面元素对应的控件及控件对应的事件,生成测试数据,并建立所述用户界面与页面元素的映射关系,所述测试数据包含用户界面、用户界面中的页面元素、页面元素对应的控件、控件对应的事件;
其中,页面元素包括用户界面上的按钮、图片、文字框图、动画等,每个页面元素对应一个控件。
用户的操作包括鼠标单击、鼠标右键点击、鼠标拖拽、文本框输入操作等,控件对应的鼠标事件包括鼠标操作的控件、鼠标的操作方式,控件对应的键盘事件包括输入操作的文本框、文本框中输入的内容。
在本发明的一个实施例中,所述测试数据获取步骤还包括:
将所述用户界面的图片存储至预先确定的第一图片库中,将所述页面元素的图片存储至预先确定的第二图片库中。
其中,将用户界面大图的名称命名为用户界面的界面名称,用户界面中的各个控件分别对应的页面元素小图的名称命名为控件的名称,将用户界面图片存储至预先确定的第一图片库中,将页面元素图片存储至预先确定的第二图片库中,第一图片库与第二图片库可以是相同的图片库,也可以是不相同的图片库。
BUTTON类型控件对应click事件,TEXT类型控件对应send_keys事件。
所述映射关系可以是一对多的映射关系。
在一个实施例中,所述映射关系可以用表格的形式表示:
界面名称为Login的用户界面与id分别为1、2、3的三个页面元素建立映射关系,id为1的页面元素对应的控件名称为:userName_text,控件类型为:TEXT(文本框类型),页面元素图片存储地址为:http://a/b/c。
步骤S12:测试用例配置模块120根据所述测试数据配置测试用例;
测试用例是测试的标准,是测试脚本的设计规格说明书,指导测试的实施,测试用例包括场景、测试步骤、测试数据及预期结果。以下是Login的测试用例的示例:
步骤S13:测试脚本生成模块130利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模板,编译所述测试模板生成测试脚本。
在本实施例中,所述预先确定的编程语言可以是Python语言,也可以是Java语言,本发明对此不做进一步的限定。
所述测试用例的执行过程包括读取所述测试用例的内容,执行测试用例中的判断逻辑。
可选的,所述步骤S13还包括:
验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
步骤S14:测试脚本执行模块140根据所述测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置,调用所述控件对应的事件,执行所述事件对应的测试操作。
在本发明的一个实施例中,所述根据测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置包括:
根据所述测试脚本中的控件的名称参数确定待测试的页面元素,从所述预先确定的第二图片库中获取所述页面元素的图片;
根据所述用户界面与页面元素的映射关系获取所述待测试的页面元素对应的用户界面,从所述预先确定的第一图片库中获取所述用户界面的图片;
通过图片识别算法,比对获取的所述页面元素的图片和所述用户界面的图片,确定所述页面元素在所述用户界面中的位置。
在本发明的一个实施例中,所述用户界面自动化测试方法还包括如下步骤:
步骤S15:测试脚本维护模块150将所述用户界面的图片的版本号加载至所述映射关系中,当所述用户界面发生变化时,根据新版本的用户界面自动生成新的测试脚本。
测试需求变更很快,每次变更后,执行原来的测试脚本已经失效了,当用户界面发生变化时,根据新版本的用户界面执行步骤S11、S12及S13自动生成新的测试脚本。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种用户界面自动化测试装置,其特征在于,该装置包括存储器和处理器,所述存储器上存储有用户界面自动化测试程序,所述用户界面自动化测试程序被所述处理器执行时实现如下步骤:
测试数据获取步骤:录制用户的操作过程视频,在所述视频中截取用户操作的用户界面的图片以及所述用户界面的图片中包含的页面元素的图片,利用图片识别算法确定所述页面元素对应的控件及控件对应的事件,生成测试数据,并建立所述用户界面与页面元素的映射关系,所述测试数据包含用户界面、用户界面中的页面元素、页面元素对应的控件、控件对应的事件;
测试用例配置步骤:根据所述测试数据配置测试用例;
测试脚本生成步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模板,编译所述测试模板生成测试脚本;
测试脚本执行步骤:根据所述测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置,调用所述控件对应的事件,执行所述事件对应的测试操作。
2.如权利要求1所述的用户界面自动化测试装置,其特征在于,所述用户界面自动化测试程序被所述处理器执行时还实现如下步骤:
测试脚本维护步骤:将所述用户界面的图片的版本号加载至所述映射关系中,当用户界面发生变化时,根据新版本的用户界面自动生成新的测试脚本。
3.如权利要求1所述的用户界面自动化测试装置,其特征在于,所述测试数据获取步骤还包括:
将所述用户界面的图片存储至预先确定的第一图片库中,将所述页面元素的图片存储至预先确定的第二图片库中。
4.如权利要求1所述的用户界面自动化测试装置,其特征在于,所述测试脚本生成步骤还包括:
验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
5.如权利要求3所述的用户界面自动化测试装置,其特征在于,所述根据测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置包括:
根据所述测试脚本中的控件的名称参数确定待测试的页面元素,从所述预先确定的第二图片库中获取所述页面元素的图片;
根据所述用户界面与页面元素的映射关系获取所述待测试的页面元素对应的用户界面,从所述预先确定的第一图片库中获取所述用户界面的图片;
通过图片识别算法,比对获取的所述页面元素的图片和所述用户界面的图片,确定所述页面元素在所述用户界面中的位置。
6.一种用户界面自动化测试方法,其特征在于,所述用户界面自动化测试方法包括:
测试数据获取步骤:录制用户的操作过程视频,在所述视频中截取用户操作的用户界面的图片以及所述用户界面的图片中包含的页面元素的图片,利用图片识别算法确定所述页面元素对应的控件及控件对应的事件,生成测试数据,并建立所述用户界面与页面元素的映射关系,所述测试数据包含用户界面、用户界面中的页面元素、页面元素对应的控件、控件对应的事件;
测试用例配置步骤:根据所述测试数据配置测试用例;
测试脚本生成步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模板,编译所述测试模板生成测试脚本;
测试脚本执行步骤:根据所述测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置,调用所述控件对应的事件,执行所述事件对应的测试操作。
7.如权利要求6所述的用户界面自动化测试方法,其特征在于,所述用户界面自动化测试方法还包括:
测试脚本维护步骤:将所述用户界面的图片的版本号加载至所述映射关系中,当用户界面发生变化时,根据新版本的用户界面自动生成新的测试脚本。
8.如权利要求6所述的用户界面自动化测试方法,其特征在于,所述测试数据获取步骤还包括:
将所述用户界面的图片存储至预先确定的第一图片库中,将所述页面元素的图片存储至预先确定的第二图片库中。
9.如权利要求8所述的用户界面自动化测试方法,其特征在于,所述根据测试脚本中的控件的名称参数和所述用户界面与页面元素的映射关系确定待测试的页面元素在其对应的用户界面中的位置包括:
根据所述测试脚本中的控件的名称参数确定待测试的页面元素,从所述预先确定的第二图片库中获取所述页面元素的图片;
根据所述用户界面与页面元素的映射关系获取所述待测试的页面元素对应的用户界面,从所述预先确定的第一图片库中获取所述用户界面的图片;
通过图片识别算法,比对获取的所述页面元素的图片和所述用户界面的图片,确定所述页面元素在所述用户界面中的位置。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有用户界面自动化测试程序,所述用户界面自动化测试程序可被一个或者多个处理器执行,以实现如权利要求6至9任一项所述的用户界面自动化测试方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910419740.1A CN110297758A (zh) | 2019-05-20 | 2019-05-20 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
PCT/CN2020/086291 WO2020233331A1 (zh) | 2019-05-20 | 2020-04-23 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910419740.1A CN110297758A (zh) | 2019-05-20 | 2019-05-20 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110297758A true CN110297758A (zh) | 2019-10-01 |
Family
ID=68026954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910419740.1A Pending CN110297758A (zh) | 2019-05-20 | 2019-05-20 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110297758A (zh) |
WO (1) | WO2020233331A1 (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990264A (zh) * | 2019-11-11 | 2020-04-10 | 中国建设银行股份有限公司 | Ui自动化测试的元素识别方法、装置、设备及存储介质 |
CN111124919A (zh) * | 2019-12-24 | 2020-05-08 | 浙江诺诺网络科技有限公司 | 一种用户界面的测试方法、装置、设备及存储介质 |
CN111176982A (zh) * | 2019-12-12 | 2020-05-19 | 中国建设银行股份有限公司 | 一种测试界面生成方法和装置 |
CN111177009A (zh) * | 2019-12-31 | 2020-05-19 | 五八有限公司 | 一种脚本生成方法、装置、电子设备及存储介质 |
CN111246286A (zh) * | 2020-01-10 | 2020-06-05 | 北京百度网讯科技有限公司 | 测试实例的获取方法、装置和电子设备 |
CN111552627A (zh) * | 2020-03-16 | 2020-08-18 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN111679974A (zh) * | 2020-05-26 | 2020-09-18 | 泰康保险集团股份有限公司 | 一种应用程序的测试方法及装置 |
CN111881019A (zh) * | 2020-07-07 | 2020-11-03 | 北京三快在线科技有限公司 | 一种用户界面测试方法及装置 |
CN111897740A (zh) * | 2020-08-24 | 2020-11-06 | 北京字节跳动网络技术有限公司 | 用户界面的测试方法、装置、电子设备及计算机可读介质 |
CN111966580A (zh) * | 2020-07-24 | 2020-11-20 | 厦门快商通科技股份有限公司 | 基于人工智能的自动化测试方法、装置、设备和存储介质 |
WO2020233331A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN112148588A (zh) * | 2020-08-21 | 2020-12-29 | 烽火通信科技股份有限公司 | 一种自动化测试的对象资源的自动分析方法及测试工具 |
CN112231207A (zh) * | 2020-09-30 | 2021-01-15 | 广州掌动智能科技有限公司 | 应用程序测试的多机测试方法、计算机可读存储介质及测试平台 |
CN112231206A (zh) * | 2020-09-30 | 2021-01-15 | 广州掌动智能科技有限公司 | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN112383661A (zh) * | 2020-11-20 | 2021-02-19 | 北京达佳互联信息技术有限公司 | 移动端自动化测试方法、装置、电子设备及存储介质 |
CN112463601A (zh) * | 2020-11-24 | 2021-03-09 | 中信银行股份有限公司 | 一种ui自动测试方法和系统 |
CN112597034A (zh) * | 2020-12-25 | 2021-04-02 | 深圳证券交易所 | 测试用例的生成方法、装置及计算机可读存储介质 |
CN112667517A (zh) * | 2021-01-07 | 2021-04-16 | 卫宁健康科技集团股份有限公司 | 自动化测试脚本的获取方法、装置、设备及存储介质 |
CN112905451A (zh) * | 2021-02-02 | 2021-06-04 | 北京罗克维尔斯科技有限公司 | 应用程序的自动化测试方法及装置 |
CN113254338A (zh) * | 2021-05-25 | 2021-08-13 | 深圳前海微众银行股份有限公司 | 测试用例生成方法、装置及设备 |
CN113419950A (zh) * | 2021-06-22 | 2021-09-21 | 平安壹钱包电子商务有限公司 | Ui自动化脚本的生成方法、装置、计算机设备及存储介质 |
CN113468050A (zh) * | 2021-06-30 | 2021-10-01 | 杭州群核信息技术有限公司 | 基于画布的测试方法、装置、计算机设备及存储介质 |
CN113609028A (zh) * | 2021-10-09 | 2021-11-05 | 统信软件技术有限公司 | 一种页面测试方法、计算设备及可读存储介质 |
CN113778898A (zh) * | 2021-09-26 | 2021-12-10 | 杭州安恒信息技术股份有限公司 | 用户界面自动化测试方法、装置、电子设备及存储介质 |
CN114691263A (zh) * | 2022-03-01 | 2022-07-01 | 达而观信息科技(上海)有限公司 | 一种用户界面交互式流程录制方法、系统、计算机设备及可读存储介质 |
CN115687160A (zh) * | 2022-12-30 | 2023-02-03 | 杭州兑吧网络科技有限公司 | 一种界面测试系统、方法、设备集群 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506785A (zh) * | 2020-12-15 | 2021-03-16 | 杭州电魂网络科技股份有限公司 | Html5游戏页面登录的自动化测试方法、装置、设备和介质 |
CN112860587B (zh) * | 2021-04-02 | 2024-04-05 | 中国工商银行股份有限公司 | Ui自动测试方法和装置 |
CN113094268B (zh) * | 2021-04-07 | 2024-05-07 | 中国工商银行股份有限公司 | 测试方法、装置、设备和介质 |
CN113076257A (zh) * | 2021-04-19 | 2021-07-06 | 西安闻泰信息技术有限公司 | 测试脚本录制方法、装置、介质及计算机设备 |
CN113127354B (zh) * | 2021-04-21 | 2023-08-11 | 武汉思普崚技术有限公司 | 基于Web UI的自动化测试方法、装置、设备及存储介质 |
CN113238969B (zh) * | 2021-06-23 | 2024-02-23 | 中国农业银行股份有限公司 | 界面自动化测试方法、装置、设备及存储介质 |
CN113515455B (zh) * | 2021-07-15 | 2024-02-06 | 华云数据控股集团有限公司 | 自动化测试方法以及系统 |
CN113742228B (zh) * | 2021-09-02 | 2023-12-15 | 杭州网易云音乐科技有限公司 | 测试、数据回放及录制方法、系统、装置、设备及介质 |
US11822464B2 (en) | 2021-10-25 | 2023-11-21 | International Business Machines Corporation | Video-based user interface application testing |
CN114238142A (zh) * | 2021-12-24 | 2022-03-25 | 四川启睿克科技有限公司 | 一种基于appium+python的移动端ui自动化测试方法 |
CN115086212A (zh) * | 2022-06-09 | 2022-09-20 | 北京沃东天骏信息技术有限公司 | 一种网页的测试方法和装置 |
CN116185879B (zh) * | 2023-04-26 | 2023-07-07 | 润芯微科技(江苏)有限公司 | 基于Python的智能座舱仪表自动化测试方法及系统 |
CN117112400A (zh) * | 2023-07-24 | 2023-11-24 | 东方通创新科技(重庆)有限公司 | 测试用例自动生成平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110123973A1 (en) * | 2008-06-06 | 2011-05-26 | Sapient Corporation | Systems and methods for visual test authoring and automation |
WO2018120721A1 (zh) * | 2016-12-30 | 2018-07-05 | 上海壹账通金融科技有限公司 | 用户界面的测试方法、系统、电子装置及计算机可读存储介质 |
CN109669873A (zh) * | 2018-12-27 | 2019-04-23 | 拉扎斯网络科技(上海)有限公司 | 用户界面自动测试方法及装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614313A (zh) * | 2018-10-25 | 2019-04-12 | 平安科技(深圳)有限公司 | 自动化测试方法、装置及计算机可读存储介质 |
CN109614317A (zh) * | 2018-11-12 | 2019-04-12 | 平安科技(深圳)有限公司 | 电子装置、用户界面测试方法及存储介质 |
CN110297758A (zh) * | 2019-05-20 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
-
2019
- 2019-05-20 CN CN201910419740.1A patent/CN110297758A/zh active Pending
-
2020
- 2020-04-23 WO PCT/CN2020/086291 patent/WO2020233331A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110123973A1 (en) * | 2008-06-06 | 2011-05-26 | Sapient Corporation | Systems and methods for visual test authoring and automation |
WO2018120721A1 (zh) * | 2016-12-30 | 2018-07-05 | 上海壹账通金融科技有限公司 | 用户界面的测试方法、系统、电子装置及计算机可读存储介质 |
CN109669873A (zh) * | 2018-12-27 | 2019-04-23 | 拉扎斯网络科技(上海)有限公司 | 用户界面自动测试方法及装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
贾丽;许静;金鑫;田禾;: "基于控件约束关系的Web功能测试系统", 计算机工程, no. 05 * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233331A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN110990264A (zh) * | 2019-11-11 | 2020-04-10 | 中国建设银行股份有限公司 | Ui自动化测试的元素识别方法、装置、设备及存储介质 |
CN111176982A (zh) * | 2019-12-12 | 2020-05-19 | 中国建设银行股份有限公司 | 一种测试界面生成方法和装置 |
CN111176982B (zh) * | 2019-12-12 | 2023-08-22 | 中国建设银行股份有限公司 | 一种测试界面生成方法和装置 |
CN111124919A (zh) * | 2019-12-24 | 2020-05-08 | 浙江诺诺网络科技有限公司 | 一种用户界面的测试方法、装置、设备及存储介质 |
CN111177009A (zh) * | 2019-12-31 | 2020-05-19 | 五八有限公司 | 一种脚本生成方法、装置、电子设备及存储介质 |
CN111246286A (zh) * | 2020-01-10 | 2020-06-05 | 北京百度网讯科技有限公司 | 测试实例的获取方法、装置和电子设备 |
CN111246286B (zh) * | 2020-01-10 | 2022-06-10 | 北京百度网讯科技有限公司 | 测试实例的获取方法、装置和电子设备 |
CN111552627A (zh) * | 2020-03-16 | 2020-08-18 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
WO2021184725A1 (zh) * | 2020-03-16 | 2021-09-23 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN111679974A (zh) * | 2020-05-26 | 2020-09-18 | 泰康保险集团股份有限公司 | 一种应用程序的测试方法及装置 |
CN111881019B (zh) * | 2020-07-07 | 2024-03-01 | 北京三快在线科技有限公司 | 一种用户界面测试方法及装置 |
CN111881019A (zh) * | 2020-07-07 | 2020-11-03 | 北京三快在线科技有限公司 | 一种用户界面测试方法及装置 |
CN111966580A (zh) * | 2020-07-24 | 2020-11-20 | 厦门快商通科技股份有限公司 | 基于人工智能的自动化测试方法、装置、设备和存储介质 |
CN112148588A (zh) * | 2020-08-21 | 2020-12-29 | 烽火通信科技股份有限公司 | 一种自动化测试的对象资源的自动分析方法及测试工具 |
CN112148588B (zh) * | 2020-08-21 | 2022-04-19 | 烽火通信科技股份有限公司 | 一种自动化测试的对象资源的自动分析方法及测试工具 |
CN111897740A (zh) * | 2020-08-24 | 2020-11-06 | 北京字节跳动网络技术有限公司 | 用户界面的测试方法、装置、电子设备及计算机可读介质 |
CN112231207A (zh) * | 2020-09-30 | 2021-01-15 | 广州掌动智能科技有限公司 | 应用程序测试的多机测试方法、计算机可读存储介质及测试平台 |
CN112231206A (zh) * | 2020-09-30 | 2021-01-15 | 广州掌动智能科技有限公司 | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN112383661A (zh) * | 2020-11-20 | 2021-02-19 | 北京达佳互联信息技术有限公司 | 移动端自动化测试方法、装置、电子设备及存储介质 |
CN112383661B (zh) * | 2020-11-20 | 2023-05-02 | 北京达佳互联信息技术有限公司 | 移动端自动化测试方法、装置、电子设备及存储介质 |
CN112463601A (zh) * | 2020-11-24 | 2021-03-09 | 中信银行股份有限公司 | 一种ui自动测试方法和系统 |
CN112597034A (zh) * | 2020-12-25 | 2021-04-02 | 深圳证券交易所 | 测试用例的生成方法、装置及计算机可读存储介质 |
CN112667517A (zh) * | 2021-01-07 | 2021-04-16 | 卫宁健康科技集团股份有限公司 | 自动化测试脚本的获取方法、装置、设备及存储介质 |
CN112905451A (zh) * | 2021-02-02 | 2021-06-04 | 北京罗克维尔斯科技有限公司 | 应用程序的自动化测试方法及装置 |
CN112905451B (zh) * | 2021-02-02 | 2023-08-25 | 北京罗克维尔斯科技有限公司 | 应用程序的自动化测试方法及装置 |
CN113254338A (zh) * | 2021-05-25 | 2021-08-13 | 深圳前海微众银行股份有限公司 | 测试用例生成方法、装置及设备 |
CN113419950A (zh) * | 2021-06-22 | 2021-09-21 | 平安壹钱包电子商务有限公司 | Ui自动化脚本的生成方法、装置、计算机设备及存储介质 |
CN113468050A (zh) * | 2021-06-30 | 2021-10-01 | 杭州群核信息技术有限公司 | 基于画布的测试方法、装置、计算机设备及存储介质 |
CN113778898A (zh) * | 2021-09-26 | 2021-12-10 | 杭州安恒信息技术股份有限公司 | 用户界面自动化测试方法、装置、电子设备及存储介质 |
CN113778898B (zh) * | 2021-09-26 | 2024-02-20 | 杭州安恒信息技术股份有限公司 | 用户界面自动化测试方法、装置、电子设备及存储介质 |
CN113609028A (zh) * | 2021-10-09 | 2021-11-05 | 统信软件技术有限公司 | 一种页面测试方法、计算设备及可读存储介质 |
CN114691263A (zh) * | 2022-03-01 | 2022-07-01 | 达而观信息科技(上海)有限公司 | 一种用户界面交互式流程录制方法、系统、计算机设备及可读存储介质 |
CN115687160A (zh) * | 2022-12-30 | 2023-02-03 | 杭州兑吧网络科技有限公司 | 一种界面测试系统、方法、设备集群 |
Also Published As
Publication number | Publication date |
---|---|
WO2020233331A1 (zh) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297758A (zh) | 用户界面自动化测试方法、装置及计算机可读存储介质 | |
US11157855B2 (en) | Robotics process automation platform | |
US11126543B2 (en) | Software test automation system and method | |
US9459994B2 (en) | Mobile application testing systems and methods | |
US8893089B2 (en) | Fast business process test case composition | |
US10466971B2 (en) | Generation of an application from data | |
US9448908B2 (en) | System and method for model based session management | |
US9076072B2 (en) | System and method for web page rendering test automation suite | |
US20130014084A1 (en) | International Testing Platform | |
US9848277B2 (en) | High-speed application for installation on mobile devices for permitting remote configuration of such mobile devices | |
US9904517B2 (en) | System and method for automatic modeling of an application | |
US10146672B2 (en) | Method and system for automated user interface (UI) testing through model driven techniques | |
WO2019227708A1 (zh) | 测试案例的在线调试装置、方法及计算机可读存储介质 | |
CN112199093B (zh) | 资源检查方法、装置、设备及计算机可读存储介质 | |
US10380526B2 (en) | System and method for providing a process player for use with a business process design environment | |
CN106126424A (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN109542431A (zh) | 控件属性分析方法、装置、电子设备及存储介质 | |
US20150234732A1 (en) | Executable software specification generation | |
CN112241373A (zh) | 自动化测试方法、测试装置、处理器和测试系统 | |
CN112100012B (zh) | 一种安卓设备测试方法、安卓设备及存储介质 | |
US11481304B1 (en) | User action generated process discovery | |
CN113485689A (zh) | 埋点处理方法及装置 | |
CN109828752A (zh) | 项目代码自动生成方法、装置、计算机设备及存储介质 | |
CN116524986B (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 |