CN112749081A - 用户界面测试方法及相关装置 - Google Patents
用户界面测试方法及相关装置 Download PDFInfo
- Publication number
- CN112749081A CN112749081A CN202010208360.6A CN202010208360A CN112749081A CN 112749081 A CN112749081 A CN 112749081A CN 202010208360 A CN202010208360 A CN 202010208360A CN 112749081 A CN112749081 A CN 112749081A
- Authority
- CN
- China
- Prior art keywords
- user interface
- control element
- information
- image
- case
- 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
Images
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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种用户界面测试方法及相关装置,属于用户界面测试技术领域。该方法可以包括:将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到所述用户界面图像的页面标识及多标签描述所述用户界面图像上控件元素的属性信息,所述界面识别模型是适配于所述受测试应用生成的多标签识别模型;根据所述页面标识及所述属性信息,获取所述用户界面图像的跳转逻辑信息;根据所述控件元素、所述页面标识及所述跳转逻辑信息为所述受测试应用生成用户界面测试用例,所述用户界面测试用例用于执行所述受测试应用的用户界面测试。本申请的实施例有效提升用户界面测试效率及可靠性。
Description
技术领域
本申请涉及用户界面测试技术领域,具体而言,涉及一种用户界面测试方法及相关装置。
背景技术
用户界面测试简称UI测试,用于测试用户界面的功能模块的布局是否合理,整体风格是否一致和各个控件的放置位置是否符合客户使用习惯等。通过用户界面测试可以确保用户界面向用户提供了适当的访问和浏览测试对象功能的操作。
目前,一些用户界面测试技术可以通过机器学习技术智能选择后续的测试用例执行测试,而用例生成需要较高人工成本;还有一些用户界面测试技术可以基于深度学习的用户界面自动化框架,但用户界面图像解析的可扩展性较低,不能够有效解析用户界面图像,也无法自动、准确生成测试用例。因此,现有技术中,存在不能够有效解析用户界面图像,无法自动、准确生成用户界面测试用例的缺陷,导致用户界面测试效率及可靠性较低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请实施例的目的在于提供一种用户界面测试方法及装置,其能够有效解析用户界面图像,自动、准确生成用户界面测试用例,进而有效提升用户界面测试效率及可靠性。
根据本申请的一个实施例,一种用户界面测试方法可以包括:将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到所述用户界面图像的页面标识及多标签描述所述用户界面图像上控件元素的属性信息,所述界面识别模型是适配于所述受测试应用生成的多标签识别模型;根据所述页面标识及所述属性信息,获取所述用户界面图像的跳转逻辑信息;根据所述控件元素、所述页面标识及所述跳转逻辑信息为所述受测试应用生成用户界面测试用例,所述用户界面测试用例用于执行所述受测试应用的用户界面测试。
根据本申请的另一实施例,一种用户界面测试装置可以包括:识别模块,用于将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到所述用户界面图像的页面标识及多标签描述所述用户界面图像上控件元素的属性信息,所述界面识别模型是适配于所述受测试应用生成的多标签识别模型;获取模块,用于根据所述页面标识及所述属性信息,获取所述用户界面图像的跳转逻辑信息;生成模块,用于根据所述控件元素、所述页面标识及所述跳转逻辑信息为所述受测试应用生成用户界面测试用例,所述用户界面测试用例用于执行所述受测试应用的用户界面测试。
在本申请的一些实施例中,所述识别模块被配置为:通过深度学习网络子模型对所述用户界面图像进行区域检测,得到所述用户界面图像上控件元素区域的位置信息;按照所述位置信息对所述控件元素区域进行文字识别和/或特征图像匹配,识别出所述控件元素区域所对应控件元素的名称信息及类型信息;通过对所述用户界面图像进行特征图像匹配,得到所匹配图像模板对应的页面标识;以所述图像模板所对应的页面标识作为所述用户界面图像的页面标识,所述控件元素区域的位置信息、所述控件元素区域所对应控件元素的名称信息及类型信息,作为所述控件元素的属性信息。
在本申请的一些实施例中,所述获取模块被配置为:根据所定义控件元素的名称信息与页面标识的映射关系,获取所述用户界面图像上控件元素的名称信息与页面标识之间的关联关系;根据所定义控件元素的数据字典中的跳转条件信息,确定所述用户界面图像上控件元素对应的跳转条件,所述跳转条件控制所述控件元素至所关联用户界面图像跳转的条件;根据所定义控件元素的类型信息与用户界面操作的映射关系,获取所述用户界面图像上控件元素的类型与用户界面操作的对应关系;将获取到的所述控件元素的名称信息与页面标识之间的关联关系、所述控件元素对应的跳转条件及所述控件元素的类型信息与用户界面操作的对应关系,确定为所述用户界面图像的跳转逻辑信息。
在本申请的一些实施例中,所述生成模块被配置为:根据所述控件元素的名称信息与页面标识之间的关联关系,确定所述用户界面图像上目标控件元素对应的目标页面标识,将所述目标页面标识对应的用户界面图像作为用户界面测试用例中用例操作的跳转目标;根据所述控件元素的类型信息与用户界面操作的对应关系,确定所述目标控件元素对应的目标用户界面操作,将所述目标用户界面操作作为用户界面测试用例的用例操作;根据所述用户界面图像上控件元素对应的跳转条件,确定所述目标控件元素对应的目标跳转条件,将所述目标跳转条件作为用户界面测试用例中的前置条件;以所述目标控件元素为用例操作对象,对确定出的所述目标控件元素对应的所述跳转目标、所述用例操作及所述前置条件生成所述用户界面测试用例。
在本申请的一些实施例中,还包括执行模块被配置为:根据所述属性信息确定所述用户界面测试用例的用例操作位置,所述用户界面测试用例根据所述用例操作位置操作用户界面完成用户界面测试。
在本申请的一些实施例中,所述执行模块被配置为:将所述属性信息中控件元素的位置信息,确定为所述用户界面测试用例中所述控件元素对应的用例操作对象的用例操作位置;通过将所述用户界面测试用例中的用例操作作用在对应用例操作对象的用例操作位置上,操作用户界面完成用户界面测试。
在本申请的一些实施例中,还包括负反馈模块被配置为:获取所述用户界面测试用例操作用户界面过程中的实时用户界面图像;将所述实时用户界面图像输入所述界面识别模型进行界面解析,得到所述实时用户界面图像的实时页面标识,以及多标签描述所述实时用户界面图像上的实时控件元素的属性信息;在所述用户界面测试用例的用例内容中进行所述实时页面标识及所述实时控件元素属性信息的比较,确定是否存在区别信息,所述区别信息用于指示所述用户界面测试用例的错误信息。
在本申请的一些实施例中,还包括更新模块被配置为:当确定存在区别信息时,利用实时图像信息替换所述区别信息对应的所述用例内容,得到更新后的用户界面测试用例,所述实时图像信息为所述区别信息对应的所述实时页面标识及所述实时控件元素的属性信息中的信息;利用所述更新后的用户界面测试用例,操作用户界面完成用户界面测试。
在本申请的一些实施例中,所述深度学习网络子模型为YOLO-V3网络模型。
根据本申请的另一实施例,一种用户界面测试终端可以包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行如上所述的方法。
根据本申请的另一实施例,一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的方法。
根据本申请的实施例,界面识别模型是适配于受测试应用生成的多标签识别模型,可以有效解析出受测试应用的用户界面图像上用户界面测试的必要信息,这些必要信息包括用户界面图像的页面标识及其上控件元素的多标签描述的属性信息,可以准确反映每个用户界面图像及其上控件元素的上下文关系,同时满足用户界面测试用例的用例要素内容;进而,可以根据页面标识及属性信息,获取用户界面图像的跳转逻辑信息,可以指示实际操作过程中用户界面图像之间的跳转逻辑,准确反映用户界面测试用例的测试逻辑;进而,可以根据控件元素、页面标识及跳转逻辑信息可以准确地自动生成用户界面测试用例,操作受测试应用的用户界面进行用户界面测试。有效提升用户界面测试效率及可靠性。
本申请的其他特征和优点将通过下面结合附图的详细描述变得显然,或部分地通过本申请的实践而习得。
应当理解,以上的一般描述和后文的详细描述仅是示例性和解释性的,并不旨在限制本申请。
附图说明
图1示出了可以应用本申请实施例的系统的示意图。
图2示出了根据本申请的一个实施例的用户界面测试方法的流程图。
图3示出了根据本申请的又一个实施例的用户界面测试方法的流程图。
图4示出了根据本申请的又一个实施例的用户界面测试方法的流程图。
图5示出了根据本申请的又一个实施例的用户界面测试方法的流程图。
图6示出了根据本申请实施例的一种应用场景下用户界面测试系统的架构示意图。
图7示出了一个实施例的用户界面测试的应用场景中用户界面解析的流程图。
图8示出了根据本申请的一个实施例的用户界面测试装置的框图。
图9示出了根据本申请的一个实施例的电子设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本申请实施例的系统100的示意图。
如图1所示,系统100可以包括终端设备101、网络102、终端设备103。终端设备101与终端设备103可以通过网络102进行通信。网络102可以是有线网络、无线网络等。
应该理解,图1中的终端设备、网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络。比如终端设备101可以是多个服务器组成的服务器集群或者多个终端组成的区块链网络等。
可以使用终端设备101通过网络102与终端设备103交互,以获取终端设备103上应用的用户界面图像。终端设备101可以为具有计算处理能力的各种设备,包括但不限于服务器、个人计算机、手机等。
在本申请的一个实施例中,终端设备101可以将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到用户界面图像的页面标识及多标签描述用户界面图像上控件元素的属性信息,该界面识别模型是适配于所述受测试应用生成的多标签识别模型;然后,根据页面标识及所述属性信息,获取用户界面图像的跳转逻辑信息;根据控件元素、页面标识及跳转逻辑信息为受测试应用生成用户界面测试用例,该用户界面测试用例用于执行受测试应用的用户界面测试。
图2示意性示出了根据本申请的一个实施例的用户界面测试方法的流程图。该用户界面测试方法的执行主体可以是具有计算处理功能的电子设备,比如图1中所示的终端设备101。如图2所示,该用户界面测试方法可以包括步骤S210至步骤S230。
步骤S210,将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到用户界面图像的页面标识及多标签描述用户界面图像上控件元素的属性信息,该界面识别模型是适配于受测试应用生成的多标签识别模型;
步骤S220,根据该页面标识及该属性信息,获取用户界面图像的跳转逻辑信息;
步骤S230,根据该控件元素、该页面标识及该跳转逻辑信息为受测试应用生成用户界面测试用例,用户界面测试用例用于执行受测试应用的用户界面测试。
下面描述用户界面测试时,所进行的各步骤的具体过程。
在步骤S210中,受测试应用(例如,移动端应用)的用户界面图像可以是应用的用户界面的屏幕截图。界面识别模型是预先训练好的适配于受测试应用生成的多标签识别模型,即可以对用户界面图像进行多类型信息标签(包括页面标识及控件元素的属性信息)的标定。其中,通过将标记了页面标识及控件元素的属性信息的用户界面图像样本作为输入,训练界面识别模型对用户界面图像样本标定标签,达到预定召回率要求,得到训练好的训练界面识别模型。
用户界面图像的页面标识可以是唯一标识用户界面的界面类型的标识。应用中的每一个用户界面图像可以具有唯一的页面标识,例如登录页面。
用户界面图像上控件元素可以是用户界面图像上返回按钮、展示的文字标签、列表等控件。控件元素的属性信息可以包括控件元素的名称(例如,账号)、类型(例如,文本框)、位置(例如,坐标)、数据字典(可以包含实际的账号、密码等数据,以及跳转后展示的页面等跳转条件)。
通过界面识别模型解析出用户界面图像上,在用户界面测试时可以准确反映每个用户界面图像及其上控件元素的上下文关系的必要信息,包括用户界面图像的页面标识及其上控件元素的属性信息,这些信息同时可以满足用户界面测试用例的用例要素内容。
一种实施例中,参考图3所示,步骤S210,将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到用户界面图像的页面标识及用户界面图像上控件元素的属性信息,包括:
步骤S2101,通过深度学习网络子模型对用户界面图像进行区域检测,得到用户界面图像上控件元素区域的位置信息;
步骤S2102,并按照位置信息对控件元素区域进行文字识别和/或特征图像匹配,识别出控件元素区域所对应控件元素的名称信息及类型信息;
步骤S2103,通过对用户界面图像进行特征图像匹配,得到所匹配图像模板对应的页面标识;
步骤S2104,以图像模板所对应的页面标识作为用户界面图像的页面标识,控件元素区域的位置信息、控件元素区域所对应控件元素的名称信息及类型信息,作为控件元素的属性信息。
通过训练好的深度学习网络子模型可以对用户界面图像进行区域检测,检测出用户界面图像上控件元素区域的位置信息。例如,可以检测出标记控件元素区域位置的选框在用户界面图像上的像素点位置信息或者坐标信息。该深度学习网络子模型通过将标记控件元素区域的位置信息的用户界面图像样本作为输入,训练该深度学习网络子模型在用户界面图像样本标记出符合精度要求的控件元素区域的位置信息,得到训练好的深度学习网络子模型。
一种示例中,通过深度学习网络子模型对用户界面图像进行检测时,用户界面图像尺寸统一大小(例如416*416大小),深度学习网络子模型输出可操作控件元素的区域和置信度,仅挑选置信度大于预定阈值(例如,0.5)的区域作为检测出的用户界面图像上控件元素区域,可以根据像素点位置确定每个控件元素区域对应的控件元素的坐标。
通过文字识别可以识别出含有文字的控件元素区域中的文字信息,例如,识别出“我要赛车”及“前往”等控件元素的名称信息。其中,文字识别的方法可以是现有的OCR文字识别。
通过特征图像匹配可以对控件元素区域进行特征图像匹配,得到匹配的控件元素图像模板,进而可以确定该控件元素图像模板对应的控件元素的名称、类型信息,作为控件元素区域对应的控件元素的名称、类型信息。其中,特征图像匹配的方法可以是基于ORB的特征图像匹配算法。
进而,通过对控件元素区域进行文字识别和/或进行特征图像匹配,综合两者的识别结果,可以准确、有效地识别出各控件元素区域所对应控件元素的名称信息及类型信息。
通过对用户界面图像进行特征图像匹配,可以得到与用户界面图像匹配的图像模板所对应的页面标识,作为用户界面图像的页面标识。
这样,通过深度学习网络子模型区域检测、文字识别及特征图像匹配进行用户界面图像的界面解析,能够对有文字及无文字的各类型界面实现有效解析,对于用户界面图像的解析具有良好的可扩展性,可以有效解析出各个用户界面图像的页面标识,用户界面图像上的控件元素的位置、名称及类型等关键信息。
一种实施例中,该深度学习网络子模型为YOLO-V3网络模型。
使用YOLO-V3网络检测用户界面图像的控件元素区域。相比于其他基于卷积神经网络的检测模型,YOLO-V3网络检测模型具有检测速度快和误报少的优点。可以保证用户界面图像解析的可靠性。
在步骤S220中,根据页面标识及属性信息,获取用户界面图像的跳转逻辑信息。
用户界面图像的跳转逻辑信息,即操作应用的用户界面图像进行跳转的操作逻辑。例如,点击A用户界面图像上的a控件,用户界面从A用户界面图像跳转至B用户界面图像时,A用户界面图像与B用户界面图像之间的跳转逻辑信息,可以包括:A用户界面图像上a控件元素的名称与B用户界面图像的页面标识之间的关联关系,a控件元素对应的跳转条件(例如,输入实际账号、密码,跳转到B用户界面图像),a控件元素的类型与点击操作的对应关系。
用户界面图像的页面标识,可以唯一确定一个用户界面图像的上下文关系。用户界面图像上控件元素的属性信息,可以唯一确定一个控件元素的上下文关系。因此,各用户界面图像可以根据页面标识及属性信息进行准确关联或者属性定义形成跳转逻辑信息,准确指示实际操作过程中用户界面图像之间的跳转逻辑。在后续步骤中可以根据该跳转逻辑信息准确的反映各种用户界面测试用例的测试逻辑。
一种实施例中,参考图4所示,步骤S220,根据页面标识及属性信息,获取所述用户界面图像的跳转逻辑信息,包括:
步骤S2201,根据所定义控件元素的名称信息与页面标识的映射关系,获取用户界面图像上控件元素的名称信息与页面标识之间的关联关系;
步骤S2202,根据所定义控件元素的数据字典中的跳转条件信息,确定用户界面图像上控件元素对应的跳转条件,该跳转条件控制控件元素至所关联用户界面图像跳转的条件;
步骤S2203,根据所定义控件元素的类型信息与用户界面操作的映射关系,获取用户界面图像上控件元素的类型信息与用户界面操作的对应关系;
步骤S2204,将获取到的控件元素的名称信息与页面标识之间的关联关系、控件元素对应的跳转条件及控件元素的类型信息与用户界面操作的对应关系,确定为用户界面图像的跳转逻辑信息。
所定义控件元素的名称与页面标识的映射关系可以是用户根据应用的用户界面实际操作情况实时定义的两者的映射关系表,也可以是预先定义好的两者的映射关系表。进而,可以根据该映射关系,获取到用户界面图像上识别得到的控件元素的名称信息与页面标识的关联关系,例如,用户界面图像上识别得到的登录按钮与游戏主页面的关联关系。该关联关系可以指示通过操作用户界面图像上的某个名称的控件元素,跳转到该某个名称的控件元素关联的用户界面图像的跳转关联逻辑。
所定义控件元素的数据字典可以是用户根据应用的用户界面实际操作情况所需的跳转条件实时定义的,也可以是预先定义好的。通过定义控件元素的数据字典中的跳转条件,可以控制控件元素至所关联用户界面图像跳转的条件。例如,数据字典中可以定义输入实际的账号及密码,并跳转到A用户界面图像,或者输入实际的游戏道具数量,并跳转到B用户界面图像等跳转条件。进而,可以通过控件元素对应的数据字典,确定用户界面图像上控件元素对应的跳转条件。
所定义控件元素的类型信息与用户界面操作的映射关系,可以是用户根据应用的用户界面实际操作情况实时定义的两者的映射关系表,也可以是预先定义好的两者的映射关系表。用户界面操作可以是UI自动化测试中常用的操作接口,比如:点击、左滑、右滑、上滑、下滑、等待、切后台、启动APP,杀死进程等;也可以是用户根据自己的业务场景自定义的操作,以满足特定场景的需要。其中,通过定义切后台、杀进程等异常操作,可以完善用户界面自动化测试中的异常场景,增强用户界面自动化发现问题的能力;特别地,可以包括自定义的异常操作,满足不同业务的需求。
进而,可以根据控件元素的类型与用户界面操作的映射关系,获取用户界面图像上识别到的控件元素的类型信息与用户界面操作的对应关系,例如,按钮对应点击,列表对应上下滑等对应关系。该对应关系可以指示一个用户界面图像上的某个类型的控件元素相应的操作逻辑信息。
通过获取用户界面图像上解析识别出的控件元素的名称信息与页面标识之间的关联关系、和/或识别出的控件元素对应的跳转条件,和/或识别出的控件元素的类型信息与用户界面操作的对应关系,可以全部覆盖用户界面图像的跳转操作逻辑,将获取到的这些用户界面图像上的控件元素逻辑信息确定为用户界面图像的跳转逻辑信息可以完全反映测试用例地测试逻辑。
一种实施例中,根据页面标识及属性信息,获取所述用户界面图像的跳转逻辑信息,包括:
接收Web页面上通过Web图形工具驱动,根据所述页面标识对应的页面模型的链接操作,生成的用户界面图像的跳转逻辑信息,所述页面模型中包括具有所述属性信息的标签的抽象控件元素。
APP中的每一个用户界面UI图像抽象为一个页面模型,有唯一的标识ID,例如,一个标识ID为登录页面的用户界面图像可以抽象为登录模型;页面模型中包括抽象控件元素,比如返回按钮、展示的文字标签、列表等。每一个控件元素可以包含名称、类型、位置、数据字典4中属性信息的标签,通过这4种标签我们就可以唯一的确定控件元素的上下文关系。
一种示例中,在Web页面上通过Web图形工具驱动,通过不同页面模型及抽象控件元素的链接操作,就可以定义控件元素的名称信息与不同页面标识的映射关系。也可以定义控件元素的数据字典中的跳转条件(可以定义数据字典中具体的账号、密码数据等跳转条件),确定跳转条件,也就是用户界面测试用例中的前置条件。也可以定义控件元素的类型信息与不同用户界面操作的接口的映射关系。进而可以根据上述定义,获取用户界面图像的跳转逻辑信息。
另一个中,在Web页面上通过Web图形工具驱动,通过不同页面模型及抽象控件元素的链接操作,就可以实时定义用户界面上识别出的控件元素的名称信息与不同页面标识的关联关系。也可以定义用户界面上识别出的控件元素的数据字典中的跳转条件(可以定义数据字典中具体的账号、密码数据等跳转条件),确定跳转条件,也就是用户界面测试用例中的前置条件。也可以定义用户界面上识别出的控件元素的类型信息与不同用户界面操作的对应关系。
Web图形工具是Web页面的图形工具,通过Web图形工具可以驱动Web页面中的界面模型、抽象控件元素及用例操作接口之间的链接,以及定义控件元素的数据字典,进行应用逻辑建模而不是编写测试脚本,这样通过Web图形工具驱动,可以低成本的定义应用的用户界面图像之间的跳转关系以及跳转条件,完善用户界面测试用例中的逻辑关系,达到更高的覆盖率。
在步骤S230中,根据控件元素、页面标识及跳转逻辑信息为受测试应用生成用户界面测试用例,该用户界面测试用例用于执行受测试应用的用户界面测试。
用户界面图像的页面标识及其上控件元素的属性信息,可以准确反映每个用户界面图像及其上控件元素的上下文关系,进而可以用来准确选定测试用例的用例要素,例如,某个用户界面图像的页面标识可以作为跳转目标,某个名称的控件元素可以确定为用例操作对象。
用户界面图像的跳转逻辑信息,可以指示实际操作应用过程中用户界面图像之间的跳转操作逻辑,准确反映用户界面测试用例的测试逻辑,即可以反映测试用例如何依照跳转操作逻辑操作用户界面图像之间的跳转。
进而,可以准确地自动生成用户界面测试用例,操作用户界面图像之间按照跳转逻辑进行跳转,进行用户界面自动化测试。有效提升用户界面测试效率及可靠性。
一种实施例中,参考图5所示,步骤S230中,根据控件元素、页面标识及跳转逻辑信息为受测试应用生成用户界面测试用例,包括:
步骤S2301,根据控件元素的名称信息与页面标识之间的关联关系,确定用户界面图像上目标控件元素对应的目标页面标识,将目标页面标识对应的用户界面图像作为用户界面测试用例中用例操作的跳转目标;
步骤S2302,根据控件元素的类型信息与用户界面操作的对应关系,确定目标控件元素对应的目标用户界面操作,将目标用户界面操作作为用户界面测试用例的用例操作;
步骤S2303,根据用户界面图像上控件元素对应的跳转条件,确定目标控件元素对应的目标跳转条件,将目标跳转条件作为用户界面测试用例中的前置条件;
步骤S2304,以目标控件元素为用例操作对象,对确定出的目标控件元素对应的跳转目标、用例操作及前置条件生成用户界面测试用例。
通过将用户界面图像上的一个控件元素或多个控件元素的组合确定为目标控件元素,作为用例操作对象。可以根据预先设定的控件元素的组合表确定目标控件元素。
进而根据可以反映测试用例测试逻辑的用户界面图像的跳转逻辑信息(控件元素的名称与目标页面标识之间的关联关系、和/或控件元素对应的跳转条件,和/或控件元素的类型与目标用户界面操作的对应关系),分别确定出用例操作对象对应的跳转目标,和/或用例操作,和/或前置条件,获取到完整的测试用例内容。可以自动、准确地依据测试用例内容生成大量的用户界面测试用例。
一个示例中,一个用户界面地应用的初始登录界面,该用户界面图像的页面标识为登录页面,可以选定登录页面里面的控件元素:账号(文本框,坐标XX),密码(文本框,坐标YY),登录(按钮,坐标MM)为目标控件元素(用例操作对象),对应于这三个控件元素的数据字典里可以分别包含:输入的实际账号、输入的实际密码以及跳转后展示XX页面的跳转条件。
可以根据登录与XX页面之间的关联关系,确定跳转目标为XX页面;将输入的实际账号、输入的实际密码以及跳转后展示XX页面的跳转条件确定为前置条件;根据文本框与输入操作的对应关系,确定用例操作对象账号和密码的用例操作为输入;根据按钮与点击操作的对应关系,确定用例操作对象登录的用例操作为点击。进而可以自动生成以下的UI自动化测试用例:在账号文本框输入实际账号->在密码文本框输入实际密码->点击登录->等待XX页面。
另一个示例中,对于登录页面的登录按钮选定为目标控件元素,可以根据登录与XX页面之间的关联关系,确定跳转目标为XX页面;根据按钮与点击操作的对应关系,确定用例操作对象登录的用例操作为点击。进而自动生成用户界面测试用例:点击XXXAPP->等待登录页面->点击登录按钮->等待XX页面。该测试用例可以操作登录页面对应的用户界面进行登录测试。
一种实施例中,用户界面测试方法还包括:
根据属性信息确定用户界面测试用例的用例操作位置,该用户界面测试用例根据该用例操作位置操作用户界面完成用户界面测试。
用户界面测试用例通过操作用户界面,执行测试。可以根据每个控件元素的属性信息中坐标信息或者像素点位置信息,确定用户界面测试用例中每个控件元素对应的用例操作对象的用例操作位置。实现通过基于图像像素点的操作,依据用例中的操作作用在用例操作位置中操作APP,进而完成用例的执行。这样实现基于图像像素点的操作,执行测试时对应用系统平台依赖低,可以有效解决跨平台执行用例较难的问题。
一个实施例中,还可以根据用户界面测试用例运行过程中的实时用户界面图像的解析,得到是实时控件元素的属性信息确定用户界面测试用例的用例操作位置。这样可以有效保证用例执行时用例操作位置的准确性。
一种实施例中,根据属性信息确定用户界面测试用例的用例操作位置,该用户界面测试用例根据该用例操作位置操作用户界面完成用户界面测试,包括:
将属性信息中控件元素的位置信息,确定为用户界面测试用例中控件元素对应的用例操作对象的用例操作位置;通过将用户界面测试用例中的用例操作作用在对应用例操作对象的用例操作位置上,操作用户界面完成用户界面测试。
一种实施例中,用户界面测试方法还包括:
获取用户界面测试用例操作用户界面过程中的实时用户界面图像;
将实时用户界面图像输入界面识别模型进行界面解析,得到实时用户界面图像的实时页面标识,以及多标签描述实时用户界面图像上的实时控件元素的属性信息;
在用户界面测试用例的用例内容中进行实时页面标识及实时控件元素属性信息的比较,确定是否存在区别信息,该区别信息用于指示用户界面测试用例的错误信息。
用户界面测试用例操作用户界面过程中的实时用户界面图像,可以包括用例操作开始、操作中及操作后的用户界面图像。
通过界面识别模型进行实时用户界面图像的界面解析,可以得到实时用户界面图像的实时页面标识以及实时用户界面图像上的实时控件元素的属性信息。这些实时信息与已生成的用户界面测试用例中的用例内容(用例操作对象、跳转目标等)可以相互比较,确定是否有不同的区别信息。
当存在区别信息说明已生成的用户界面测试用例中的用例内容出错,该区别信息可以指示用例出现错误,例如,跳转后得到的页面标识为Q页面,而用例中的跳转目标为W页面,则区别信息为跳转目标不同,说明已生成的用例出现错误。
一种实施例中,还包括:
当确定存在区别信息时,利用实时图像信息替换区别信息对应的用例内容,得到更新后的用户界面测试用例,实时图像信息为区别信息对应的实时页面标识及实时控件元素的属性信息中的信息;
利用更新后的用户界面测试用例,操作用户界面完成用户界面测试。
例如,跳转后得到的页面标识为Q页面,而用例中的跳转目标为W页面,则区别信息为跳转目标不同。此时区别信息对应的用例内容为跳转目标W页面,实时图像信息为实时页面标识Q页面。通过利用实时页面标识Q页面替换跳转目标W页面,可以得到更新后的测试用例。利用更新后的用户界面测试用例,操作用户界面完成用户界面测试。
图6示出了根据本申请实施例的一种应用场景下用户界面测试系统的架构示意图。
该应用场景下用户界面测试系统的架构包括前台和后台两部分。其中前台包括用例编写模块,用例自动生成模块,用例执行模块,设备管理模块,测试报告展示模块以及用户界面图像管理模块。后台包括深度学习网络子模型、OCR文字识别单元及特征图像匹配单元组成的界面识别模型,以及负反馈模块。
基于上述系统架构,可以在获取到用户界面图像后,上传到平台上,经过后台界面识别模型的解析,自动生成应用APP的模型图像,包括APP的页面模型以及页面模型中的抽象控件元素;然后通过用例自动生成模块,自动生成可以执行的用户界面测试用例;然后通过用例执行、设备管理等模块执行用例,在用例执行过程中也会解析实际的UI图像以反馈给测试人员UI是否有改动,用例执行完成后通过测试报告展示模块展示测试数据。
后台界面识别模型,可以标注出控件元素的类别、位置和名称等关键信息。具体地,参考图7所示,使用YOLO-V3深度学习网络子模型,对用户界面“UI图像”的控件元素区域进行“区域检测”。相比于其他基于卷积神经网络的检测模型,YOLO-V3具有检测速度快和误报少的优点。在区域检测时,用户界面图像尺寸统一为416*416大小,YOLO-V3深度学习网络子模型输出“检测结果(可操作控件元素的区域和置信度)”,仅挑选置信度大于0.5的区域作为后续需要识别的区域。然后通过第三方的OCR文字识别对控件元素区域进行“文字识别”,并通过基于ORB的特征图像匹配算法对控件元素区域进行“图标识别”。最后综合所有结果确定控件元素的属性信息(名称和位置等信息)。
用例编写模块可以提供Web图形工具驱动的UI自动化用例编写功能,可以接收Web页面上通过Web图形工具驱动,根据页面标识对应的页面模型的链接操作,生成的用户界面图像的跳转逻辑信息(可以通过元素和模型之间的联系确定UI图像之间的跳转关系,同时我可以定义元素的数据字典,确定跳转条件),页面模型中包括具有所述属性信息的标签的抽象控件元素。
用例自动生成模块根据控件元素、页面标识及跳转逻辑信息生成用户界面测试用例。
用例执行模块通过基于图像像素点操作,结合初始的用户界面图像识别和用例运行过程中的实时用户界面图像识别,可以得到用例中用例操作对象的准确坐标,依据用例中的操作,作用在坐标中操作APP,进而完成用例的执行。
测试报告展示模块提供测试结果数据的展示,包括用例的通过率、错误信息以及代码的覆盖率信息。
设备管理模块主要管理用户界面测试用例自动化执行所需要的移动设备,包括移动设备的状态监测:检测当前设备是否处在任务执行状态(如果是模拟器的话,可以通过是否启动的状态来判断;如果是真实的手机设备,在任务下发到特定空闲设备后,通过将该设备的状态设为执行态,任务结束后再次设置为空闲态来确定是否执行状态);已有设备识别:识别出当前进行测试的终端设备连接的设备编号,可以在用例执行模块中配置需要的设备编号,在需要的设备自动执行,降低人工成本。
图8示出了根据本申请的一个实施例的用户界面测试装置的框图。
如图8所示,用户界面测试装置300可以包括识别模块310、获取模块320及生成模块330。
识别模块310可以用于将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到所述用户界面图像的页面标识及多标签描述所述用户界面图像上控件元素的属性信息,所述界面识别模型是适配于所述受测试应用生成的多标签识别模型;获取模块320可以用于根据所述页面标识及所述属性信息,获取所述用户界面图像的跳转逻辑信息;生成模块330可以用于根据所述控件元素、所述页面标识及所述跳转逻辑信息为所述受测试应用生成用户界面测试用例,所述用户界面测试用例用于执行所述受测试应用的用户界面测试。
在本申请的一些实施例中,所述识别模块被配置为:通过深度学习网络子模型对所述用户界面图像进行区域检测,得到所述用户界面图像上控件元素区域的位置信息;按照所述位置信息对所述控件元素区域进行文字识别和/或特征图像匹配,识别出所述控件元素区域所对应控件元素的名称信息及类型信息;通过对所述用户界面图像进行特征图像匹配,得到所匹配图像模板对应的页面标识;以所述图像模板所对应的页面标识作为所述用户界面图像的页面标识,所述控件元素区域的位置信息、所述控件元素区域所对应控件元素的名称信息及类型信息,作为所述控件元素的属性信息。
在本申请的一些实施例中,所述获取模块被配置为:根据所定义控件元素的名称信息与页面标识的映射关系,获取所述用户界面图像上控件元素的名称信息与页面标识之间的关联关系;根据所定义控件元素的数据字典中的跳转条件信息,确定所述用户界面图像上控件元素对应的跳转条件,所述跳转条件控制所述控件元素至所关联用户界面图像跳转的条件;根据所定义控件元素的类型信息与用户界面操作的映射关系,获取所述用户界面图像上控件元素的类型与用户界面操作的对应关系;将获取到的所述控件元素的名称信息与页面标识之间的关联关系、所述控件元素对应的跳转条件及所述控件元素的类型信息与用户界面操作的对应关系,确定为所述用户界面图像的跳转逻辑信息。
在本申请的一些实施例中,所述生成模块被配置为:根据所述控件元素的名称信息与页面标识之间的关联关系,确定所述用户界面图像上目标控件元素对应的目标页面标识,将所述目标页面标识对应的用户界面图像作为用户界面测试用例中用例操作的跳转目标;根据所述控件元素的类型信息与用户界面操作的对应关系,确定所述目标控件元素对应的目标用户界面操作,将所述目标用户界面操作作为用户界面测试用例的用例操作;根据所述用户界面图像上控件元素对应的跳转条件,确定所述目标控件元素对应的目标跳转条件,将所述目标跳转条件作为用户界面测试用例中的前置条件;以所述目标控件元素为用例操作对象,对确定出的所述目标控件元素对应的所述跳转目标、所述用例操作及所述前置条件生成所述用户界面测试用例。
在本申请的一些实施例中,还包括执行模块被配置为:根据所述属性信息确定所述用户界面测试用例的用例操作位置,所述用户界面测试用例根据所述用例操作位置操作用户界面完成用户界面测试。
在本申请的一些实施例中,所述执行模块被配置为:将所述属性信息中控件元素的位置信息,确定为所述用户界面测试用例中所述控件元素对应的用例操作对象的用例操作位置;通过将所述用户界面测试用例中的用例操作作用在对应用例操作对象的用例操作位置上,操作用户界面完成用户界面测试。
在本申请的一些实施例中,还包括负反馈模块被配置为:获取所述用户界面测试用例操作用户界面过程中的实时用户界面图像;将所述实时用户界面图像输入所述界面识别模型进行界面解析,得到所述实时用户界面图像的实时页面标识,以及多标签描述所述实时用户界面图像上的实时控件元素的属性信息;在所述用户界面测试用例的用例内容中进行所述实时页面标识及所述实时控件元素属性信息的比较,确定是否存在区别信息,所述区别信息用于指示所述用户界面测试用例的错误信息。
在本申请的一些实施例中,还包括更新模块被配置为:当确定存在区别信息时,利用实时图像信息替换所述区别信息对应的所述用例内容,得到更新后的用户界面测试用例,所述实时图像信息为所述区别信息对应的所述实时页面标识及所述实时控件元素的属性信息中的信息;利用所述更新后的用户界面测试用例,操作用户界面完成用户界面测试。
在本申请的一些实施例中,所述深度学习网络子模型为YOLO-V3网络模型。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
图9示意性示出了根据本申请的一个实施例的电子设备的框图。
需要说明的是,图9示出的电子设备400仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分608加载到随机存取存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统操作所需的各种程序和数据。CPU401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN(局域网)卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本申请的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的实施例,而可以在不脱离其范围的情况下进行各种修改和改变。
Claims (10)
1.一种用户界面测试方法,其特征在于,包括:
将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到所述用户界面图像的页面标识及多标签描述所述用户界面图像上控件元素的属性信息,所述界面识别模型是适配于所述受测试应用生成的多标签识别模型;
根据所述页面标识及所述属性信息,获取所述用户界面图像的跳转逻辑信息;
根据所述控件元素、所述页面标识及所述跳转逻辑信息为所述受测试应用生成用户界面测试用例,所述用户界面测试用例用于执行所述受测试应用的用户界面测试。
2.根据权利要求1所述的方法,其特征在于,所述将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到所述用户界面图像的页面标识及所述用户界面图像上控件元素的属性信息,包括:
通过深度学习网络子模型对所述用户界面图像进行区域检测,得到所述用户界面图像上控件元素区域的位置信息;
按照所述位置信息对所述控件元素区域进行文字识别和/或特征图像匹配,识别出所述控件元素区域所对应控件元素的名称信息及类型信息;
通过对所述用户界面图像进行特征图像匹配,得到所匹配图像模板对应的页面标识;
以所述图像模板所对应的页面标识作为所述用户界面图像的页面标识,所述控件元素区域的位置信息、所述控件元素区域所对应控件元素的名称信息及类型信息,作为所述控件元素的属性信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述页面标识及所述属性信息,获取所述用户界面图像的跳转逻辑信息,包括:
根据所定义控件元素的名称信息与页面标识的映射关系,获取所述用户界面图像上控件元素的名称信息与页面标识之间的关联关系;
根据所定义控件元素的数据字典中的跳转条件信息,确定所述用户界面图像上控件元素对应的跳转条件,所述跳转条件控制所述控件元素至所关联用户界面图像跳转的条件;
根据所定义控件元素的类型信息与用户界面操作的映射关系,获取所述用户界面图像上控件元素的类型信息与用户界面操作的对应关系;
将获取到的所述控件元素的名称信息与页面标识之间的关联关系、所述控件元素对应的跳转条件及所述控件元素的类型信息与用户界面操作的对应关系,确定为所述用户界面图像的跳转逻辑信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述控件元素、所述页面标识及所述跳转逻辑信息为所述受测试应用生成用户界面测试用例,包括:
根据所述控件元素的名称信息与页面标识之间的关联关系,确定所述用户界面图像上目标控件元素对应的目标页面标识,将所述目标页面标识对应的用户界面图像作为用户界面测试用例中用例操作的跳转目标;
根据所述控件元素的类型信息与用户界面操作的对应关系,确定所述目标控件元素对应的目标用户界面操作,将所述目标用户界面操作作为用户界面测试用例的用例操作;
根据所述用户界面图像上控件元素对应的跳转条件,确定所述目标控件元素对应的目标跳转条件,将所述目标跳转条件作为用户界面测试用例中的前置条件;
以所述目标控件元素为用例操作对象,对确定出的所述目标控件元素对应的所述跳转目标、所述用例操作及所述前置条件生成所述用户界面测试用例。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述属性信息确定所述用户界面测试用例的用例操作位置,所述用户界面测试用例根据所述用例操作位置操作用户界面完成用户界面测试。
6.根据权利要求5所述的方法,其特征在于,所述根据所述属性信息确定所述用户界面测试用例的用例操作位置,所述用户界面测试用例根据所述用例操作位置操作用户界面完成用户界面测试,包括:
将所述属性信息中控件元素的位置信息,确定为所述用户界面测试用例中所述控件元素对应的用例操作对象的用例操作位置;
通过将所述用户界面测试用例中的用例操作作用在对应用例操作对象的用例操作位置上,操作用户界面完成用户界面测试。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取所述用户界面测试用例操作用户界面过程中的实时用户界面图像;
将所述实时用户界面图像输入所述界面识别模型进行界面解析,得到所述实时用户界面图像的实时页面标识,以及多标签描述所述实时用户界面图像上的实时控件元素的属性信息;
在所述用户界面测试用例的用例内容中进行所述实时页面标识及所述实时控件元素属性信息的比较,确定是否存在区别信息,所述区别信息用于指示所述用户界面测试用例的错误信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当确定存在区别信息时,利用实时图像信息替换所述区别信息对应的所述用例内容,得到更新后的用户界面测试用例,所述实时图像信息为所述区别信息对应的所述实时页面标识及所述实时控件元素的属性信息中的信息;
利用所述更新后的用户界面测试用例,操作用户界面完成用户界面测试。
9.根据权利要求2所述的方法,其特征在于,所述深度学习网络子模型为YOLO-V3网络模型。
10.一种用户界面测试装置,其特征在于,包括:
识别模块,用于将受测试应用的用户界面图像输入界面识别模型进行界面解析,得到所述用户界面图像的页面标识及多标签描述所述用户界面图像上控件元素的属性信息,所述界面识别模型是适配于所述受测试应用生成的多标签识别模型;
获取模块,用于根据所述页面标识及所述属性信息,获取所述用户界面图像的跳转逻辑信息;
生成模块,用于根据所述控件元素、所述页面标识及所述跳转逻辑信息为所述受测试应用生成用户界面测试用例,所述用户界面测试用例用于执行所述受测试应用的用户界面测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010208360.6A CN112749081B (zh) | 2020-03-23 | 2020-03-23 | 用户界面测试方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010208360.6A CN112749081B (zh) | 2020-03-23 | 2020-03-23 | 用户界面测试方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749081A true CN112749081A (zh) | 2021-05-04 |
CN112749081B CN112749081B (zh) | 2023-09-22 |
Family
ID=75645382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010208360.6A Active CN112749081B (zh) | 2020-03-23 | 2020-03-23 | 用户界面测试方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749081B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254338A (zh) * | 2021-05-25 | 2021-08-13 | 深圳前海微众银行股份有限公司 | 测试用例生成方法、装置及设备 |
CN113553046A (zh) * | 2021-07-23 | 2021-10-26 | 中信银行股份有限公司 | 一种界面元素选择定位的表示方法和装置 |
CN113617027A (zh) * | 2021-08-27 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 云游戏的处理方法、装置、设备以及介质 |
CN115455227A (zh) * | 2022-09-20 | 2022-12-09 | 上海弘玑信息技术有限公司 | 图形界面的元素搜索方法及电子设备、存储介质 |
CN116703908A (zh) * | 2023-08-04 | 2023-09-05 | 有方(合肥)医疗科技有限公司 | 成像系统的测试方法、装置及成像系统 |
CN117149339A (zh) * | 2023-10-27 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 基于人工智能的用户界面关系识别方法及相关装置 |
CN117971641A (zh) * | 2023-11-24 | 2024-05-03 | 北京东舟技术股份有限公司 | 应用界面的遍历测试方法及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309797A (zh) * | 2012-03-09 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 用户界面自动化测试方法及装置 |
CN108304324A (zh) * | 2018-01-22 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法、装置、设备及存储介质 |
CN109857668A (zh) * | 2019-02-03 | 2019-06-07 | 苏州市龙测智能科技有限公司 | Ui自动化功能测试方法、测试装置、测试设备及存储介质 |
CN109871316A (zh) * | 2019-01-10 | 2019-06-11 | 北京云测信息技术有限公司 | 一种控件识别方法和装置 |
CN110287111A (zh) * | 2019-06-21 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 一种用户界面的测试用例生成方法及装置 |
CN110413529A (zh) * | 2019-07-31 | 2019-11-05 | 中国工商银行股份有限公司 | 应用于电子设备的测试方法、装置、计算设备以及介质 |
-
2020
- 2020-03-23 CN CN202010208360.6A patent/CN112749081B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309797A (zh) * | 2012-03-09 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 用户界面自动化测试方法及装置 |
CN108304324A (zh) * | 2018-01-22 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法、装置、设备及存储介质 |
CN109871316A (zh) * | 2019-01-10 | 2019-06-11 | 北京云测信息技术有限公司 | 一种控件识别方法和装置 |
CN109857668A (zh) * | 2019-02-03 | 2019-06-07 | 苏州市龙测智能科技有限公司 | Ui自动化功能测试方法、测试装置、测试设备及存储介质 |
CN110287111A (zh) * | 2019-06-21 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 一种用户界面的测试用例生成方法及装置 |
CN110413529A (zh) * | 2019-07-31 | 2019-11-05 | 中国工商银行股份有限公司 | 应用于电子设备的测试方法、装置、计算设备以及介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254338A (zh) * | 2021-05-25 | 2021-08-13 | 深圳前海微众银行股份有限公司 | 测试用例生成方法、装置及设备 |
CN113553046A (zh) * | 2021-07-23 | 2021-10-26 | 中信银行股份有限公司 | 一种界面元素选择定位的表示方法和装置 |
CN113617027A (zh) * | 2021-08-27 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 云游戏的处理方法、装置、设备以及介质 |
CN113617027B (zh) * | 2021-08-27 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 云游戏的处理方法、装置、设备以及介质 |
CN115455227A (zh) * | 2022-09-20 | 2022-12-09 | 上海弘玑信息技术有限公司 | 图形界面的元素搜索方法及电子设备、存储介质 |
CN116703908A (zh) * | 2023-08-04 | 2023-09-05 | 有方(合肥)医疗科技有限公司 | 成像系统的测试方法、装置及成像系统 |
CN116703908B (zh) * | 2023-08-04 | 2023-10-24 | 有方(合肥)医疗科技有限公司 | 成像系统的测试方法、装置及成像系统 |
CN117149339A (zh) * | 2023-10-27 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 基于人工智能的用户界面关系识别方法及相关装置 |
CN117149339B (zh) * | 2023-10-27 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 基于人工智能的用户界面关系识别方法及相关装置 |
CN117971641A (zh) * | 2023-11-24 | 2024-05-03 | 北京东舟技术股份有限公司 | 应用界面的遍历测试方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112749081B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112749081B (zh) | 用户界面测试方法及相关装置 | |
CN109165249B (zh) | 数据处理模型构建方法、装置、服务器和用户端 | |
CN109871326B (zh) | 一种脚本录制的方法和装置 | |
CN107506300B (zh) | 一种用户界面测试方法、装置、服务器和存储介质 | |
CN110389896A (zh) | 代码自动化分析和测试方法、装置及计算机可读存储介质 | |
CN109388376B (zh) | 软件开发风险评估方法、装置、设备及可读存储介质 | |
CN111858371A (zh) | 软件测试方法、系统、存储介质及计算机设备 | |
CN110197004B (zh) | 基于移动终端的电路仿真方法、装置、计算机介质及设备 | |
CN112712121A (zh) | 一种基于深度神经网络的图像识别模型训练方法、装置及存储介质 | |
CN112633341A (zh) | 一种界面测试方法、装置、计算机设备和存储介质 | |
CN115455900A (zh) | 信号路径自动提取方法、系统、设备和存储介质 | |
CN111736951A (zh) | 自动驾驶的仿真方法、计算机设备、及存储介质 | |
CN110866205A (zh) | 用于存储信息的方法和装置 | |
CN117421217A (zh) | 一种软件功能自动测试方法、系统、终端及介质 | |
CN111475628A (zh) | 会话数据处理方法、装置、计算机设备和存储介质 | |
CN112905451A (zh) | 应用程序的自动化测试方法及装置 | |
CN112149828A (zh) | 基于深度学习框架的算子精度检测方法和装置 | |
CN111459774B (zh) | 一种应用程序的流量的获取方法、装置、设备及存储介质 | |
CN114265777B (zh) | 应用程序的测试方法、装置、电子设备及存储介质 | |
CN116167382A (zh) | 意图事件提取方法及装置、电子设备、存储介质 | |
CN115481025A (zh) | 自动化测试的脚本录制方法、装置、计算机设备及介质 | |
CN113190154A (zh) | 模型训练、词条分类方法、装置、设备、存储介质及程序 | |
CN111008140A (zh) | 一种跨平台的ui自动化测试方法及装置 | |
CN110968519A (zh) | 一种游戏测试方法、装置、服务器及存储介质 | |
CN117908863A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |