CN110990264A - Ui自动化测试的元素识别方法、装置、设备及存储介质 - Google Patents
Ui自动化测试的元素识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110990264A CN110990264A CN201911096856.2A CN201911096856A CN110990264A CN 110990264 A CN110990264 A CN 110990264A CN 201911096856 A CN201911096856 A CN 201911096856A CN 110990264 A CN110990264 A CN 110990264A
- Authority
- CN
- China
- Prior art keywords
- target element
- target
- xpath
- identification
- identifying
- 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 85
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种UI自动化测试的元素识别方法、装置、设备及存储介质,涉及用户界面测试技术领域。本发明实施例通过基于目标元素的id和/或name,生成目标元素的Xpath,根据目标元素的Xpath,识别目标元素,可以在UI自动化测试过程中实现对目标元素的识别。若根据目标元素的Xpath未识别到目标元素,则采用上下文边界匹配算法识别目标元素,可以有效提高UI自动化测试过程中的元素识别成功率。
Description
技术领域
本发明涉及用户界面测试技术领域,具体而言,涉及一种UI自动化测试的元素识别方法、装置、设备及存储介质。
背景技术
前端开发的用户界面(User Interface,UI)在交付之前需要进行测试,例如,可以通过UI自动化测试来核实用户与软件的交互,确保UI可以向用户提供适当的访问和浏览测试对象功能的操作。UI自动化测试中,需要准确定位识别出前端UI的元素。
目前,对前端UI的元素进行定位识别的方法一般为:基于可扩展标记语言路径语言(Extensible Markup LanguagePath Language,Xpath)进行目标元素的定位,识别出目标元素进行抓取。
Xpath一般采用随机身份标识(identity document,id)和名称(name)生成,而在金融领域中,大多Web UI在开发过程中都不会设置name,id是随机的,XPath一般是根据id生成的,采用随机的id生成Xpath对元素进行定位会导致每次回放测试脚本时,Xpath都会发生变化而出错,元素识别成功率低下。
发明内容
本发明提供一种UI自动化测试的元素识别方法、装置、设备及存储介质,可以有效提高UI自动化测试过程中的元素识别成功率。
第一方面,本发明实施例提供一种UI自动化测试的元素识别方法,该方法包括:
基于目标元素的身份标识id和/或名称name,生成目标元素的可扩展标记语言路径语言Xpath;
根据目标元素的Xpath,识别目标元素;
若根据目标元素的Xpath未识别到目标元素,则采用上下文边界匹配算法识别目标元素。
可选地,所述方法还包括:
若采用上下文边界匹配算法未识别到目标元素,则采用图像识别算法识别目标元素。
可选地,上述采用上下文边界匹配算法识别目标元素,包括:
确定目标元素所在的目标框中的第一个元素的文本为识别基准;
根据目标元素相对于识别基准的距离,识别目标元素。
可选地,上述确定目标元素所在的目标框中的第一个元素的文本为识别基准之前,所述方法还包括:
根据目标框的序号,生成目标框的Xpath。
相应地,上述根据目标元素相对于识别基准的距离,识别目标元素,包括:
根据目标元素相对于识别基准的距离、以及目标框的Xpath,识别目标元素。
可选地,上述基于目标元素的id和/或name,生成目标元素的Xpath之前,所述方法还包括:
基于目标元素所在的目标框所属的内联框架的id和/或name,生成内联框架的Xpath;
根据内联框架的Xpath,切换至对应的内联框架;
若切换成功,则基于目标元素的id和/或name,生成目标元素的Xpath。
可选地,所述方法还包括:
若切换失败,则基于内联框架的稀疏表达src字符串,生成内联框架的Xpath。
第二方面,本发明实施例提供一种UI自动化测试的元素识别装置,包括:第一生成模块,用于基于目标元素的身份标识id和/或名称name,生成目标元素的可扩展标记语言路径语言Xpath;第一识别模块,用于根据目标元素的Xpath,识别目标元素;第二识别模块,用于若第一识别模块根据目标元素的Xpath未识别到目标元素,则采用上下文边界匹配算法识别目标元素。
可选地,所述装置还包括:第三识别模块,用于若第二识别模块采用上下文边界匹配算法未识别到目标元素,则采用图像识别算法识别目标元素。
可选地,第二识别模块,具体用于确定目标元素所在的目标框中的第一个元素的文本为识别基准;根据目标元素相对于识别基准的距离,识别目标元素。
可选地,所述装置还包括:第二生成模块,用于在第二识别模块确定目标元素所在的目标框中的第一个元素的文本为识别基准之前,根据目标框的序号,生成目标框的Xpath。
相应地,第二识别模块具体用于根据目标元素相对于识别基准的距离、以及目标框的Xpath,识别目标元素。
可选地,所述装置还包括:第三生成模块和切换模块;在第一生成模块基于目标元素的id和/或name,生成目标元素的Xpath之前,第三生成模块用于基于目标元素所在的目标框所属的内联框架的id和/或name,生成内联框架的Xpath;切换模块用于根据内联框架的Xpath,切换至对应的内联框架;
相应地,第一生成模块,具体用于若切换模块切换成功,则基于目标元素的id和/或name,生成目标元素的Xpath。
可选地,所述装置还包括:第四生成模块,用于若切换模块切换失败,则基于内联框架的稀疏表达src字符串,生成内联框架的Xpath。
第三方面,本发明实施例提供一种UI自动化测试的元素识别设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当UI自动化测试的元素识别设备运行时,所述处理器与所述存储介质之间通过所述总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述的UI自动化测试的元素识别方法。
第四方面,本发明实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述的UI自动化测试的元素识别方法。
本发明的有益效果是:
本发明实施例提供的UI自动化测试的元素识别方法、装置、设备及存储介质中,通过基于目标元素的id和/或name,生成目标元素的Xpath,根据目标元素的Xpath,识别目标元素,可以在UI自动化测试过程中实现对目标元素的识别。若根据目标元素的Xpath未识别到目标元素,则采用上下文边界匹配算法识别目标元素,可以有效提高UI自动化测试过程中的元素识别成功率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的UI自动化测试的元素识别方法的流程示意图;
图2示出了本发明实施例提供的上下文边界匹配算法的流程示意图;
图3示出了本发明实施例提供的UI自动化测试的元素识别方法的另一流程示意图;
图4示出了本发明实施例提供的UI自动化测试的元素识别方法的又一流程示意图;
图5示出了本发明实施例提供的UI自动化测试的元素识别方法的又一流程示意图;
图6示出了本发明实施例提供的UI自动化测试的元素识别方法的又一流程示意图;
图7示出了本发明实施例提供的UI自动化测试的元素识别装置的结构示意图;
图8示出了本发明实施例提供的UI自动化测试的元素识别装置的另一结构示意图;
图9示出了本发明实施例提供的UI自动化测试的元素识别装置的又一结构示意图;
图10示出了本发明实施例提供的UI自动化测试的元素识别装置的又一结构示意图;
图11示出了本发明实施例提供的UI自动化测试的元素识别装置的又一结构示意图;
图12示出了本发明实施例提供的UI自动化测试的元素识别设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,还需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本发明实施例提供一种UI自动化测试的元素识别方法,该方法的执行主体可以是手机、服务器、电脑等可以安装有待测试软件、可以为用户提供UI界面的终端设备,或者,也可以是其他可以与手机、电脑等连接,专门用于进行UI测试的电子设备,本发明对此不作限制。通过该UI自动化测试的元素识别方法可以在UI自动化测试过程中,对用户在UI界面输入、操作(如:点击、长按、拖动等)的目标元素进行识别,以准确抓取到前端UI的目标元素,进而为成功实现UI自动化测试提供保障。
图1示出了本发明实施例提供的UI自动化测试的元素识别方法的流程示意图。
如图1所示,该UI自动化测试的元素识别方法可以包括:
S101、基于目标元素的身份标识id和/或名称name,生成目标元素的可扩展标记语言路径语言Xpath。
其中,目标元素可以是指用户操作的UI元素,如:网页界面中的网页元素、应用程序界面中的Web元素等;用户操作可以是指鼠标操作或操控操作。例如,目标元素可以包括:用户界面上的按钮、图片、文字框图、动画等。
Xpath是可以用于确定XML文档中某部分位置的语言,XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力,在UI自动化测试中可以被优先使用来定位元素。
以某个网页界面中的目标元素为“搜索框”为例,“搜索框”的属性可以包括:id和/或name,其中,id和name均可以作为唯一属性值表征“搜索框”。例如,id可以为“kw”,name可以为“wd”。则,可以根据前述“搜索框”的id和/或name生成其对应的Xpath。
Xpath的生成过程可以为“find_element_by_xpath()”,其中,()中可以为目标元素的id和/或name。
S102、根据目标元素的Xpath,识别目标元素。
如上所述,在生成目标元素的Xpath后,可以基于目标元素的Xpath对目标元素进行识别。例如,可以确定目标元素的具体位置,可以获取目标元素的进程名和/或类别名以确定目标元素的类型等。
S103、若根据目标元素的Xpath未识别到目标元素,则采用上下文边界匹配算法识别目标元素。
可选地,上下文边界匹配算法可以是指:在识别目标框中的目标元素时,可以将目标框作为标准空间,用目标框中的某个元素的文本作为识别基准,然后,基于该识别基准,确定目标元素相对于该识别基准的距离,从而实现对目标元素的定位识别。
在上述过程中,当根据目标元素的Xpath无法识别到目标元素时,采用上下文边界匹配算法对目标元素进行识别,可以避免目标元素的属性中没有name、或id随机所造成的Xpath出错而无法成功识别目标元素的问题,能够进一步保证UI自动化测试过程中的元素识别成功率。
图2示出了本发明实施例提供的上下文边界匹配算法的流程示意图。
可选地,如图2所示,上述采用上下文边界匹配算法识别目标元素,可以包括:
S201、确定目标元素所在的目标框中的第一个元素的文本为识别基准。
S202、根据目标元素相对于识别基准的距离,识别目标元素。
以某个UI界面中的下拉框为例,在识别下拉框中的目标元素时,可以将下拉框作为一个标准空间,并确定下拉框中第一个元素的文本作为识别基准。然后,可以记录用户点击的元素(即目标元素)相对于第一个元素的文本的整数距离(距离可以以1作为单位距离),从而可以根据目标元素与第一个元素的文本之间的整数距离对目标元素进行定位识别。
由上所述,本发明实施例通过基于目标元素的id和/或name,生成目标元素的Xpath,根据目标元素的Xpath,识别目标元素,可以在UI自动化测试过程中实现对目标元素的识别。若根据目标元素的Xpath未识别到目标元素,则采用上下文边界匹配算法识别目标元素,可以有效提高UI自动化测试过程中的元素识别成功率。
可选地,上述确定目标元素所在的目标框中的第一个元素的文本为识别基准之前,所述方法还可以包括:根据目标框的序号,生成目标框的Xpath。
相应地,上述根据目标元素相对于识别基准的距离,识别目标元素,可以包括:根据目标元素相对于识别基准的距离、以及目标框的Xpath,识别目标元素。
如上所述,先根据目标框的序号,生成目标框的Xpath。然后,根据目标元素相对于识别基准的距离、以及目标框的Xpath,对目标元素进行定位识别,可以使得多个下拉框具有与目标元素相同的元素时,目标框的Xpath可以避免多个下拉框中与目标元素相同的元素对目标元素的识别造成干扰,从而仍然可以实现对目标元素的准确识别,进一步提高了元素识别的成功率。
图3示出了本发明实施例提供的UI自动化测试的元素识别方法的另一流程示意图。
可选地,如图3所示,该UI自动化测试的元素识别方法还可以包括:
S301、若采用上下文边界匹配算法未识别到目标元素,则采用图像识别算法识别目标元素。
其中,图像识别算法可以是指获取目标元素在UI界面中对应的图像数据,通过对目标元素对应的图像数据进行分析,从而确定目标元素的具体类型,实现对目标元素的识别。
例如,对于任一UI界面而言,可以预先将该UI界面中各元素对应的图片、以及各图片对应的元素的具体类型进行存储,如可以建立各元素对应的图片和具体类型之间的映射关系存储于数据库中。在进行UI自动化测试时,可以通过录制用户的操作过程视频,在所述视频中截取用户操作的UI界面的图片以及所述UI界面的图片中包含的目标元素(用户进行操作的元素)的图片。根据所截取的用户操作的UI界面的图片可以确定得到目标UI界面,然后,可以从数据库中调取目标UI界面对应的各元素对应的图片和具体类型之间的映射关系,并通过对目标元素的图片和该映射关系进行比较,即可确定得到目标元素的对应的具体类型,从而实现对目标元素的识别。
本发明实施例中,当采用上下文边界匹配算法仍然未识别到目标元素时,采用图像识别算法对目标元素进行识别,可以进一步保证UI自动化测试过程中元素识别的准确性,从而更进一步地提高元素识别的成功率。
图4示出了本发明实施例提供的UI自动化测试的元素识别方法的又一流程示意图。
可选地,如图4所示,上述基于目标元素的id和/或name,生成目标元素的Xpath之前,所述方法还包括:
S401、基于目标元素所在的目标框所属的内联框架的id和/或name,生成内联框架的Xpath。
S402、根据内联框架的Xpath,切换至对应的内联框架。
S403、若切换成功,则基于目标元素的id和/或name,生成目标元素的Xpath。
图5示出了本发明实施例提供的UI自动化测试的元素识别方法的又一流程示意图。
可选地,如图5所示,所述方法还包括:
S501、若切换失败,则基于内联框架的稀疏表达src字符串,生成内联框架的Xpath。
以iframe(HTML标签)切换为例,首先可以用id和/或name,生成iframe的Xpath,并进行iframe切换。若切换成功,则可以基于目标元素的id和/或name,生成目标元素的Xpath,以进行后续的目标元素的识别。若切换失败,则可以使用稀疏表达(sparserepresentation-based classifier,src)字符串生成Xpath,由于每个iframe都有src这种属性,而且几乎不会重复,所以,基于src字符串生成Xpath可以保证iframe切换成功。
本申请实施例通过将id和/或name属性、以及src属性进行结合,生成Xpath以实现iframe的切换,几乎可以解决所有的iframe切换问题。
为使得本申请前述实施例中所述的UI自动化测试的元素识别方法,所描述的技术方案呈现的更加清楚和完整,本申请通过下述一种可选的实施例对其进行说明:
图6示出了本发明实施例提供的UI自动化测试的元素识别方法的又一流程示意图。如图6所示,本实施例中,UI自动化测试的元素识别方法可以包括:
S610、基于目标元素所在的目标框所属的内联框架的id和/或name,生成内联框架的Xpath。
S620、根据内联框架的Xpath,切换至对应的内联框架。
S630、判断是否切换成功。
若切换成功,则执行步骤S640;否则,先依次执行步骤S631、S632,再执行步骤S640。
S631、基于内联框架的稀疏表达src字符串,生成内联框架的Xpath。
S632、根据内联框架的Xpath,切换至对应的内联框架。
S640、基于目标元素的id和/或name,生成目标元素的Xpath。
S650、根据目标元素的Xpath,识别目标元素。
S660、判断是否识别成功。
若识别成功,则结束;未识别成功,则依次执行步骤S670、S680。
S670、采用上下文边界匹配算法识别目标元素。
S680、判断是否识别成功。
若识别成功,则结束;未识别成功,则执行步骤S690。
S690、采用图像识别算法识别目标元素。
本实施例提供的UI自动化测试的元素识别方法具有与前述任一实施例中所述的全部有益效果,本发明在此不再赘述。
基于前述方法实施例中所述的UI自动化测试的元素识别方法,本发明实施例还对应提供一种UI自动化测试的元素识别装置,图7示出了本发明实施例提供的UI自动化测试的元素识别装置的结构示意图。
如图7所示,该UI自动化测试的元素识别装置可以包括:第一生成模块11、第一识别模块12和第二识别模块13。第一生成模块11可以用于基于目标元素的身份标识id和/或名称name,生成目标元素的可扩展标记语言路径语言Xpath;第一识别模块12可以用于根据目标元素的Xpath,识别目标元素;第二识别模块13可以用于若第一识别模块12根据目标元素的Xpath未识别到目标元素,则采用上下文边界匹配算法识别目标元素。
图8示出了本发明实施例提供的UI自动化测试的元素识别装置的另一结构示意图。
可选地,如图8所示,该UI自动化测试的元素识别装置还可以包括:第三识别模块14。第三识别模块14可以用于若第二识别模块13采用上下文边界匹配算法未识别到目标元素,则采用图像识别算法识别目标元素。
可选地,第二识别模块13具体可以用于确定目标元素所在的目标框中的第一个元素的文本为识别基准;根据目标元素相对于识别基准的距离,识别目标元素。
图9示出了本发明实施例提供的UI自动化测试的元素识别装置的又一结构示意图。
可选地,如图9所示,该UI自动化测试的元素识别装置还可以包括:第二生成模块15。第二生成模块15可以用于在第二识别模块13确定目标元素所在的目标框中的第一个元素的文本为识别基准之前,根据目标框的序号,生成目标框的Xpath。
相应地,第二识别模块13具体可以用于根据目标元素相对于识别基准的距离、以及目标框的Xpath,识别目标元素。
图10示出了本发明实施例提供的UI自动化测试的元素识别装置的又一结构示意图。
可选地,如图10所示,该UI自动化测试的元素识别装置还可以包括:第三生成模块16和切换模块17。在第一生成模块11基于目标元素的id和/或name,生成目标元素的Xpath之前,第三生成模块16可以用于基于目标元素所在的目标框所属的内联框架的id和/或name,生成内联框架的Xpath;切换模块17可以用于根据内联框架的Xpath,切换至对应的内联框架。
相应地,第一生成模块11具体可以用于若切换模块17切换成功,则基于目标元素的id和/或name,生成目标元素的Xpath。
图11示出了本发明实施例提供的UI自动化测试的元素识别装置的又一结构示意图。
可选地,如图11所示,该UI自动化测试的元素识别装置还可以包括:第四生成模块18。第四生成模块18可以用于若切换模块17切换失败,则基于内联框架的稀疏表达src字符串,生成内联框架的Xpath。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中方法的对应过程,本发明中不再赘述。
本发明实施例提供的UI自动化测试的元素识别装置,对应于前述方法实施例中所述的UI自动化测试的元素识别方法,具有与前述实施例中所述的UI自动化测试的元素识别方法具备的全部有益效果,在此亦不再赘述。
本发明实施例还提供一种UI自动化测试的元素识别设备,该设备可以是手机、服务器、电脑等可以安装有待测试软件的终端设备,其中,待测试软件可以为用户提供UI界面,或者,也可以是其他可以与手机、电脑等待测试终端连接,专门用于进行UI测试的电子设备,本发明对此不作限制。
图12示出了本发明实施例提供的UI自动化测试的元素识别设备的结构示意图。
如图12所示,该UI自动化测试的元素识别设备可以包括:处理器21、存储介质22和总线(图中未标出),存储介质22存储有处理器21可执行的机器可读指令,当UI自动化测试的元素识别设备运行时,处理器21与存储介质22之间通过总线通信,处理器21执行机器可读指令,以执行如前述方法实施例中所述的UI自动化测试的元素识别方法。具体实现方式和技术效果类似,在此不再赘述。
为了便于说明,在上述UI自动化测试的元素识别设备中仅描述了一个处理器。然而,应当注意,本发明中的UI自动化测试的元素识别设备还可以包括多个处理器,因此本发明中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若UI自动化测试的元素识别设备的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B等。
在一些实施例中,处理器可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用指令集处理器(Application Specific Instruction-set Processor,ASIP)、图形处理单元(Graphics Processing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field ProgrammableGate Array,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(Reduced Instruction Set Computing,RISC)、或微处理器等,或其任意组合。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行如前述方法实施例中所述的UI自动化测试的元素识别方法。具体实现方式和技术效果类似,在此同样不再赘述。
可选地,该存储介质可以是U盘、移动硬盘、ROM、RAM、磁碟或者光盘等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用户界面UI自动化测试的元素识别方法,其特征在于,所述方法包括:
基于目标元素的身份标识id和/或名称name,生成所述目标元素的可扩展标记语言路径语言Xpath;
根据所述目标元素的Xpath,识别所述目标元素;
若根据所述目标元素的Xpath未识别到所述目标元素,则采用上下文边界匹配算法识别所述目标元素。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若采用上下文边界匹配算法未识别到所述目标元素,则采用图像识别算法识别所述目标元素。
3.根据权利要求1所述的方法,其特征在于,所述采用上下文边界匹配算法识别所述目标元素,包括:
确定所述目标元素所在的目标框中的第一个元素的文本为识别基准;
根据所述目标元素相对于所述识别基准的距离,识别所述目标元素。
4.根据权利要求3所述的方法,其特征在于,所述确定所述目标元素所在的目标框中的第一个元素的文本为识别基准之前,所述方法还包括:
根据所述目标框的序号,生成所述目标框的Xpath;
相应地,所述根据所述目标元素相对于所述识别基准的距离,识别所述目标元素,包括:
根据所述目标元素相对于所述识别基准的距离、以及所述目标框的Xpath,识别所述目标元素。
5.根据权利要求1所述的方法,其特征在于,所述基于目标元素的id和/或name,生成所述目标元素的Xpath之前,所述方法还包括:
基于所述目标元素所在的目标框所属的内联框架的id和/或name,生成所述内联框架的Xpath;
根据所述内联框架的Xpath,切换至对应的所述内联框架;
若切换成功,则基于目标元素的id和/或name,生成所述目标元素的Xpath。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若切换失败,则基于所述内联框架的稀疏表达src字符串,生成所述内联框架的Xpath。
7.一种UI自动化测试的元素识别装置,其特征在于,所述装置包括:
第一生成模块,用于基于目标元素的身份标识id和/或名称name,生成所述目标元素的可扩展标记语言路径语言Xpath;
第一识别模块,用于根据所述目标元素的Xpath,识别所述目标元素;
第二识别模块,用于若所述第一识别模块根据所述目标元素的Xpath未识别到所述目标元素,则采用上下文边界匹配算法识别所述目标元素。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三识别模块,用于若所述第二识别模块采用上下文边界匹配算法未识别到所述目标元素,则采用图像识别算法识别所述目标元素。
9.一种UI自动化测试的元素识别设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述元素识别设备运行时,所述处理器与所述存储介质之间通过所述总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-6任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911096856.2A CN110990264A (zh) | 2019-11-11 | 2019-11-11 | Ui自动化测试的元素识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911096856.2A CN110990264A (zh) | 2019-11-11 | 2019-11-11 | Ui自动化测试的元素识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110990264A true CN110990264A (zh) | 2020-04-10 |
Family
ID=70083799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911096856.2A Pending CN110990264A (zh) | 2019-11-11 | 2019-11-11 | Ui自动化测试的元素识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990264A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094625A (zh) * | 2021-05-10 | 2021-07-09 | 北京京东振世信息技术有限公司 | 页面元素定位方法、装置、电子设备及存储介质 |
CN113220488A (zh) * | 2021-05-28 | 2021-08-06 | 中国银行股份有限公司 | 基于移动终端的记录单粘贴方法及装置 |
CN113791974A (zh) * | 2021-08-25 | 2021-12-14 | 微梦创科网络科技(中国)有限公司 | 一种用户界面ui元素显式等待方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095067A (zh) * | 2014-05-21 | 2015-11-25 | 北京奇虎科技有限公司 | 用户界面元素对象识别及自动化测试的方法和装置 |
US20150378876A1 (en) * | 2014-06-25 | 2015-12-31 | Vmware, Inc. | Visual graphical user interface verification |
CN107845113A (zh) * | 2017-10-20 | 2018-03-27 | 广州阿里巴巴文学信息技术有限公司 | 目标元素定位方法、装置以及用户界面测试方法、装置 |
CN109408367A (zh) * | 2018-09-03 | 2019-03-01 | 深圳壹账通智能科技有限公司 | 一种识别交互界面的控件元素的方法及终端 |
CN110297752A (zh) * | 2018-03-23 | 2019-10-01 | 华为软件技术有限公司 | 控件元素的获取方法及装置、自动化测试系统、存储介质 |
CN110297758A (zh) * | 2019-05-20 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN110399291A (zh) * | 2019-06-20 | 2019-11-01 | 平安普惠企业管理有限公司 | 基于图像识别的用户页面测试方法及相关设备 |
-
2019
- 2019-11-11 CN CN201911096856.2A patent/CN110990264A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095067A (zh) * | 2014-05-21 | 2015-11-25 | 北京奇虎科技有限公司 | 用户界面元素对象识别及自动化测试的方法和装置 |
US20150378876A1 (en) * | 2014-06-25 | 2015-12-31 | Vmware, Inc. | Visual graphical user interface verification |
CN107845113A (zh) * | 2017-10-20 | 2018-03-27 | 广州阿里巴巴文学信息技术有限公司 | 目标元素定位方法、装置以及用户界面测试方法、装置 |
CN110297752A (zh) * | 2018-03-23 | 2019-10-01 | 华为软件技术有限公司 | 控件元素的获取方法及装置、自动化测试系统、存储介质 |
CN109408367A (zh) * | 2018-09-03 | 2019-03-01 | 深圳壹账通智能科技有限公司 | 一种识别交互界面的控件元素的方法及终端 |
CN110297758A (zh) * | 2019-05-20 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN110399291A (zh) * | 2019-06-20 | 2019-11-01 | 平安普惠企业管理有限公司 | 基于图像识别的用户页面测试方法及相关设备 |
Non-Patent Citations (2)
Title |
---|
TESTERTECHNOLOGY: "selenium自动化测试xpath定位详解", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/81312687》 * |
全栈测试开发日记: "selenuim定位iframe框架内元素", 《HTTPS://BLOG.CSDN.NET/LIUDINGLONG1989/ARTICLE/DETAILS/90477799》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094625A (zh) * | 2021-05-10 | 2021-07-09 | 北京京东振世信息技术有限公司 | 页面元素定位方法、装置、电子设备及存储介质 |
CN113094625B (zh) * | 2021-05-10 | 2023-09-05 | 北京京东振世信息技术有限公司 | 页面元素定位方法、装置、电子设备及存储介质 |
CN113220488A (zh) * | 2021-05-28 | 2021-08-06 | 中国银行股份有限公司 | 基于移动终端的记录单粘贴方法及装置 |
CN113791974A (zh) * | 2021-08-25 | 2021-12-14 | 微梦创科网络科技(中国)有限公司 | 一种用户界面ui元素显式等待方法和装置 |
CN113791974B (zh) * | 2021-08-25 | 2024-05-17 | 微梦创科网络科技(中国)有限公司 | 一种用户界面ui元素显式等待方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713149B2 (en) | Processing automation scripts of software | |
US11822919B2 (en) | Auto-generation of API documentation via implementation-neutral analysis of API traffic | |
US8719791B1 (en) | Display of aggregated stack traces in a source code viewer | |
CA3018196C (en) | Visual regresssion testing tool | |
US9015666B2 (en) | Updating product documentation using automated test scripts | |
US10713437B2 (en) | Method and apparatus for identifying questionable line break characters in an application | |
CN110990264A (zh) | Ui自动化测试的元素识别方法、装置、设备及存储介质 | |
US9189462B2 (en) | Bidirectional text checker | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
US9195653B2 (en) | Identification of in-context resources that are not fully localized | |
US20160171104A1 (en) | Detecting multistep operations when interacting with web applications | |
WO2019211830A1 (en) | Method and apparatus for automatic testing of web pages | |
US8751508B1 (en) | Contextual indexing of applications | |
CN112988578A (zh) | 一种自动化测试方法和装置 | |
US10339032B2 (en) | System for monitoring and reporting performance and correctness issues across design, compile and runtime | |
CN115292187A (zh) | 无编码的页面自动测试方法、装置、电子设备和介质 | |
CN106202319B (zh) | 一种异常url验证方法及系统 | |
US11960560B1 (en) | Methods for analyzing recurring accessibility issues with dynamic web site behavior and devices thereof | |
CN113485688B (zh) | 代码补全方法、装置、存储介质与电子设备 | |
CN114625667A (zh) | 页面测试方法、装置、设备、存储介质和程序产品 | |
CN114817007A (zh) | 信息处理方法及装置、电子设备和计算机可读存储介质 | |
JP2013061893A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
CN117435464A (zh) | 软件测试方法及装置、电子设备和计算机可读存储介质 | |
CN116894004A (zh) | 信息展示方法及装置、电子设备和计算机可读存储介质 | |
JP2024003945A (ja) | プログラム修正装置、プログラム修正方法、及びプログラム修正プログラム |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220914 Address after: 12 / F, 15 / F, 99 Yincheng Road, Pudong New Area pilot Free Trade Zone, Shanghai, 200120 Applicant after: Jianxin Financial Science and Technology Co.,Ltd. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200410 |