CN114064447A - 界面测试方法、装置、存储介质及终端 - Google Patents

界面测试方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN114064447A
CN114064447A CN202010777779.3A CN202010777779A CN114064447A CN 114064447 A CN114064447 A CN 114064447A CN 202010777779 A CN202010777779 A CN 202010777779A CN 114064447 A CN114064447 A CN 114064447A
Authority
CN
China
Prior art keywords
interface component
display screen
interface
target
identifier
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
Application number
CN202010777779.3A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010777779.3A priority Critical patent/CN114064447A/zh
Publication of CN114064447A publication Critical patent/CN114064447A/zh
Pending legal-status Critical Current

Links

Images

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

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)

Abstract

本申请实施例公开了一种界面测试方法、装置、存储介质及终端。该方法包括:当多面屏终端接收测试指令时,该测试指令包括显示屏标识、界面组件标识和指示的操作信息;根据显示屏标识从对应的目标显示屏中检测与界面组件标识对应的目标界面组件;当在该目标显示屏中检测到与界面组件标识对应的目标界面组件时,获取目标界面组件在目标显示屏中的位置信息,然后根据位置信息、显示屏标识和操作信息生成模拟事件,并按照预设处理逻辑执行该模拟事件的操作,从而实现多面屏设备的界面自动化测试。

Description

界面测试方法、装置、存储介质及终端
技术领域
本申请涉及界面测试技术领域,具体涉及一种界面测试方法、装置、存储介质及终端。
背景技术
随着测试流程的不断规范以及软件测试技术的进一步细化,测试自动化已经日益成为一支不可忽视的力量。自动化测试是利用自动化测试工具,经过对测试需求的分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,测试脚本的正确性,从而完成该套测试脚本。
事实上,当每一个测试用例所形成的脚本通过测试后,并不意味着执行多个甚至所有的测试用例就不会出错。输入数据以及测试环境的改变,都会导致测试结果受到影响甚至失败。因此,脚本的测试与试运行极为重要,它需要详查多个脚本不能依计划执行的原因,并保证其得到修复。同时他也需要经过多轮的脚本试运行,以保证测试结果得一致性与精确性。
发明内容
本申请实施例提供一种界面测试方法、装置、存储介质及终端,可实现多面屏设备的界面自动化测试。
本申请实施例提供了一种界面测试方法,应用于至少具备两个显示屏的终端,该方法包括:
接收测试指令,所述测试指令包括显示屏标识、界面组件标识和指示的操作信息;
根据所述显示屏标识从对应的目标显示屏中检测与所述界面组件标识对应的目标界面组件;
当在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,获取所述目标界面组件在所述目标显示屏中的位置信息;
根据所述位置信息、所述显示屏标识和所述操作信息,生成模拟事件;
按照预设处理逻辑执行所述模拟事件的操作。
相应的,本申请实施例还提供了一种界面测试装置,应用于终端,所述终端至少具备两个显示屏,所述装置包括:
接收单元,用于接收测试指令,所述测试指令包括显示屏标识、界面组件标识和指示的操作信息;
第一检测单元,用于根据所述显示屏标识从对应的目标显示屏中检测与所述界面组件标识对应的目标界面组件;
位置获取单元,用于当在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,获取所述目标界面组件在所述目标显示屏中的位置信息;
生成单元,用于根据所述位置信息、所述显示屏标识和所述操作信息,生成模拟事件;
处理单元,用于按照预设处理逻辑执行所述模拟事件的操作。
在一实施方式中,所述第一检测单元包括:
第一确定子单元,用于从所述至少两个显示屏中确定所述显示屏标识对应的目标显示屏,所述目标显示屏显示有至少一个候选界面组件;
遍历子单元,用于遍历所述候选界面组件;
第二确定子单元,用于根据遍历结果和所述界面组件标识,从所述候选界面组件中确定目标界面组件。
在一些实施例中,所述第二确定子单元用于:
确定所述候选界面组件的组织结构信息;
根据所述组织结构信息查询每一所述候选界面组件的属性信息;
根据所述属性信息和所述界面组件标识,从所述候选界面组件中确定目标界面组件。
在一些实施例中,所述第二确定子单元进一步用于:
根据所述组织结构信息对所述候选界面组件进行层级划分;
基于层级划分结果确定所述候选界面组件对应的查询顺序;
按照所述查询顺序依次查询每一所述候选界面组件的属性信息。
在一些实施例中,所述装置还包括:
结果获取单元,用于在按照预设处理逻辑执行所述模拟事件的操作之后,获取所述模拟事件的执行结果;
分析单元,用于对所述执行结果进行分析,当所述执行结果不符合预设条件时,重新执行根据测试指令进行界面测试的操作。
在一些实施例中,所述装置还包括:
提示单元,用于当未在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,生成界面组件查找失败的提示信息。
在一些实施例中,所述装置还包括:
第二检测单元,在生成界面组件查找失败的提示信息之后,对其他显示屏中显示的界面组件进行检测,以查找与所述界面组件标识对应的目标界面组件;
标识获取单元,用于当在其他显示屏中查找到与所述界面组件标识对应的目标界面组件时,获取显示所述目标界面组件的显示屏的实际显示屏标识;
更新单元,用于基于所述实际显示屏标识对所述显示屏标识进行更新,并重新执行根据测试指令进行界面测试的操作。
在一些实施例中,所述装置还包括:
标记单元,用于对更新显示屏标识后的测试指令、及基于更新后的测试指令执行得到的执行结果进行标记。
相应的,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上所述界面测试方法。
相应的,本申请实施例还提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述界面测试方法。
本申请实施例中,多面屏终端接收测试指令,该测试指令包括显示屏标识、界面组件标识和指示的操作信息;当在该显示屏标识对应的目标显示屏中检测到与界面组件标识对应的目标界面组件时,获取目标界面组件在目标显示屏中的位置信息,然后根据位置信息、显示屏标识和操作信息生成模拟事件,并按照预设处理逻辑执行该模拟事件的操作,从而实现多面屏设备的界面自动化测试。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的界面测试方法的流程示意图。
图2是本申请实施例提供的Android页面的UI树形组织结构示意图。
图3为本实施例提供的UI自动化测试流程图。
图4本申请实施例提供的UI自动化执行过程示意图。
图5为本申请实施例提供的UI自动化执行结果反馈示意图。
图6是本申请实施例提供的界面测试装置的结构示意图。
图7是本申请实施例提供的终端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种界面测试方法、装置、存储介质及终端。
其中,该界面测试装置具体可以集成在平板PC(Personal Computer)、手机等具备储存单元并安装有微处理器而具有运算能力的终端中。该终端至少具备两个以上的显示屏。
本申请实施例中,该界面测试方法可应用于同时具备即时通讯功能及运动数据处理功能的客户端。例如,该客户端可以为具备即时通讯功能的运动健康类应用或具备运动数据处理功能的即时通讯应用。
请参阅图1,图1为本申请实施例提供的界面测试方法的流程示意图,该界面测试方法应用于终端。其中,该终端至少具备两个显示屏,如前屏、后屏、侧边框屏等。该终端可为智能手机、平板电脑、笔记本电脑、计算机等终端设备。该界面测试方法具体流程如下:
101、接收测试指令,该测试指令包括显示屏标识、界面组件标识和指示的操作信息。
具体的,该测试指令指示对终端的UI界面进行自动化测试。在本实施例中,具体可以指使用自动化测试框架针对待测软件的UI界面进行自动化测试。
其中,该显示屏标识用于标识上述多个显示屏(即终端具备的至少两个显示屏)中待查询的显示屏。实际应用中,可以对终端具备的每个显示屏进行唯一的显示屏ID标识,以便在需要对某一显示屏进行UI界面测试时可通过该显示屏ID进行唯一指示。例如,该终端具备前后两个显示屏,则可以将“screen1”作为前显示屏的显示屏标识、“screen2”作为后显示屏的显示屏标识。又例如,该终端还可包括侧边框显示屏,则可以将“screen3”作为侧边框显示屏的显示屏标识。
界面组件标识用于标识不同的界面组件,该界面组件可对用户可见,也可以对用户不可见。实际应用中,在编写软件时便可对不同的界面组件设置不同的组件ID,以对该界面组件进行唯一标识,如“Button1”、“Button2”等等。
其中,操作信息可以是终端显示屏可接收到的操作,如单击操作、双击操作、滑动操作、长按操作等等。在本实施例中,该操作信息是针对该界面组件标识对应的界面组件而预先设定的。
102、根据显示屏标识从对应的目标显示屏中检测与界面组件标识对应的目标界面组件。
具体的,可以根据该测试指令中携带的显示屏标识,从上述多个显示屏中匹配到待测试的目标显示屏,并对该目标显示屏进行检测,以从中检测到与该界面组件标识匹配的目标界面组件。也即,“根据显示屏标识从对应的目标显示屏中检测与界面组件标识对应的目标界面组件”,可以包括以下流程:
(11)从至少两个显示屏中确定显示屏标识对应的目标显示屏,该目标显示屏显示有至少一个候选界面组件;
(12)遍历候选界面组件;
(13)根据遍历结果和界面组件标识,从候选界面组件中确定目标界面组件。
其中,该候选界面组件可以为可视化组件,也可为非可视化组件。本方案中,该候选界面组件的显示方式可以有多种。例如,可以固定显示在该目标显示屏中的某一位置,也可以悬浮显示在该目标显示屏的任意位置,还可以半透明或全透明叠加于其他界面组件上。
在一些实施例中,在遍历候选界面组件时,可以包括以下流程:
(121)确定候选界面组件的组织结构信息;
(122)根据组织结构信息查询每一候选界面组件的属性信息;
(123)根据属性信息和所述界面标识,从候选界面组件中确定目标界面组件。
具体的,可以依据终端本身的型号、操作系统版本等信息,识别目标显示屏的界面组件的组织特点,以确定该目标显示屏当前显示的显示候选界面组件的组织结构信息。实际应用中,以该终端的操作系统为安卓(Android)8.0为例,则可以基于其操作系统版本识别出其所有页面UI都是按照树状进行组织的特点,也即可确定出候选界面组件的组织结构信息为树形组织结构。
例如,参考图2,图2为本实施例提供的Android页面的UI树形组织结构示意图。View是Android UI控件的基类,ViewGroup也是继承自View,Android中的控件分为两部分,直接继承自View的控件和继承ViewGroup的布局(控件的集合),使整个Android控件形成的界面呈现出一个树形结构。每个父控件要负责绘制和测量下层控件,并进行事件传递交互。每棵树的根都存在一个核心的ViewParent对象,负责对整个视图进行统一的调度和分配。
在每个Activity创建时,同时会创建一个Window(抽象类),Window的具体通过PhotoWindow类实现,它也是唯一的Window实现类。PhotoWindow又创建了一个DecorView(间接的继承自View)作为整个Activity的根布局。DecorView被分为两部分:ActionBar部分和ID为content的FragmentLayout部分。
在确定完成候选界面组件的组织结构信息后,可基于该组织结构信息查询每一候选界面组件的属性信息,并基于查询到的属性信息与目标界面标识进行匹配,以从上述候选界面组件中确定目标界面组件。
实际应用中,该属性信息至少包括候选界面组件的界面组件标识,可以通过将查询到的候选界面组件的界面组件与上述测试指令携带的界面组件标识进行匹配,当匹配成功时将相应的候选界面组件确定为目标界面组件。
在一些实施例中,根据组织结构信息查询每一候选界面组件的属性信息,包括:
根据组织结构信息对候选界面组件进行层级划分;
基于层级划分结果确定候选界面组件对应的查询顺序;
按照查询顺序依次查询每一候选界面组件的属性信息。
具体的,可以按照候选界面组件的组织结构信息对每一候选界面组件进行层级划分。例如,继续参考图2,可将该树形组织的界面组件划分为三个层级,得到层级划分结果。然后,依据层级划分结果确定每一候选界面组件的查询顺序,并按照确定的查询顺序依次查询每一候选界面组件的属性信息。
在确定查询顺序时,具体可以采用深度优先遍历算法,从根节点开始进行UI组件的遍历。也即,可先对属于第一层级上的候选界面组件进行查询、再对属于第二层级的候选界面组件进行查询,最后对属于第三层级的界面组件进行查询。当同一层级存在多个界面组件时,可以基于界面组件的类型、重要程度和/或占用资源多少来确定同一层级内界面组件的查询顺序。
103、当在目标显示屏中检测到与该界面组件标识对应的目标界面组件时,获取目标界面组件在目标显示屏中的位置信息。
具体的,当从该显示屏标识指示的目标显示屏中,检测到与该界面组件标识匹配的目标界面组件时,获取该目标界面组件的位置信息。实际应用中,位置信息可以为坐标信息。
在本实施例中,坐标信息的表示形式也可以有多种。例如,以该终端安装了Android操作系统为例,其坐标系分为两类:绝对坐标系(相对于设备的显示屏)和相对坐标系(相对于父控件,也称视图坐标系)。在Android中,将屏幕的左上角的顶点作为Android坐标系的原点,这个原点向右是X轴正方向,原点向下是Y轴正方向。而视图坐标系其实就是在自定义控件、绘制过程中参考的坐标系,也就是View自身相对于父控件的距离。
104、根据位置信息、显示屏标识和操作信息,生成模拟事件。
具体的,根据上述获取的目标界面组件的位置信息、显示屏标识及指示的操作信息生成模拟操作事件。
例如,针对包括前后屏的终端,当要查询前屏页面的按钮A是否存在时,则可以获取前屏正在运行的Activity的DecorView,并从DecorView开始进行UI遍历查询,当发现遍历的UI为按钮A时,则将UI的位置等信息返回给调用方。
模拟操作根据操作的是前屏还是后屏分别执行不同的操作指令。例如,当要执行前屏页面的按钮A的点击操作时,调用方需要发送操作的位置、操作信息、和屏幕等信息,则生成模拟事件为(x:50,y:50,actionclick,display:front)。
105、按照预设处理逻辑执行模拟事件的操作。
具体的,当模拟操作处理逻辑接收到信息后执行相应的模拟事件的操作,如接收到信息为(x:50,y:50,actionclick,display:front),则将生成代码:sendevent/dev/input/event1 1 50 50。其中/dev/input/event1对应相应的目标显示屏,在此event1表示前屏。实际应用中可以根据前后显示屏对应的event对象进行设置。
实际应用中,自动化执行后,需要将执行结果返回给调用方进行结果分析,以便进行后续的自动化操作。也即,在一些实施例中,在按照预设处理逻辑执行模拟事件的操作之后,还可以包括以下流程:
获取模拟事件的执行结果;
对执行结果进行分析,当执行结果不符合预设条件时,重新执行根据测试指令进行界面测试的操作。
具体的,为了避免因测试过程中的意外故障导致执行结果不符合预期,可在判定为执行结果不符合预设条件时,重新执行根据测试指令进行界面测试的操作(即重新执行上述方法步骤101至105)。
在一些实施例中,当未在目标显示屏中检测到与界面组件标识对应的目标界面组件时,可生成界面组件查找失败的提示信息。实际应用中,该提示信息可以同步至程序测试的日志文件中,并通知系统跳过当前测试节点,以避免测试程序长时间没反应导致后续测试操作无法继续执行。
在一些实施例中,为了使界面自动化测试更加智能化,在生成界面组件查找失败的提示信息之后,还可以包括以下流程:
对其他显示屏中显示的界面组件进行检测,以查找与该界面组件标识对应的目标界面组件;
当在其他显示屏中查找到与该界面组件标识对应的目标界面组件时,获取显示该目标界面组件的显示屏的实际显示屏标识;
基于该实际显示屏标识对该显示屏标识进行更新,并重新执行根据测试指令进行界面测试的操作。
其中,其他显示屏为该终端具备的至少两个显示屏中除上述目标显示屏外的显示屏。当目标显示屏中未检测到匹配的界面组件时,则继续在其他显示屏中进行查找,其中查找规则可参考以上从候选界面组件中查找目标界面组件的查找规则。当在其他显示屏中查找到与界面组件标识匹配的目标界面组件时,将基于实际显示屏标识(即显示该目标界面组件的其他显示屏的显示屏标识)对上述测试指令携带的显示屏标识进行更新。在更新完测试指令后,再重新执行根据测试指令进行界面测试的操作(即重新执行上述方法步骤101至105)。
在一些实施例中,为了加快测试速度,还可以并行执行指令更新和界面测试的步骤。也即,在基于实际显示屏标识对上述测试指令携带的显示屏标识进行更新的同时,获取该目标界面组件的实际位置信息,并执行根据该实际位置信息、显示屏标识和操作信息生成模拟事件的步骤。
在一些实施例中,还可以对更新显示屏标识后的测试指令、及基于更新后的测试指令执行得到的执行结果进行标记,并同步至日志文件中,以供用户修改测试程序,提升自动化测试效率。
由上可知,本实施例提供的界面测试方法,当多面屏终端接收测试指令时,该测试指令包括显示屏标识、界面组件标识和指示的操作信息;若在该显示屏标识对应的目标显示屏中检测到与界面组件标识对应的目标界面组件,则获取目标界面组件在目标显示屏中的位置信息,然后根据位置信息、显示屏标识和操作信息生成模拟事件,并按照预设处理逻辑执行该模拟事件的操作,从而实现多面屏设备的界面自动化测试。
在一实施例中,参考图3、及图4和图5。图3为本实施例提供的UI自动化测试流程图;图4本申请实施例提供的UI自动化执行过程示意图;图5为本申请实施例提供的UI自动化执行结果反馈示意图。下面将以终端为双面屏手机、且该手机安装的操作系统为Android为例,对本申请方案做进一步描述。
参考图3,该UI自动化测试流程主要包括两部分,第一部分是查询获取应用的UI组件信息,第二部分是根据查询结果生成模拟操作事件,并通过Android支持的模拟事件接口或者工具注入模拟操作事件,实现UI自动化测试。
其中,模拟UI操作指的是生成一条测试指令,比如“点击按钮A”,生成这条指令之后再去查询是否存在“按钮A”,没有就证明该指令无法执行;另外,也可以先查找到UI,再根据UI去生成指令。例如,可根据UI的ID、UI支持的操作事件(比如点击、滑动等)生成一条指令,这条指令具体的工作由系统识别并执行。每个可见的UI都对应界面上一块区域,也即在界面上有位置信息,如可以是界面的坐标中的(x,y)位置。
参考图4,自动化执行过程中,查询UI可以根据测试指令操作的UI对象处于前屏还是后屏,对屏幕中展示的UI组件进行遍历。例如,测试指令为“前屏点击支付按钮”,则可对该测试指令进行解析,分析得到该指令是针对“前屏”、操作为“点击”操作、UI组件为“支付按钮”。
由于Android页面中所有UI按照树状进行组织的特点,可采用深度优先遍历算法,从根节点进行UI遍历。例如,当要查询前屏页面的Button1是否存在时,则可以获取前屏正在运行的Activity的DecorView,并从DecorView开始进行UI遍历查询,当发现遍历的UI为Button1时,则将UI的位置等信息返回给调用方。随后,便可执行在前屏查找支付按钮,当查找成功时返回该支付按钮的位置信息并针对该支付按钮的位置模拟用户点击操作。
参考图5,自动化执行后,需要将执行结果返回给调用方进行结果分析,以便进行后续的自动化操作。
可知,本申请可以实现双面屏设备的UI自动化测试,测试用例可以在任意显示屏上执行。
为便于更好的实施本申请实施例提供的界面测试方法,本申请实施例还提供一种基于上述界面测试方法的装置,其中名词的含义与上述界面测试方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图6,图6为本申请实施例提供的界面测试装置的结构示意图。其中,该界面测试装置应用于至少具备两个显示屏的终端,如前屏、后屏、侧边框屏等。该终端可为智能手机、平板电脑、笔记本电脑、计算机等终端设备。该界面测试装置可以包括:接收单元401、第一检测单元402、位置获取单元403、生成单元404及处理单元405,具体可以如下:
接收单元401,用于接收测试指令,所述测试指令包括显示屏标识、界面组件标识和指示的操作信息;
第一检测单元402,用于根据所述显示屏标识从对应的目标显示屏中检测与所述界面组件标识对应的目标界面组件;
位置获取单元403,用于当在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,获取所述目标界面组件在所述目标显示屏中的位置信息;
生成单元404,用于根据所述位置信息、所述显示屏标识和所述操作信息,生成模拟事件;
处理单元405,用于按照预设处理逻辑执行所述模拟事件的操作。
在一实施方式中,所述第一检测单元402可以包括:
第一确定子单元,用于从所述至少两个显示屏中确定所述显示屏标识对应的目标显示屏,所述目标显示屏显示有至少一个候选界面组件;
遍历子单元,用于遍历所述候选界面组件;
第二确定子单元,用于根据遍历结果和所述界面组件标识,从所述候选界面组件中确定目标界面组件。
在一些实施例中,所述第二确定子单元用于:
确定所述候选界面组件的组织结构信息;
根据所述组织结构信息查询每一所述候选界面组件的属性信息;
根据所述属性信息和所述界面组件标识,从所述候选界面组件中确定目标界面组件。
在一些实施例中,所述第二确定子单元进一步可以用于:
根据所述组织结构信息对所述候选界面组件进行层级划分;
基于层级划分结果确定所述候选界面组件对应的查询顺序;
按照所述查询顺序依次查询每一所述候选界面组件的属性信息。
在一些实施例中,所述装置还包括:
结果获取单元,用于在按照预设处理逻辑执行所述模拟事件的操作之后,获取所述模拟事件的执行结果;
分析单元,用于对所述执行结果进行分析,当所述执行结果不符合预设条件时,重新执行根据测试指令进行界面测试的操作。
在一些实施例中,所述装置还包括:
提示单元,用于当未在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,生成界面组件查找失败的提示信息。
在一些实施例中,所述装置还可以包括:
第二检测单元,在生成界面组件查找失败的提示信息之后,对其他显示屏中显示的界面组件进行检测,以查找与所述界面组件标识对应的目标界面组件;
标识获取单元,用于当在其他显示屏中查找到与所述界面组件标识对应的目标界面组件时,获取显示所述目标界面组件的显示屏的实际显示屏标识;
更新单元,用于基于所述实际显示屏标识对所述显示屏标识进行更新,并重新执行根据测试指令进行界面测试的操作。
在一些实施例中,所述装置还可以包括:
标记单元,用于对更新显示屏标识后的测试指令、及基于更新后的测试指令执行得到的执行结果进行标记。
本申请实施例提供的界面测试装置,当多面屏终端接收测试指令时,该测试指令包括显示屏标识、界面组件标识和指示的操作信息;根据显示屏标识从对应的目标显示屏中检测与界面组件标识对应的目标界面组件;当在该目标显示屏中检测到与界面组件标识对应的目标界面组件时,获取目标界面组件在目标显示屏中的位置信息,然后根据位置信息、显示屏标识和操作信息生成模拟事件,并按照预设处理逻辑执行该模拟事件的操作,从而实现多面屏设备的界面自动化测试。
本申请实施例还提供一种终端,该终端具体可以是智能手机、平板电脑等可移动的终端设备,也可以为笔记本电脑、计算机等较大型终端设备。该终端中安装有具备即时通讯功能的运动健康类应用。如图7所示,该终端可以包括射频(RF,Radio Frequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(WiFi,Wireless Fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,RF电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路601还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器608和输入单元603对存储器602的访问。
输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元603可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器608,并能接收处理器608发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元603还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元604可包括至少两个显示面板,且任一显示面板都可独立显示信息。例如,该终端可包括前屏、后屏、侧边框屏等,每一显示屏都可独立显示信息互不干扰。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图7中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路606、扬声器,传声器可提供用户与终端之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经RF电路601以发送给比如另一终端,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块607,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器608是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
终端还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现各种功能:
接收测试指令,所述测试指令包括显示屏标识、界面组件标识和指示的操作信息;
根据所述显示屏标识从对应的目标显示屏中检测与所述界面组件标识对应的目标界面组件;
当在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,获取所述目标界面组件在所述目标显示屏中的位置信息;
根据所述位置信息、所述显示屏标识和所述操作信息,生成模拟事件;
按照预设处理逻辑执行所述模拟事件的操作。
本申请实施例提供的终端,当多面屏终端接收测试指令时,该测试指令包括显示屏标识、界面组件标识和指示的操作信息;根据显示屏标识从对应的目标显示屏中检测与界面组件标识对应的目标界面组件;当在该目标显示屏中检测到与界面组件标识对应的目标界面组件时,获取目标界面组件在目标显示屏中的位置信息,然后根据位置信息、显示屏标识和操作信息生成模拟事件,并按照预设处理逻辑执行该模拟事件的操作,从而实现多面屏设备的界面自动化测试。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种界面测试方法。例如,该指令可以执行如下步骤:
接收测试指令,所述测试指令包括显示屏标识、界面组件标识和指示的操作信息;
根据所述显示屏标识从对应的目标显示屏中检测与所述界面组件标识对应的目标界面组件;
当在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,获取所述目标界面组件在所述目标显示屏中的位置信息;
根据所述位置信息、所述显示屏标识和所述操作信息,生成模拟事件;
按照预设处理逻辑执行所述模拟事件的操作。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种界面测试方法中的步骤,因此,可以实现本申请实施例所提供的任一种界面测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的界面测试方法、装置、存储介质及终端进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种界面测试方法,应用于终端,其特征在于,所述终端至少具备两个显示屏,所述方法包括:
接收测试指令,所述测试指令包括显示屏标识、界面组件标识和指示的操作信息;
根据所述显示屏标识从对应的目标显示屏中检测与所述界面组件标识对应的目标界面组件;
当在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,获取所述目标界面组件在所述目标显示屏中的位置信息;
根据所述位置信息、所述显示屏标识和所述操作信息,生成模拟事件;
按照预设处理逻辑执行所述模拟事件的操作。
2.根据权利要求1所述的界面测试方法,其特征在于,所述根据所述显示屏标识从对应的目标显示屏中检测与所述界面组件标识对应的目标界面组件,包括:
从所述至少两个显示屏中确定所述显示屏标识对应的目标显示屏,所述目标显示屏显示有至少一个候选界面组件;
遍历所述候选界面组件;
根据遍历结果和所述界面组件标识,从所述候选界面组件中确定目标界面组件。
3.根据权利要求2所述的界面测试方法,其特征在于,所述遍历所述候选界面组件,包括:
确定所述候选界面组件的组织结构信息;
根据所述组织结构信息查询每一所述候选界面组件的属性信息;
根据所述属性信息和所述界面组件标识,从所述候选界面组件中确定目标界面组件。
4.根据权利要求3所述的界面测试方法,其特征在于,所述根据所述组织结构信息查询每一所述候选界面组件的属性信息,包括:
根据所述组织结构信息对所述候选界面组件进行层级划分;
基于层级划分结果确定所述候选界面组件对应的查询顺序;
按照所述查询顺序依次查询每一所述候选界面组件的属性信息。
5.根据权利要求1-4任一项所述的界面测试方法,其特征在于,在按照预设处理逻辑执行所述模拟事件的操作之后,还包括:
获取所述模拟事件的执行结果;
对所述执行结果进行分析,当所述执行结果不符合预设条件时,重新执行根据测试指令进行界面测试的操作。
6.根据权利要求1-4任一项所述的界面测试方法,其特征在于,还包括:
当未在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,生成界面组件查找失败的提示信息。
7.根据权利要求6所述的界面测试方法,其特征在于,在生成界面组件查找失败的提示信息之后,还包括:
对其他显示屏中显示的界面组件进行检测,以查找与所述界面组件标识对应的目标界面组件;
当在其他显示屏中查找到与所述界面组件标识对应的目标界面组件时,获取显示所述目标界面组件的显示屏的实际显示屏标识;
基于所述实际显示屏标识对所述显示屏标识进行更新,并重新执行根据测试指令进行界面测试的操作。
8.根据权利要求7所述的界面测试方法,其特征在于,还包括:
对更新显示屏标识后的测试指令、及基于更新后的测试指令执行得到的执行结果进行标记。
9.一种界面测试装置,应用于终端,其特征在于,所述终端至少具备两个显示屏,所述装置包括:
接收单元,用于接收测试指令,所述测试指令包括显示屏标识、界面组件标识和指示的操作信息;
第一检测单元,用于根据所述显示屏标识从对应的目标显示屏中检测与所述界面组件标识对应的目标界面组件;
位置获取单元,用于当在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,获取所述目标界面组件在所述目标显示屏中的位置信息;
生成单元,用于根据所述位置信息、所述显示屏标识和所述操作信息,生成模拟事件;
处理单元,用于按照预设处理逻辑执行所述模拟事件的操作。
10.根据权利要求9所述的界面测试装置,其特征在于,所述第一检测单元包括:
第一确定子单元,用于从所述至少两个显示屏中确定所述显示屏标识对应的目标显示屏,所述目标显示屏显示有至少一个候选界面组件;
遍历子单元,用于遍历所述候选界面组件;
第二确定子单元,用于根据遍历结果和所述界面组件标识,从所述候选界面组件中确定目标界面组件。
11.根据权利要求10所述的界面测试装置,其特征在于,所述第二确定子单元用于:
确定所述候选界面组件的组织结构信息;
根据所述组织结构信息查询每一所述候选界面组件的属性信息;
根据所述属性信息和所述界面组件标识,从所述候选界面组件中确定目标界面组件。
12.根据权利要求9-11任一项所述的界面测试装置,其特征在于,还包括:
结果获取单元,用于在按照预设处理逻辑执行所述模拟事件的操作之后,获取所述模拟事件的执行结果;
分析单元,用于对所述执行结果进行分析,当所述执行结果不符合预设条件时,重新执行根据测试指令进行界面测试的操作。
13.根据权利要求9-11任一项所述的界面测试装置,其特征在于,还包括:
提示单元,用于当未在所述目标显示屏中检测到与所述界面组件标识对应的目标界面组件时,生成界面组件查找失败的提示信息。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1-8任一项所述的界面测试方法。
15.一种终端,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8任一项所述界面测试方法。
CN202010777779.3A 2020-08-05 2020-08-05 界面测试方法、装置、存储介质及终端 Pending CN114064447A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010777779.3A CN114064447A (zh) 2020-08-05 2020-08-05 界面测试方法、装置、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010777779.3A CN114064447A (zh) 2020-08-05 2020-08-05 界面测试方法、装置、存储介质及终端

Publications (1)

Publication Number Publication Date
CN114064447A true CN114064447A (zh) 2022-02-18

Family

ID=80232218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010777779.3A Pending CN114064447A (zh) 2020-08-05 2020-08-05 界面测试方法、装置、存储介质及终端

Country Status (1)

Country Link
CN (1) CN114064447A (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853355A (zh) * 2014-03-17 2014-06-11 吕玉柱 电子设备操作方法及其操控设备
CN104951393A (zh) * 2014-03-25 2015-09-30 中国电信股份有限公司 测试方法和测试装置
US20150363302A1 (en) * 2014-06-13 2015-12-17 Ebay Inc. A/b testing for mobile applications
CN105320595A (zh) * 2014-07-31 2016-02-10 腾讯科技(深圳)有限公司 一种应用测试方法和装置
US20160328200A1 (en) * 2015-05-06 2016-11-10 Hcl Technologies Limited Testing screens of a multi-screen device
CN106506764A (zh) * 2016-10-10 2017-03-15 武汉斗鱼网络科技有限公司 一种多手机远程操控系统及方法
CN108595329A (zh) * 2018-04-23 2018-09-28 腾讯科技(深圳)有限公司 一种应用测试方法、装置及计算机存储介质
CN109600282A (zh) * 2018-12-26 2019-04-09 世纪龙信息网络有限责任公司 基于云真机的测试系统及测试方法
CN110008110A (zh) * 2019-01-28 2019-07-12 阿里巴巴集团控股有限公司 用户界面的测试方法及装置
US20200034281A1 (en) * 2017-01-11 2020-01-30 Smartlytics Llc, Dba Quantyzd System and method for automated intelligent mobile application testing
CN110968501A (zh) * 2018-09-30 2020-04-07 北京奇虎科技有限公司 应用程序兼容性的联动测试方法及装置
CN111078556A (zh) * 2019-12-17 2020-04-28 腾讯科技(深圳)有限公司 应用测试方法及装置
WO2020133350A1 (zh) * 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 界面显示方法及控制终端
CN111414309A (zh) * 2020-03-27 2020-07-14 武汉联影医疗科技有限公司 应用程序的自动化测试方法、计算机设备和存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853355A (zh) * 2014-03-17 2014-06-11 吕玉柱 电子设备操作方法及其操控设备
CN104951393A (zh) * 2014-03-25 2015-09-30 中国电信股份有限公司 测试方法和测试装置
US20150363302A1 (en) * 2014-06-13 2015-12-17 Ebay Inc. A/b testing for mobile applications
CN105320595A (zh) * 2014-07-31 2016-02-10 腾讯科技(深圳)有限公司 一种应用测试方法和装置
US20160328200A1 (en) * 2015-05-06 2016-11-10 Hcl Technologies Limited Testing screens of a multi-screen device
CN106506764A (zh) * 2016-10-10 2017-03-15 武汉斗鱼网络科技有限公司 一种多手机远程操控系统及方法
US20200034281A1 (en) * 2017-01-11 2020-01-30 Smartlytics Llc, Dba Quantyzd System and method for automated intelligent mobile application testing
CN108595329A (zh) * 2018-04-23 2018-09-28 腾讯科技(深圳)有限公司 一种应用测试方法、装置及计算机存储介质
CN110968501A (zh) * 2018-09-30 2020-04-07 北京奇虎科技有限公司 应用程序兼容性的联动测试方法及装置
CN109600282A (zh) * 2018-12-26 2019-04-09 世纪龙信息网络有限责任公司 基于云真机的测试系统及测试方法
WO2020133350A1 (zh) * 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 界面显示方法及控制终端
CN110008110A (zh) * 2019-01-28 2019-07-12 阿里巴巴集团控股有限公司 用户界面的测试方法及装置
CN111078556A (zh) * 2019-12-17 2020-04-28 腾讯科技(深圳)有限公司 应用测试方法及装置
CN111414309A (zh) * 2020-03-27 2020-07-14 武汉联影医疗科技有限公司 应用程序的自动化测试方法、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何敏;叶莹;王禹翔;: "基于Ranorex的多屏显示功能自动化测试方案", 软件导刊, no. 10, 25 October 2013 (2013-10-25) *

Similar Documents

Publication Publication Date Title
CN107038112B (zh) 应用界面的调试方法及装置
CN106708676B (zh) 接口测试方法及装置
CN107943683B (zh) 一种测试脚本生成方法、装置、电子设备及存储介质
CN108039963B (zh) 一种容器配置方法、装置及存储介质
CN111078556B (zh) 应用测试方法及装置
CN104516812A (zh) 一种软件测试方法和装置
CN111178012A (zh) 一种表单渲染方法、装置、设备及存储介质
CN105302452B (zh) 一种基于手势交互的操作方法及装置
CN104869465B (zh) 视频播放控制方法和装置
CN108958606B (zh) 分屏显示方法、装置、存储介质和电子设备
CN104077184B (zh) 一种应用程序的进程控制方法及计算机系统
CN109451130B (zh) 移动终端测试方法、装置、移动终端及存储介质
CN111580815A (zh) 一种页面元素的编辑方法及相关设备
CN113377469A (zh) 移动应用的业务界面显示方法、装置、终端及存储介质
CN108984374B (zh) 一种数据库性能的测试方法和系统
CN112749074B (zh) 一种测试用例推荐方法以及装置
CN108604161A (zh) 一种锁定列表对象的方法、装置及终端设备
CN103399706A (zh) 页面交互方法、装置及终端
CN113050863A (zh) 页面切换方法、装置、存储介质及电子设备
CN110413639A (zh) 数据核查方法及装置、电子设备和计算机可读存储介质
CN105005529B (zh) 一种对应用程序进行测试的方法及装置
CN103729283B (zh) 一种系统日志输出方法、装置及终端设备
CN111359210B (zh) 一种数据处理方法、装置、电子设备以及存储介质
CN109145598B (zh) 脚本文件的病毒检测方法、装置、终端及存储介质
CN104834514B (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