用户界面的测试方法及装置制造方法及图纸

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

User Interface Testing Method and Device

【技术实现步骤摘要】
用户界面的测试方法及装置
本说明书一个或多个实施例涉及计算机
,尤其涉及通过计算机对用户界面进行测试的方法和装置。
技术介绍
随着互联网的快速发展,各种各样的终端应用涉及人们日常生活的各个方面。在终端应用发布或上线前,往往通过软件测试进行应用的质量评估。在用户界面UI(UserInterface)的测试过程中,需要基于对页面的操作进行测试。常规技术中,往往通过随机性UI事件测试(monkeytest)、深度遍历结合爬虫测试等方法进行UI测试。然而,这些测试方法,要么测试精度不够高,要么操作时间较长。因此,希望能有改进的方案,在保证测试精度的情况下,进一步缩短测试操作时间,提高测试效率。
技术实现思路
本说明书一个或多个实施例描述了一种用户界面的测试方法和装置,利用图像文字识别技术,来确定界面的各个点击区域,并对各个点击区域发起模拟点击事件进行测试,从而提高UI测试的测试效率。根据第一方面,提供了一种用户界面的测试方法,所述方法包括:获取待测试的第一界面对应的第一截屏图像;针对所述第一截屏图像进行字符识别;基于字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标;通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对所述第一界面进行测试。在一些实施例中,所述按照字符之间的位置关系确定所述第一截屏图像的至少一个点击区域包括:将字符间距小于预定阈值的字符确定为同一点击区域的字符。在一些实施例中,所述针对所述第一截屏图像进行字符识别包括:通过光学字符识别方式识别所述第一截屏图像的字符。在一些实施例中,所述至少一个点击区域包括第一区域,所述第一区域对应第一坐标,所述对所述第一界面进行测试包括:按照所述第一坐标,针对所述第一区域发起第一模拟点击事件;在所述第一界面响应于所述第一模拟点击事件而跳转到第二界面的情况下,获取所述第二界面的第二截屏图像,以对所述第二界面进行测试。在一些实施例中,所述对所述第一界面进行测试还包括:响应于对所述第二界面测试完毕,检测所述第一界面是否存在还未发起模拟点击事件的第二区域;在存在所述第二区域的情况下,针对所述第二区域发起第二模拟点击事件,以继续对所述第一界面进行测试。在进一步的实施例中,所述对所述第一界面进行测试还包括:在不存在所述第二区域的情况下,确定对所述第一界面测试完毕。在一些实施例中,所述第一坐标为,所述第一区域的中心点坐标,或者所述第一区域的坐标范围。在一些实施例中,所述按照字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标之后,所述方法还包括:基于所述至少一个点击区域更新窗体结构树,其中,所述窗体结构树包括第一节点,所述第一节点对应所述第一界面,并用于记录所述第一界面的各个点击区域,在所述第一节点包含子节点的情况下,所述第一节点的子节点对应所述第一界面中的各个点击区域所指向的目标界面。在进一步的实施例中,所述对所述第一界面进行测试包括:基于所述窗体结构树,以深度优先遍历的方式对所述第一界面进行测试。根据第二方面,提供一种用户界面的测试装置,所述装置包括:获取单元,配置为获取待测试的第一界面对应的第一截屏图像;识别单元,配置为针对所述第一截屏图像进行字符识别;确定单元,配置为基于字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标;测试单元,配置为通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对所述第一界面进行测试。根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。通过本说明书实施例提供的用户测试的方法和装置,在用户界面的测试过程中,获取界面的截屏图像,对截屏图像进行字符识别,然后基于字符之间的位置关系确定界面上的各个点击区域,以及各个点击区域的坐标,接着通过按照各个点击区域的坐标,针对各个点击区域发起模拟点击事件的方式,完成对界面的测试。这种用户界面的测试方法,无需解析页面的文档模型,仅通过字符识别,大大节约了执行时间,可以提高测试效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1示出本说明书实施例的实施架构示意图;图2示出根据一个实施例的用户界面的测试方法的流程;图3示出一个具体例子的用户界面的示意图;图4示出另一个具体例子的用户界面的示意图;图5示出一个具体例子的窗体结构树的示意图;图6示出根据一个实施例的用户界面的测试装置的示意性框图。具体实施方式下面结合附图,对本说明书提供的方案进行描述。图1是本说明书实施例的一个实施架构示意图。在该实施架构中,通过计算平台对终端界面进行测试。其中,终端界面可以是移动终端应用界面,例如在安卓、iOS等操作系统展示的界面,也可以是PC终端浏览器界面,例如windows等操作系统中展示的界面。计算平台可以是具有一定运算能力的各种硬件设备或运行于硬件设备上的软件系统等,例如台式计算机、服务器等等。可以理解,计算平台还可以是上述设备等组成的设备集群。计算平台可以设于终端,也可以设于服务端,在此不做限定。计算平台可以包括窗体路由模块、爬虫测试模块和图像识别模块。其中,爬虫测试模块可以用于对从待测试的终端获取的当前界面进行测试。窗体路由模块例如是Macacaserver之类的服务模块,可以用于从待测试的终端获取当前界面的页面信息,例如当前界面的截屏图像,并在爬虫测试模块和终端界面之间传递信息。另外,如果终端界面来自不同的系统,例如iOS、安卓、windows等操作系统,窗体路由模块对于接受和发送的信息,还可以针对不同的操作系统,按照不同通信协议进行适应性修改。常规的爬虫测试技术中,往往通过解析终端界面的窗体的source控件生成xml树的方式,来确定有效的点击模型,如根据页面元素属性确定可点击的控件及控件位置等。这样,对于爬虫测试而言,解析界面窗体需要额外的计算量,对每个界面的计算量所耗费的时间较长,例如一个界面为3-4秒。对于大型的应用测试场景,由于需要测试的界面数量较多,因此,耗费大量时间,效率不够高。基于以上问题,图1示出的实施架构中,在爬虫测试模块确定界面点击区域的过程中,引入图像识别模块,如图1黑体部分所示。图像识别模块用于识别终端界面的截屏图像中的字符区域及字符区域的坐标,该图像识别模块例如可以通过OCR(OpticalCharacterRecognition,光学字符识别)实现。其基本思想是,每个识别到的字符区域可以被作为一个可能的点击区域,再针对各个点击区域对相应界面进行测试。经过试验表明,通过图像识别模块确定点击区域的方法,对于前述常规的爬虫测试技术中,解析耗费时长大概为3-4秒的界面,通过图像识别抓取点击区域仅需要大概400毫秒(0.4秒)左右的时间,如此,大大缩短了测试耗费的时间。下面具体描述本文档来自技高网...

【技术保护点】
1.一种用户界面的测试方法,所述方法包括:获取待测试的第一界面对应的第一截屏图像;针对所述第一截屏图像进行字符识别;基于字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标;通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对所述第一界面进行测试。

【技术特征摘要】
1.一种用户界面的测试方法,所述方法包括:获取待测试的第一界面对应的第一截屏图像;针对所述第一截屏图像进行字符识别;基于字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标;通过按照各个坐标,针对各个点击区域发起模拟点击事件的方式,对所述第一界面进行测试。2.根据权利要求1所述的方法,其中,所述按照字符之间的位置关系确定所述第一截屏图像的至少一个点击区域包括:将字符间距小于预定阈值的字符确定为同一点击区域的字符。3.根据权利要求1所述的方法,其中,所述针对所述第一截屏图像进行字符识别包括:通过光学字符识别方式识别所述第一截屏图像的字符。4.根据权利要求1所述的方法,其中,所述至少一个点击区域包括第一区域,所述第一区域对应第一坐标,所述对所述第一界面进行测试包括:按照所述第一坐标,针对所述第一区域发起第一模拟点击事件;在所述第一界面响应于所述第一模拟点击事件而跳转到第二界面的情况下,获取所述第二界面的第二截屏图像,以对所述第二界面进行测试。5.根据权利要求4所述的方法,其中,所述对所述第一界面进行测试还包括:响应于对所述第二界面测试完毕,检测所述第一界面是否存在还未发起模拟点击事件的第二区域;在存在所述第二区域的情况下,针对所述第二区域发起第二模拟点击事件,以继续对所述第一界面进行测试。6.根据权利要求5所述的方法,其中,所述对所述第一界面进行测试还包括:在不存在所述第二区域的情况下,确定对所述第一界面测试完毕。7.根据权利要求4-6任一所述的方法,其中,所述第一坐标为,所述第一区域的中心点坐标,或者所述第一区域的坐标范围。8.根据权利要求1所述的方法,其中,所述按照字符之间的位置关系确定所述第一界面的至少一个点击区域,以及各个点击区域的坐标之后,所述方法还包括:基于所述至少一个点击区域更新窗体结构树,其中,所述窗体结构树包括第一节点,所述第一节点对应所述第一界面,并用于记录所述第一界面的各个点击区域,在所述第一节点包含子节点的情况下,所述第一节点的子节点对应所述第一界面中的各个点击区域所指向的目标界面。9.根据权利要求8所述的方法,其中,所述对所述第一界面进行测试包括:基于所述窗体结构树,以深度优先遍历的方式对所述第一界面进行测试。10.一种用户界面的测试装置,所述装置包括:获取单元,配置为获取待测试的第一界面对应的第一截屏图像;识别单...

【专利技术属性】
技术研发人员:赵跃
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1