CN110008110A - 用户界面的测试方法及装置 - Google Patents

用户界面的测试方法及装置 Download PDF

Info

Publication number
CN110008110A
CN110008110A CN201910081581.9A CN201910081581A CN110008110A CN 110008110 A CN110008110 A CN 110008110A CN 201910081581 A CN201910081581 A CN 201910081581A CN 110008110 A CN110008110 A CN 110008110A
Authority
CN
China
Prior art keywords
area
interface
click
character
coordinate
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
CN201910081581.9A
Other languages
English (en)
Other versions
CN110008110B (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910081581.9A priority Critical patent/CN110008110B/zh
Publication of CN110008110A publication Critical patent/CN110008110A/zh
Application granted granted Critical
Publication of CN110008110B publication Critical patent/CN110008110B/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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本说明书实施例提供用户界面的测试方法和装置,在用户界面的测试过程中,获取界面的截屏图像,对截屏图像进行字符识别,然后基于字符之间的位置关系确定界面上的各个点击区域,以及各个点击区域的坐标,接着通过按照各个点击区域的坐标,针对各个点击区域发起模拟点击事件的方式,完成对界面的测试。这种用户界面的测试方法,可以缩短界面测试时间,提高测试效率。

Description

用户界面的测试方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及通过计算机对用户界面进行测试的方法和装置。
背景技术
随着互联网的快速发展,各种各样的终端应用涉及人们日常生活的各个方面。在终端应用发布或上线前,往往通过软件测试进行应用的质量评估。在用户界面UI(UserInterface)的测试过程中,需要基于对页面的操作进行测试。常规技术中,往往通过随机性UI事件测试(monkey test)、深度遍历结合爬虫测试等方法进行UI测试。然而,这些测试方法,要么测试精度不够高,要么操作时间较长。因此,希望能有改进的方案,在保证测试精度的情况下,进一步缩短测试操作时间,提高测试效率。
发明内容
本说明书一个或多个实施例描述了一种用户界面的测试方法和装置,利用图像文字识别技术,来确定界面的各个点击区域,并对各个点击区域发起模拟点击事件进行测试,从而提高UI测试的测试效率。
根据第一方面,提供了一种用户界面的测试方法,所述方法包括:获取待测试的第一界面对应的第一截屏图像;针对所述第一截屏图像进行字符识别;基于字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标;通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对所述第一界面进行测试。
在一些实施例中,所述按照字符之间的位置关系确定所述第一截屏图像的至少一个点击区域包括:
将字符间距小于预定阈值的字符确定为同一点击区域的字符。
在一些实施例中,所述针对所述第一截屏图像进行字符识别包括:
通过光学字符识别方式识别所述第一截屏图像的字符。
在一些实施例中,所述至少一个点击区域包括第一区域,所述第一区域对应第一坐标,所述对所述第一界面进行测试包括:
按照所述第一坐标,针对所述第一区域发起第一模拟点击事件;
在所述第一界面响应于所述第一模拟点击事件而跳转到第二界面的情况下,获取所述第二界面的第二截屏图像,以对所述第二界面进行测试。
在一些实施例中,所述对所述第一界面进行测试还包括:响应于对所述第二界面测试完毕,检测所述第一界面是否存在还未发起模拟点击事件的第二区域;在存在所述第二区域的情况下,针对所述第二区域发起第二模拟点击事件,以继续对所述第一界面进行测试。
在进一步的实施例中,所述对所述第一界面进行测试还包括:在不存在所述第二区域的情况下,确定对所述第一界面测试完毕。
在一些实施例中,所述第一坐标为,所述第一区域的中心点坐标,或者所述第一区域的坐标范围。
在一些实施例中,所述按照字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标之后,所述方法还包括:
基于所述至少一个点击区域更新窗体结构树,其中,所述窗体结构树包括第一节点,所述第一节点对应所述第一界面,并用于记录所述第一界面的各个点击区域,在所述第一节点包含子节点的情况下,所述第一节点的子节点对应所述第一界面中的各个点击区域所指向的目标界面。
在进一步的实施例中,所述对所述第一界面进行测试包括:基于所述窗体结构树,以深度优先遍历的方式对所述第一界面进行测试。
根据第二方面,提供一种用户界面的测试装置,所述装置包括:
获取单元,配置为获取待测试的第一界面对应的第一截屏图像;
识别单元,配置为针对所述第一截屏图像进行字符识别;
确定单元,配置为基于字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标;
测试单元,配置为通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对所述第一界面进行测试。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的用户测试的方法和装置,在用户界面的测试过程中,获取界面的截屏图像,对截屏图像进行字符识别,然后基于字符之间的位置关系确定界面上的各个点击区域,以及各个点击区域的坐标,接着通过按照各个点击区域的坐标,针对各个点击区域发起模拟点击事件的方式,完成对界面的测试。这种用户界面的测试方法,无需解析页面的文档模型,仅通过字符识别,大大节约了执行时间,可以提高测试效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书实施例的实施架构示意图;
图2示出根据一个实施例的用户界面的测试方法的流程;
图3示出一个具体例子的用户界面的示意图;
图4示出另一个具体例子的用户界面的示意图;
图5示出一个具体例子的窗体结构树的示意图;
图6示出根据一个实施例的用户界面的测试装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1是本说明书实施例的一个实施架构示意图。在该实施架构中,通过计算平台对终端界面进行测试。其中,终端界面可以是移动终端应用界面,例如在安卓、iOS等操作系统展示的界面,也可以是PC终端浏览器界面,例如windows等操作系统中展示的界面。计算平台可以是具有一定运算能力的各种硬件设备或运行于硬件设备上的软件系统等,例如台式计算机、服务器等等。可以理解,计算平台还可以是上述设备等组成的设备集群。计算平台可以设于终端,也可以设于服务端,在此不做限定。
计算平台可以包括窗体路由模块、爬虫测试模块和图像识别模块。其中,爬虫测试模块可以用于对从待测试的终端获取的当前界面进行测试。窗体路由模块例如是Macacaserver之类的服务模块,可以用于从待测试的终端获取当前界面的页面信息,例如当前界面的截屏图像,并在爬虫测试模块和终端界面之间传递信息。另外,如果终端界面来自不同的系统,例如iOS、安卓、windows等操作系统,窗体路由模块对于接受和发送的信息,还可以针对不同的操作系统,按照不同通信协议进行适应性修改。
常规的爬虫测试技术中,往往通过解析终端界面的窗体的source控件生成xml树的方式,来确定有效的点击模型,如根据页面元素属性确定可点击的控件及控件位置等。这样,对于爬虫测试而言,解析界面窗体需要额外的计算量,对每个界面的计算量所耗费的时间较长,例如一个界面为3-4秒。对于大型的应用测试场景,由于需要测试的界面数量较多,因此,耗费大量时间,效率不够高。
基于以上问题,图1示出的实施架构中,在爬虫测试模块确定界面点击区域的过程中,引入图像识别模块,如图1黑体部分所示。图像识别模块用于识别终端界面的截屏图像中的字符区域及字符区域的坐标,该图像识别模块例如可以通过OCR(Optical CharacterRecognition,光学字符识别)实现。其基本思想是,每个识别到的字符区域可以被作为一个可能的点击区域,再针对各个点击区域对相应界面进行测试。经过试验表明,通过图像识别模块确定点击区域的方法,对于前述常规的爬虫测试技术中,解析耗费时长大概为3-4秒的界面,通过图像识别抓取点击区域仅需要大概400毫秒(0.4秒)左右的时间,如此,大大缩短了测试耗费的时间。
下面具体描述用户界面的测试方法。
图2示出根据一个实施例的用户界面的测试方法流程图。其中,图2示出的方法的执行主体例如是图1中的计算平台。如图2所示,用户界面的测试方法包括以下步骤:步骤21,获取待测试的第一界面对应的第一截屏图像;步骤22,针对第一截屏图像进行字符识别;步骤23,基于字符之间的位置关系确定第一界面的至少一个点击区域,以及各个点击区域的坐标;步骤24,通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对第一界面进行测试。
首先,在步骤21中,获取待测试的第一界面对应的第一截屏图像。可以理解,对于用户界面而言,可以通过截屏图像获取界面展示内容。这里,第一界面可以是待测试的用户界面中的任一界面。进一步地,在本说明书的实施例中,“第一”、“第二”仅表示不同的主体(如界面),而不对主体的顺序或数量进行限定。
对于终端展示的第一界面,可以通过在终端后台运行的脚本获取其对应的第一截屏图像。例如,后台运行的脚本可以包括“html2canvas()”命令,该命令中,括号中的参数作为截屏图像的区域范围,如“document.body”表示截取整个窗体。具体实现中,计算平台可以向终端发送获取截屏图像的信息,由终端调用后台程序进行截屏操作,也可以直接向终端发送调用相关命令进行截屏操作的信息,在此不做限定。
其中,为了便于后续处理,所获取的第一截屏图像可以和第一界面通过尺寸、像素数等保持一致,或者具有一定关联比例。在具有一定关联比例的情况下,计算平台还可以在获取第一截屏图像时,同时获取所对应的关联比例。
可以理解,对于用户界面而言,在可点击位置通常具有文字标识,例如“确定”、“取消”等字符,或者超链接字符等等。因此,通过步骤22,针对第一截屏图像进行字符识别。
应该理解,第一截屏图像可以是各种图片格式,例如PDF格式、JPG格式、tiff格式,等等。字符识别可以通过诸如光学字符识别OCR、微软办公文件成像(Microsoft OfficeDocument Imaging)之类的方式进行。其中,以OCR方式为例,通过检测图像的暗、亮的模式,来进行字符识别。例如,亮处为屏幕,暗处为字符。进一步地,还可以对识别出的字符确定其形状,并与预设词典进行匹配,从而识别出具体的字符内容。关于字符识别的程度:在一个实施例中,步骤22仅需确定是否存在字符,以及字符的位置;在另一个实施例中,步骤22也可以确定出具体的字符内容;在此不做限定。
值得说明的是,这里的字符可以是各种文字,例如图3中的文字“我的订单”、数字“88.00”等,也可以是图标字符,例如图3中的“〉”、“〈”等等。
进一步地,在步骤23中,基于字符之间的位置关系确定第一界面的至少一个点击区域,以及各个点击区域的坐标。可以理解,对于可点击区域而言,其区域内的文字往往是连续的。因此,可以根据步骤22所识别的字符之间的相对位置关系,针对第一界面确定一个或多个可点击区域。
根据一方面的实施例,可以考虑字符之间的字符间距。字符间距小于预定阈值的情况下,可以确定字符是连续出现的。作为示例,请参考图3。图3是一个具体应用场景下的一个具体界面示例,如电商平台中的订单展示界面。其中,“我的订单”、“全部”、“待付款”等等字符分别是连续出现的字符,分别划分到一个点击区域。而字符“全部”和“待付款”的字符间距较大,超过预定阈值,划分到不同的点击区域。其中的字符间距根据页面字符大小和间距的实际情况确定,在此不做限定。在一些可选的实现中,字符间距与字符大小有关,还可以将字符间距与字符宽度的比值作为参考对象。例如,当相邻两个字符的字符间距与字符宽度的比值小于设定的比值阈值时,将这两个相邻字符确定为同一点击区域的字符。
根据另一方面的实施例,还可以考虑字符的行间距。在行间距小于预定行间距阈值的情况下,确定字符是连续的,划分到同一个点击区域。例如图3中的两行字符“护眼台灯卧室照明床”、“头灯学生用品……”之间的行间距较小,划分到同一个点击区域。在可选的实现方式中,在判断两行字符的行间距是否小于预定行间距阈值之前,还可以先判断一行字符是否直至该行末尾,且以自然换行符结尾,若是,说明该行字符和下一行字符可能是连续字符。
根据又一方面的实施例,还可以考虑字符的样式。其中,这里的字符样式可以包括字符形态、字体颜色、是否有包围框等等。可以理解,对于点击区域,往往具有同一种字符样式,例如文本中的超链接可以具有下划线等等。
根据再一方面的实施例,还可以按照字符中心坐标的位置进行聚类。将距离较近的字符聚集到一个类别,并按照每个聚类类别中的字符的位置范围确定出一个点击区域。
进一步地,对每个点击区域,可以确定其点击区域坐标。在一个实施例中,可以将点击区域的中心点坐标确定为点击区域的坐标;在另一个实施例中,可以将点击区域的全部坐标范围都作为相应点击区域的坐标,也就是说,在点击区域内点击任意一个位置都可以理解为点击了点击区域;在其他实施例中,点击区域的坐标还可以有其他确定方法,在此不再赘述。
在可选的实现方式中,各个点击区域的坐标可以按照像素为单位进行标识。此时,第一截屏图像可以是和第一界面具有一致大小的图像,例如具有同样像素数。作为示例,以第一截屏图像左下角的第一个像素为原点,某个点击区域的位置为(10,5),表示从该位置向右平移10个像素,向上平移5个像素的位置。对应于第一界面,同样是从第一界面左下角的第一个像素向右平移10个像素,向上平移5个像素的位置。
在可选的实现方式中,各个点击区域的坐标可以按照诸如厘米、毫米这样的长度尺寸为单位进行标识。此时,第一截屏图像可以是和第一界面具有一致大小,或者按照预定缩放比例进行缩放的图像。这样,在第一截屏图像上确定的各个点击区域的坐标是相对的坐标,在进一步根据第一截屏图像和第一界面的缩放比例进行调整可以得到第一界面上各个点击区域的坐标。其中,第一界面和第一截屏图像具有一致大小的情况,也可以理解为缩放比例为1:1的特殊情况。
应该理解,对于一些页面而言,可以通过按钮控件、字符元素的超链接属性等确定可点击区域。而对于另一些页面而言,可能没有明确的元素属性来标识可点击区域,如搭载安卓系统的移动终端的APP页面,通过监听线程来监听点击事件,在进一步确定点击事件所针对的相关位置,以及相关位置对应的界面元素。而通过字符识别的方式确定点击区域,与字符属性、控件属性等没有关系,适用性更强。
根据一个可能的实施方式,还可以建立窗体结构树,来描述测试过程中的各个界面之间的关联关系。其中,界面也可以称为窗体。这样在对第一界面确定点击区域及其坐标后,还可以根据所确定的点击区域和坐标更新窗体结构树。窗体结构树包括多个节点,每个节点可以对应一个界面。节点可以用于记录对应界面的各个点击区域。如果一个节点包含子节点,那么该节点的子节点对应的界面,可以是该节点对应的界面中各个点击区域指向的目标界面。例如,窗体结构树中的第一节点对应上述第一界面,根据所确定的点击区域和坐标更新窗体结构树可以是,将步骤23中确定的第一界面的点击区域作为第一点击区域集,对应记录在第一节点。其中,点击区域集可以是集合、数组、表格等形式(如图5中的集合形式),在此不做限定。在第一节点包含子节点的情况下,第一节点的子节点对应第一界面中的各个点击区域所指向的目标界面。
作为示例,如图5所示,窗体结构树可以将测试的各个界面(如图5中的页面1、页面2等)对应各个节点,节点之间的边(图5中带箭头的线)用于表示跳转关系。如图5中,页面1的各个点击区域有,点击区域1、点击区域2、点击区域3等等。每个点击区域还有对应的坐标,例如点击区域1的坐标(a1,b1),点击区域2的坐标(a2,b2),等等。
在划分出各个点击区域后,通过步骤24,通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对第一界面进行测试。为了描述方便,这里假设步骤23中确定的至少一个点击区域中的任一点击区域为第一区域,例如图3中的字符“待发货”对应的区域。第一区域对应的坐标为第一坐标,例如字符“待发货”对应的区域的中心点坐标,或者“待发货”所在点击区域的坐标范围。下面以第一区域为例,对第一界面的测试过程进行说明。
在一种实现方式中,可以直接调用对应的接口向终端发送对第一坐标进行模拟点击的信息。例如,通过js(javaScripe)中的trigger()接口、windows系统中的mouse_event()接口等产生模拟点击操作。终端在接收到该信息后,可以通过相应的线程对第一区域的点击事件进行响应。
在另一种实现方式中,可以向终端发送携带对第一坐标进行模拟点击的信息。终端根据该信息,调用相应接口实现对第一区域的模拟点击操作。终端的相应线程根据模拟点击操作进行响应。
另外,根据终端对界面的点击操作的不同处理机制,终端对上述模拟点击操作的相应方式不同。以搭载安卓(Android)系统的终端为例,往往通过注册一个监听线程来监听当前界面(或称为窗口)的点击事件。在接收到上述模拟点击操作时,该监听线程可以获取点击事件发生的第一坐标,并反馈至相应处理线程,以进行后续处理。而对于搭载windows系统的pc(个人计算机),可以在接收到模拟点击操作后,生成一个点击消息发送给对应的应用线程来进行后续处理。其中,本实施例涉及的后续处理例如是,跳转到下一界面,或者不做任何处理。
在一个实施例中,第一界面响应于第一模拟点击事件,会从第一界面跳转到第二界面。此时,可以获取第二界面的第二截屏图像,以对第二界面进行测试。其中,第二界面的测试方法和第一界面的测试方法一致,按照步骤21-步骤24执行,在此不再赘述。
作为示例,请参考图3。对于图3所示的第一界面,假设第一区域为字符“待发货”对应的区域,在通过第一坐标模拟点击第一区域的情况下,可以跳转到如图4所示的第二界面。此时,可以继续对第二界面进行测试。首先获取第二界面对应的第二截屏图像,然后对第二截屏图像进行字符识别,并根据字符之间的位置关系划分第二界面的各个点击区域,以及确定各个点击区域的坐标。例如,字符“全部”、“待付款”、“××家具”、“圆桌简易餐桌花架书架置物架……”等等分别对应的区域。之后对第二界面发起各个点击区域的模拟点击事件,从而可以对第二界面进行测试。
在可选的实现方式中,在对第二界面测试完毕后,还可以继续对第一界面的测试。进一步地,可以检测第一界面是否存在还未发起模拟点击事件的第二区域。该第二区域也就是未经过测试的区域。其中,第二区域是为了和第一区域进行区分,并不表示顺序。在得到的检测结果的基础上,可以确定对第一界面的测试结果。具体地,如果未检测到第二区域,则说明第一界面已经测试完毕。如果检测到第二区域,则说明第一界面还未测试完毕。此时,可以对第二区域发起模拟点击事件,以继续对第一界面进行测试,直至第一界面测试完毕。
在上述通过窗体结构树记录界面之间的关联关系的实施例中,还可以在测试过程中随着界面的跳转,不断更新窗体结构树,直至所有待测界面测试完毕。如图5所示,窗体结构树中,通过当前可跳转的界面包括页面1、页面2、页面3,通过页面1可跳转的界面包括页面11、页面12,通过页面2可跳转的界面包括页面22,等等。每跳转到一个界面,都可以将界面上的各个点击区域记录到相应的节点,从而更新窗体结构树。
在一个实施例中,可以基于窗体结构树,以深度优先遍历的方式对第一界面进行测试。以图5为示例,假设第一界面对应当前页面,在对当前进行测试的过程中,通过点击区域1跳转到页面1,则继续对页面1进行测试。假如对于页面1,通过发起对点击区域11的模拟点击事件,跳转到页面11,则进一步对页面11进行测试,直至测试到不再跳转到其他页面的页面。继续对页面1进行测试,发起对点击区域12的模拟点击事件,假设跳转到页面12,则对页面12进行测试。页面12没有跳转到其他页面,测试完毕后继续对页面1进行测试。假设页面1的其他点击区域响应于对应的模拟点击事件,没有跳转到其他页面,则继续对当前页面进行测试。以此类推,直至当前测试完毕,亦即对当前中的各个点击区域都发起过模拟点击事件。
回顾以上过程,在用户界面的测试过程中,通过获取界面的截屏图像,对截屏图像进行字符识别,然后基于字符之间的位置关系确定界面上的各个点击区域,以及各个点击区域的坐标,接着通过按照各个点击区域的坐标,针对各个点击区域发起模拟点击事件的方式,完成对界面的测试。这种用户界面的测试方法,无需解析页面的文档模型,仅通过字符识别,大大节约了执行时间,可以提高测试效率。
根据另一方面的实施例,还提供一种用户界面的测试装置。图6示出根据一个实施例的用户界面的测试装置的示意性框图。如图6所示,用户界面的测试装置600包括:获取单元61,配置为获取待测试的第一界面对应的第一截屏图像;识别单元62,配置为针对第一截屏图像进行字符识别;确定单元63,配置为基于字符之间的位置关系确定第一界面的至少一个点击区域,以及各个点击区域的坐标;测试单元64,配置为通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对第一界面进行测试。
在一个实施例中,识别单元62进一步可以配置为:通过光学字符识别方式识别第一截屏图像的字符。
在一个实施例中,确定单元63进一步可以配置为:将字符间距小于预定阈值的字符确定为同一点击区域的字符。
根据一个可能的设计,假设第一界面的至少一个点击区域包括第一区域,第一区域对应第一坐标,则测试单元64还可以配置为:按照第一坐标,针对第一区域发起第一模拟点击事件。此时:
一方面,在第一界面响应于第一模拟点击事件而跳转到第二界面的情况下,获取第二界面的第二截屏图像,以对第二界面进行测试;
另一方面,响应于对第二界面测试完毕,检测第一界面是否存在还未发起模拟点击事件的第二区域;并且,在存在第二区域的情况下,针对第二区域发起第二模拟点击事件,以继续对第一界面进行测试;在不存在第二区域的情况下,确定对第一界面测试完毕。
可选地,第一区域的第一坐标可以为第一区域的中心点坐标,也可以为第一区域的坐标范围,在此不做限定。
在一个可能的实施方式中,装置600还可以包括更新单元(未示出)。该更新单元配置为:基于至少一个点击区域更新窗体结构树。其中,窗体结构树的各个节点对应各个界面,窗体结构树通过各个节点之间的关系描述各个界面之间的关联关系。具体地,窗体结构树的各个节点可以对应记录各个界面中的各个点击区域集,如果第一界面对应第一节点,则更新单元进一步配置为:将至少一个点击区域作为第一点击区域集,对应第一节点进行记录。在第一节点包含子节点的情况下,第一节点的子节点对应第一界面中的各个点击区域所指向的目标界面。
此时,测试单元64进一步还可以配置为:基于窗体结构树,以深度优先遍历的方式对第一界面进行测试。
值得说明的是,图6所示的装置600是与图2示出的方法实施例相对应的装置实施例,图2示出的方法实施例中的相应描述同样适用于装置600,在此不再赘述。
通过以上装置,利用图像文字识别技术,来确定界面的各个点击区域,并对各个点击区域发起模拟点击事件进行测试,从而可以提高UI测试的测试效率。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (20)

1.一种用户界面的测试方法,所述方法包括:
获取待测试的第一界面对应的第一截屏图像;
针对所述第一截屏图像进行字符识别;
基于字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标;
通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对所述第一界面进行测试。
2.根据权利要求1所述的方法,其中,所述按照字符之间的位置关系确定所述第一截屏图像的至少一个点击区域包括:
将字符间距小于预定阈值的字符确定为同一点击区域的字符。
3.根据权利要求1所述的方法,其中,所述针对所述第一截屏图像进行字符识别包括:
通过光学字符识别方式识别所述第一截屏图像的字符。
4.根据权利要求1所述的方法,其中,所述至少一个点击区域包括第一区域,所述第一区域对应第一坐标,所述对所述第一界面进行测试包括:
按照所述第一坐标,针对所述第一区域发起第一模拟点击事件;
在所述第一界面响应于所述第一模拟点击事件而跳转到第二界面的情况下,获取所述第二界面的第二截屏图像,以对所述第二界面进行测试。
5.根据权利要求4所述的方法,其中,所述对所述第一界面进行测试还包括:
响应于对所述第二界面测试完毕,检测所述第一界面是否存在还未发起模拟点击事件的第二区域;
在存在所述第二区域的情况下,针对所述第二区域发起第二模拟点击事件,以继续对所述第一界面进行测试。
6.根据权利要求5所述的方法,其中,所述对所述第一界面进行测试还包括:
在不存在所述第二区域的情况下,确定对所述第一界面测试完毕。
7.根据权利要求4-6任一所述的方法,其中,所述第一坐标为,所述第一区域的中心点坐标,或者所述第一区域的坐标范围。
8.根据权利要求1所述的方法,其中,所述按照字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标之后,所述方法还包括:
基于所述至少一个点击区域更新窗体结构树,其中,所述窗体结构树包括第一节点,所述第一节点对应所述第一界面,并用于记录所述第一界面的各个点击区域,在所述第一节点包含子节点的情况下,所述第一节点的子节点对应所述第一界面中的各个点击区域所指向的目标界面。
9.根据权利要求8所述的方法,其中,所述对所述第一界面进行测试包括:
基于所述窗体结构树,以深度优先遍历的方式对所述第一界面进行测试。
10.一种用户界面的测试装置,所述装置包括:
获取单元,配置为获取待测试的第一界面对应的第一截屏图像;
识别单元,配置为针对所述第一截屏图像进行字符识别;
确定单元,配置为基于字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标;
测试单元,配置为通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对所述第一界面进行测试。
11.根据权利要求10所述的装置,其中,所述确定单元进一步配置为:
将字符间距小于预定阈值的字符确定为同一点击区域的字符。
12.根据权利要求10所述的装置,其中,所述识别单元进一步配置为:
通过光学字符识别方式识别所述第一截屏图像的字符。
13.根据权利要求10所述的装置,其中,所述至少一个点击区域包括第一区域,所述第一区域对应第一坐标,所述测试单元还配置为:
按照所述第一坐标,针对所述第一区域发起第一模拟点击事件;
在所述第一界面响应于所述第一模拟点击事件而跳转到第二界面的情况下,获取所述第二界面的第二截屏图像,以对所述第二界面进行测试。
14.根据权利要求13所述的装置,其中,所述测试单元还配置为:
响应于对所述第二界面测试完毕,检测所述第一界面是否存在还未发起模拟点击事件的第二区域;
在存在所述第二区域的情况下,针对所述第二区域发起第二模拟点击事件,以继续对所述第一界面进行测试。
15.根据权利要求14所述的装置,其中,所述测试单元还配置为:
在不存在所述第二区域的情况下,确定对所述第一界面测试完毕。
16.根据权利要求13-15任一所述的装置,其中,所述第一坐标为,所述第一区域的中心点坐标,或者所述第一区域的坐标范围。
17.根据权利要求10所述的装置,其中,所述装置还包括更新单元,配置为:
基于所述至少一个点击区域更新窗体结构树,其中,所述窗体结构树包括第一节点,所述第一节点对应所述第一界面,并用于记录所述第一界面的各个点击区域,在所述第一节点包含子节点的情况下,所述第一节点的子节点对应所述第一界面中的各个点击区域所指向的目标界面。
18.根据权利要求17所述的装置,其中,所述测试单元进一步配置为:
基于所述窗体结构树,以深度优先遍历的方式对所述第一界面进行测试。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
20.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
CN201910081581.9A 2019-01-28 2019-01-28 用户界面的测试方法及装置 Active CN110008110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910081581.9A CN110008110B (zh) 2019-01-28 2019-01-28 用户界面的测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910081581.9A CN110008110B (zh) 2019-01-28 2019-01-28 用户界面的测试方法及装置

Publications (2)

Publication Number Publication Date
CN110008110A true CN110008110A (zh) 2019-07-12
CN110008110B CN110008110B (zh) 2022-07-22

Family

ID=67165584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910081581.9A Active CN110008110B (zh) 2019-01-28 2019-01-28 用户界面的测试方法及装置

Country Status (1)

Country Link
CN (1) CN110008110B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765015A (zh) * 2019-10-24 2020-02-07 北京云聚智慧科技有限公司 一种对被测应用进行测试的方法和电子设备
CN111290955A (zh) * 2020-02-18 2020-06-16 卡斯柯信号有限公司 用于地铁信号系统测试软件的非侵入式自动化测试系统
CN111400134A (zh) * 2020-03-11 2020-07-10 山东广电信通网络运营有限公司 一种确定目标显示终端播放异常的方法及系统
CN111881019A (zh) * 2020-07-07 2020-11-03 北京三快在线科技有限公司 一种用户界面测试方法及装置
CN112308069A (zh) * 2020-10-29 2021-02-02 恒安嘉新(北京)科技股份公司 一种软件界面的点击测试方法、装置、设备及存储介质
CN112988557A (zh) * 2019-12-17 2021-06-18 腾讯科技(深圳)有限公司 一种搜索框定位方法、数据采集方法、装置及介质
CN113760686A (zh) * 2020-06-02 2021-12-07 深圳兆日科技股份有限公司 用户界面的测试方法、装置、终端和存储介质
CN113821447A (zh) * 2021-10-18 2021-12-21 四川虹美智能科技有限公司 Ui随机测试方法及装置
CN113836028A (zh) * 2021-09-28 2021-12-24 奇安信科技集团股份有限公司 软件界面的测试建模方法及装置、电子设备、存储介质
CN114064447A (zh) * 2020-08-05 2022-02-18 腾讯科技(深圳)有限公司 界面测试方法、装置、存储介质及终端
CN115048309A (zh) * 2022-06-27 2022-09-13 广州掌动智能科技有限公司 无侵入app软件性能测试方法和系统
CN116578438A (zh) * 2023-07-13 2023-08-11 建信金融科技有限责任公司 一种适老化改造的自动化检测方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461900A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 用户界面的测试方法、中控服务器、测试终端及系统
CN104899024A (zh) * 2015-05-15 2015-09-09 广东欧珀移动通信有限公司 一种截图方法及装置
US20150378876A1 (en) * 2014-06-25 2015-12-31 Vmware, Inc. Visual graphical user interface verification
CN108229485A (zh) * 2018-02-08 2018-06-29 百度在线网络技术(北京)有限公司 用于测试用户界面的方法和装置
CN108845930A (zh) * 2018-05-23 2018-11-20 深圳市腾讯网络信息技术有限公司 界面操作测试方法和装置、存储介质及电子装置
CN109241485A (zh) * 2018-09-06 2019-01-18 深圳市腾讯网络信息技术有限公司 一种页面间跳转关系建立方法,及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150378876A1 (en) * 2014-06-25 2015-12-31 Vmware, Inc. Visual graphical user interface verification
CN104461900A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 用户界面的测试方法、中控服务器、测试终端及系统
CN104899024A (zh) * 2015-05-15 2015-09-09 广东欧珀移动通信有限公司 一种截图方法及装置
CN108229485A (zh) * 2018-02-08 2018-06-29 百度在线网络技术(北京)有限公司 用于测试用户界面的方法和装置
CN108845930A (zh) * 2018-05-23 2018-11-20 深圳市腾讯网络信息技术有限公司 界面操作测试方法和装置、存储介质及电子装置
CN109241485A (zh) * 2018-09-06 2019-01-18 深圳市腾讯网络信息技术有限公司 一种页面间跳转关系建立方法,及装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765015A (zh) * 2019-10-24 2020-02-07 北京云聚智慧科技有限公司 一种对被测应用进行测试的方法和电子设备
CN112988557A (zh) * 2019-12-17 2021-06-18 腾讯科技(深圳)有限公司 一种搜索框定位方法、数据采集方法、装置及介质
CN112988557B (zh) * 2019-12-17 2024-06-11 腾讯科技(深圳)有限公司 一种搜索框定位方法、数据采集方法、装置及介质
CN111290955A (zh) * 2020-02-18 2020-06-16 卡斯柯信号有限公司 用于地铁信号系统测试软件的非侵入式自动化测试系统
CN111400134A (zh) * 2020-03-11 2020-07-10 山东广电信通网络运营有限公司 一种确定目标显示终端播放异常的方法及系统
CN113760686B (zh) * 2020-06-02 2024-01-30 深圳兆日科技股份有限公司 用户界面的测试方法、装置、终端和存储介质
CN113760686A (zh) * 2020-06-02 2021-12-07 深圳兆日科技股份有限公司 用户界面的测试方法、装置、终端和存储介质
CN111881019A (zh) * 2020-07-07 2020-11-03 北京三快在线科技有限公司 一种用户界面测试方法及装置
CN111881019B (zh) * 2020-07-07 2024-03-01 北京三快在线科技有限公司 一种用户界面测试方法及装置
CN114064447A (zh) * 2020-08-05 2022-02-18 腾讯科技(深圳)有限公司 界面测试方法、装置、存储介质及终端
CN114064447B (zh) * 2020-08-05 2024-05-31 腾讯科技(深圳)有限公司 界面测试方法、装置、存储介质及终端
CN112308069A (zh) * 2020-10-29 2021-02-02 恒安嘉新(北京)科技股份公司 一种软件界面的点击测试方法、装置、设备及存储介质
CN113836028A (zh) * 2021-09-28 2021-12-24 奇安信科技集团股份有限公司 软件界面的测试建模方法及装置、电子设备、存储介质
CN113821447A (zh) * 2021-10-18 2021-12-21 四川虹美智能科技有限公司 Ui随机测试方法及装置
CN115048309B (zh) * 2022-06-27 2023-03-07 广州掌动智能科技有限公司 无侵入app软件性能测试方法和系统
CN115048309A (zh) * 2022-06-27 2022-09-13 广州掌动智能科技有限公司 无侵入app软件性能测试方法和系统
CN116578438B (zh) * 2023-07-13 2023-09-08 建信金融科技有限责任公司 一种适老化改造的自动化检测方法及装置
CN116578438A (zh) * 2023-07-13 2023-08-11 建信金融科技有限责任公司 一种适老化改造的自动化检测方法及装置

Also Published As

Publication number Publication date
CN110008110B (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
CN110008110A (zh) 用户界面的测试方法及装置
CN107992427B (zh) 创建业务测试场景的方法、装置、设备及其存储介质
US9037528B2 (en) Using dotplots for comparing and finding patterns in sequences of data points
CA3018196C (en) Visual regresssion testing tool
CN105190548B (zh) 用于自动分析软件风险的方法和系统
CN110347587B (zh) App兼容性测试方法、装置、计算机设备及存储介质
US9264443B2 (en) Browser based method of assessing web application vulnerability
US20220121723A1 (en) Distributed systems and methods for facilitating website remediation and promoting assistive technologies and detecting compliance issues
US9370299B2 (en) Display accessibility for color vision impairment
US20210255156A1 (en) Learning model generation support apparatus, learning model generation support method, and computer-readable recording medium
US9276758B2 (en) Analyzing and repairing documents
CN106126410B (zh) 代码冲突的提示方法及装置
CN109471805B (zh) 资源测试方法及装置、存储介质、电子设备
CN111144078B (zh) Pdf文件中待标注位置确定方法、装置、服务器及存储介质
CN111783008B (zh) 一种信息显示方法、装置、设备及介质
CN104765630B (zh) 软件安装方法及装置
CN107451163B (zh) 一种动画显示方法和装置
CN111090580A (zh) 用户界面一致性检测方法、装置及可读存储介质
CN111597102A (zh) 一种页面性能的测试方法、终端及存储介质
Hadadi Adee: bringing accessibility right inside design tools
CN111523292B (zh) 用于获取图像信息的方法和装置
Weatherly et al. Financial integration across health and social care: evidence review
CN114579461A (zh) 浏览器兼容性检测方法及相关设备
CN112035339A (zh) 页面测试方法、装置和设备
US20190279127A1 (en) Information processing apparatus, workflow test apparatus, and non-transitory computer readable medium

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: 20201015

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20201015

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240208

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: United Kingdom