CN115827125A - 界面控件测试方法和设备 - Google Patents
界面控件测试方法和设备 Download PDFInfo
- Publication number
- CN115827125A CN115827125A CN202211390128.4A CN202211390128A CN115827125A CN 115827125 A CN115827125 A CN 115827125A CN 202211390128 A CN202211390128 A CN 202211390128A CN 115827125 A CN115827125 A CN 115827125A
- Authority
- CN
- China
- Prior art keywords
- control
- tested
- characters
- interface
- coordinates
- 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
Images
Classifications
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种界面控测试方法和设备。方法包括:获取待测界面的待测试控件的字符和操作类型;基于待测试控件的字符在待测界面的关联库中进行查找,若查找到与待测试控件的字符相匹配的目标控件的字符,则获得待测试控件的坐标,关联库中包括待测界面中控件的字符与坐标的关联关系,待测试控件与目标控件的坐标相同;若未查找到与待测试控件的字符相匹配的目标控件的字符,则基于待测试控件的字符对待测界面进行字符识别,得到待测试控件的坐标;基于待测试控件的坐标和操作类型,在待测界面中执行测试操作得到第一操作结果。通过字符替换图片实现界面控件测试,降低控件样式的影响;基于字符识别界面控件的坐标,可以提高识别速度。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种界面控件测试方法和设备。
背景技术
目前需要绘图式窗体工具开发应用程序,比如基于JAVA Swing开发的工具开发应用程序,内部的控件不存在一个用于标记对象或项目的唯一标识符,即句柄(操作系统内部某个对象或数据结构的唯一标识)属性。由于缺少句柄,这类应用程序无法通过调用Windows API获取或生成窗口句柄,从而实现对某一个控件发送消息事件的功能,因此,在做GUI(图形用户界面,Graphical User Interface)界面测试时,难以保证操作精确度。
目前,对应用程序的每一个操作步骤抽象出来,提前在测试执行机中打开应用程序,截图录制图片场景库;之后,在自动化测试时通过对比目标操作对应的图片和当前界面的实时截图,返回匹配成功的区域坐标后,根据坐标实现对应用程序内部控件的识别和点击。
但是上述方案在图片对比过程需要100%匹配,容易受到分辨率、控件背景的影响。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本申请实施例提供了一种界面控件测试方法和设备,通过字符识别界面控件的坐标,可以提高识别速度。
第一方面,本申请实施例提供了一种界面控件测试方法,包括:获取待测界面的待测试控件的字符和操作类型;基于待测试控件的字符,在待测界面的关联库中进行查找,若从关联库中查找到与待测试控件的字符相匹配的目标控件的字符,则获得待测试控件的坐标,关联库中包括待测界面中控件的字符与坐标的关联关系,待测试控件的坐标与目标控件的坐标相同;若从关联库中未查找到与待测试控件的字符相匹配的目标控件的字符,则基于待测试控件的字符对待测界面进行字符识别,得到待测试控件的坐标;基于待测试控件的坐标和待测试控件的操作类型,在待测界面中执行测试操作,得到第一操作结果。
本方案中,通过字符替换图片的方式实现界面控件测试,降低控件样式对图片识别过程中的影响,另外基于字符识别界面控件的坐标,可以提高识别速度。
在一种可能的实现方式中,方法还包括:获取待测界面的待测控件的预期操作结果;当第一操作结果和预期操作结果不一致时,基于待测试控件的字符对待测界面进行字符识别,确定待测界面中的待测试控件的修正坐标;将关联库中目标控件的坐标替换为修正坐标。
本方案中,通过更新坐标,实现关联库的自动维护。
在一种可能的实现方式中,基于待测试控件的字符对待测界面进行字符识别,得到待测试控件的坐标,包括:当基于待测试控件的字符对待测界面进行字符识别得到多个候选坐标时,从多个候选坐标中确定待测控件的坐标。
本方案中,在待测控件的字符在待测界面的位置不唯一时,可以从多个位置中确定待测控件的真实位置。
在一个例子中,从多个候选坐标中确定待测控件的坐标,包括:确定扩展字符;其中,扩展字符包括待测试控件的字符和其之外的其他字符;基于扩展字符对第一界面进行字符识别,从多个候选坐标中确定待测试控件的坐标。
本方案中,在待测控件的字符在待测界面的位置不唯一时,可以通过扩大待测控件的字符,从而准确的定位待测控件在待测界面的位置。
在一个例子中,从多个候选坐标中确定待测控件的坐标,包括:确定用户操作;其中,用户操作指示了对多个候选坐标的选择;响应于用户操作,将用户选择的候选坐标作为待测控件的坐标。
本方案中,采用人为的选择的方式,从而准确的定位待测控件在待测界面的真实位置。
在一种可能的实现方式中,待测控件的字符包括待测界面中显示的待测控件的提示字符,第一坐标指示了待测控件的提示字符在待测界面的位置。
在一个例子中,待测控件的字符还包括待测控件所在区域的提示字符。
本方案中,考虑到可操作字符的提示字符在待测界面中的位置不唯一,为了使得可操作控件的唯一字符标识,可以在可操作字符的提示字符的基础上增加额外的字符实现唯一标识。
在一种可能的实现方式中,方法还包括:若未从关联库中查找到与待测试控件的字符相匹配的目标控件的字符时,基于待测试控件的字符对待测界面进行字符识别,得到待测试控件的坐标。
在一个例子中,将待测试控件的字符、待测试控件的坐标关联后加入关联库中。
本方案中,可以将新出现的字符加入关联库中,实现关联库的更新维护。
第二方面,本发明实施例提供了一种界面控件测试装置,界面控件测试装置包括若干个模块,各个模块用于执行本发明实施例第一方面提供的显示方法中的各个步骤,关于模块的划分在此不做限制。该显示装置各个模块所执行的具体功能及达到的有益效果请参考本发明实施例第一方面提供的显示方法的各个步骤的功能,在此不再赘述。
示例地,本申请实施例提供了一种界面控件测试装置,包括:
获取模块,用于获取待测界面的待测试控件的字符和操作类型;
查找模块,用于基于待测试控件的字符,在待测界面的关联库中进行查找,若从关联库中查找到与待测试控件的字符相匹配的目标控件的字符,则获得待测试控件的坐标,关联库中包括待测界面中控件的字符与坐标的关联关系,待测试控件的坐标与目标控件的坐标相同;
识别模块,用于若从关联库中未查找到与待测试控件的字符相匹配的目标控件的字符,则基于待测试控件的字符对待测界面进行字符识别,得到待测试控件的坐标;
操作测试模块,用于基于待测试控件的坐标和待测试控件的操作类型,在待测界面中执行测试操作,得到第一操作结果。
在一种可能的实现方式中,装置还包括:
识别模块,用于当第一操作结果和预期操作结果不一致时,基于待测试控件的字符对待测界面进行字符识别,确定待测界面中的待测试控件的修正坐标;
更新模块,用于将关联库中目标控件的坐标替换为修正坐标。
在一种可能的实现方式中,识别模块,用于当基于待测试控件的字符对待测界面进行字符识别得到多个候选坐标时,从多个候选坐标中确定待测控件的坐标。
在一个例子中,识别模块包括:
字符扩展单元,用于确定扩展字符;其中,扩展字符包括待测试控件的字符和其之外的其他字符;
识别选取单元,用于基于扩展字符对第一界面进行字符识别,从多个候选坐标中确定待测试控件的坐标。
在一个例子中,识别模块包括:
操作确定单元,用于确定用户操作;其中,用户操作指示了对多个候选坐标的选择;
位置确定单元,用于响应于用户操作,将用户选择的候选坐标作为待测控件的坐标。
在一种可能的实现方式中,待测控件的字符包括待测界面中显示的待测控件的提示字符,第一坐标指示了待测控件的提示字符在待测界面的位置。
在一个例子中,待测控件的字符还包括待测控件所在区域的提示字符。
在一种可能的实现方式中,识别模块,还用于若未从关联库中查找到与待测试控件的字符相匹配的目标控件的字符时,基于待测试控件的字符对待测界面进行字符识别,得到待测试控件的坐标。
在一个例子中,装置还包括:
加入模块,用于将待测试控件的字符、待测试控件的坐标关联后加入关联库中。
第三方面,本申请实施例提供了一种界面控件测试装置,其特征在于,装置运行计算机程序指令,以执行第一方面中所提供的方法。示例性的,该装置可以为芯片,或处理器。
在一个例子中,该装置可以包括处理器,该处理器可以与存储器耦合,读取存储器中的指令并根据该指令执行第一方面中所提供的方法。其中,该存储器可以集成在芯片或处理器中,也可以独立于芯片或处理器之外。
第四方面,本申请实施例提供了一种界面控件测试设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面中所提供的方法。
第五方面,本申请实施例提供了一种计算机存储介质,计算机存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行第一方面中所提供的方法。
第六方面,本申请实施例提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行第一方面中所提供的方法。
附图说明
图1是本申请实施例提供的一种界面控件测试的流程示意图;
图2是本申请实施例提供的一种第一界面的显示示意图一;
图3是本申请实施例提供的一种第一界面的显示示意图二;
图4a是图3的界面变化的显示示意图一;
图4b是图3的界面变化的显示示意图二;
图5是图1中的步骤107的流程示意图一;
图6是图1中的步骤107的流程示意图二;
图7是本申请实施例提供的另一种界面控件测试方法的流程示意图;
图8a是本发明实施例提供的一种界面控件测试方法的具体示例的示意图一;
图8b是本发明实施例提供的一种界面控件测试方法的具体示例的示意图二;
图9是本发明实施例提供的一种界面控件测试装置的结构示意图;
图10是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。
在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个终端是指两个或两个以上的终端。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
目前的界面控件识别方案存在以下缺点:
1、图片对比过程需要100%匹配,容易受到分辨率、控件背景的影响。
2、图片场景库的更新频率跟随应用程序的版本变更,当控件的大小、文字样式、背景样式等发生变化时都需要重新截图更新至场景库,如若要兼容旧版本,场景库会越来越臃肿,维护的成本也越来越高。
基于此,本发明实施例提出了一种界面控件测试方法。
该方法通过字符识别界面控件的坐标,可以提高识别速度。这里仅仅是对方法的简述,关于该方法的详细内容参见下文描述。
接下来,对本发明实施例提供的一种界面控件测试方法进行详细介绍。
图1是本申请实施例提供的界面控件测试方法的流程示意图。本实施例可应用在电子设备上,具体可以应用在服务器或一般计算机上。如图1所示,本申请实施例提供的界面控件测试方法至少包括如下步骤:
步骤101、建立待测界面的关联库;其中,关联库包括:可操作控件的字符与可操作控件的坐标的关联关系;其中,可操作控件为目标应用(或应用程序等)的待测界面中显示的控件,可操作控件的字符为该控件在待测界面上显示的字符(或关键字等),可操作控件的坐标为可操作控件在待测界面上的位置或坐标等。
目标应用包括多个应用程序界面。每个应用程序界面包括若干个可操作控件(有可以称为控件),另外,每个应用程序界面中可以显示可操作控件以及该可操作控件的字符,该显示字符可以理解为字符数组,可以标识1个字符,或者,标识由多个字符组成的字符串等。示例地,如图2所示,假设可操作控件为账号的输入框,该可操作控件的字符为“请输入账号”和/或“账号”等,则应用程序界面中可以显示该输入框,并在该输入框中显示“请输入账号”,在输入框外显示“账号”等字符。示例地,如图3所示,假设可操作控件为了解更多的按钮,则应用程序界面显示的字符为“了解更多”。
对于目标应用的任一应用程序界面,均可以作为待测界面,构建待测界面的关联库。该关联库包括待测界面中的可操作控件的字符与可操作控件的坐标的关联关系。
其中,可操作控件的字符可以包括可操作控件的提示字符。可选地,该提示字符为可操作控件在待测界面中显示的字符中的部分或全部字符。
其中,可操作控件的坐标用于表示可操作控件在待测界面中的位置,在一个例子中,可以可操作控件的提示字符所在的区域。
值得注意的是,关联库可以采用二元组[可操作控件的字符、可操作控件的坐标]的方式存储数据。或者,关联库可以采用三元组[可操作控件所处界面的界面标识、可操作控件的字符、可操作控件的坐标]的方式存储数据;三元组中的坐标指示了界面标识指示的界面中可操作控件的字符中的提示字符所在的区域,这里,界面标识用于指示待测界面。在实际应用中,还可以采用键值对key-value的方式记录可操作控件的字符和可操作控件的坐标。其中,key表示可操作控件的字符,value表示可操作控件的坐标。
需要指出,当界面中的可操作控件的提示字符唯一标识一个可操作控件,比如,图2示出的登录的按钮,账号的输入框,和密码的输入框,此时,可操作控件的字符可以为提示字符。当界面中的可操作控件的提示字符不是唯一标识一个可操作控件,比如,图3示出了3个了解更多的按钮;此时,可操作控件的字符中还需要包含可操作控件的提示字符的关联字符,这里,关联字符用于唯一区别不同的可操作控件,用于表示可操作控件在待测界面的区域的提示字符,比如,对于图3示出了3个了解更多的按钮,这3个了解更多的按钮的关联字符分别为热门推荐、推荐产品、成功案例,从而得到3个字符:“热门推荐了解更多”,“推荐产品了解更多”,“成功案例了解更多”,从而区别3个不同位置的了解更多的按钮。再比如,图3示出了2个查看详情,这2个查看详情的按钮的关联字符分别为产品a、成功案例,从而得到2个字符:“产品a查看详情”,“成功案例查看详情”。这里,由于提示字符和关联字符之间不是连续的,而是存在间隔的,因此,可以通过空白键区别,从而可以识别出关键字符和提示字符。
值得注意的是,关联库包括多个可操作控件的字符,每个字符都是唯一的。
根据一种可行的实现方式,关联库中的字符可以均为提示字符,则可以对目标应用的待测界面中的可操作控件的提示字符和坐标进行识别,以键值对的方式构建关联库。值得注意的是,目标应用的待测界面中的可操作控件的提示字符和坐标唯一。
步骤102、获取待测界面的待测试控件的字符和操作类型。
在步骤102中,获取方式可以包括但不限于:人工输入,或者,对测试脚本进行解析得到等。在实际应用中,需要构建待测界面的测试用例,测试用例可以包括待测试应用程序的一个或多个待测试控件,以及每个待测试控件的字符和操作类型,其中,测试用例可以为人为预先编写好的脚本,测试用例可以通过网络传输接收得到,或者,测试用例可以从存储器或数据库中调取得到。之后,可以基于测试用例,获取到待测界面的待测试控件和操作类型进行测试。
其中,操作类型可以包括当不限于点击、长按滑动、输入、拖动、复制、快捷键等一个或多个操作的组合,该操作类型可以表示用户在实际过程中使用的操作。
步骤103、根据待测试控件的字符,在待测界面的关联库中进行查找,若从关联库中查找到与待测试控件的字符相匹配的目标控件的字符,确定该待测试控件的坐标,该待测试控件的坐标与目标控件的坐标相同,该目标控件为与待测试控件的字符相同的可操作控件。
根据一种可行的实现方式,待测试控件的字符与目标控件的字符相匹配可以认为待测试控件的字符至少部分或全部与目标控件的字符相同。示例性的,在待测试控件的字符与目标控件的字符完全一致,则认为待测试控件的字符与目标控件的字符相匹配。
步骤104、基于该待测试控件的坐标和待测试控件的操作类型,在待测界面中执行测试操作,得到第一操作结果。
举例地,测试操作可以包括将屏幕光标定位到该待测试控件的坐标,在该光标上根据该待测试控件的操作类型执行测试操作,如点击、拖动、输入、复制和/或快捷键等操作或组合操作。
根据一种可行的实现方式,可以对待测试控件的坐标指示的区域进行横向扩大,得到待测界面中的操作区域。这里,通过扩大待测控件的坐标,尽可能降低误操作的可能性。进一步地,在待测界面的操作区域执行操作类型指示的测试操作,得到第一操作结果。
如图2所示,假设待测试控件的字符为登录,操作类型为点击,则第一操作结果可以为跳转后的应用程序界面的界面标识。
如图3所示,假设待测控件的字符为“热门推荐了解更多”,操作类型为点击,在测试操作的过程中,对热门推荐下的了解更多进行点击操作,则操作结果可以为跳转后的应用程序界面的界面标识。
如图3所示,假设待测控件的字符为“产品a查看详情”,操作类型为点击,在测试操作的过程中,对产品a下的了解更多的点击操作,则操作结果可以为跳转后的界面的界面标识。
如4a所示,当鼠标点击产品b时,产品b的区域放大显示查看详情,产品a不再显示查看详情。假设待测控件的字符为“产品b查看详情”,操作类型为点击,则在具体测试时,假设待测界面为图3所示的界面,则在测试时,需要先将鼠标移动到产品b所在的区域,然后进行测试操作,即点击产品b下的查看详情,则操作结果可以为跳转后的应用程序界面的界面标识。
如4b所示,当鼠标点击图片B时,图片A切换为图片B,图片A不再显示查看详情。假设待测控件的字符为“图像B查看详情”,操作类型为点击,则在具体测试时,假设待测界面为图3所示的界面,则在测试操作时,需要先将鼠标移动到图片B所在的区域点击,在图片A替换为图片B后进行测试操作,即点击查看详情,则第一操作结果可以为跳转后的应用程序界面的界面标识。
本发明实施例中,通过字符替换图片的方式实现界面控件测试,降低控件样式对图片识别过程中的影响。
在一种可能的情况,测试用例中包括每个待测试控件的预期操作结果,当待测试控件的操作结果和预期操作结果不一致时,此时说明可操作控件的坐标可能出现错误,此时需要修正关联库中的目标控件关联的坐标。
本发明实施例提供了另一种界面控件测试方法。图1示出了本申请实施例提供了另一种界面控件测试方法的流程示意图。如图1所示,在图1所示的步骤101至步骤104的基础上,本申请实施例中,至少还包括如下步骤:
步骤105、当第一操作结果和预期操作结果不一致时,基于待测试控件的字符对待测界面进行字符识别,确定待测控件在待测界面的候选坐标。
假设第一操作结果为跳转后界面的界面标识,预期操作结果为跳转到界面的界面标识,假设第一操作结果和预期操作结果中的界面标识不同,或者,第一操作结果中没有跳转后的界面的界面标识,则可以认为第一操作结果和预期操作结果不一致。
如图2所示,假设待测控件的字符为登录,预期操作结果为跳转到另一个页面,假设第一操作结果和预期操作结果中的界面标识不同,则可以认为第一操作结果和预期操作结果不一致。
根据一种可行的实现方式,可以对待测界面进行字符区域化,得到包含字符的多个字符区域;接着,识别多个字符区域中的字符,判断待测控件的字符是否存在于多个字符区域内,存在则识别成功,获取待测控件的候选坐标,得到字符识别结果,该字符识别结果包括至少一个候选坐标。
在一个例子中,具体可通过如下方式对待测界面进行字符区域化:
以待测界面中字符所在的区域块作为划分依据,得到存在字符的多个字符区域;举例来说,如图3所示,若以字符所在的区域块作为区域化的依据,则可以得到字符区域307、字符区域308和字符区域305。
对应的,具体可通过如下方式识别多个字符区域中的字符:
对于每个字符区域,以一定的窗口遍历字符区域获取窗口内的字符,判断待测控件的字符是否存在于窗口内,存在则识别成功,获取待测界面中的待测控件的字符中的提示字符的坐标作为候选坐标。在遍历的过程中可以不断的增加窗口的大小,从而确保识别结果的准确性。
在一个例子中,具体可通过如下方式对待测界面进行字符区域化:
以连续字符作为划分依据,将待测界面中连续字符所在的区域划分出来,得到多个字符区域。这里,按照连续字符对待测界面进行区域化,即将待测界面中连续出现的字符作为一个整体划分得到第一字符区域;举例来说,如图2所示,若以连续字符作为区域化的依据,则可以得到第一字符区域201和第一字符区域202。
对应的,具体可通过如下方式识别多个字符区域中的字符:
对字符区域进行字符识别,判断字符区域内是否存在待测控件的字符,若存在,可以从多个字符区域中提取出存在待测控件的字符所在的字符区域(为了便于描述和区别,称为目标字符区域),并确定目标字符区域中的待测控件的字符中的提示字符的坐标,将其作为候选坐标;之后,可以按照字符区域在待测界面的位置,按照行数对目标字符区域之外的多个字符区域进行组合,比如,位于同一行的字符区域组合成一个区域,得到多个字符区域,然后,对每个字符区域进行字符识别,判断字符区域内是否存在待测控件的字符;之后,可以增加行数,不断的对目标字符区域之外的字符区域进行组合,得到包含更多字符的字符区域,不断的检索待测控件的字符,得到至少一个候选坐标。
根据另一种可行的实现方式,可以采用窗口的方式遍历待测界面,判断窗口内的字符是否为待测控件的字符,如果是,则可以确定该窗口内的待测控件的字符中的提示字符的坐标,将其作为候选坐标,在遍历待测界面后,可以增大窗口的大小,继续对待测界面进行滑动,判断窗口内的字符是否为待测控件的字符;这里,若得到的多个候选坐标相似,则需要合并,最终得到字符识别结果。
步骤106、当候选坐标有一个时,将候选坐标作为待测控件的修正坐标。
这里,当候选坐标只有一个时,说明测试界面中待测控件的字符是唯一的,此时将该候选坐标作为修正坐标即可。
举例来说,假设待测控件的字符为“热门推荐了解更多”,待测界面如图3所示,则对待测界面进行字符识别,可以得到区域301,将区域301中了解更多所在区域302的候选坐标作为修正坐标。
举例来说,假设待测控件的字符为“产品a查看详情”,待测界面如图3所示,则对待测界面进行字符识别,可以得到区域303,将区域303中查看详情所在区域304的候选坐标作为修正坐标。
举例来说,假设待测控件的字符为“成功案例查看详情”,待测界面如图3所示,则对待测界面进行字符识别,可以得到区域305,将区域305中查看详情所在区域306的候选坐标作为修正坐标。
步骤107、当候选坐标有多个时,从多个候选坐标中确定修正坐标。
这里,当候选坐标有多个时,说明待测界面中待测控件的字符不是唯一的,此时需要从多个候选坐标中定位到表示待测控件的修正坐标。
举例来说,假设待测控件的字符为账号,待测界面为图2所示的登录界面,则对图2所示的登录界面进行字符识别,可以识别到两个账号所在区域,得到区域201的坐标A1,以及,区域202的坐标A2,此时,需要从坐标A1和坐标A2选择一个作为修正坐标。
步骤108、将关联库中目标控件关联的坐标替换为修正坐标。
本发明实施例可以基于待测控件的字符对待测界面的自动识别,不仅可以提到识别速度,还可以实现待测控件关联的坐标的更新,实现待测界面的关联库的维护。
图5示出了如图1所示的实施例中步骤107的流程示意图一。如图5所示,步骤107具有包括如下步骤:
步骤501、确定扩展字符;其中,扩展字符包括待测控件的字符中的部分或全部和其之外的其他字符。
在实际应用中,扩展字符可以包括从待测控件的字符中提取出的关键字符。
举例来说,待测控件的字符为账号,则扩展字符可以为“请输入账号”。
举例来说,待测控件的字符为账号,则扩展字符可以为“账号”。即账号前和后均为空白字符。
根据一种可行的实现方式,可以构建字符替换库,数据库中可以预先存储有关联库中的可操作控件的字符,以及,包含该字符的替换字符;则可从预先设置的字符替换库中确定待测控件的字符的替换字符,将替换字符作为扩展字符。
根据一种可行的实现方式,可以显示待测控件的字符,用户可以对该字符修改,得到扩展字符。
步骤502、基于扩展字符对待测界面进行字符识别,从多个候选坐标中确定修正坐标。
详细内容参见上文对步骤105中关于待测界面区域化的描述。具体地,基于扩展字符对待测界面划分后的多个区域进行字符识别,确定包含扩展字符的区域,位于该区域中的候选坐标作为修正坐标。
举例来说,假设待测控件的字符为账号,待测界面为图2所示的登录界面,则对图2所示的登录界面进行字符识别,得到区域201的坐标A1,以及,区域202的坐标A2;由于坐标有2个,则可以将账号这一字符更新为“请输入账号”,重新识别图2所示的登录界面,得到区域203,将位于区域203的坐标A2作为最终的坐标。
根据一种可行的实现方式,假设基于扩展字符对待测界面进行字符识别,可以确定扩展字符的至少一个区域。若扩展字符所在的区域只有一个,则可以将位于扩展字符的候选坐标作为作为修正坐标。若扩展字符所在的区域有多个,则可以采用图6所示的方法确定修正坐标。
进一步地,在一些可能的实现方式中,用户可以决定是否将关联库中的目标控件的字符替换为扩展字符,从而对关联库进行维护。
图6示出了如图1所示的实施例中步骤107的流程示意图一。如图6所示,步骤107具体包括如下步骤:
步骤601、确定用户操作;其中,用户操作指示了对多个候选坐标的选择。
在实际应用中,可以在待测界面上标注出多个候选坐标指示的区域,比如,在待测界面上标注出矩形框或原点,每个矩形框或原点表示一个候选坐标。用户知晓需要测试什么,因此可以准确的选择矩形框或原点;比如,用户可以点击矩形框或原点。
步骤602、响应于用户操作,将用户选择的候选坐标作为修正坐标。
举例来说,假设待测控件的字符为账号,待测界面为图2所示的登录界面,则对图2所示的登录界面进行字符识别,得到区域201的坐标A1,以及,区域202的坐标A2;则可以由用户选择坐标A2作为最终的修正坐标。
进一步地,在一些可能的实现方式中,用户可以对待测控件的字符进行更新,比如,新增额外的关联字符,之后,用户可以决定是否将关联库中的目标控件的字符替换为更新后的字符,从而对关联库进行维护。
基于对图5和图6的描述,下面对确定关联库进行详细描述。
在构建关联库的前期,用户可以提前设置好测试文本,测试文本包括若干个功能对应的测试内容,测试内容描述了对目标应用的操作流程,该操作流程可以实现目标应用的功能。具体地,该操作流程指示了对哪个应用程序界面中的哪个可操作控件进行操作,以及操作后的操作结果。对应的,测试内容里面需要包括目标应用的应用程序界面的界面标识,以及,应用程序界面中的可操作控件的字符。值得注意的是,当功能涉及到多个应用程序界面时,此时测试文本需要编排好不同应用程序界面之间的操作流程。在一个例子中,假设目标应用为网站,网站中具有标签栏和标题名称,标签栏中的标签名称和一些标题名称可以作为界面标识。
后续,对测试文本进行识别可以提取出界面标识、应用程序界面中的可操作控件的字符;之后,可以从界面标识指示的应用程序界面中识别出字符以及字符中提示字符所在区域的坐标;最后,关联界面标识、字符、字符中提示字符所在区域的坐标,加入关联库。
这里,若应用程序界面中不同的区域出现了相同的字符,则坐标有多个,则可以通过如下2种实现方式处理这些坐标。
实现方式1:可以向用户显示不同坐标,由用户选择最终的坐标。详细内容参见图6的描述。
实现方式2:可以在字符的基础上增加额外的关联字符更新字符。详细内容参见图5的描述,不再赘述。
举例来说,假设需要测试的功能为登录功能,测试登录功能对应的测试内容可以为在登录页面中账号的输入文本框中输入账号,在密码的输入框中输入密码,然后点击登录的按钮。这里,可操作控件为登录页面中的账号的输入框、密码的输入框和登录的按钮,这里,账号、密码和登录作为可操作控件的字符。这里,登录页面中的登录可以作为界面标识。之后,可以从测试内容中提取出界面标识:登录,界面中的可操作控件的字符:登录、账号、密码;后续,可以从界面标识指示的应用程序界面中识别出可操作控件的字符以及字符所在区域的坐标;之后,关联界面标识、字符、字符所在区域的坐标,加入关联库。
在一种可能的情况,若从关联库中未查找到与待测试控件的字符相匹配的目标控件的字符,则此时需要确定待测控件在待测界面中的坐标,从而便于后续测试。
基于此,本发明实施例提供了另一种界面控件测试方法。图7示出了本申请实施例提供了另一种界面控件测试方法的流程示意图。如图7所示,在图1所示的步骤101至步骤102的基础上,本申请实施例中,在执行步骤104之前,至少还包括如下步骤:
步骤109、若从关联库中未查找到与待测试控件的字符相匹配的目标控件的字符,则基于待测试控件的字符对待测界面进行字符识别,得到待测试控件的坐标。
这里,通过考虑待测界面中的实际的可操作控件的情况,从而可较为准确的确定出待测控件在待测界面中的坐标。
这里,可以采用上述确定修正坐标的方法确定待测控件在待测界面的坐标。详细内容参见步骤105至步骤107、图5、图6的描述,不再赘述。
进一步地,为了维护和更新关联库,还可以包括如下步骤:
步骤110、将待测控件的字符中的部分或全部、待测控件的坐标加入关联库中。
根据一种可行的实现方式,若待测控件的字符详细描述了可操作控件的定位信息,即如何找到可操作控件,比如,在哪个区域的哪个位置,可以从待测控件的字符中提取出关键字符,将关键字符、待测控件的坐标关联加入关联库。
值得注意的是,假设采用图2所示步骤106的方式确定待测控件的坐标时,在一些可能的实现方式中,用户可以决定是否将待测控件的字符和待测控件的坐标关联后加入关联库中。或者,用户可以修改待测控件的字符,将修改后的字符和待测控件的坐标关联后加入关联库。
值得注意的是,假设采用图5所示的方法确定待测控件的坐标时,在一些可能的实现方式中,用户可以决定是否将扩展字符和待测控件的坐标关联后加入关联库中。
举例来说,假设关联库中的字符不包括了解更多,待测控件的字符为了解更多,测试用例中包括了解更多的关联字符“成功案例”,则可以构建扩展字符为“成功案例了解更多”,此时可以将扩展字符“成功案例了解更多”和待测控件的坐标关联后加入关联库中。
值得注意的是,假设采用图6所示的方法确定待测控件的坐标时,在一些可能的实现方式中,用户可以决定是否将待测控件的字符和待测控件的坐标关联后加入关联库中。
举例来说,假设关联库中的字符不包括了解更多,待测控件的字符为了解更多,测试用例中包括了解更多的关联字符“成功案例”,则用户可以将待测控件的字符“了解更多”修改为“成功案例了解更多”,此时可以将修改后的待测控件的字符“成功案例了解更多”和待测控件的坐标关联后加入关联库中。
以下结合上述实施例提供2个具体示例,在以下示例中,上述目标应用为FusionServer Tools,待测控件的字符称为目标字符,操作类型称为目标操作类型,待测界面称为目标界面,为目标应用中任一应用程序界面。
如图8a所示,本发明实施例提供了第1个具体示例,具体内容如下:
根据FusionServer Tools最新版本的每个应用程序界面,获取FusionServerTools内不同功能的所有可操作控件的提示字符和坐标,以键值对的形式构造该应用程序界面的关联库。这里,不同功能的可操作控件的提示字符唯一,在将提示字符作为可操作控件的字符时,关联库中的字符(提示字符)唯一。
人为基于FusionServer Tools需要实现的功能,构建多个测试用例,对于任一测试用例(为了便于描述和区别,称为目标测试用例),输入目标测试用例中的目标界面的待测控件的目标字符、目标操作类型和预期操作结果(为了便于描述和区别,称为目标预期操作结果)。
然后,将目标测试用例中的目标界面的待测控件的目标字符和目标界面的关联库中的目标控件的字符匹配。
根据一种可行的实现方式,若存在匹配的字符,进一步地从目标界面的关联库中确定匹配的字符关联的坐标A(对应上述可操作控件的坐标),然后,基于坐标A和目标操作类型对目标界面执行操作,得到第一操作结果。
当第一操作结果和目标测试用例中的目标预期操作结果不匹配时,则可以对目标界面进行字符区域化,得到包含字符的多个字符区域,在每个字符区域内,以一定的窗口遍历获取窗口内的字符,判断目标字符是否存在于窗口内,存在则识别成功,否则识别失败,在遍历所有的字符区域后,得到字符识别结果(详细内容参见上文对步骤105的相关描述)。这里,窗口大小可以实际界面内最小文字和最大文字的长宽为基准;若字符识别结果中识别到的坐标C(对应上述待测控件的候选坐标)只有1个,将该坐标作为坐标B(对应上述待测控件的修正坐标),若识别到的坐标C有多个,则可以按照图5和图6所示的方式,从多个坐标C中获取坐标B;然后,基于坐标B和目标操作类型对目标界面执行操作,得到第二操作结果。若第二操作结果和目标预期操作结果一致,可选地,将匹配的字符关联的坐标A替换为坐标B,实现关联库的自动更新。进一步地,用户还可以修改匹配的字符,将修改后的匹配的字符替换匹配的字符,同时修改测试用例中的目标字符为修改后的匹配的字符,从而便于后续测试。
根据一种可行的实现方式,若不存在匹配的字符,则可以按照第一操作结果和目标测试用例中的目标预期操作结果不匹配时的处理方式,得到坐标B;然后,基于坐标B和目标操作类型对目标界面执行操作,得到第二操作结果。若第二操作结果和目标预期操作结果一致,可选地,将目标字符、坐标B关联,加入关联库,实现自动更新维护。另外,用户还可以修改目标字符,将修改后的目标字符替换目标字符,同时修改目标测试用例中的目标字符为修改后的目标字符,从而便于后续测试。
如图8b所示,本发明实施例提供了第2个具体示例,具体内容如下:
根据目标应用的每个应用程序界面,构建该应用程序界面的多个可操作控件的多个字符,部分字符为提示字符和关联字符组合,获取该应用程序界面的所有可操作控件的提示字符和坐标,从而将坐标和预先构建的可操作控件的字符关联,以键值对的形式构造该应用程序的关联库,关联库中的字符唯一。
人为基于目标应用需要实现的功能构建多个测试用例,对于任一测试用例(为了便于描述和区别,称为目标测试用例),输入目标测试用例中的目标界面的待测控件的目标字符、目标操作类型和预期操作结果(为了便于描述和区别,称为目标预期操作结果)。
然后,将目标测试用例中的目标字符和目标界面的关联库中的字符匹配。
根据一种可行的实现方式,若存在匹配的字符,进一步地从目标界面的关联库中确定匹配的字符关联的坐标A(对应上述可操作控件的坐标),然后,基于坐标A和目标操作类型对目标界面执行操作,得到第一操作结果。
当第一操作结果和目标测试用例中的目标预期操作结果不匹配时,则可以对目标界面进行字符区域化,得到字符识别结果。字符识别的结果可以为一个坐标B(上述待测控件的候选坐标),也可以为多个坐标C(上述待测控件的修正坐标),当为多个坐标C时,可以采用上述图5或图6示出的方法从多个坐标C中确定坐标B;然后,基于坐标B和目标操作类型对目标界面执行操作,得到第二操作结果。若第二操作结果和目标预期操作结果一致,可选地,将匹配的字符关联的坐标A替换为坐标B,实现关联库的自动更新。进一步地,用户还可以修改匹配的字符,将修改后的匹配的字符替换匹配的字符,同时修改目标字符为修改后的匹配的字符,从而便于后续测试。
根据另一种可行的实现方式,若不存在匹配字符,则可以按照第一操作结果和目标测试用例中的目标预期操作结果不匹配的处理方式,得到坐标B,然后,基于坐标B和操作类型对目标界面执行操作,得到第三操作结果。并将坐标B、目标界面的目标界面标识、目标字符关联加入关联库。可选地,将目标字符、坐标B关联,加入关联库,实现自动更新维护。另外,用户还可以修改目标字符,将修改后的目标字符替换目标字符,同时修改目标测试用例中的目标字符为修改后的目标字符,从而便于后续测试。
值得注意的是,本发明实施例中提到的可操作控件也可以称为控件。
基于与本发明方法实施例相同的构思,本发明实施例还提供了一种界面控件测试装置。界面控件测试装置包括若干个模块,各个模块用于执行本发明实施例提供的个人信息识别方法中的各个步骤,关于模块的划分在此不做限制。所属领域的技术人员可以清楚地了解到,实际应用中,可以根据需要而将本发明实施例提供的界面控件测试方法中的各个步骤分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分功能。实施例中的各模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上模块集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述装置中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
示例地,界面控件测试装置用于执行本发明实施例提供的界面控件测试方法,图9是本申请实施例提供的界面控件测试装置的结构示意图。如图9所示,本申请实施例提供的界面控件测试装置,包括:
获取模块901,用于获取待测界面的待测试控件的字符和操作类型;
查找模块902,用于基于所述待测试控件的字符,在所述待测界面的关联库中进行查找,若从所述关联库中查找到与所述待测试控件的字符相匹配的目标控件的字符,则获得所述待测试控件的坐标,所述关联库中包括所述待测界面中控件的字符与坐标的关联关系,所述待测试控件的坐标与所述目标控件的坐标相同;
识别模块903,用于若从所述关联库中未查找到与所述待测试控件的字符相匹配的目标控件的字符,则基于所述待测试控件的字符对所述待测界面进行字符识别,得到所述待测试控件的坐标;
操作测试模块904,用于基于所述待测试控件的坐标和所述待测试控件的操作类型,在所述待测界面中执行测试操作,得到第一操作结果。
示例性电子设备
基于与本发明方法实施例相同的构思,本发明实施例还提供了一种电子设备。该电子设备也即个人信息识别设备。该电子设备可以为服务器、终端设备。其中,终端设备可以为手机,平板电脑,可穿戴设备,智能电视,华为智慧屏,智能音箱,车机等。
图10是本申请实施例提供的一种电子设备的结构示意图。
如图10所示,电子设备1000包括处理器1001、存储器1002和网络接口1003。
处理器1001可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1002可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
示例地,存储器1002上可以存储计算机程序,处理器1001执行计算机程序时实现上述界面控件测试方法实施例中的步骤,例如图2所示的步骤101至步骤104。或者,所述处理器1001执行计算机程序时实现上述装置实施例中各模块的功能。示例性的,计算机程序可以被分割成一个或多个模块/单元,所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述一个或者多个模块/单元被存储在所述存储器1002中,并由所述处理器1001执行,以完成本发明。例如,计算机程序可以被分割成获取模块901、查找模块902、识别模块903、操作测试模块904,各模块具体功能参见上文描述。
网络接口1003用于收发数据,例如,将处理器1001处理后的数据发送至其他的电子设备,或者,接收其他的电子设备发送的数据等。
当然,为了简化,图10中仅示出了该电子设备1000中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1000还可以包括任何其他适当的组件。另外,所述电子设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,图10仅仅是电子设备1000的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入设备、输出设备、网络接入设备、总线等。示例地,该输入装置可以是麦克风阵列、还可以包括例如键盘、鼠标等等。示例地,该输出装置可以向外部输出各种信息,可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
除了上述方法、装置和电子设备以外,本申请实施例还可以提供了一种计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时,使得所述处理器执行本说明书上述“方法”部分中描述的本申请各种实施例的界面控件测试方法中的步骤。其中,所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。其中,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请实施例还可以提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“方法”部分中描述的根据本公开各种实施例的界面控件测试方法中的步骤。所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
Claims (10)
1.一种界面控件测试方法,其特征在于,包括:
获取待测界面的待测试控件的字符和操作类型;
基于所述待测试控件的字符,在关联库中进行查找,若从所述关联库中查找到与所述待测试控件的字符相匹配的目标控件的字符,则获得所述待测试控件的坐标,所述关联库中包括所述待测界面中控件的字符与坐标的关联关系,所述待测试控件的坐标与所述目标控件的坐标相同;
若从所述关联库中未查找到与所述待测试控件的字符相匹配的目标控件的字符,则基于所述待测试控件的字符对所述待测界面进行字符识别,得到所述待测试控件的坐标;
基于所述待测试控件的坐标和所述待测试控件的操作类型,在所述待测界面中执行测试操作,得到第一操作结果。
2.根据权利要求1所述的方法,其特征在于,所述测试用例中包括预期操作结果,所述方法还包括:
获取所述待测界面的待测控件的预期操作结果;
当所述第一操作结果和所述预期操作结果不一致时,基于所述待测试控件的字符对所述待测界面进行字符识别,确定所述待测界面中的待测试控件的修正坐标;
将所述关联库中所述目标控件的坐标替换为所述修正坐标。
3.根据权利要求1所述的方法,其特征在于,所述基于所述待测试控件的字符对所述待测界面进行字符识别,得到所述待测试控件的坐标,包括:
当基于所述待测试控件的字符对所述待测界面进行字符识别得到多个候选坐标时,从所述多个候选坐标中确定所述待测控件的坐标。
4.根据权利要求3所述的方法,其特征在于,所述从所述多个候选坐标中确定所述待测控件的坐标,包括:
确定扩展字符;其中,所述扩展字符包括所述待测试控件的字符和其之外的其他字符;
基于所述扩展字符对所述第一界面进行字符识别,从所述多个候选坐标中确定所述待测试控件的坐标。
5.根据权利要求3所述的方法,其特征在于,所述从所述多个候选坐标中确定所述待测控件的坐标,包括:
确定用户操作;其中,所述用户操作指示了对所述多个候选坐标的选择;
响应于所述用户操作,将用户选择的候选坐标作为所述待测控件的坐标。
6.根据权利要求1所述的方法,其特征在于,所述待测控件的字符包括所述待测界面中显示的所述待测控件的提示字符,所述第一坐标指示了所述待测控件的提示字符在所述待测界面的位置。
7.根据权利要求6所述的方法,其特征在于,所述待测控件的字符还包括所述待测控件所在区域的提示字符。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未从所述关联库中查找到与所述待测试控件的字符相匹配的目标控件的字符时,基于所述待测试控件的字符对所述待测界面进行字符识别,得到所述待测试控件的坐标。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
将所述待测试控件的字符、所述所述待测试控件的坐标关联后加入所述关联库中。
10.一种控件测试设备,其特征在于,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行如权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211390128.4A CN115827125A (zh) | 2022-11-08 | 2022-11-08 | 界面控件测试方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211390128.4A CN115827125A (zh) | 2022-11-08 | 2022-11-08 | 界面控件测试方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827125A true CN115827125A (zh) | 2023-03-21 |
Family
ID=85527084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211390128.4A Pending CN115827125A (zh) | 2022-11-08 | 2022-11-08 | 界面控件测试方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827125A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578438A (zh) * | 2023-07-13 | 2023-08-11 | 建信金融科技有限责任公司 | 一种适老化改造的自动化检测方法及装置 |
-
2022
- 2022-11-08 CN CN202211390128.4A patent/CN115827125A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578438A (zh) * | 2023-07-13 | 2023-08-11 | 建信金融科技有限责任公司 | 一种适老化改造的自动化检测方法及装置 |
CN116578438B (zh) * | 2023-07-13 | 2023-09-08 | 建信金融科技有限责任公司 | 一种适老化改造的自动化检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10970097B2 (en) | Adaptive web-based robotic process automation | |
CN110750991B (zh) | 实体识别方法、装置、设备及计算机可读存储介质 | |
CN110650378A (zh) | 一种信息获取方法、装置、终端及存储介质 | |
US20240129405A1 (en) | Systems and methods to manage models for call data | |
WO2015043352A1 (en) | Method and apparatus for selecting test nodes on webpages | |
CN115827125A (zh) | 界面控件测试方法和设备 | |
CN111708824A (zh) | 数据处理方法、装置、设备及存储介质 | |
US20170344538A1 (en) | Graphical user interface for localizing a computer program using context data captured from the computer program | |
KR101767481B1 (ko) | 프로그램 분석 장치 및 프로그램 분석 제공 방법 | |
CN110990294B (zh) | 一种软件缺陷检测规则确定方法、装置、设备和存储介质 | |
CN111078026A (zh) | 一种输入提示方法、装置、电子设备及可读存储介质 | |
CN110688558A (zh) | 网页搜索的方法、装置、电子设备和存储介质 | |
US20210271720A1 (en) | Method and apparatus for sending information | |
WO2021121130A1 (zh) | 信息采集方法、装置、计算机设备及存储介质 | |
CN115481025A (zh) | 自动化测试的脚本录制方法、装置、计算机设备及介质 | |
CN113360127B (zh) | 音频播放方法以及电子设备 | |
US11621000B2 (en) | Systems and methods for associating a voice command with a search image | |
CN109376289B (zh) | 一种应用搜索结果中确定目标应用排位的确定方法及装置 | |
CN113342684A (zh) | 一种网页的测试方法、装置及设备 | |
CN112667502A (zh) | 页面测试方法、装置及介质 | |
CN108092875B (zh) | 一种表情提供方法、介质、装置和计算设备 | |
CN112417252B (zh) | 爬虫路径确定方法、装置、存储介质与电子设备 | |
WO2024021874A1 (zh) | 漏洞分析方法、装置、设备及计算机可读存储介质 | |
CN114238976B (zh) | 文件的检测方法、装置、可读介质和电子设备 | |
US11514094B2 (en) | Search and navigation of hidden elements of a web page |
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 |