CN108845930A - 界面操作测试方法和装置、存储介质及电子装置 - Google Patents

界面操作测试方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN108845930A
CN108845930A CN201810507033.3A CN201810507033A CN108845930A CN 108845930 A CN108845930 A CN 108845930A CN 201810507033 A CN201810507033 A CN 201810507033A CN 108845930 A CN108845930 A CN 108845930A
Authority
CN
China
Prior art keywords
interface
test
keyword
target
screenshot
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
Application number
CN201810507033.3A
Other languages
English (en)
Other versions
CN108845930B (zh
Inventor
张力柯
何庆玮
黄盈
周大军
荆彦青
杨夏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Network Information Technology Co Ltd
Original Assignee
Shenzhen Tencent Network Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Network Information Technology Co Ltd filed Critical Shenzhen Tencent Network Information Technology Co Ltd
Priority to CN201810507033.3A priority Critical patent/CN108845930B/zh
Publication of CN108845930A publication Critical patent/CN108845930A/zh
Application granted granted Critical
Publication of CN108845930B publication Critical patent/CN108845930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种界面操作测试方法和装置、存储介质及电子装置。其中,该方法包括:获取应用客户端中待测试的用户界面截图;识别用户界面截图中所包含的界面操作关键词;比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果;在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令,其中,测试操作指令用于指示应用客户端执行与目标界面的目标测试关键词相匹配的目标界面测试操作。本发明解决了相关技术提供的测试方法需要每次分别编写不同的UI测试代码所导致的界面操作测试复杂度较高的技术问题。

Description

界面操作测试方法和装置、存储介质及电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种界面操作测试方法和装置、存储介质及电子装置。
背景技术
为了保证应用客户端内用户界面(User Interface,简称UI)中所包含的界面操作被正常执行,通常需要在UI发布前对UI界面操作进行测试。
目前,针对上述UI界面操作的测试,通常是在debug版本中,利用预先配置的特殊接口来获取UI中数据,再编写专门的UI测试代码对UI界面操作所涉及的UI组件进行测试。然而,在相关技术提供的界面操作测试方法中,往往需要每次分别编写不同的UI测试代码,从而导致界面操作测试复杂度较高的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种界面操作测试方法和装置、存储介质及电子装置,以至少解决相关技术提供的测试方法需要每次分别编写不同的UI测试代码所导致的界面操作测试复杂度较高的技术问题。
根据本发明实施例的一个方面,提供了一种界面操作测试方法,包括:获取应用客户端中待测试的用户界面截图;识别上述用户界面截图中所包含的界面操作关键词;比对识别出的上述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果,其中,上述测试文件用于记录上述待测试界面的上述测试关键词,以及与上述测试关键词相匹配的界面测试操作的操作标识;在上述比对结果指示上述用户界面截图与上述待测试界面中所包含的目标界面相匹配的情况下,向上述应用客户端发送测试操作指令,其中,上述测试操作指令用于指示上述应用客户端执行与上述目标界面的目标测试关键词相匹配的目标界面测试操作。
根据本发明实施例的另一方面,还提供了一种界面操作测试装置,包括:第一获取单元,用于获取应用客户端中待测试的用户界面截图;识别单元,用于识别上述用户界面截图中所包含的界面操作关键词;比对单元,用于比对识别出的上述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果,其中,上述测试文件用于记录上述待测试界面的上述测试关键词,以及与上述测试关键词相匹配的界面测试操作的操作标识;发送单元,用于在上述比对结果指示上述用户界面截图与上述待测试界面中所包含的目标界面相匹配的情况下,向上述应用客户端发送测试操作指令,其中,上述测试操作指令用于指示上述应用客户端执行与上述目标界面的目标测试关键词相匹配的目标界面测试操作。
作为一种可选的示例,上述识别模块包括以下至少之一:第一发送子模块,用于将上述用户界面截图发送给云端光学字符识别服务器;获取上述云端光学字符识别服务器所返回的对上述用户界面截图识别后得到的上述识别结果;识别子模块,用于利用本地的光学字符识别工具对上述用户界面截图进行识别,得到上述识别结果。
作为一种可选的示例,上述装置还包括:第四确定单元,用于在比对识别出的上述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,在上述比对结果指示识别出的上述界面操作关键词与上述目标界面的上述目标测试关键词的编辑距离小于第一阈值的情况下,确定上述用户界面截图与上述待测试界面中所包含的目标界面相匹配,其中,上述编辑距离用于指示将上述界面操作关键词调整为上述目标测试关键词所执行的调整操作的次数。
作为一种可选的示例,上述发送单元包括:确定模块,用于确定与上述目标界面的上述目标测试关键词相匹配的上述目标界面测试操作的操作标识及上述目标界面测试操作的操作位置;生成模块,用于利用上述目标界面测试操作的操作标识及上述目标界面测试操作的操作位置生成上述测试操作指令;发送模块,用于向上述应用客户端发送上述测试操作指令,以使上述应用客户端在上述目标界面测试操作的操作位置上执行上述目标界面测试操作。
作为一种可选的示例,上述发送模块包括:第二发送子模块,用于在上述目标测试关键词所在位置与上述目标界面测试操作的操作位置一致的情况下,向上述应用客户端发送上述测试操作指令,其中,上述测试操作指令中携带有上述目标测试关键词所在位置的位置坐标;第三发送子模块,用于在上述目标测试关键词所在的位置与上述目标界面测试操作的操作位置不一致的情况下,向上述应用客户端发送上述测试操作指令,其中,上述测试操作指令中携带有上述目标界面测试操作的操作位置相对上述目标测试关键词所在位置的偏移距离。
作为一种可选的示例,上述发送单元还包括以下至少之一:第一执行模块,用于在上述向上述应用客户端发送测试操作指令之后,在上述测试操作指令指示上述目标界面测试操作为点击操作的情况下,上述应用客户端在上述目标界面测试操作的操作位置上执行上述点击操作;第二执行模块,用于在上述向上述应用客户端发送测试操作指令之后,在上述测试操作指令指示上述目标界面测试操作为输入操作的情况下,上述应用客户端获取上述测试操作指令中所携带的输入信息;在上述目标界面测试操作的操作位置上利用上述输入信息执行上述输入操作。
作为一种可选的示例,上述装置还包括:等待单元,用于在上述向上述应用客户端发送测试操作指令之后,进入等待状态;第二获取单元,用于在上述向上述应用客户端发送测试操作指令之后,在上述等待状态的等待时长大于第二阈值的情况下,获取上述应用客户端中的下一张用户界面截图进行识别。
作为一种可选的示例,上述装置还包括:第三获取单元,用于在上述获取应用客户端中待测试的用户界面截图之前,获取配置的上述测试文件,其中,上述测试文件用于记录待执行的测试任务中所包含的上述待测试界面的测试关键词,上述测试关键词为上述待测试界面中的部分或全部界面操作关键词。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述目标界面测试方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的目标界面测试方法。
在本发明实施例中,采用获取应用客户端中待测试的用户界面截图;识别上述用户界面截图中所包含的界面操作关键词;比对识别出的上述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果;在上述比对结果指示上述用户界面截图与上述待测试界面中所包含的目标界面相匹配的情况下,向上述应用客户端发送测试操作指令的方法,在上述方法中,由于是对待测试的用户界面的截图进行识别,并根据识别出的界面操作关键词与测试关键词得到比对结果,从而可以根据得到的比对结果向应用客户端发送测试操作指令,不再需要预先配置特殊接口来获取UI中的数据,也不需要多次编写不同的UI测试代码,达到了降低界面操作测试复杂度的效果。进而解决了相关技术提供的测试方法需要每次分别编写不同的UI测试代码所导致的界面操作测试复杂度较高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种界面操作测试方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的界面操作测试方法的流程示意图;
图3是根据本发明实施例的一种可选的界面操作测试方法的示意图;
图4是根据本发明实施例的另一种可选的界面操作测试方法的示意图;
图5是根据本发明实施例的又一种可选的界面操作测试方法的示意图;
图6是根据本发明实施例的又一种可选的界面操作测试方法的示意图;
图7是根据本发明实施例的又一种可选的界面操作测试方法的示意图;
图8是根据本发明实施例的一种可选的界面操作测试装置的结构示意图;
图9是根据本发明实施例的另一种可选的界面操作测试装置的结构示意图;
图10是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种界面操作测试方法,可选地,作为一种可选的实施方式,上述界面操作测试方法可以但不限于应用于如图1所示的环境中。
服务器106通过网络104获取终端102中的应用客户端中待测试的用户界面截图,在获取到上述用户界面截图后,服务器106识别用户界面截图中包含的界面操作关键词,并比对识别出的界面操作关键词和测试文件中记录的待测试界面的测试关键词,得到比对结果。在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,服务器106向应用客户端发送测试操作指令。
需要说明的是,相关技术中,在UI界面操作测试的过程中,通常是使用预先配置的特殊接口来获取UI中的数据,再通过编写的专门的UI测试代码对UI界面操作所涉及的UI组件进行测试。然而,上述测试过程中,需要多次编写不同的UI测试代码,造成操作测试复杂度高的问题。而本实施例中,通过获取应用客户端中待测试的用户界面截图;识别用户界面截图中所包含的界面操作关键词;比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果;在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令的方法,在上述方法中,由于是对待测试的用户界面的截图进行识别,并根据识别出的界面操作关键词与测试关键词得到比对结果,从而可以根据得到的比对结果向应用客户端发送测试操作指令,不再需要预先配置特殊接口来获取UI中的数据,也不需要多次编写不同的UI测试代码,达到了降低界面操作测试复杂度的效果。
可选地,上述界面操作测试方法可以但不限于应用于可以计算数据的终端上,例如手机、平板电脑、笔记本电脑、PC机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器可以包括但不限于任何可以进行数据计算的硬件设备。
可选地,作为一种的选的实施方式,如图2所示,上述界面操作测试方法包括:
S202,获取应用客户端中待测试的用户界面截图;
S204,识别用户界面截图中所包含的界面操作关键词;
S206,比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果,其中,测试文件用于记录待测试界面的测试关键词,以及与测试关键词相匹配的界面测试操作的操作标识;
S208,在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令,其中,测试操作指令用于指示应用客户端执行与目标界面的目标测试关键词相匹配的目标界面测试操作。
可选地,上述界面操作测试方法可以但不限于应用于软件测试领域,或者自动化领域。以下结合上述软件测试领域对上述界面操作测试方法进行说明。上述应用客户端可以为某一款待测试的应用软件的客户端,上述界面操作关键词可以为应用软件的客户端上的登录按钮上的登录字样,上述目标界面测试操作可以为对登录按钮执行按下操作或者点击操作。如图3所示,图3为一种待测试的应用软件的应用客户端的登录界面。获取对图3所示的应用软件的客户端的用户界面截图。识别用户界面截图中的登录字样,在识别到上述登录字样后,将上述登录字样与测试文件中记录的测试关键词做比对,在比对结果指示上述登录字样与测试关键词相匹配的情况下,向应用客户端发送操作指令,用于点击或者按下登录按钮,从而登录待测试应用软件。
需要说明的是,相关技术中针对UI界面操作的测试,通常是使用预先配置的特殊接口来获取UI中的数据,再通过编写的专门的UI测试代码对UI界面操作所涉及的UI组件进行测试。然而,上述测试过程中,需要多次编写不同的UI测试代码,造成操作测试复杂度高的问题。而本实施例中,通过获取应用客户端中待测试的用户界面截图;识别用户界面截图中所包含的界面操作关键词;比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果;在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令的方法,在上述方法中,由于是对待测试的用户界面的截图进行识别,并根据识别出的界面操作关键词与测试关键词得到比对结果,从而可以根据得到的比对结果向应用客户端发送测试操作指令,不再需要预先配置特殊接口来获取UI中的数据,也不需要多次编写不同的UI测试代码,达到了降低界面操作测试复杂度的效果。
可选地,在识别用户界面截图中的界面操作关键词时,可以采用光学字符识别方法对用户界面截图进行识别,得到识别结果。识别结果中如果包含分隔符,则根据分隔符划分识别结果,得到界面操作关键字,如果识别结果中不包含分隔符,则根据语义分析划分识别结果,得到界面操作关键字。
可选地,上述用户界面截图可以采用多种工具完成,例如Android开发工具自带的安卓调试桥(Android Debug Bridge,简称adb)adb或屏幕拷贝工具等。
例如,继续结合上述软件测试领域进行说明。如图4所示,图4为待测试的应用软件的客户端,对上述待测试的应用软件的客户端进行截图,得到用户界面截图。上述分隔符可以为标点符号。图4对应的用户界面截图中的识别结果为:“请选择登录服务器”、“我的选择是”、“1区、2区、3区、4区”。上述识别结果中“1区、2区、3区、4区”中包含标点符号,按照标点符号将上述识别结果划分,得到的界面操作关键词为“1区”、“2区”、“3区”、“4区”。而“请选择登录服务器”、“我的选择是”中没有标点符号,则根据语义分析划分,得到“请”、“选择”、“登录服务器”、“我”、“的”、“选择”、“是”等界面操作关键词。
可选地,如果用户界面截图中的背景画面较为复杂,则可以先通过灰度图转黑白二色图的方式,并设置较高阀值,只保留白色文字,移除背景后再进行识别。
可选地,在获取到上述界面操作关键词之后,需要将上述界面操作关键词与测试文件中的待测试界面的测试关键词进行比对,得到比对结果。在比对结果指示通过并列分隔符识别出多个界面操作关键词,且多个界面操作关键词中至少一个界面操作关键词与目标界面中至少一个目标测试关键词一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;在比对结果指示通过普通分隔符识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;在比对结果指示通过语义分析识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配。
可选地,上述并列分隔符可以为相同的标点符号,上述普通分隔符可以为不同的标点符号。或者,上述并列分隔符可以为相同级别的标点符号,上述普通分隔符可以为不同级别的标点符号。分隔符的级别可以预先设定。
可选地,在通过光学字符识别方法对用户界面截图进行识别,可以通过不同的方法。例如,将用户界面截图发送给云端光学字符识别服务器;获取云端光学字符识别服务器所返回的对用户界面截图识别后得到的识别结果;或者利用本地的光学字符识别工具对用户界面截图进行识别,得到识别结果。
可选地,若选择识别服务器对用户界面截图进行识别,则需要接收应用客户端发送的用户界面截图,在接收到上述用户界面截图后,采用识别服务器中存储的识别工具对用户界面截图进行识别,得到识别结果,然后将上述识别结果发送给应用客户端。
可选地,上述识别服务器可以为光学识别(Optical Character Recognition,简称OCR)服务器。
需要说明的是,在将上述识别结果发送给应用客户端时,可以在识别完所有的用户界面截图后,一次性将所有识别结果发送给应用客户端,或者在识别完一张用户界面截图后,将该用户界面截图的识别结果发送给应用客户端。
若选择本次的光学字符识别工具对用户界面截图进行识别,则在获取到用户界面截图后,可以直接调用光学字符识别工具,从而完成对用户界面截图的识别。
可选地,为了避免识别后的识别结果中存在错别字等,在比对结果指示识别出的界面操作关键词与目标界面的目标测试关键词的编辑距离小于第一阈值的情况下,确定用户界面截图与待测试界面中所包含的目标界面相匹配,其中,编辑距离用于指示将界面操作关键词调整为目标测试关键词所执行的调整操作的次数。
例如,继续结合上述软件测试领域进行说明。上述编辑距离可以为将一句话或者一个词调整为另一句话或者另一个词需要执行的调整操作的次数。例如,对一个词进行增删查改得到另外一个词,对一个字的笔画进行增删查改得到另外一个字。如图4所示,当对图4对应的用户界面截图进行识别以后,识别的“请选择登录服务器”等内容有可能存在误差,例如识别结果为“请选择橙录服务器”。针对上述情况,需要设置一个第一阈值,在上述编辑距离小于第一阈值时,则认为识别出的用户界面截图与目标界面截图是匹配的。
可选地,在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令包括:确定与目标界面的目标测试关键词相匹配的目标界面测试操作的操作标识及目标界面测试操作的操作位置;利用目标界面测试操作的操作标识及目标界面测试操作的操作位置生成测试操作指令;向应用客户端发送测试操作指令,以使应用客户端在目标界面测试操作的操作位置上执行目标界面测试操作。
例如,继续结合上述软件测试领域进行说明。如图5所示,图5为待测试的应用软件的用户界面,与该界面对应的用户截图中包括了用于跳转的跳转按钮,和用于输入的控件。因此,需要根据目标测试关键词的类型确定操作标识与操作位置。当目标测试关键词为跳转时,则生成的测试操作指令中携带有跳转按钮的位置与执行的操作。应用客户端接收到上述测试操作指令后,对跳转按钮执行点击操作。
可选地,向应用客户端发送测试操作指令包括:在目标测试关键词所在位置与目标界面测试操作的操作位置一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标测试关键词所在位置的位置坐标;在目标测试关键词所在的位置与目标界面测试操作的操作位置不一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标界面测试操作的操作位置相对目标测试关键词所在位置的偏移距离。
例如,继续结合上述软件测试领域进行说明。如图5与图6所示,图6中跳转按钮所在的位置与图5中的跳转按钮所在的位置明显不同。因此,此时如果按照图6所示的跳转按钮所在的坐标生成测试操作指令,则根据生成的测试操作指令无法执行点击跳转按钮的操作。因此,需要得到跳转按钮的偏移距离,并根据上述偏移距离生成点击上述跳转按钮的测试操作指令。
可选地,在测试操作指令指示目标界面测试操作为输入操作的情况下,应用客户端获取测试操作指令中所携带的输入信息;在目标界面测试操作的操作位置上利用输入信息执行输入操作。
例如,继续结合上述软件测试领域,结合图5进行说明。图5中在识别出“请输入目的村落”之后,需要在下方的输入控件中输入内容。则在测试操作指令中携带待输入信息,并在图5中的输入空间中输入上述待输入信息。
可选地,在向应用客户端发送测试操作指令之后,还包括:进入等待状态;在等待状态的等待时长大于第二阈值的情况下,获取应用客户端中的下一张用户界面截图进行识别。
可选地,继续结合上述软件测试领域进行说明。如图7所示,在输入目的村落并按下跳转按钮之后,待测试应用客户端页面发生跳转,此时,服务器进入等待状态,等待一定时长后,再获取下一张用户界面截图。
可选地,上述进入等待可以为通过引入wait动作进入等待,还可以给wait动作加上时间参数,如果在等待时间结束后的下一张用户屏幕截图与上一张用户屏幕截图相同,则认为操作失败,再次等待。如果失败错误过多便认为自动化异常而停滞。
可选地,在获取应用客户端中待测试的用户界面截图之前,还包括:获取配置的测试文件,其中,测试文件用于记录待执行的测试任务中所包含的待测试界面的测试关键词,测试关键词为待测试界面中的部分或全部界面操作关键词。
通过本实施例,通过获取应用客户端中待测试的用户界面截图;识别用户界面截图中所包含的界面操作关键词;比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果;在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令的方法,在上述方法中,由于是对待测试的用户界面的截图进行识别,并根据识别出的界面操作关键词与测试关键词得到比对结果,从而可以根据得到的比对结果向应用客户端发送测试操作指令,不再需要预先配置特殊接口来获取UI中的数据,也不需要多次编写不同的UI测试代码,达到了降低界面操作测试复杂度的效果。
作为一种可选的实施方案,识别用户界面截图中所包含的界面操作关键词包括:
S1,通过光学字符识别方法对用户界面截图进行识别,得到识别结果;
S2,在识别结果中包含分隔符的情况下,按照分隔符划分识别结果,得到界面操作关键词;
S3,在识别结果中未包含分隔符的情况下,根据语义分析划分识别结果,得到界面操作关键词。
继续结合上述软件测试领域进行说明。如图4所示,图4为待测试的应用软件的客户端,对上述待测试的应用软件的客户端进行截图,得到用户界面截图。上述分隔符可以为标点符号。图4对应的用户界面截图中的识别结果为:“请选择登录服务器”、“我的选择是”、“1区、2区、3区、4区”。上述识别结果中“1区、2区、3区、4区”中包含标点符号,按照标点符号将上述识别结果划分,得到的界面操作关键词为“1区”、“2区”、“3区”、“4区”。而“请选择登录服务器”、“我的选择是”中没有标点符号,则根据语义分析划分,得到“请”、“选择”、“登录服务器”、“我”、“的”、“选择”、“是”等界面操作关键词。
通过本实施例,通过在识别结果中包含分隔符的情况下,按照分隔符划分识别结果,得到界面操作关键词,或者在识别结果中未包含分隔符的情况下,根据语义分析划分识别结果,从而得到界面操作关键词,从而可以对用户界面截图进行准确识别,得到界面操作关键词,达到了提高十倍用户界面截图准确率的效果,进一步降低了界面操作测试复杂度。
作为一种可选的实施方案,在比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,还包括:
S1,在比对结果指示通过并列分隔符识别出多个界面操作关键词,且多个界面操作关键词中至少一个界面操作关键词与目标界面中至少一个目标测试关键词一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;
S2,在比对结果指示通过普通分隔符识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;
S3,在比对结果指示通过语义分析识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配。
例如,继续结合图4进行说明。如图4所示,图4中的分隔符为并列分隔符,当识别出图4中的“1区”、“2区”、“3区”、“4区”后,如果目标界面中的多个目标测试关键词中存在上述“1区”、“2区”、“3区”、“4区”中的任何一个,则认为用户界面截图与目标界面相匹配。
通过本实施例,通过上述方法确定用户界面截图与目标界面是否匹配,从而提高了界面操作测试的效率,进而降低了界面操作测试的复杂度。
作为一种可选的实施方案,通过光学字符识别方法对用户界面截图进行识别,得到识别结果包括以下至少之一:
S1,将用户界面截图发送给云端光学字符识别服务器;获取云端光学字符识别服务器所返回的对用户界面截图识别后得到的识别结果;
S2,利用本地的光学字符识别工具对用户界面截图进行识别,得到识别结果。
可选地,若选择识别服务器对用户界面截图进行识别,则需要接收应用客户端发送的用户界面截图,在接收到上述用户界面截图后,采用识别服务器中存储的识别工具对用户界面截图进行识别,得到识别结果,然后将上述识别结果发送给应用客户端。
需要说明的是,在将上述识别结果发送给应用客户端时,可以在识别完所有的用户界面截图后,一次性将所有识别结果发送给应用客户端,或者在识别完一张用户界面截图后,将该用户界面截图的识别结果发送给应用客户端。
若选择本次的光学字符识别工具对用户界面截图进行识别,则在获取到用户界面截图后,可以直接调用光学字符识别工具,从而完成对用户界面截图的识别。
通过本实施例,通过云端光学字符识别服务器对用户界面截图进行识别或者通过本地的光学字符识别工具对用户界面截图进行识别,得到识别结果,从而可以灵活地对用户界面截图进行识别,提高了识别效率,降低了界面操作测试复杂度。
作为一种可选的实施方案,在比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,还包括:
S1,在比对结果指示识别出的界面操作关键词与目标界面的目标测试关键词的编辑距离小于第一阈值的情况下,确定用户界面截图与待测试界面中所包含的目标界面相匹配,其中,编辑距离用于指示将界面操作关键词调整为目标测试关键词所执行的调整操作的次数。
例如,继续结合上述软件测试领域进行说明。上述编辑距离可以为将一句话或者一个词调整为另一句话或者另一个词需要执行的调整操作的次数。例如,对一个词进行增删查改得到另外一个词,对一个字的笔画进行增删查改得到另外一个字。如图4所示,当对图4对应的用户界面截图进行识别以后,识别的“请选择登录服务器”等内容有可能存在误差,例如识别结果为“请选择橙录服务器”。针对上述情况,需要设置一个第一阈值,在上述编辑距离小于第一阈值时,则认为识别出的用户界面截图与目标界面截图是匹配的。
通过本实施例,通过在比对结果指示识别出的界面操作关键词与目标界面的目标测试关键词的编辑距离小于第一阈值的情况下,确定用户界面截图与待测试界面中所包含的目标界面相匹配,从而避免了在界面操作测试中产生误差而无法继续测试的情况,降低了界面操作测试复杂度。
作为一种可选的实施方案,在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令包括:
S1,确定与目标界面的目标测试关键词相匹配的目标界面测试操作的操作标识及目标界面测试操作的操作位置;
S2,利用目标界面测试操作的操作标识及目标界面测试操作的操作位置生成测试操作指令;
S3,向应用客户端发送测试操作指令,以使应用客户端在目标界面测试操作的操作位置上执行目标界面测试操作。
例如,继续结合上述软件测试领域进行说明。如图5所示,图5为待测试的应用软件的用户界面,与该界面对应的用户截图中包括了用于跳转的跳转按钮,和用于输入的控件。因此,需要根据目标测试关键词的类型确定操作标识与操作位置。当目标测试关键词为跳转时,则生成的测试操作指令中携带有跳转按钮的位置与执行的操作。应用客户端接收到上述测试操作指令后,对跳转按钮执行点击操作。
通过本实施例,通过确定与目标界面的目标测试关键词相匹配的目标界面测试操作的操作标识及目标界面测试操作的操作位置,利用目标界面测试操作的操作标识及目标界面测试操作的操作位置生成测试操作指令,以及向应用客户端发送测试操作指令,从而降低了界面操作测试复杂度。
作为一种可选的实施方案,向应用客户端发送测试操作指令包括:
S1,在目标测试关键词所在位置与目标界面测试操作的操作位置一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标测试关键词所在位置的位置坐标;
S2,在目标测试关键词所在的位置与目标界面测试操作的操作位置不一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标界面测试操作的操作位置相对目标测试关键词所在位置的偏移距离。
例如,继续结合上述软件测试领域进行说明。如图5与图6所示,图6中跳转按钮所在的位置与图5中的跳转按钮所在的位置明显不同。因此,此时如果按照图6所示的跳转按钮所在的坐标生成测试操作指令,则根据生成的测试操作指令无法执行点击跳转按钮的操作。因此,需要得到跳转按钮的偏移距离,并根据上述偏移距离生成点击上述跳转按钮的测试操作指令。
通过本实施例,通过在目标测试关键词所在的位置与目标界面测试操作的操作位置不一致的情况下,向应用客户端发送测试操作指令,并在测试操作指令中携带目标测试关键词所在位置的偏移距离,从而可以避免目标测试关键词所在位置存在偏移而无法继续进行软件测试的问题,降低了界面操作测试复杂度。
作为一种可选的实施方案,在向应用客户端发送测试操作指令之后,还包括以下至少之一:
S1,在测试操作指令指示目标界面测试操作为点击操作的情况下,应用客户端在目标界面测试操作的操作位置上执行点击操作;
S2,在测试操作指令指示目标界面测试操作为输入操作的情况下,应用客户端获取测试操作指令中所携带的输入信息;在目标界面测试操作的操作位置上利用输入信息执行输入操作。
例如,继续结合上述软件测试领域,结合图5进行说明。图5中在识别出“请输入目的村落”之后,需要在下方的输入控件中输入内容。则在测试操作指令中携带待输入信息,并在图5中的输入空间中输入上述待输入信息。
通过本实施例,通过在目标界面测试操作的操作位置执行点击操作或者在目标界面测试操作的操作位置上执行输入操作,从而提高了可以在目标界面测试操作的灵活性,进一步降低了界面操作测试复杂度。
作为一种可选的实施方案,在向应用客户端发送测试操作指令之后,还包括:
S1,进入等待状态;
S2,在等待状态的等待时长大于第二阈值的情况下,获取应用客户端中的下一张用户界面截图进行识别。
可选地,继续结合上述软件测试领域进行说明。如图7所示,在输入目的村落并按下跳转按钮之后,待测试应用客户端页面发生跳转,此时,服务器进入等待状态,等待一定时长后,再获取下一张用户界面截图。
通过本实施例,通过在等待状态的等待时长大于第二阈值的情况下,获取应用客户端中的下一张用户界面截图并进行识别,从而可以自动地完成界面操作测试,降低了界面操作测试复杂度。
作为一种可选的实施方案,在获取应用客户端中待测试的用户界面截图之前,还包括:
S1,获取配置的测试文件,其中,测试文件用于记录待执行的测试任务中所包含的待测试界面的测试关键词,测试关键词为待测试界面中的部分或全部界面操作关键词。
例如,继续结合上述软件测试领域进行说明。在软件测试之前,获取到配置的测试文件,进而根据测试文件中记录的测试关键词,进行软件测试,从而可以有选择地完成对软件的测试。
通过本实施例,通过获取配置的测试文件,并根据测试文件进行界面操作测试,从而降低了界面操作测试复杂度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述界面操作测试方法的界面操作测试装置,如图8所示,该装置包括:
(1)第一获取单元802,用于获取应用客户端中待测试的用户界面截图;
(2)识别单元804,用于识别用户界面截图中所包含的界面操作关键词;
(3)比对单元806,用于比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果,其中,测试文件用于记录待测试界面的测试关键词,以及与测试关键词相匹配的界面测试操作的操作标识;
(4)发送单元808,用于在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令,其中,测试操作指令用于指示应用客户端执行与目标界面的目标测试关键词相匹配的目标界面测试操作。
可选地,上述界面操作测试装置可以但不限于应用于软件测试领域,或者自动化领域。以下结合上述软件测试领域对上述界面操作测试方法进行说明。上述应用客户端可以为某一款待测试的应用软件的客户端,上述界面操作关键词可以为应用软件的客户端上的登录按钮上的登录字样,上述目标界面测试操作可以为对登录按钮执行按下操作或者点击操作。如图3所示,图3为一种待测试的应用软件的应用客户端的登录界面。获取对图3所示的应用软件的客户端的用户界面截图。识别用户界面截图中的登录字样,在识别到上述登录字样后,将上述登录字样与测试文件中记录的测试关键词做比对,在比对结果指示上述登录字样与测试关键词相匹配的情况下,向应用客户端发送操作指令,用于点击或者按下登录按钮,从而登录待测试应用软件。
需要说明的是,相关技术中针对UI界面操作的测试,通常是使用预先配置的特殊接口来获取UI中的数据,再通过编写的专门的UI测试代码对UI界面操作所涉及的UI组件进行测试。然而,上述测试过程中,需要多次编写不同的UI测试代码,造成操作测试复杂度高的问题。而本实施例中,通过获取应用客户端中待测试的用户界面截图;识别用户界面截图中所包含的界面操作关键词;比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果;在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令的方法,在上述方法中,由于是对待测试的用户界面的截图进行识别,并根据识别出的界面操作关键词与测试关键词得到比对结果,从而可以根据得到的比对结果向应用客户端发送测试操作指令,不再需要预先配置特殊接口来获取UI中的数据,也不需要多次编写不同的UI测试代码,达到了降低界面操作测试复杂度的效果。
可选地,在识别用户界面截图中的界面操作关键词时,可以采用光学字符识别方法对用户界面截图进行识别,得到识别结果。识别结果中如果包含分隔符,则根据分隔符划分识别结果,得到界面操作关键字,如果识别结果中不包含分隔符,则根据语义分析划分识别结果,得到界面操作关键字。
可选地,上述用户界面截图可以采用多种工具完成,例如Android开发工具自带的安卓调试桥(Android Debug Bridge,简称adb)adb或屏幕拷贝工具等。
例如,继续结合上述软件测试领域进行说明。如图4所示,图4为待测试的应用软件的客户端,对上述待测试的应用软件的客户端进行截图,得到用户界面截图。上述分隔符可以为标点符号。图4对应的用户界面截图中的识别结果为:“请选择登录服务器”、“我的选择是”、“1区、2区、3区、4区”。上述识别结果中“1区、2区、3区、4区”中包含标点符号,按照标点符号将上述识别结果划分,得到的界面操作关键词为“1区”、“2区”、“3区”、“4区”。而“请选择登录服务器”、“我的选择是”中没有标点符号,则根据语义分析划分,得到“请”、“选择”、“登录服务器”、“我”、“的”、“选择”、“是”等界面操作关键词。
可选地,如果用户界面截图中的背景画面较为复杂,则可以先通过灰度图转黑白二色图的方式,并设置较高阀值,只保留白色文字,移除背景后再进行识别。
可选地,在获取到上述界面操作关键词之后,需要将上述界面操作关键词与测试文件中的待测试界面的测试关键词进行比对,得到比对结果。在比对结果指示通过并列分隔符识别出多个界面操作关键词,且多个界面操作关键词中至少一个界面操作关键词与目标界面中至少一个目标测试关键词一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;在比对结果指示通过普通分隔符识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;在比对结果指示通过语义分析识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配。
可选地,上述并列分隔符可以为相同的标点符号,上述普通分隔符可以为不同的标点符号。或者,上述并列分隔符可以为相同级别的标点符号,上述普通分隔符可以为不同级别的标点符号。分隔符的级别可以预先设定。
可选地,在通过光学字符识别方法对用户界面截图进行识别,可以通过不同的方法。例如,将用户界面截图发送给云端光学字符识别服务器;获取云端光学字符识别服务器所返回的对用户界面截图识别后得到的识别结果;或者利用本地的光学字符识别工具对用户界面截图进行识别,得到识别结果。
可选地,若选择识别服务器对用户界面截图进行识别,则需要接收应用客户端发送的用户界面截图,在接收到上述用户界面截图后,采用识别服务器中存储的识别工具对用户界面截图进行识别,得到识别结果,然后将上述识别结果发送给应用客户端。
可选地,上述识别服务器可以为光学识别(Optical Character Recognition,简称OCR)服务器。
需要说明的是,在将上述识别结果发送给应用客户端时,可以在识别完所有的用户界面截图后,一次性将所有识别结果发送给应用客户端,或者在识别完一张用户界面截图后,将该用户界面截图的识别结果发送给应用客户端。
若选择本次的光学字符识别工具对用户界面截图进行识别,则在获取到用户界面截图后,可以直接调用光学字符识别工具,从而完成对用户界面截图的识别。
可选地,为了避免识别后的识别结果中存在错别字等,在比对结果指示识别出的界面操作关键词与目标界面的目标测试关键词的编辑距离小于第一阈值的情况下,确定用户界面截图与待测试界面中所包含的目标界面相匹配,其中,编辑距离用于指示将界面操作关键词调整为目标测试关键词所执行的调整操作的次数。
例如,继续结合上述软件测试领域进行说明。上述编辑距离可以为将一句话或者一个词调整为另一句话或者另一个词需要执行的调整操作的次数。例如,对一个词进行增删查改得到另外一个词,对一个字的笔画进行增删查改得到另外一个字。如图4所示,当对图4对应的用户界面截图进行识别以后,识别的“请选择登录服务器”等内容有可能存在误差,例如识别结果为“请选择橙录服务器”。针对上述情况,需要设置一个第一阈值,在上述编辑距离小于第一阈值时,则认为识别出的用户界面截图与目标界面截图是匹配的。
可选地,在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令包括:确定与目标界面的目标测试关键词相匹配的目标界面测试操作的操作标识及目标界面测试操作的操作位置;利用目标界面测试操作的操作标识及目标界面测试操作的操作位置生成测试操作指令;向应用客户端发送测试操作指令,以使应用客户端在目标界面测试操作的操作位置上执行目标界面测试操作。
例如,继续结合上述软件测试领域进行说明。如图5所示,图5为待测试的应用软件的用户界面,与该界面对应的用户截图中包括了用于跳转的跳转按钮,和用于输入的控件。因此,需要根据目标测试关键词的类型确定操作标识与操作位置。当目标测试关键词为跳转时,则生成的测试操作指令中携带有跳转按钮的位置与执行的操作。应用客户端接收到上述测试操作指令后,对跳转按钮执行点击操作。
可选地,向应用客户端发送测试操作指令包括:在目标测试关键词所在位置与目标界面测试操作的操作位置一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标测试关键词所在位置的位置坐标;在目标测试关键词所在的位置与目标界面测试操作的操作位置不一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标界面测试操作的操作位置相对目标测试关键词所在位置的偏移距离。
例如,继续结合上述软件测试领域进行说明。如图5与图6所示,图6中跳转按钮所在的位置与图5中的跳转按钮所在的位置明显不同。因此,此时如果按照图6所示的跳转按钮所在的坐标生成测试操作指令,则根据生成的测试操作指令无法执行点击跳转按钮的操作。因此,需要得到跳转按钮的偏移距离,并根据上述偏移距离生成点击上述跳转按钮的测试操作指令。
可选地,在测试操作指令指示目标界面测试操作为输入操作的情况下,应用客户端获取测试操作指令中所携带的输入信息;在目标界面测试操作的操作位置上利用输入信息执行输入操作。
例如,继续结合上述软件测试领域,结合图5进行说明。图5中在识别出“请输入目的村落”之后,需要在下方的输入控件中输入内容。则在测试操作指令中携带待输入信息,并在图5中的输入空间中输入上述待输入信息。
可选地,在向应用客户端发送测试操作指令之后,还包括:进入等待状态;在等待状态的等待时长大于第二阈值的情况下,获取应用客户端中的下一张用户界面截图进行识别。
可选地,继续结合上述软件测试领域进行说明。如图7所示,在输入目的村落并按下跳转按钮之后,待测试应用客户端页面发生跳转,此时,服务器进入等待状态,等待一定时长后,再获取下一张用户界面截图。
可选地,上述进入等待可以为通过引入wait动作进入等待,还可以给wait动作加上时间参数,如果在等待时间结束后的下一张用户屏幕截图与上一张用户屏幕截图相同,则认为操作失败,再次等待。如果失败错误过多便认为自动化异常而停滞。
可选地,在获取应用客户端中待测试的用户界面截图之前,还包括:获取配置的测试文件,其中,测试文件用于记录待执行的测试任务中所包含的待测试界面的测试关键词,测试关键词为待测试界面中的部分或全部界面操作关键词。
通过本实施例,通过获取应用客户端中待测试的用户界面截图;识别用户界面截图中所包含的界面操作关键词;比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果;在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令的方法,在上述方法中,由于是对待测试的用户界面的截图进行识别,并根据识别出的界面操作关键词与测试关键词得到比对结果,从而可以根据得到的比对结果向应用客户端发送测试操作指令,不再需要预先配置特殊接口来获取UI中的数据,也不需要多次编写不同的UI测试代码,达到了降低界面操作测试复杂度的效果。
作为一种可选的实施方案,如图9所示,上述识别单元804包括:
(1)识别模块902,用于通过光学字符识别方法对用户界面截图进行识别,得到识别结果;
(2)第一划分模块904,用于在识别结果中包含分隔符的情况下,按照分隔符划分识别结果,得到界面操作关键词;
(3)第二划分模块906,用于在识别结果中未包含分隔符的情况下,根据语义分析划分识别结果,得到界面操作关键词。
继续结合上述软件测试领域进行说明。如图4所示,图4为待测试的应用软件的客户端,对上述待测试的应用软件的客户端进行截图,得到用户界面截图。上述分隔符可以为标点符号。图4对应的用户界面截图中的识别结果为:“请选择登录服务器”、“我的选择是”、“1区、2区、3区、4区”。上述识别结果中“1区、2区、3区、4区”中包含标点符号,按照标点符号将上述识别结果划分,得到的界面操作关键词为“1区”、“2区”、“3区”、“4区”。而“请选择登录服务器”、“我的选择是”中没有标点符号,则根据语义分析划分,得到“请”、“选择”、“登录服务器”、“我”、“的”、“选择”、“是”等界面操作关键词。
通过本实施例,通过在识别结果中包含分隔符的情况下,按照分隔符划分识别结果,得到界面操作关键词,或者在识别结果中未包含分隔符的情况下,根据语义分析划分识别结果,从而得到界面操作关键词,从而可以对用户界面截图进行准确识别,得到界面操作关键词,达到了提高十倍用户界面截图准确率的效果,进一步降低了界面操作测试复杂度。
作为一种可选的实施方案,上述装置还包括:
(1)第一确定单元,用于在比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,在比对结果指示通过并列分隔符识别出多个界面操作关键词,且多个界面操作关键词中至少一个界面操作关键词与目标界面中至少一个目标测试关键词一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;
(2)第二确定单元,用于在比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,在比对结果指示通过普通分隔符识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;
(3)第三确定单元,用于在比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,在比对结果指示通过语义分析识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配。
例如,继续结合图4进行说明。如图4所示,图4中的分隔符为并列分隔符,当识别出图4中的“1区”、“2区”、“3区”、“4区”后,如果目标界面中的多个目标测试关键词中存在上述“1区”、“2区”、“3区”、“4区”中的任何一个,则认为用户界面截图与目标界面相匹配。
通过本实施例,通过上述方法确定用户界面截图与目标界面是否匹配,从而提高了界面操作测试的效率,进而降低了界面操作测试的复杂度。
作为一种可选的实施方案,上述识别模块包括以下至少之一:
(1)第一发送子模块,用于将用户界面截图发送给云端光学字符识别服务器;获取云端光学字符识别服务器所返回的对用户界面截图识别后得到的识别结果;
(2)识别子模块,用于利用本地的光学字符识别工具对用户界面截图进行识别,得到识别结果。
可选地,若选择识别服务器对用户界面截图进行识别,则需要接收应用客户端发送的用户界面截图,在接收到上述用户界面截图后,采用识别服务器中存储的识别工具对用户界面截图进行识别,得到识别结果,然后将上述识别结果发送给应用客户端。
需要说明的是,在将上述识别结果发送给应用客户端时,可以在识别完所有的用户界面截图后,一次性将所有识别结果发送给应用客户端,或者在识别完一张用户界面截图后,将该用户界面截图的识别结果发送给应用客户端。
若选择本次的光学字符识别工具对用户界面截图进行识别,则在获取到用户界面截图后,可以直接调用光学字符识别工具,从而完成对用户界面截图的识别。
通过本实施例,通过云端光学字符识别服务器对用户界面截图进行识别或者通过本地的光学字符识别工具对用户界面截图进行识别,得到识别结果,从而可以灵活地对用户界面截图进行识别,提高了识别效率,降低了界面操作测试复杂度。
作为一种可选的实施方案,上述装置还包括:
(1)第四确定单元,用于在比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,在比对结果指示识别出的界面操作关键词与目标界面的目标测试关键词的编辑距离小于第一阈值的情况下,确定用户界面截图与待测试界面中所包含的目标界面相匹配,其中,编辑距离用于指示将界面操作关键词调整为目标测试关键词所执行的调整操作的次数。
例如,继续结合上述软件测试领域进行说明。上述编辑距离可以为将一句话或者一个词调整为另一句话或者另一个词需要执行的调整操作的次数。例如,对一个词进行增删查改得到另外一个词,对一个字的笔画进行增删查改得到另外一个字。如图4所示,当对图4对应的用户界面截图进行识别以后,识别的“请选择登录服务器”等内容有可能存在误差,例如识别结果为“请选择橙录服务器”。针对上述情况,需要设置一个第一阈值,在上述编辑距离小于第一阈值时,则认为识别出的用户界面截图与目标界面截图是匹配的。
通过本实施例,通过在比对结果指示识别出的界面操作关键词与目标界面的目标测试关键词的编辑距离小于第一阈值的情况下,确定用户界面截图与待测试界面中所包含的目标界面相匹配,从而避免了在界面操作测试中产生误差而无法继续测试的情况,降低了界面操作测试复杂度。
作为一种可选的实施方案,上述发送单元包括:
(1)确定模块,用于确定与目标界面的目标测试关键词相匹配的目标界面测试操作的操作标识及目标界面测试操作的操作位置;
(2)生成模块,用于利用目标界面测试操作的操作标识及目标界面测试操作的操作位置生成测试操作指令;
(3)发送模块,用于向应用客户端发送测试操作指令,以使应用客户端在目标界面测试操作的操作位置上执行目标界面测试操作。
例如,继续结合上述软件测试领域进行说明。如图5所示,图5为待测试的应用软件的用户界面,与该界面对应的用户截图中包括了用于跳转的跳转按钮,和用于输入的控件。因此,需要根据目标测试关键词的类型确定操作标识与操作位置。当目标测试关键词为跳转时,则生成的测试操作指令中携带有跳转按钮的位置与执行的操作。应用客户端接收到上述测试操作指令后,对跳转按钮执行点击操作。
通过本实施例,通过确定与目标界面的目标测试关键词相匹配的目标界面测试操作的操作标识及目标界面测试操作的操作位置,利用目标界面测试操作的操作标识及目标界面测试操作的操作位置生成测试操作指令,以及向应用客户端发送测试操作指令,从而降低了界面操作测试复杂度。
作为一种可选的实施方案,上述发送模块包括:
(1)第二发送子模块,用于在目标测试关键词所在位置与目标界面测试操作的操作位置一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标测试关键词所在位置的位置坐标;
(2)第三发送子模块,用于在目标测试关键词所在的位置与目标界面测试操作的操作位置不一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标界面测试操作的操作位置相对目标测试关键词所在位置的偏移距离。
例如,继续结合上述软件测试领域进行说明。如图5与图6所示,图6中跳转按钮所在的位置与图5中的跳转按钮所在的位置明显不同。因此,此时如果按照图6所示的跳转按钮所在的坐标生成测试操作指令,则根据生成的测试操作指令无法执行点击跳转按钮的操作。因此,需要得到跳转按钮的偏移距离,并根据上述偏移距离生成点击上述跳转按钮的测试操作指令。
通过本实施例,通过在目标测试关键词所在的位置与目标界面测试操作的操作位置不一致的情况下,向应用客户端发送测试操作指令,并在测试操作指令中携带目标测试关键词所在位置的偏移距离,从而可以避免目标测试关键词所在位置存在偏移而无法继续进行软件测试的问题,降低了界面操作测试复杂度。
作为一种可选的实施方案,上述发送单元还包括以下至少之一:
(1)第一执行模块,用于在向应用客户端发送测试操作指令之后,在测试操作指令指示目标界面测试操作为点击操作的情况下,应用客户端在目标界面测试操作的操作位置上执行点击操作;
(2)第二执行模块,用于在向应用客户端发送测试操作指令之后,在测试操作指令指示目标界面测试操作为输入操作的情况下,应用客户端获取测试操作指令中所携带的输入信息;在目标界面测试操作的操作位置上利用输入信息执行输入操作。
例如,继续结合上述软件测试领域,结合图5进行说明。图5中在识别出“请输入目的村落”之后,需要在下方的输入控件中输入内容。则在测试操作指令中携带待输入信息,并在图5中的输入空间中输入上述待输入信息。
通过本实施例,通过在目标界面测试操作的操作位置执行点击操作或者在目标界面测试操作的操作位置上执行输入操作,从而提高了可以在目标界面测试操作的灵活性,进一步降低了界面操作测试复杂度。
作为一种可选的实施方案,上述装置还包括:
(1)等待单元,用于在向应用客户端发送测试操作指令之后,进入等待状态;
(2)第二获取单元,用于在向应用客户端发送测试操作指令之后,在等待状态的等待时长大于第二阈值的情况下,获取应用客户端中的下一张用户界面截图进行识别。
可选地,继续结合上述软件测试领域进行说明。如图7所示,在输入目的村落并按下跳转按钮之后,待测试应用客户端页面发生跳转,此时,服务器进入等待状态,等待一定时长后,再获取下一张用户界面截图。
通过本实施例,通过在等待状态的等待时长大于第二阈值的情况下,获取应用客户端中的下一张用户界面截图并进行识别,从而可以自动地完成界面操作测试,降低了界面操作测试复杂度。
作为一种可选的实施方案,上述装置还包括:
(1)第三获取单元,用于在获取应用客户端中待测试的用户界面截图之前,获取配置的测试文件,其中,测试文件用于记录待执行的测试任务中所包含的待测试界面的测试关键词,测试关键词为待测试界面中的部分或全部界面操作关键词。
例如,继续结合上述软件测试领域进行说明。在软件测试之前,获取到配置的测试文件,进而根据测试文件中记录的测试关键词,进行软件测试,从而可以有选择地完成对软件的测试。
通过本实施例,通过获取配置的测试文件,并根据测试文件进行界面操作测试,从而降低了界面操作测试复杂度。
根据本发明实施例的又一个方面,还提供了一种用于实施上述界面操作测试方法的电子装置,如图10所示,该电子装置包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取应用客户端中待测试的用户界面截图;
S2,识别用户界面截图中所包含的界面操作关键词;
S3,比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果,其中,测试文件用于记录待测试界面的测试关键词,以及与测试关键词相匹配的界面测试操作的操作标识;
S4,在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令,其中,测试操作指令用于指示应用客户端执行与目标界面的目标测试关键词相匹配的目标界面测试操作。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的界面操作测试方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的界面操作测试的方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1002用于存储用户界面截图、界面操作关键词、待测试界面的测试关键词等。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取应用客户端中待测试的用户界面截图;
S2,识别用户界面截图中所包含的界面操作关键词;
S3,比对识别出的界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果,其中,测试文件用于记录待测试界面的测试关键词,以及与测试关键词相匹配的界面测试操作的操作标识;
S4,在比对结果指示用户界面截图与待测试界面中所包含的目标界面相匹配的情况下,向应用客户端发送测试操作指令,其中,测试操作指令用于指示应用客户端执行与目标界面的目标测试关键词相匹配的目标界面测试操作。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,通过光学字符识别方法对用户界面截图进行识别,得到识别结果;
S2,在识别结果中包含分隔符的情况下,按照分隔符划分识别结果,得到界面操作关键词;
S3,在识别结果中未包含分隔符的情况下,根据语义分析划分识别结果,得到界面操作关键词。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,在比对结果指示通过并列分隔符识别出多个界面操作关键词,且多个界面操作关键词中至少一个界面操作关键词与目标界面中至少一个目标测试关键词一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;
S2,在比对结果指示通过普通分隔符识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配;
S3,在比对结果指示通过语义分析识别出多个界面操作关键词,且多个界面操作关键词与目标界面中的多个目标测试关键词均一致的情况下,确定包含多个界面操作关键词的用户界面截图与目标界面相匹配。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,将用户界面截图发送给云端光学字符识别服务器;获取云端光学字符识别服务器所返回的对用户界面截图识别后得到的识别结果;
S2,利用本地的光学字符识别工具对用户界面截图进行识别,得到识别结果。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,在比对结果指示识别出的界面操作关键词与目标界面的目标测试关键词的编辑距离小于第一阈值的情况下,确定用户界面截图与待测试界面中所包含的目标界面相匹配,其中,编辑距离用于指示将界面操作关键词调整为目标测试关键词所执行的调整操作的次数。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,确定与目标界面的目标测试关键词相匹配的目标界面测试操作的操作标识及目标界面测试操作的操作位置;
S2,利用目标界面测试操作的操作标识及目标界面测试操作的操作位置生成测试操作指令;
S3,向应用客户端发送测试操作指令,以使应用客户端在目标界面测试操作的操作位置上执行目标界面测试操作。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,在目标测试关键词所在位置与目标界面测试操作的操作位置一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标测试关键词所在位置的位置坐标;
S2,在目标测试关键词所在的位置与目标界面测试操作的操作位置不一致的情况下,向应用客户端发送测试操作指令,其中,测试操作指令中携带有目标界面测试操作的操作位置相对目标测试关键词所在位置的偏移距离。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,在测试操作指令指示目标界面测试操作为点击操作的情况下,应用客户端在目标界面测试操作的操作位置上执行点击操作;
S2,在测试操作指令指示目标界面测试操作为输入操作的情况下,应用客户端获取测试操作指令中所携带的输入信息;在目标界面测试操作的操作位置上利用输入信息执行输入操作。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,进入等待状态;
S2,在等待状态的等待时长大于第二阈值的情况下,获取应用客户端中的下一张用户界面截图进行识别。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,获取配置的测试文件,其中,测试文件用于记录待执行的测试任务中所包含的待测试界面的测试关键词,测试关键词为待测试界面中的部分或全部界面操作关键词。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种界面操作测试方法,其特征在于,包括:
获取应用客户端中待测试的用户界面截图;
识别所述用户界面截图中所包含的界面操作关键词;
比对识别出的所述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果,其中,所述测试文件用于记录所述待测试界面的所述测试关键词,以及与所述测试关键词相匹配的界面测试操作的操作标识;
在所述比对结果指示所述用户界面截图与所述待测试界面中所包含的目标界面相匹配的情况下,向所述应用客户端发送测试操作指令,其中,所述测试操作指令用于指示所述应用客户端执行与所述目标界面的目标测试关键词相匹配的目标界面测试操作。
2.根据权利要求1所述的方法,其特征在于,所述识别所述用户界面截图中所包含的界面操作关键词包括:
通过光学字符识别方法对所述用户界面截图进行识别,得到识别结果;
在所述识别结果中包含分隔符的情况下,按照所述分隔符划分所述识别结果,得到所述界面操作关键词;
在所述识别结果中未包含分隔符的情况下,根据语义分析划分所述识别结果,得到所述界面操作关键词。
3.根据权利要求2所述的方法,其特征在于,在比对识别出的所述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,还包括:
在所述比对结果指示通过并列分隔符识别出多个所述界面操作关键词,且多个所述界面操作关键词中至少一个所述界面操作关键词与所述目标界面中至少一个所述目标测试关键词一致的情况下,确定包含多个所述界面操作关键词的所述用户界面截图与所述目标界面相匹配;
在所述比对结果指示通过普通分隔符识别出多个所述界面操作关键词,且多个所述界面操作关键词与所述目标界面中的多个所述目标测试关键词均一致的情况下,确定包含多个所述界面操作关键词的所述用户界面截图与所述目标界面相匹配;
在所述比对结果指示通过语义分析识别出多个所述界面操作关键词,且多个所述界面操作关键词与所述目标界面中的多个所述目标测试关键词均一致的情况下,确定包含多个所述界面操作关键词的所述用户界面截图与所述目标界面相匹配。
4.根据权利要求2所述的方法,其特征在于,所述通过光学字符识别方法对所述用户界面截图进行识别,得到识别结果包括以下至少之一:
将所述用户界面截图发送给云端光学字符识别服务器;获取所述云端光学字符识别服务器所返回的对所述用户界面截图识别后得到的所述识别结果;
利用本地的光学字符识别工具对所述用户界面截图进行识别,得到所述识别结果。
5.根据权利要求1所述的方法,其特征在于,在比对识别出的所述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,还包括:
在所述比对结果指示识别出的所述界面操作关键词与所述目标界面的所述目标测试关键词的编辑距离小于第一阈值的情况下,确定所述用户界面截图与所述待测试界面中所包含的目标界面相匹配,其中,所述编辑距离用于指示将所述界面操作关键词调整为所述目标测试关键词所执行的调整操作的次数。
6.根据权利要求1所述的方法,其特征在于,所述在所述比对结果指示所述用户界面截图与所述待测试界面中所包含的目标界面相匹配的情况下,向所述应用客户端发送测试操作指令包括:
确定与所述目标界面的所述目标测试关键词相匹配的所述目标界面测试操作的操作标识及所述目标界面测试操作的操作位置;
利用所述目标界面测试操作的操作标识及所述目标界面测试操作的操作位置生成所述测试操作指令;
向所述应用客户端发送所述测试操作指令,以使所述应用客户端在所述目标界面测试操作的操作位置上执行所述目标界面测试操作。
7.根据权利要求6所述的方法,其特征在于,所述向所述应用客户端发送所述测试操作指令包括:
在所述目标测试关键词所在位置与所述目标界面测试操作的操作位置一致的情况下,向所述应用客户端发送所述测试操作指令,其中,所述测试操作指令中携带有所述目标测试关键词所在位置的位置坐标;
在所述目标测试关键词所在的位置与所述目标界面测试操作的操作位置不一致的情况下,向所述应用客户端发送所述测试操作指令,其中,所述测试操作指令中携带有所述目标界面测试操作的操作位置相对所述目标测试关键词所在位置的偏移距离。
8.根据权利要求6所述的方法,其特征在于,在所述向所述应用客户端发送测试操作指令之后,还包括以下至少之一:
在所述测试操作指令指示所述目标界面测试操作为点击操作的情况下,所述应用客户端在所述目标界面测试操作的操作位置上执行所述点击操作;
在所述测试操作指令指示所述目标界面测试操作为输入操作的情况下,所述应用客户端获取所述测试操作指令中所携带的输入信息;在所述目标界面测试操作的操作位置上利用所述输入信息执行所述输入操作。
9.根据权利要求1至8中任一项所述的方法,其特征在于,在所述向所述应用客户端发送测试操作指令之后,还包括:
进入等待状态;
在所述等待状态的等待时长大于第二阈值的情况下,获取所述应用客户端中的下一张用户界面截图进行识别。
10.根据权利要求1至8中任一项所述的方法,其特征在于,在所述获取应用客户端中待测试的用户界面截图之前,还包括:
获取配置的所述测试文件,其中,所述测试文件用于记录待执行的测试任务中所包含的所述待测试界面的测试关键词,所述测试关键词为所述待测试界面中的部分或全部界面操作关键词。
11.一种界面操作测试装置,其特征在于,包括:
第一获取单元,用于获取应用客户端中待测试的用户界面截图;
识别单元,用于识别所述用户界面截图中所包含的界面操作关键词;
比对单元,用于比对识别出的所述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果,其中,所述测试文件用于记录所述待测试界面的所述测试关键词,以及与所述测试关键词相匹配的界面测试操作的操作标识;
发送单元,用于在所述比对结果指示所述用户界面截图与所述待测试界面中所包含的目标界面相匹配的情况下,向所述应用客户端发送测试操作指令,其中,所述测试操作指令用于指示所述应用客户端执行与所述目标界面的目标测试关键词相匹配的目标界面测试操作。
12.根据权利要求11所述的装置,其特征在于,所述识别单元包括:
识别模块,用于通过光学字符识别方法对所述用户界面截图进行识别,得到识别结果;
第一划分模块,用于在所述识别结果中包含分隔符的情况下,按照所述分隔符划分所述识别结果,得到所述界面操作关键词;
第二划分模块,用于在所述识别结果中未包含分隔符的情况下,根据语义分析划分所述识别结果,得到所述界面操作关键词。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第一确定单元,用于在比对识别出的所述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,在所述比对结果指示通过并列分隔符识别出多个所述界面操作关键词,且多个所述界面操作关键词中至少一个所述界面操作关键词与所述目标界面中至少一个所述目标测试关键词一致的情况下,确定包含多个所述界面操作关键词的所述用户界面截图与所述目标界面相匹配;
第二确定单元,用于在比对识别出的所述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,在所述比对结果指示通过普通分隔符识别出多个所述界面操作关键词,且多个所述界面操作关键词与所述目标界面中的多个所述目标测试关键词均一致的情况下,确定包含多个所述界面操作关键词的所述用户界面截图与所述目标界面相匹配;
第三确定单元,用于在比对识别出的所述界面操作关键词和测试文件中所记录的待测试界面的测试关键词,得到比对结果之后,在所述比对结果指示通过语义分析识别出多个所述界面操作关键词,且多个所述界面操作关键词与所述目标界面中的多个所述目标测试关键词均一致的情况下,确定包含多个所述界面操作关键词的所述用户界面截图与所述目标界面相匹配。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至10任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至10任一项中所述的方法。
CN201810507033.3A 2018-05-23 2018-05-23 界面操作测试方法和装置、存储介质及电子装置 Active CN108845930B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810507033.3A CN108845930B (zh) 2018-05-23 2018-05-23 界面操作测试方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810507033.3A CN108845930B (zh) 2018-05-23 2018-05-23 界面操作测试方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN108845930A true CN108845930A (zh) 2018-11-20
CN108845930B CN108845930B (zh) 2022-12-30

Family

ID=64213375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810507033.3A Active CN108845930B (zh) 2018-05-23 2018-05-23 界面操作测试方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN108845930B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359056A (zh) * 2018-12-21 2019-02-19 北京搜狗科技发展有限公司 一种应用程序测试方法及装置
CN109684207A (zh) * 2018-12-14 2019-04-26 平安科技(深圳)有限公司 操作序列封装的方法、装置、电子设备及存储介质
CN109840212A (zh) * 2019-02-19 2019-06-04 百度在线网络技术(北京)有限公司 应用程序的功能测试方法、装置、设备及可读存储介质
CN109871326A (zh) * 2019-02-13 2019-06-11 广州云测信息技术有限公司 一种脚本录制的方法和装置
CN110008110A (zh) * 2019-01-28 2019-07-12 阿里巴巴集团控股有限公司 用户界面的测试方法及装置
CN110032510A (zh) * 2019-03-07 2019-07-19 深圳市腾讯信息技术有限公司 应用的测试方法及装置
CN110457214A (zh) * 2019-07-30 2019-11-15 腾讯科技(深圳)有限公司 应用测试方法及装置、电子设备
CN110727595A (zh) * 2019-10-14 2020-01-24 北京智游网安科技有限公司 一种应用登录界面识别方法、智能终端及存储介质
CN111782552A (zh) * 2020-08-07 2020-10-16 广州极点三维信息科技有限公司 一种基于区域划分的自动测试方法和装置
CN112882947A (zh) * 2021-03-15 2021-06-01 深圳市腾讯信息技术有限公司 一种界面测试方法、装置、设备及存储介质
CN113190444A (zh) * 2021-04-28 2021-07-30 深圳市腾讯网域计算机网络有限公司 一种测试方法、装置及存储介质
CN112882947B (zh) * 2021-03-15 2024-06-11 深圳市腾讯信息技术有限公司 一种界面测试方法、装置、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
CN101996131A (zh) * 2009-08-19 2011-03-30 航天信息股份有限公司 基于xml封装关键字的gui自动测试方法及自动测试平台
US20120084684A1 (en) * 2010-10-05 2012-04-05 Sudhindra Aithal Kota Rapid Automation Front-end Framework Library and Executable Graphic User Interface Testing System and Method
CN102957773A (zh) * 2011-08-29 2013-03-06 比亚迪股份有限公司 一种手机软件测试方法及系统
US20140075242A1 (en) * 2012-09-07 2014-03-13 Elena Dolinina Testing rest api applications
US8826084B1 (en) * 2011-09-07 2014-09-02 Innovative Defense Technologies, LLC Method and system for implementing automated test and retest procedures
CN104794048A (zh) * 2014-01-17 2015-07-22 阿里巴巴集团控股有限公司 一种ui自动化测试方法和系统
US20150339213A1 (en) * 2014-05-21 2015-11-26 Cgi Technologies And Solutions Inc. Automated testing of an application system
CN105389262A (zh) * 2015-12-23 2016-03-09 北京奇虎科技有限公司 一种针对界面测试生成测试建议的方法和装置
WO2016095554A1 (zh) * 2014-12-19 2016-06-23 广州博冠信息科技有限公司 应用程序的测试方法、设备及系统
CN106815134A (zh) * 2015-11-27 2017-06-09 北京奇虎科技有限公司 一种app测试方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
CN101996131A (zh) * 2009-08-19 2011-03-30 航天信息股份有限公司 基于xml封装关键字的gui自动测试方法及自动测试平台
US20120084684A1 (en) * 2010-10-05 2012-04-05 Sudhindra Aithal Kota Rapid Automation Front-end Framework Library and Executable Graphic User Interface Testing System and Method
CN102957773A (zh) * 2011-08-29 2013-03-06 比亚迪股份有限公司 一种手机软件测试方法及系统
US8826084B1 (en) * 2011-09-07 2014-09-02 Innovative Defense Technologies, LLC Method and system for implementing automated test and retest procedures
US20140075242A1 (en) * 2012-09-07 2014-03-13 Elena Dolinina Testing rest api applications
CN104794048A (zh) * 2014-01-17 2015-07-22 阿里巴巴集团控股有限公司 一种ui自动化测试方法和系统
US20150339213A1 (en) * 2014-05-21 2015-11-26 Cgi Technologies And Solutions Inc. Automated testing of an application system
WO2016095554A1 (zh) * 2014-12-19 2016-06-23 广州博冠信息科技有限公司 应用程序的测试方法、设备及系统
CN106815134A (zh) * 2015-11-27 2017-06-09 北京奇虎科技有限公司 一种app测试方法和装置
CN105389262A (zh) * 2015-12-23 2016-03-09 北京奇虎科技有限公司 一种针对界面测试生成测试建议的方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIAORG: "软件测试中有关界面测试经验总结-51testing", 《HTTPS://BLOG.CSDN.NET/JIAORG/ARTICLE/DETAILS/26058805》 *
MASASHI KOGA等: "Camera-based Kanji OCR for mobile-phones: practical issues", 《 EIGHTH INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION (ICDAR"05)》 *
XZY2046: "Android自动化测试之UIAutomator(三)---比对测试截图", 《HTTPS://BLOG.CSDN.NET/XZY2046/ARTICLE/DETAILS/41209923》 *
庄景明等: "基于内容过滤的农业信息推荐系统", 《计算机工程》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684207A (zh) * 2018-12-14 2019-04-26 平安科技(深圳)有限公司 操作序列封装的方法、装置、电子设备及存储介质
CN109359056A (zh) * 2018-12-21 2019-02-19 北京搜狗科技发展有限公司 一种应用程序测试方法及装置
CN110008110A (zh) * 2019-01-28 2019-07-12 阿里巴巴集团控股有限公司 用户界面的测试方法及装置
CN109871326B (zh) * 2019-02-13 2022-03-15 北京云测信息技术有限公司 一种脚本录制的方法和装置
CN109871326A (zh) * 2019-02-13 2019-06-11 广州云测信息技术有限公司 一种脚本录制的方法和装置
CN109840212A (zh) * 2019-02-19 2019-06-04 百度在线网络技术(北京)有限公司 应用程序的功能测试方法、装置、设备及可读存储介质
CN110032510A (zh) * 2019-03-07 2019-07-19 深圳市腾讯信息技术有限公司 应用的测试方法及装置
CN110032510B (zh) * 2019-03-07 2022-05-20 深圳市腾讯信息技术有限公司 应用的测试方法及装置
CN110457214A (zh) * 2019-07-30 2019-11-15 腾讯科技(深圳)有限公司 应用测试方法及装置、电子设备
CN110457214B (zh) * 2019-07-30 2023-10-13 腾讯科技(深圳)有限公司 应用测试方法及装置、电子设备
CN110727595A (zh) * 2019-10-14 2020-01-24 北京智游网安科技有限公司 一种应用登录界面识别方法、智能终端及存储介质
CN110727595B (zh) * 2019-10-14 2023-09-05 北京智游网安科技有限公司 一种应用登录界面识别方法、智能终端及存储介质
CN111782552A (zh) * 2020-08-07 2020-10-16 广州极点三维信息科技有限公司 一种基于区域划分的自动测试方法和装置
CN112882947A (zh) * 2021-03-15 2021-06-01 深圳市腾讯信息技术有限公司 一种界面测试方法、装置、设备及存储介质
CN112882947B (zh) * 2021-03-15 2024-06-11 深圳市腾讯信息技术有限公司 一种界面测试方法、装置、设备及存储介质
CN113190444B (zh) * 2021-04-28 2022-03-15 深圳市腾讯网域计算机网络有限公司 一种测试方法、装置及存储介质
CN113190444A (zh) * 2021-04-28 2021-07-30 深圳市腾讯网域计算机网络有限公司 一种测试方法、装置及存储介质

Also Published As

Publication number Publication date
CN108845930B (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
CN108845930A (zh) 界面操作测试方法和装置、存储介质及电子装置
US10671511B2 (en) Automated bug fixing
CN109408384A (zh) 软件应用的测试方法、装置、处理器及电子装置
CN104809056B (zh) 一种接口测试代码的生成方法和装置
CN105955889A (zh) 一种图形界面自动化测试方法
CN107340944B (zh) 游戏界面的显示方法和装置
CN103959282A (zh) 用于文本识别系统的选择性反馈
CN110413529A (zh) 应用于电子设备的测试方法、装置、计算设备以及介质
CN112241764A (zh) 图像识别方法、装置、电子设备及存储介质
CN107293294B (zh) 一种语音识别处理方法及装置
US20180300333A1 (en) Feature subset selection and ranking
CN110046101A (zh) 页面自动化测试方法、装置及计算机存储介质
CN106326120B (zh) 一种应用软件的回归测试方法及装置、电子设备
CN111338692B (zh) 基于漏洞代码的漏洞分类方法、装置及电子设备
CN108763091A (zh) 用于回归测试的方法、装置及系统
CN110489324A (zh) 测试页面跳转的方法、装置、存储介质、电子装置
CN107122295A (zh) 测试用例脚本的生成方法和装置
CN113032268B (zh) 软件测试方法、装置及存储介质
CN110162454A (zh) 游戏运行方法和装置、存储介质及电子装置
CN110197386A (zh) 媒体资源推送方法和装置、存储介质及电子装置
KR20210036167A (ko) 어플리케이션의 테스트 자동화
CN107168760B (zh) 语言的变量检测方法和装置
CN110399723A (zh) 漏洞检测方法和装置、存储介质及电子装置
CN103701671B (zh) 一种检测业务之间存在冲突的方法及装置
CN108595332A (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