CN113282488A - 终端的测试方法及装置、存储介质、终端 - Google Patents
终端的测试方法及装置、存储介质、终端 Download PDFInfo
- Publication number
- CN113282488A CN113282488A CN202110523256.0A CN202110523256A CN113282488A CN 113282488 A CN113282488 A CN 113282488A CN 202110523256 A CN202110523256 A CN 202110523256A CN 113282488 A CN113282488 A CN 113282488A
- Authority
- CN
- China
- Prior art keywords
- terminal
- test
- tested
- control
- user interface
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
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)
- Telephone Function (AREA)
Abstract
一种终端的测试方法及装置、存储介质、终端,所述方法包括:获取第一待测终端的屏幕上显示的用户界面并显示在测试终端的屏幕上,所述用户界面包括多个界面控件;获取用户在所述测试终端上执行的测试操作;如果所述用户选择的控制方式为控件控制,则确定所述测试操作的位置在所述用户界面内所处的区域,记为目标区域,其中,所述用户界面被划分为多个区域;计算所述测试操作的位置与落入所述目标区域内的各个界面控件之间的距离,并将距离最小的界面控件作为目标控件;生成第一测试指令,所述第一测试指令用于对所述第一待测终端进行测试,其中,所述第一测试指令包含所述目标控件和测试操作的信息。通过本发明的方案,可以提高测试效率。
Description
技术领域
本发明涉及自动化测试技术领域,尤其涉及一种终端的测试方法及装置、存储介质、终端。
背景技术
随着测试技术的发展,对终端的屏幕上显示的用户界面(User Interface,UI)进行测试逐渐由人工手动测试转变为自动化测试。自动化测试是指把人工手动的测试操作转化为机器可执行的指令,待测试的终端运行该指令时执行上述的测试操作。
自动化测试主要包括两个步骤:脚本录制和脚本回放。其中,在脚本录制的过程中,待测终端的屏幕上显示的用户界面显示在测试终端的屏幕上,现有技术中通常将用户在测试终端的屏幕上执行的操作的位置转化为待测终端屏幕上对应的位置,再基于转化得到的位置生成测试脚本。在脚本回放阶段,对录制的测试脚本进行解析,以驱动待测终端执行所述测试操作。采用这样的方案时,当需要对多个不同的待测终端进行相同过程的测试时,需要分别计算用户在测试上执行的测试操作的位置在各个待测终端上对应的位置,测试的效率较低。
因此,亟需一种效率更高的终端的测试方法。
发明内容
本发明解决的技术问题是提供一种效率更高的终端的测试方法。
为解决上述技术问题,本发明实施例提供一种终端的测试方法,所述方法包括:获取第一待测终端的屏幕上显示的用户界面并显示在测试终端的屏幕上,所述用户界面包括多个界面控件;获取用户在所述测试终端上执行的测试操作;如果所述用户选择的控制方式为控件控制,则确定所述测试操作的位置在所述用户界面内所处的区域,记为目标区域,其中,所述用户界面被划分为多个区域;计算所述测试操作的位置与落入所述目标区域内的各个界面控件之间的距离,并将距离最小的界面控件作为目标控件;生成第一测试指令,所述第一测试指令用于对所述第一待测终端进行测试,其中,所述第一测试指令包含所述目标控件和测试操作的信息。
可选的,所述第一测试指令还用于对第二待测终端进行测试,其中,所述第一待测终端的屏幕分辨率与所述第二待测终端的屏幕分辨率不同。
可选的,所述方法还包括:如果所述用户选择的控制方式为坐标控制,则将所述测试操作的位置记为目标位置;生成第二测试指令,所述第二测试指令用于对所述第一待测终端进行测试,所述第二测试指令包含所述目标位置和所述测试操作的信息。
可选的,确定所述测试操作的位置在所述用户界面内所处的区域包括:将所述用户界面划分为多个第一区域,并确定所述测试操作的位置所处的第一区域,记为第一定位区域;将所述第一定位区域划分为多个第二区域,并确定所述测试操作的位置所处的第二区域,记为第二定位区域;将所述第二定位区域作为所述目标区域。
可选的,在确定所述测试操作的位置在所述用户界面内所处的区域之前,所述方法还包括:从所述第一待测终端接收所述多个界面控件的控件信息,所述控件信息包括以下一项或多项:各个界面控件的属性信息和位置信息。
可选的,所述第一测试指令包含所述目标控件的内容,所述第一待测终端基于所述目标控件的内容从所述多个界面控件中识别出所述目标控件,所述生成第一测试指令包括:获取所述用户选择的属性信息的类型;根据用户选择的属性信息的类型和所述目标控件的属性信息确定所述目标控件的内容;根据所述目标控件的内容和所述测试操作的类型生成所述第一测试指令。
可选的,所述生成第一测试指令包括:判断所述测试操作的类型是否是预设的第一类型,如果是,则生成判断指令,所述第一待测终端运行所述判断指令时判断屏幕上显示的用户界面内是否存在所述目标控件。
可选的,将所述第一测试指令发送至所述第一待测终端,以使所述第一待测终端运行所述第一测试指令并得到测试结果;从所述第一待测终端获取测试结果;其中,如果所述第一待测终端运行所述第一测试指令时未在其屏幕上显示的用户界面内查找到所述目标控件,则所述测试结果为未通过。
可选的,所述方法还包括:从所述第一待测终端获取界面截图,所述界面截图为所述第一待测终端未查找到所述目标控件时其屏幕上显示的用户界面的截图。
可选的,生成第一测试指令包括:生成第一测试脚本,其中,所述第一测试脚本是可编辑的;对所述第一测试脚本进行解析,以生成第一测试指令。
可选的,对所述第一测试脚本进行解析之前,所述方法还包括:根据所述用户的修改操作更新所述第一测试脚本。
本发明实施例还提供一种终端的测试装置,所述装置包括:显示装置,用于获取第一待测终端的屏幕上显示的用户界面并显示在测试终端的屏幕上,所述用户界面包括多个界面控件;操作获取模块,用于获取用户在所述测试终端上执行的测试操作;目标区域确定模块,用于如果所述用户选择的控制方式为控件控制,则确定所述测试操作的位置在所述用户界面内所处的区域,记为目标区域,其中,所述用户界面被划分为多个区域;目标控件确定模块,用于计算所述测试操作的位置与所述目标区域内的各个界面控件之间的距离,并将距离最小的界面控件作为目标控件;测试指令生成模块,用于生成第一测试指令,所述第一测试指令用于对所述第一待测终端进行测试,其中,所述测试指令包含所述目标控件和测试操作的信息。
本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的终端的测试方法的步骤。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述的终端的测试方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在本发明的发明实施例中,由于用户界面被划分为多个区域,因此获取到用户在测试终端上执行的测试操作之后,可以确定用户执行的测试操作在用户界面内所处的目标区域。然后计算测试操作的位置和落入目标区域内的各个界面控件之间的距离,从而可以将距离最近的界面控件作为目标控件。进一步地,基于目标控件和测试操作生成第一测试指令,由于第一测试指令包含目标控件和测试操作的信息,因此第一测试指令可以用于对第一待测终端进行测试。由于本发明实施例的方案中,第一测试指令包含目标控件和测试操作的信息,当需要对多个待测终端进行相同的测试操作时,只需将包含目标控件和测试操作的信息的第一测试指令发送给各个待测终端,因此,可以提高测试效率。
进一步,本发明实施例的方案中,先将用户界面划分为多个第一区域,并确定测试操作的位置所处的第一定位区域,然后再将第一定位区域划分为多个第二区域,最后将测试操作的位置所处的第二区域作为目标区域,然后从落入目标区域内的界面控件中确定目标控件,采用这种方法可以快速地确定目标控件,进一步提高了测试效率。
附图说明
图1是本发明实施例中一种终端的测试方法的应用场景示意图;
图2是本发明实施例中一种终端的测试方法的流程示意图;
图3是本发明实施例中一种测试终端的屏幕上显示的界面的示意图。
图4是本发明实施例中一种终端的测试装置的结构示意图。
具体实施方式
如背景技术所述,亟需一种效率更高的终端的测试方法。
本发明的发明人经过研究发现,自动化测试主要包括两个步骤:脚本录制和脚本回放。其中,在脚本录制的过程中,待测终端的屏幕上显示的用户界面显示在测试终端的屏幕上,现有技术中通常将用户在测试终端的屏幕上执行的测试操作的位置转化为待测终端屏幕上对应的位置,再基于转化得到的位置生成测试脚本。在脚本回放阶段,对录制的测试脚本进行解析,以驱动待测终端执行所述操作。采用这样的方案,当需要对多个不同的待测终端进行相同过程的测试时,需要分别计算用户在测试上执行的测试操作的位置在各个待测终端上对应的位置,测试的效率较低。
为了解决上述技术问题,本发明实施例提供一种终端的测试方法,在本发明实施例的方案中,由于用户界面被划分为多个区域,因此获取到用户在测试终端上执行的测试操作之后,可以确定用户执行的操作在用户界面内所处的目标区域。然后计算测试操作的位置和落入目标区域内的各个界面控件之间的距离,从而可以将距离最近的界面控件作为目标控件。进一步地,基于目标控件和测试操作生成第一测试指令,由于第一测试指令包含目标控件和测试操作的信息,因此第一测试指令可以用于对第一待测终端进行测试。由于本发明实施例的方案中,第一测试指令包含目标空间和测试操作的信息,当需要对多个待测终端进行相同的测试操作时,只需将包含目标控件和测试操作的信息的第一测试指令发送给各个待测终端即可,因此,可以提高测试效率。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参考图1,图1是本发明实施例中一种终端的测试方法的应用场景示意图,下面结合图1对本发明实施例的应用场景进行非限制性的说明。
测试终端11可以与第一待测终端12通信连接,所述连接的方式可以是各种现有的方式,例如,蓝牙连接、通过串行总线(Universal Serial Bus,USB)连接、通过无线网络(Wireless Network)连接等,本发明实施例对于连接方式和距离并不进行任何限制。测试终端11与第一待测终端12之间,可以采用套接字(Socket)的方式进行通信,但并不限于此。
其中,测试终端11和第一待测终端12可以是各种恰当的终端,例如,可以是手机、计算机、物联网设备等,但并不限于此。在测试过程中,测试终端11可以从第一待测终端12处获取第一待测终端12的屏幕上显示的用户界面,并在测试终端11的屏幕上显示该用户界面。所述用户界面包括多个界面控件,所述界面控件是指用户界面内的可视化图形,例如,按钮、文本编辑框等,界面控件具有执行功能,也即,通过对界面控件进行操作可以引发代码运行以完成对该操作的响应。
进一步地,在脚本录制阶段,用户在测试终端11上执行测试操作,所述测试操作可以是通过键盘、鼠标等外部设备在测试终端11在测试终端11的屏幕上执行上的,例如,通过鼠标点击用户界面上的某一个界面控件、通过键盘在某一个界面控件内输入文字等,也可以是通过语音对某一个界面控件进行选择等,所述测试操作还可以是用户在测试终端11的屏幕上执行的手势等,但并不限于此。
进一步地,测试终端11确定目标控件,所述目标控件为所述测试操作的对象,再生成第一测试指令并发送至第一待测终端12,以对第一待测终端12进行测试。
进一步地,测试终端11还可以与第二待测终端13通信连接,第二待测终端13的屏幕分辨率不同于第一待测终端12的屏幕分辨率。如果需要对第二待测终端13进行相同的测试,还可以将上述第一测试指令发送至第二待测终端13,以对第二待测终端13进行测试。
参考图2,图2是本发明实施例中一种终端的测试方法的流程示意图。所述方法可以由各种现有的恰当的终端执行,本发明实施例中将执行所述测试方法的终端记为测试终端。所述终端的测试方法可以用于测试终端上安装的待测试的应用程序是否可以正常运行,本发明实施例的方案中将安装有待测试的应用程序的终端记为待测终端,测试终端与待测终端之间可以建立通信连接。图2示出的终端的测试方法可以包括如下步骤:
步骤S201:获取第一待测终端的屏幕上显示的用户界面并显示在测试终端的屏幕上,所述用户界面包括多个界面控件;
步骤S202:获取用户在所述测试终端上执行的测试操作;
步骤S203:如果所述用户选择的控制方式为控件控制,则确定所述测试操作的位置在所述用户界面内所处的区域,记为目标区域,其中,所述用户界面被划分为多个区域;
步骤S204:计算所述测试操作的位置与落入所述目标区域内的各个界面控件之间的距离,并将距离最小的界面控件作为目标控件;
步骤S205:生成第一测试指令,所述第一测试指令用于对所述第一待测终端进行测试,其中,第一测试指令包含所述目标控件和所述测试操作的信息。
在步骤S201的具体实施中,测试终端可以获取第一待测终端的屏幕上显示的用户界面,并显示在测试终端的屏幕上。具体而言,所述第一待测终端可以包括帧缓冲存储器(Frame Buffer,又称“帧缓存”),所述帧缓冲存储器可以用于存储第一待测终端的屏幕上显示的用户界面。所述用户界面可以是待测试的应用程序的用户界面,但并不限于此。所述用户界面内可以包括多个界面控件,更多关于用户界面的内容可以参照图1中的相关描述,在此不再赘述。
参考图3,图3是本发明实施例中一种测试终端的屏幕上显示的界面的示意图。
如图3所示,测试终端的屏幕上显示的界面中包括第一窗口31和第二窗口32,其中,第一窗口31用于显示上述用户界面,也即,第一窗口31用于显示第一待测终端的屏幕上显示的用户界面,第二窗口32用于显示测试脚本,所述测试脚本是基于用户在测试终端上执行的测试操作生成的。
继续参考图1,获取用户界面之前,测试终端可以先向第一待测终端发送用户界面获取请求,所述用户界面获取请求用于向第一待测终端请求用户界面。第一待测终端获取到用户界面获取请求后,可以将帧缓冲存储器存储的用户界面发送至测试终端。
进一步地,测试终端还可以向第一待测终端发送硬件参数查询请求,所述硬件参数查询请求用于向第一待测终端请求第一待测终端的硬件设备参数,所述硬件设备参数可以是屏幕的显示参数,例如,屏幕分辨率等,但并不限于此。
进一步地,可以根据获取到的硬件设备参数对获取到的用户界面进行处理,以使处理后的用户界面适应于测试终端的屏幕。具体而言,测试终端的屏幕分辨率可能与第一待测终端的屏幕分辨率不同,因此,测试终端在显示用户界面之前,可以先根据测试终端的硬件设备参数以及第一待测终端的硬件设备参数确定转化矩阵,然后根据所述转化矩阵对从帧缓冲存储器中读取的用户界面进行处理,从而得到处理后的用户界面并进行显示。其中,所述转化矩阵用于描述测试终端和第一待测终端的屏幕分辨率之间的关系。
需要说明的是,本发明实施例对于获取用户界面和第一待测终端的硬件设备参数的先后顺序并不进行限制,还可以一并从第一待测终端处获取用户界面和硬件设备参数。
在步骤S202的具体实施中,可以获取用户在测试终端上执行的测试操作,用户在测试终端上执行的操作可以是用户在测试终端的屏幕上执行的各种操作,例如,点击、双击、长按、拖动等,还可以是输入文本等,但并不限于此。需要说明的是,所述测试操作时针对用户界面内的界面控件的,也即,测试操作的对象为界面控件。
在步骤S203的具体实施中,可以先获取用户选择的控制方式,所述控制方式可以包括控件控制和坐标控制。在一个具体的实施例中,当获取到用户在测试终端执行的测试操作,可以显示用户可选择的控制方式,例如,控件控制、坐标控制等,然后获取用户选择的控制方式。如果用户选择的控制方式为控件控制,则生成第一测试指令,第一测试指令包含测试操作对应的目标控件的信息。如果用户选择的控制方式为坐标控制,则生成第二测试指令,第二测试指令包含测试操作的对应的目标位置的信息。
进一步地,可以判断用户选择的控制方式,如果用户选择的控制方式为控件控制,则确定用户执行的测试操作的位置在用户界面内所处的区域,记为目标区域。
在第一个具体的实施例中,确定目标区域之前,可以先将用户界面划分为预设数量个区域,获取到用户执行的测试操作之后,确定所述测试操作所处的区域,并将该区域作为所述目标区域。需要说明的是,可以是在获取用户执行的测试操作之前,将用户界面划分为预设数量个区域,也可以是获取用户执行的测试操作之后,将用户界面划分为预设数量个区域,本发明实施例对此并不进行限制。
在第二个具体实施例中,可以先将用户界面划分为多个第一区域,并确定所述测试操作的位置所处的第一区域,记为第一定位区域;再将所述第一定位区域划分为多个第二区域,并确定所述测试操作的位置所处的第二区域,记为第二定位区域;将所述第二定位区域作为所述目标区域。更具体地,可以将用户界面等分为四个第一区域,然后确定第一定位区域,再将第一定位区域等分为四个第二区域,再确定所述第二定位区域,以作为目标区域。
需要说明的是,还可以进一步将第二定位区域划分为多个第三区域,并确定测试操作的位置所处的第三区域,记为第三定位区域,并将该第三定位区域作为所述目标区域,本发明实施例对划分的次数并不进行限制。还需要说明的是,每次进行划分时,可以是等分地进行划分,也可以是非等分地进行划分。
在第三个具体实施例中,所述用户界面的区域可以是由第一待测终端进行划分的。具体而言,测试终端可以从第一待测终端处获取用户界面的区域信息,用户界面的区域信息可以包括各个区域的标识和范围。由此,测试终端获取到用户的测试操作时,可以直接将测试操作的位置所处的区域作为目标区域。
在步骤S204的具体实施中,可以先筛选出落入目标区域内的各个界面控件。具体而言,可以根据各个控件的坐标信息筛选出落入目标区域内的界面控件。
在一个具体实施例中,确定所述测试操作的位置在用户界面内所处的区域之前,可以从第一待测终端接收多个界面控件的控件信息。更具体地,测试终端可以先向第一待测终端发送控件信息请求,所述控件信息请求用于向第一待测终端请求用户界面内各个界面控件的信息,所述控件信息可以包括以下一项或多项:界面控件的属性信息和位置信息。
其中,属性信息用于描述界面控件的内容,所述属性信息可以包括以下一项或多项:标识、文本和描述,但并不限于此。其中,所述标识可以唯一确定界面控件,所述标识可以是字符串;所述文本是界面控件在用户界面上显示的内容;所述描述是界面控件在用户界面上未显示的除标识以外的其他内容。
进一步地,所述位置信息用于描述界面控件在用户界面内所处的位置。所述位置信息可以是坐标,所述位置信息可以是界面控件的参考点的坐标,但并不限于此。其中,参考点可以是预先设置的,例如,可以是各个界面控件的中心点,但并不限于此。所述位置信息可以用于计算界面控件与测试操作的位置之间的距离。
在一个非限制性的例子中,控件信息还可以包括界面控件的区域标识。具体而言,第一待测终端可以将用户界面划分为多个区域,每个界面控件可以具有区域标识,所述区域标识用于指示各个界面控件所在的区域。由此,确定目标区域后,即可根据各个界面控件的区域标识筛选出落入目标区域内的各个界面控件。
进一步地,可以计算测试操作的位置与筛选出的各个界面控件之间的距离。更具体地,可以计算测试操作的位置和各个界面控件的参考点之间的距离。其中,测试操作的位置和各个界面控件之间的距离的方法可以是各种现有的距离计算的方法,本发明实施例对此并不进行任何限制。
进一步地,可以将与测试操作之间的距离最小的界面控件作为目标控件,也即,用户在测试终端上对目标控件执行了所述测试操作。由此,可以确定测试操作对应的目标控件。
在步骤S205的具体实施中,可以生成第一测试指令,第一测试指令包含目标控件和测试操作的信息。所述第一测试指令用于对第一待测终端进行测试。所述第一测试指令包含所述目标控件和测试操作的信息,可以将第一测试指令发送至第一待测终端,第一待测终端可以基于目标控件的信息从多个界面控件中识别出目标控件,还可以基于测试操作的信息识别出用户执行的测试操作的类型。
具体而言,第一测试指令可以包括目标控件的内容,所述目标控件的内容可以选自目标控件的属性信息。
在一个具体的实施例中,在确定目标控件之后,可以显示用户可选择的属性信息的类型,用户可选择的属性信息的类型可以包括标识、文本和描述等,但并不限于此。然后可以获取用户选择的属性信息的类型,再根据用户选择的属性信息的类型和目标控件的属性信息确定目标控件的内容。例如,如果用户选择的属性信息的类型为标识,则目标控件的内容即为所述目标控件的标识。
进一步地,生成第一测试指令时还需要确定测试操作的类型。具体而言,可以判断所述测试操作的类型是否是预设的第一类型,如果是,则生成判断指令,第一待测终端运行判断指令时判断第一待测终端的屏幕上显示的用户界面内是否存在目标控件。也即,当测试操作的类型为第一类型时,生成的第一测试指令为判断指令。
进一步地,判断测试操作的类型还可以包括点击、长按和拖动等,本发明实施例对测试操作的类型并不进行限制。需要说明的是,如果测试操作的类型为点击、长按和拖动等,也即,如果测试操作的类型为第一类型以外的其他类型,则生成操作指令,第一待测终端运行操作指令时先在第一待测终端的屏幕上显示的用户界面内查找目标控件,如果查找到目标控件,再对目标控件执行对应的操作,例如,点击、长按和拖动等。
进一步地,可以根据目标控件的内容和测试操作的类型生成第一测试指令,由此,第一待测终端可以基于第一测试指令中目标控件的内容从多个界面控件中识别出目标控件,并对目标控件执行测试操作。
进一步地,第一待测终端接收到所述第一测试指令后,可以运行所述第一测试指令。具体而言,第一待测终端运行第一测试指令时,可以针对所述目标控件执行所述测试操作,并得到测试结果。其中,如果第一待测终端运行所述第一待测指令时并未其屏幕上显示的用户界面内查找到该目标控件时,则测试结果为未通过。
更具体地,如果第一测试指令为判断指令,第一待测终端运行该判断指令时,如果判断其屏幕上显示的用户界面内未存在判断指令中的目标控件,则得到的测试结果为未通过。如果第一测试指令为操作指令,第一待测终端运行该操作指令时,如果在第一待测终端的屏幕上显示的用户界面内未查找目标控件,则得到的测试结果为未通过。
进一步地,还可以从第一待测终端获取测试结果。
进一步地,还可以从第一待测终端获取界面截图,所述界面截图为所述第一待测终端未查找到所述目标控件时其屏幕上显示的用户界面的截图,以便进行后续的分析。
进一步地,还可以向用户告知所述测试结果,例如,可以将测试结果显示在测试终端的屏幕上,但并不限于此。
在一个具体的实施例中,生成第一测试指令可以包括:生成第一测试脚本,对所述第一测试脚本进行解析,以生成第一测试指令。
具体而言,确定目标控件后,可以先生成第一测试脚本。第一测试脚本包括预设的接口函数和参数,其中,可以根据测试操作的类型和用户选择的目标控件的属性信息的类型确定接口函数,根据目标控件的内容确定该接口函数的参数。例如,测试操作的类型为点击且属性信息的类型为标识时,接口函数为“ClickID()”,参数即为目标控件的标识。又例如,测试操作的类型为第一类型且属性信息的类型为文本时,接口函数为“Check_Text_Exist()”,参数即为目标控件的文本。
需要说明的是,所述第一测试脚本是可编辑的,用户可以对所述第一测试脚本进行修改操作。例如,可以更改测试脚本中目标控件的内容,也可以是删除第一测试脚本中的至少一部分,还可以增加第一测试脚本,但并不限于此。
进一步地,还可以根据用户的修改操作更新第一测试脚本,然后可以对第一测试脚本进行解析,以生成第一测试指令。需要说明的是,对测试脚本进行解析以得到第一测试指令的方法是各种现有的恰当的方法。
在另一个具体的实施例中,如果用户选择的控制方式为坐标控制,则可以将所述测试操作的位置记为目标位置。进一步地,可以生成第二测试指令并将所述第二测试指令发送至第一待测终端。其中,所述第二测试指令包含所述目标位置和所述测试操作的信息,第一待测终端接收到第二测试指令后,第一待测终端可以基于目标位置的信息识别出测试操作的位置,并基于测试操作的信息识别出用户执行的操作的类型,由此,第一测试终端运行所述第二测试指令时,可以在目标位置处执行所述操作。
更具体地,可以先根据目标位置和测试操作生成第二测试脚本,再对第二测试脚本进行解析,以生成第二测试指令。更多关于第二测试脚本的内容可以参照上文关于第一测试脚本的相关描述,在此不再赘述。需要说明的是,第二测试指令不包括判断指令,也即,如果用户选择的控制方式为坐标控制,不会生成上述判断指令。
在一个非限制性的例子中,测试终端还可以与第二待测终端通信连接,第二待测终端的屏幕分辨率不同于第一待测终端的屏幕分辨率,测试终端生成第一测试指令后,可以将第一测试指令发送至第二待测终端,以用于对第二待测终端进行测试。关于采用第一测试指令对第二待测终端进行测试的内容可以参照上文关于采用第一测试指令对第一待测终端进行测试的内容,在此不再赘述。
参考图4,图4是本发明实施例中一种终端的测试装置,所述装置可以包括:显示模块41、操作获取模块42、目标区域确定模块43、目标控件确定模块44和测试指令生成模块45。
其中,显示模块41用于获取第一待测终端的屏幕上显示的用户界面并显示在测试终端的屏幕上,所述用户界面包括多个界面控件;操作获取模块42用于获取用户在所述测试终端上执行的测试操作;目标区域确定模块43用于如果所述用户选择的控制方式为控件控制,则确定所述测试操作的位置在所述用户界面内所处的区域,记为目标区域,其中,所述用户界面被划分为多个区域;目标控件确定模块44用于计算所述测试操作的位置与所述目标区域内的各个界面控件之间的距离,并将距离最小的界面控件作为目标控件;测试指令生成模块45用于生成第一测试指令,所述第一测试指令用于对所述第一待测终端进行测试,其中,所述测试指令包含所述目标控件和测试操作的信息。
在具体实施中,上述终端的测试装置可以对应于终端内具有数据处理功能的芯片;或者对应于终端内具有数据处理功能的芯片模组,或者对应于终端。
关于图4示出的终端的测试装置的工作原理、工作方式和有益效果等更多内容,可以参照上文关于图1至图3的相关描述,在此不再赘述。
本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的终端的测试方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述的终端的测试方法的步骤。所述终端包括但不限于手机、计算机、平板电脑等终端设备。例如,所述终端可以是图1中的测试终端11。
应理解,本申请实施例中,所述处理器可以为中央处理单元(central processingunit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (14)
1.一种终端的测试方法,其特征在于,所述方法包括:
获取第一待测终端的屏幕上显示的用户界面并显示在测试终端的屏幕上,所述用户界面包括多个界面控件;
获取用户在所述测试终端上执行的测试操作;
如果所述用户选择的控制方式为控件控制,则确定所述测试操作的位置在所述用户界面内所处的区域,记为目标区域,其中,所述用户界面被划分为多个区域;
计算所述测试操作的位置与落入所述目标区域内的各个界面控件之间的距离,并将距离最小的界面控件作为目标控件;
生成第一测试指令,所述第一测试指令用于对所述第一待测终端进行测试,其中,所述第一测试指令包含所述目标控件和测试操作的信息。
2.根据权利要求1所述的终端的测试方法,其特征在于,所述第一测试指令还用于对第二待测终端进行测试,其中,所述第一待测终端的屏幕分辨率与所述第二待测终端的屏幕分辨率不同。
3.根据所述权利要求1所述的终端的测试方法,其特征在于,所述方法还包括:
如果所述用户选择的控制方式为坐标控制,则将所述测试操作的位置记为目标位置;
生成第二测试指令,所述第二测试指令用于对所述第一待测终端进行测试,所述第二测试指令包含所述目标位置和所述测试操作的信息。
4.根据权利要求1所述的终端的测试方法,其特征在于,确定所述测试操作的位置在所述用户界面内所处的区域包括:
将所述用户界面划分为多个第一区域,并确定所述测试操作的位置所处的第一区域,记为第一定位区域;
将所述第一定位区域划分为多个第二区域,并确定所述测试操作的位置所处的第二区域,记为第二定位区域;
将所述第二定位区域作为所述目标区域。
5.根据权利要求1所述的终端的测试方法,其特征在于,在确定所述测试操作的位置在所述用户界面内所处的区域之前,所述方法还包括:
从所述第一待测终端接收所述多个界面控件的控件信息,所述控件信息包括以下一项或多项:各个界面控件的属性信息和位置信息。
6.根据权利要求5所述的终端的测试方法,其特征在于,所述第一测试指令包含所述目标控件的内容,所述第一待测终端基于所述目标控件的内容从所述多个界面控件中识别出所述目标控件,所述生成第一测试指令包括:
获取所述用户选择的属性信息的类型;
根据用户选择的属性信息的类型和所述目标控件的属性信息确定所述目标控件的内容;
根据所述目标控件的内容和所述测试操作的类型生成所述第一测试指令。
7.根据权利要求1所述的终端的测试方法,其特征在于,所述生成第一测试指令包括:
判断所述测试操作的类型是否是预设的第一类型,如果是,则生成判断指令,所述第一待测终端运行所述判断指令时判断屏幕上显示的用户界面内是否存在所述目标控件。
8.根据权利要求1所述的终端的测试方法,其特征在于,所述方法还包括:
将所述第一测试指令发送至所述第一待测终端,以使所述第一待测终端运行所述第一测试指令并得到测试结果;
从所述第一待测终端获取测试结果;
其中,如果所述第一待测终端运行所述第一测试指令时未在其屏幕上显示的用户界面内查找到所述目标控件,则所述测试结果为未通过。
9.根据权利要求8所述的终端的测试方法,其特征在于,所述方法还包括:
从所述第一待测终端获取界面截图,所述界面截图为所述第一待测终端未查找到所述目标控件时其屏幕上显示的用户界面的截图。
10.根据权利要求1所述的终端的测试方法,其特征在于,生成第一测试指令包括:
生成第一测试脚本,其中,所述第一测试脚本是可编辑的;
对所述第一测试脚本进行解析,以生成第一测试指令。
11.根据权利要求10所述的终端的测试方法,其特征在于,对所述第一测试脚本进行解析之前,所述方法还包括:
根据所述用户的修改操作更新所述第一测试脚本。
12.一种终端的测试装置,其特征在于,所述装置包括:
显示装置,用于获取第一待测终端的屏幕上显示的用户界面并显示在测试终端的屏幕上,所述用户界面包括多个界面控件;
操作获取模块,用于获取用户在所述测试终端上执行的测试操作;
目标区域确定模块,用于如果所述用户选择的控制方式为控件控制,则确定所述测试操作的位置在所述用户界面内所处的区域,记为目标区域,其中,所述用户界面被划分为多个区域;
目标控件确定模块,用于计算所述测试操作的位置与所述目标区域内的各个界面控件之间的距离,并将距离最小的界面控件作为目标控件;
测试指令生成模块,用于生成第一测试指令,所述第一测试指令用于对所述第一待测终端进行测试,其中,所述测试指令包含所述目标控件和测试操作的信息。
13.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时,执行权利要求1至11中任一项所述的终端的测试方法的步骤。
14.一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至11中任一项所述的终端的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110523256.0A CN113282488B (zh) | 2021-05-13 | 2021-05-13 | 终端的测试方法及装置、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110523256.0A CN113282488B (zh) | 2021-05-13 | 2021-05-13 | 终端的测试方法及装置、存储介质、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282488A true CN113282488A (zh) | 2021-08-20 |
CN113282488B CN113282488B (zh) | 2022-11-25 |
Family
ID=77278854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110523256.0A Active CN113282488B (zh) | 2021-05-13 | 2021-05-13 | 终端的测试方法及装置、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282488B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113567153A (zh) * | 2021-09-23 | 2021-10-29 | 深圳市星卡软件技术开发有限公司 | 一键动作测试方法、装置和计算机设备 |
CN114489903A (zh) * | 2022-01-26 | 2022-05-13 | 北京字节跳动网络技术有限公司 | 界面元素定位方法、装置、存储介质及电子设备 |
CN114691263A (zh) * | 2022-03-01 | 2022-07-01 | 达而观信息科技(上海)有限公司 | 一种用户界面交互式流程录制方法、系统、计算机设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010056471A1 (en) * | 2000-02-29 | 2001-12-27 | Shinji Negishi | User interface system, scene description generating device and method, scene description distributing method, server device, remote terminal device, recording medium, and sending medium |
CN107193750A (zh) * | 2017-07-04 | 2017-09-22 | 北京云测信息技术有限公司 | 一种脚本录制方法和装置 |
CN108694009A (zh) * | 2017-04-05 | 2018-10-23 | 博彦科技股份有限公司 | 终端控制方法及装置 |
CN111427524A (zh) * | 2020-02-27 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 远程控制的方法、装置、计算机设备及存储介质 |
CN111488109A (zh) * | 2020-04-17 | 2020-08-04 | 上海闻泰信息技术有限公司 | 用户界面的控件信息的获取方法、装置、终端及存储介质 |
CN112732576A (zh) * | 2021-01-08 | 2021-04-30 | 网易(杭州)网络有限公司 | 基于用户界面的自动化测试方法、装置及设备 |
-
2021
- 2021-05-13 CN CN202110523256.0A patent/CN113282488B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010056471A1 (en) * | 2000-02-29 | 2001-12-27 | Shinji Negishi | User interface system, scene description generating device and method, scene description distributing method, server device, remote terminal device, recording medium, and sending medium |
CN108694009A (zh) * | 2017-04-05 | 2018-10-23 | 博彦科技股份有限公司 | 终端控制方法及装置 |
CN107193750A (zh) * | 2017-07-04 | 2017-09-22 | 北京云测信息技术有限公司 | 一种脚本录制方法和装置 |
CN111427524A (zh) * | 2020-02-27 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 远程控制的方法、装置、计算机设备及存储介质 |
CN111488109A (zh) * | 2020-04-17 | 2020-08-04 | 上海闻泰信息技术有限公司 | 用户界面的控件信息的获取方法、装置、终端及存储介质 |
CN112732576A (zh) * | 2021-01-08 | 2021-04-30 | 网易(杭州)网络有限公司 | 基于用户界面的自动化测试方法、装置及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113567153A (zh) * | 2021-09-23 | 2021-10-29 | 深圳市星卡软件技术开发有限公司 | 一键动作测试方法、装置和计算机设备 |
CN114489903A (zh) * | 2022-01-26 | 2022-05-13 | 北京字节跳动网络技术有限公司 | 界面元素定位方法、装置、存储介质及电子设备 |
CN114691263A (zh) * | 2022-03-01 | 2022-07-01 | 达而观信息科技(上海)有限公司 | 一种用户界面交互式流程录制方法、系统、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113282488B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113282488B (zh) | 终端的测试方法及装置、存储介质、终端 | |
US11561887B2 (en) | Test script debugging using an automated testing framework and UI rendering tree | |
CN104252410A (zh) | 一种对页面中的控件进行测试的方法和设备 | |
US20160335168A1 (en) | Real-time analysis of application programming interfaces | |
CN107807841B (zh) | 服务器模拟方法、装置、设备及可读存储介质 | |
CN109508189B (zh) | 一种布局模板处理方法、装置及计算机可读存储介质 | |
CN112445693B (zh) | 一种页面更新检测方法、装置、设备及存储介质 | |
JP2012103786A (ja) | テスト支援装置、制御方法、及びプログラム | |
CN104881273A (zh) | 一种网页渲染的分析方法和终端设备 | |
KR101158679B1 (ko) | 직접입력 방식의 전자문서 상의 도형입력 방법, 그리고 직접입력 방식의 전자문서 상의 도형입력 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
CN111208998A (zh) | 数据可视化大屏自动布局的方法、装置及存储介质 | |
CN110908922A (zh) | 应用程序的测试方法和装置 | |
CN108121648B (zh) | 一种界面错误监控方法 | |
CN110781427A (zh) | 一种首屏时间的计算方法、装置、设备和存储介质 | |
CN111078563A (zh) | 覆盖率数据处理方法、终端设备及计算机可读存储介质 | |
CN104809053A (zh) | 一种针对控件样式的测试方法和装置 | |
CN113253891B (zh) | 终端的控制方法及装置、存储介质、终端 | |
KR102635847B1 (ko) | 애플리케이션 테스트 자동화 장치 및 방법 | |
US8761515B2 (en) | Electronic device and method for creating measurement codes | |
CN110088750B (zh) | 在静态网页中提供场境功能的方法和系统 | |
CN107515821B (zh) | 控件测试方法和装置 | |
WO2015039585A1 (en) | Method and device for testing software reliability | |
KR101996159B1 (ko) | 정보 제시 방법 및 장치 | |
CN114020187A (zh) | 字体图标的显示方法、装置及电子设备 | |
CN108363525B (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 |