CN105022687B - 自动化测试方案中滑动操作的实现方法及装置 - Google Patents
自动化测试方案中滑动操作的实现方法及装置 Download PDFInfo
- Publication number
- CN105022687B CN105022687B CN201410164181.1A CN201410164181A CN105022687B CN 105022687 B CN105022687 B CN 105022687B CN 201410164181 A CN201410164181 A CN 201410164181A CN 105022687 B CN105022687 B CN 105022687B
- Authority
- CN
- China
- Prior art keywords
- control
- position coordinates
- starting
- slide
- point position
- 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.)
- Active
Links
Landscapes
- Telephone Function (AREA)
Abstract
本发明实施例公开了一种自动化测试方案中滑动操作的实现方法及装置,涉及终端测试领域,用于避免由于移动终端屏幕分辨率的差异所带来的功能测试结果的准确性较低甚至测试失败的问题。本发明中,在用户在测试页面上选定起始控件和结束控件后,获取该起始控件的位置坐标和结束控件的位置坐标,将该起始控件的位置坐标和结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,并根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。采用本方案,可以避免由于移动终端屏幕分辨率的差异所带来的功能测试结果的准确性较低甚至测试失败的问题。
Description
技术领域
本发明涉及终端测试领域,尤其涉及一种自动化测试方案中滑动操作的实现方法及装置。
背景技术
现有技术中,在进行手机功能的测试过程中,会涉及到页面中两个位置点的自动化滑动操作,该自动化滑动操作能够触发页面跳转等操作,进而实现手机的功能测试。
目前,实现自动化滑动操作的主要方法为:程序人员将被测试软件的页面进行截图,然后根据当前手机的分辨率和滑动区间使用画图软件获取滑动的起始位置点和结束位置点的位置坐标,假设分别为P1(x1,y1)和P2(x2,y2),再手动编写滑动操作代码即move(x1,y1,x2,y2)。手机在测试过程中通过执行该滑动操作代码,可以实现页面上P1点与P2点之间的自动化滑动操作。
在采用上述自动化滑动操作的实现方案时,一个手机在一定屏幕分辨率下通过执行滑动操作代码可以准确实现期望的起始点和结束点之间的自动化滑动操作,但如果该手机更换屏幕分辨率或更换其他具有不同屏幕分辨率的手机执行测试时,由于屏幕分辨率发生了变化,会使起始点和结束点在页面中的位置发生变化,造成滑动区间出现偏差,从而可能影响测试结果的准确性甚至可能造成测试失败。这在移植适配测试中问题很大,有时甚至会出现滑动的点在屏幕外侧的情况。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:
现有的自动化滑动操作的实现方案由于移动终端屏幕的分辨率的差异,会带来测试结果的准确性较低甚至测试失败的问题,目前只能通过重新编写滑动操作代码来避免该问题,效率较低。
发明内容
本发明实施例提供一种自动化测试方案中滑动操作的实现方法及装置,用于避免由于移动终端屏幕分辨率的差异所带来的功能测试结果的准确性较低甚至测试失败的问题。
本发明实施例提供了一种自动化测试方案中滑动操作的实现方法,该方法包括:
确定用户在测试页面上选定的起始控件和结束控件;
获取所述起始控件的位置坐标和所述结束控件的位置坐标;
将所述起始控件的位置坐标和所述结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。
本发明实施例提供了一种自动化测试方案中滑动操作的实现装置,该装置包括:
确定单元,用于确定用户在测试页面上选定的起始控件和结束控件;
获取单元,用于获取所述起始控件的位置坐标和所述结束控件的位置坐标;
执行单元,用于将所述起始控件的位置坐标和所述结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。
本发明实施例提供的方案中,在用户在测试页面上选定起始控件和结束控件后,获取该起始控件的位置坐标和结束控件的位置坐标,将该起始控件的位置坐标和结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,并根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。可见,本方案中,将用户在测试页面上选定的起始控件和结束控件分别作为自动化滑动操作的起始点位置坐标和结束点位置坐标,对于不同分辨率的移动终端,只要用户在测试页面上选定的是相同的起始控件和结束控件,那么在不同分辨率的移动终端上执行的均是该起始控件和结束控件之间的自动化滑动操作,不会产生由于移动终端分辨率的不同造成滑动区间不一致的问题,从而避免了由于移动终端屏幕分辨率的差异所带来的测试结果的准确性较低甚至测试失败的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的自动化测试方案中滑动操作的实现方法流程示意图;
图2A为本发明实施例二提供的具体实例流程示意图;
图2B为本发明实施例二提供的测试界面示意图;
图2C为本发明实施例二提供的另一测试界面示意图;
图3为本发明实施例三提供的自动化测试方案中滑动操作的实现装置结构示意图;
图4为本发明实施例四提供的终端结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了避免由于移动终端屏幕分辨率的差异所带来的功能测试结果的准确性较低甚至测试失败的问题,本发明实施例中,在用户在测试页面上选定起始控件和结束控件后,获取该起始控件的位置坐标和结束控件的位置坐标,将该起始控件的位置坐标和结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,并根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。
实施例一:
参见图1,本发明实施例提供的自动化测试方案中滑动操作的实现方法,包括以下步骤:
步骤10:确定用户在测试页面上选定的起始控件和结束控件;控件是应用程序展现给用户的各种功能标识,如页面的文字、按钮、菜单、软键等;
步骤11:获取起始控件的位置坐标和结束控件的位置坐标;
步骤12:将起始控件的位置坐标和结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。
具体的,步骤10中确定用户在测试页面上选定的起始控件和结束控件,其具体实现可以如下:
在显示测试页面后,发出选择滑动区间的提示信息;
将用户在测试页面上点击的第一个控件确定为用户在测试页面上选定的起始控件,将用户在所述测试页面上点击的第二个控件确定为用户在测试页面上选定的结束控件。
这里,若在发出选择滑动区间的提示信息的设定时间内用户没有在测试页面上点击任何测试控件,则本次控件选择失败,可以再次发出选择滑动区间的提示信息。若用户在测试页面上点击第一个控件后,在设定时间内没有在测试页面上点击第二个测试控件,则本次控件选择失败,可以再次发出选择滑动区间的提示信息,由用户重新选定起始控件和结束控件。
较佳的,为了使得用户可以获知能够选择哪些控件,可以将用户能够选择的控件进行标注,以使用户能够将可以选择的控件与其他控件区分开;比如提高用户能够选择的控件的显示亮度,或者改变用户能够选择的控件的显示颜色以与其他控件区分开。
具体的,步骤11中,获取起始控件的位置坐标和结束控件的位置坐标,其具体实现可以如下:
记录起始控件的标识信息和结束控件的标识信息(比如名称、编号等),根据起始控件的标识信息和结束控件的标识信息,从测试页面对应被测软件的代码中获取起始控件的位置坐标和结束控件的位置坐标。
例如,在采用安卓操作系统时,上述根据起始控件的标识信息和结束控件的标识信息,从测试页面对应被测软件的代码中获取起始控件的位置坐标和结束控件的位置坐标,其具体实现可以如下:
加载测试包到当前进程,利用反射获取当前进程的根视图(RootView)文件;遍历该RootView文件,获取到测试页面中各显示控件的信息,根据起始控件的标识信息和结束控件的标识信息,从获取到的信息中查找到起始控件的位置坐标和结束控件的位置坐标。
在计算机领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。反射机制被应用到了视窗系统、操作系统和文件系统中。
具体的,步骤12中,根据起始控件的位置坐标、结束控件的位置坐标以及预先写入的自动化滑动操作代码,执行在起始控件和结束控件之间的自动化滑动操作,具体实现可以如下:
首先,将起始控件的位置坐标的取值赋值给自动化滑动操作的起始点位置坐标参数,将结束控件的位置坐标的取值赋值给自动化滑动操作的结束点位置坐标参数;例如,可以采用如下语句实现上述赋值操作:
x1,y1=get(controler1);
x2,y2=get(controler2);
其中,x1为自动化滑动操作的起始点的横向位置坐标参数,y1为自动化滑动操作的起始点的纵向位置坐标参数,x2为自动化滑动操作的结束点的横向位置坐标参数,y2为自动化滑动操作的结束点的纵向位置坐标参数,get(controler1)是指获取起始控件的横向位置坐标和纵向位置坐标,get(controler2)是指获取结束控件的横向位置坐标和纵向位置坐标。
然后,将起始点位置坐标参数和结束点位置坐标参数作为输入参数传递给预先写入的自动化滑动操作代码中的自动化滑动函数;比如,自动化滑动函数可以为move(x1,y1,x2,y2);
最后,执行自动化滑动函数,以实现在起始控件和结束控件之间的自动化滑动操作。
具体的,本发明实施例中的起始控件可以为:文字控件、按钮控件、菜单控件、图标控件、或软键控件,等等。
本发明实施例中的结束控件可以为:文字控件、按钮控件、菜单控件、图标控件、或软键控件,等等。
本实施例的执行主体可以是通信终端,比如手机等。
本实施例中,在用户在测试页面上选定起始控件和结束控件后,获取该起始控件的位置坐标和结束控件的位置坐标,将该起始控件的位置坐标和结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,并根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。可见,本方案中,将用户在测试页面上选定的起始控件和结束控件分别作为自动化滑动操作的起始点位置坐标和结束点位置坐标,对于不同分辨率的移动终端,只要用户在测试页面上选定的是相同的起始控件和结束控件,那么在不同分辨率的移动终端上执行的均是该起始控件和结束控件之间的自动化滑动操作,不会产生由于移动终端分辨率的不同造成滑动区间不一致的问题,从而避免了由于移动终端屏幕分辨率的差异所带来的测试结果的准确性较低甚至测试失败的问题。并且,本方案中对于所有移动终端均使用同一套自动化测试代码,不需要针对每种移动终端分别编写滑动操作代码,可以有效提高测试效率。
实施例二:
本实施例结合具体的测试页面(以QQ页面为例)和显示控件(以表情控件为例)对自动化测试方案中滑动操作的实现方法进行说明。参见图2A,具体流程如下:
步骤201:在手机上显示包含表情控件的QQ页面后,用户点击其中一个表情控件A,随后点击另一个表情控件B;将表情控件A确定为滑动操作的起始控件,将表情控件B确定为滑动操作的结束控件,如图2B所示;
步骤202:记录表情控件A的标识信息和表情控件B的标识信息,根据表情控件A的标识信息和表情控件B的标识信息,从QQ页面对应软件的代码中获取表情控件A的位置坐标和表情控件B的位置坐标;
具体的,加载测试包到当前进程,利用反射获取当前进程的RootView文件;遍历该RootView文件,获取到QQ页面中各显示控件的信息,根据表情控件A的标识信息和表情控件B的标识信息,从获取到的信息中查找到表情控件A的位置坐标和表情控件B的位置坐标;
步骤203:将表情控件A的位置坐标的取值赋值给自动化滑动操作的起始点位置坐标参数,将表情控件B的位置坐标的取值赋值给自动化滑动操作的结束点位置坐标参数;将起始点位置坐标参数和结束点位置坐标参数作为输入参数传递给预先写入的自动化测试代码中的自动化滑动函数;
步骤204:执行自动化滑动函数,以实现在表情控件A和表情控件B之间的自动化滑动操作,如图2B中所示的箭头指示的滑动操作。
本实施例中,对于不同分辨率的手机,只要用户在QQ页面上选定的起始控件是表情控件A、结束控件是表情控件B,那么在不同分辨率的手机上执行的均是表情控件A和表情控件B之间的自动化滑动操作,不会产生由于手机分辨率的不同造成滑动区间不一致的问题。而现有技术却不能够带来这样的有益效果,下面进行分析说明:
在用户期望在表情控件A和表情控件B之间执行自动化滑动操作时,根据当前手机的分辨率(假设为320*480)得到表情控件A的位置坐标,假设为P1(68,306),以及表情控件B的位置坐标,假设为P2(250,306),用户手动编写滑动操作代码即move(x1,y1,x2,y2)。手机在测试过程中通过执行该滑动操作代码,可以实现页面上表情控件A与表情控件B之间的自动化滑动操作,如图2B所示的箭头指示的滑动操作。
在用户仍期望在表情控件A和表情控件B之间执行自动化滑动操作时,若更换了手机的分辨率(假设为540*960),表情控件A的位置坐标变为了(114,701),表情控件B的位置坐标变为了(421,701),此时如果仍然使用之前根据表情控件A的位置坐标P1(68,306)以及表情控件B的位置坐标P2(250,306),编写的滑动操作代码即move(x1,y1,x2,y2)执行该滑动操作代码,由于分辨率发生了变化,此时执行的就不是表情控件A与表情控件B之间的滑动操作,而是P1点与P2点之间的滑动操作,如图2C所示的上方箭头指示的滑动操作。
本发明实施例中通过动态获取起始控件的位置坐标和结束控件的位置坐标,在任何分辨率下都执行的是起始控件与结束控件之间的滑动操作,准确率较高。
实施例三:
参见图3,本发明实施例提供一种自动化测试方案中滑动操作的实现装置,该装置包括:
确定单元30,用于确定用户在测试页面上选定的起始控件和结束控件;
获取单元31,用于获取所述起始控件的位置坐标和所述结束控件的位置坐标;
执行单元32,用于将所述起始控件的位置坐标和所述结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。
进一步的,所述确定单元30具体用于:
在显示测试页面后,发出选择滑动区间的提示信息;
将用户在所述测试页面上点击的第一个控件确定为用户在测试页面上选定的起始控件,将用户在所述测试页面上点击的第二个控件确定为用户在测试页面上选定的结束控件。
进一步的,所述获取单元31具体用于:
记录所述起始控件的标识信息和所述结束控件的标识信息,根据所述起始控件的标识信息和所述结束控件的标识信息,从所述测试页面对应被测软件的代码中获取所述起始控件的位置坐标和所述结束控件的位置坐标。
进一步的,所述获取单元31具体用于:
加载测试包到当前进程,利用反射获取当前进程的根视图RootView文件;遍历该RootView文件,获取到所述测试页面中各显示控件的信息,根据所述起始控件的标识信息和所述结束控件的标识信息,从获取到的信息中查找到所述起始控件的位置坐标和所述结束控件的位置坐标。
进一步的,所述执行单元32具体用于:
将所述起始控件的位置坐标的取值赋值给自动化滑动操作的起始点位置坐标参数,将所述结束控件的位置坐标的取值赋值给自动化滑动操作的结束点位置坐标参数;
将所述起始点位置坐标参数和所述结束点位置坐标参数作为输入参数传递给预先写入的自动化滑动操作代码中的自动化滑动函数;
执行所述自动化滑动函数,以实现在所述起始控件和所述结束控件之间的自动化滑动操作。
进一步的,所述起始控件为:文字控件、按钮控件、菜单控件、图标控件、或软键控件;所述结束控件为文字控件、按钮控件、菜单控件、图标控件、或软键控件。
本实施例提供的自动化测试方案中滑动操作的实现装置,在用户在测试页面上选定起始控件和结束控件后,获取该起始控件的位置坐标和结束控件的位置坐标,将该起始控件的位置坐标和结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,并根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。可见,本方案中,将用户在测试页面上选定的起始控件和结束控件分别作为自动化滑动操作的起始点位置坐标和结束点位置坐标,对于不同分辨率的移动终端,只要用户在测试页面上选定的是相同的起始控件和结束控件,那么在不同分辨率的移动终端上执行的均是该起始控件和结束控件之间的自动化滑动操作,不会产生由于移动终端分辨率的不同造成滑动区间不一致的问题,从而避免了由于移动终端屏幕分辨率的差异所带来的测试结果的准确性较低甚至测试失败的问题。并且,本方案中对于所有移动终端均使用同一套自动化测试代码,不需要针对每种移动终端分别编写滑动操作代码,可以有效提高测试效率。
实施例四:
参见图4,本发明实施例提供一种终端,该终端包括处理器40、存储器41、存储控制器42、外设接口43、射频模块44、摄像模块45、音频模块46、触控屏幕47以及按键模块48;终端中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;终端中的各个组件可以通过一条或者多条通讯总线或信号线相连,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的自动化测试方案中滑动操作的实现方法对应的程序指令/模块(例如,自动化测试方案中滑动操作的实现装置中的确定单元30、获取单元31和执行单元32)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的自动化测试方案中滑动操作的实现方法。
可以理解,图4所示的结构仅为示意,终端还可包括比图4所示更多或更少的组件,或者具有与图4所示不同的配置。图4所示的各组件可以采用硬件、软件或者其组合实现。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器40以及其他可能的组件对存储器41的访问可在存储控制器42的控制下进行。
外设接口43将各种输入、输出装置耦合至处理器40以及存储器41。
在一些实施例中,外设接口43、处理器40以及存储控制器42可以在单个芯片中实现,在其他的一些实施例中,他们可以分别由独立的芯片实现。
射频模块44用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或其他设备通讯。射频模块44可包括各种现有的用于执行这些功能的电气元件,例如天线、射频收发器、数字信号处理器、加密和解密芯片、用户身份模块(SIM)卡、存储器等等;射频模块44可与各种网络比如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或城际网。上述的无线网络可以使用各种通信标准、协议及技术,包括但不限于全球移动通信系统(Global System for Mobile Communications,GSM)、增强型移动通信技术(EnhancedData Rate for GSM Evolution,EDGE)、宽带码分多址技术(Wideband-Code DivisionMultiple Access,W-CDMA)、码分多址技术(Code Division Multiple Access,CDMA)、时分多址技术(Time Division Multiple Access,TDMA)、蓝牙、无线保真技术(WiFi)、网络电话(Voice Over Internet Protocol,VOIP)、全球微波互联接入(Wi-Max)、其他用于邮件、即时通信及短消息的协议,以及任何其他合适的通讯协议,甚至可包括当前仍未被开发出来的协议。
摄像模块45用于拍摄照片或者视频,拍摄的照片或者视频可以存储至存储器41内,并可通过射频模块44发送。
音频模块46向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口43处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能够听到的声波。音频电路还从麦克风处接收电信息,将电信息转换为声音信号,并将声音信号传输至外设接口43以进行进一步的处理。音频数据可以通过存储器41或者通过射频模块44获取。此外音频数据也可以存储至存储器41或者通过射频模块44进行发送。在一些实例中,音频模块46还可以包括耳机插孔,用于向耳机或其他设备提供音频接口。
触控屏幕47在终端与用户之间提供输出及输入界面。具体的,触控屏幕47向用户显示视频输出,这些视频输出的内容包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕47还接收用户的输入,例如用户的点击、活动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任何可能的触控检测技术。触控屏幕47显示单元的具体实例包括但不限于液晶显示器或发光聚合物显示器。
按键模块48同样提供用户向终端进行输入的接口,用户可以通过按下不同的按键以使终端执行不同的功能。
其中,处理器40可以执行如下步骤:确定用户在测试页面上选定的起始控件和结束控件;获取所述起始控件的位置坐标和所述结束控件的位置坐标;将所述起始控件的位置坐标和所述结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。
进一步的,处理器40在确定用户在测试页面上选定的起始控件和结束控件时,具体是:在显示测试页面后,发出选择滑动区间的提示信息;将用户在所述测试页面上点击的第一个控件确定为用户在测试页面上选定的起始控件,将用户在所述测试页面上点击的第二个控件确定为用户在测试页面上选定的结束控件。
进一步的,处理器40在获取所述起始控件的位置坐标和所述结束控件的位置坐标时,具体是:记录所述起始控件的标识信息和所述结束控件的标识信息,根据所述起始控件的标识信息和所述结束控件的标识信息,从所述测试页面对应被测软件的代码中获取所述起始控件的位置坐标和所述结束控件的位置坐标。
进一步的,处理器40在据所述起始控件的标识信息和所述结束控件的标识信息,从所述测试页面对应被测软件的代码中获取所述起始控件的位置坐标和所述结束控件的位置坐标,具体是:加载测试包到当前进程,利用反射获取当前进程的根视图RootView文件;遍历该RootView文件,获取到所述测试页面中各显示控件的信息,根据所述起始控件的标识信息和所述结束控件的标识信息,从获取到的信息中查找到所述起始控件的位置坐标和所述结束控件的位置坐标。
进一步的,处理器40在将所述起始控件的位置坐标和所述结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作时,具体是:将所述起始控件的位置坐标的取值赋值给自动化滑动操作的起始点位置坐标参数,将所述结束控件的位置坐标的取值赋值给自动化滑动操作的结束点位置坐标参数;将所述起始点位置坐标参数和所述结束点位置坐标参数作为输入参数传递给预先写入的自动化测试代码中的自动化滑动函数;执行所述自动化滑动函数,以实现在所述起始控件和所述结束控件之间的自动化滑动操作。
本实施例提供的终端在用户在测试页面上选定起始控件和结束控件后,获取该起始控件的位置坐标和结束控件的位置坐标,将该起始控件的位置坐标和结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,并根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作。可见,本方案中,将用户在测试页面上选定的起始控件和结束控件分别作为自动化滑动操作的起始点位置坐标和结束点位置坐标,对于不同分辨率的移动终端,只要用户在测试页面上选定的是相同的起始控件和结束控件,那么在不同分辨率的移动终端上执行的均是该起始控件和结束控件之间的自动化滑动操作,不会产生由于移动终端分辨率的不同造成滑动区间不一致的问题,从而避免了由于移动终端屏幕分辨率的差异所带来的测试结果的准确性较低甚至测试失败的问题。并且,本方案中对于所有移动终端均使用同一套自动化测试代码,不需要针对每种移动终端分别编写滑动操作代码,可以有效提高测试效率。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种自动化测试方案中滑动操作的实现方法,其特征在于,该方法包括:
确定用户在测试页面上选定的起始控件和结束控件;
获取所述起始控件的位置坐标和所述结束控件的位置坐标;
将所述起始控件的位置坐标和所述结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作;
所述获取所述起始控件的位置坐标和所述结束控件的位置坐标,具体包括:
记录所述起始控件的标识信息和所述结束控件的标识信息;加载测试包到当前进程,利用反射获取当前进程的根视图RootView文件;遍历该RootView文件,获取到所述测试页面中各显示控件的信息,根据所述起始控件的标识信息和所述结束控件的标识信息,从获取到的信息中查找到所述起始控件的位置坐标和所述结束控件的位置坐标。
2.如权利要求1所述的方法,其特征在于,所述确定用户在测试页面上选定的起始控件和结束控件,具体包括:
在显示测试页面后,发出选择滑动区间的提示信息;
将用户在所述测试页面上点击的第一个控件确定为用户在测试页面上选定的起始控件,将用户在所述测试页面上点击的第二个控件确定为用户在测试页面上选定的结束控件。
3.如权利要求1所述的方法,其特征在于,所述将所述起始控件的位置坐标和所述结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作,具体包括:
将所述起始控件的位置坐标的取值赋值给自动化滑动操作的起始点位置坐标参数,将所述结束控件的位置坐标的取值赋值给自动化滑动操作的结束点位置坐标参数;
将所述起始点位置坐标参数和所述结束点位置坐标参数作为输入参数传递给预先写入的自动化测试代码中的自动化滑动函数;
执行所述自动化滑动函数,以实现在所述起始控件和所述结束控件之间的自动化滑动操作。
4.如权利要求1-2中任一所述的方法,其特征在于,所述起始控件为:文字控件、按钮控件、菜单控件、图标控件、或软键控件;
所述结束控件为文字控件、按钮控件、菜单控件、图标控件、或软键控件。
5.一种自动化测试方案中滑动操作的实现装置,其特征在于,该装置包括:
确定单元,用于确定用户在测试页面上选定的起始控件和结束控件;
获取单元,用于获取所述起始控件的位置坐标和所述结束控件的位置坐标;
执行单元,用于将所述起始控件的位置坐标和所述结束控件的位置坐标分别作为滑动操作的起始点位置坐标和结束点位置坐标,根据该起始点位置坐标和结束点位置坐标执行自动化滑动操作;
所述获取单元具体用于:
记录所述起始控件的标识信息和所述结束控件的标识信息;加载测试包到当前进程,利用反射获取当前进程的根视图RootView文件;遍历该RootView文件,获取到所述测试页面中各显示控件的信息,根据所述起始控件的标识信息和所述结束控件的标识信息,从获取到的信息中查找到所述起始控件的位置坐标和所述结束控件的位置坐标。
6.如权利要求5所述的装置,其特征在于,所述确定单元具体用于:
在显示测试页面后,发出选择滑动区间的提示信息;
将用户在所述测试页面上点击的第一个控件确定为用户在测试页面上选定的起始控件,将用户在所述测试页面上点击的第二个控件确定为用户在测试页面上选定的结束控件。
7.如权利要求5所述的装置,其特征在于,所述执行单元具体用于:
将所述起始控件的位置坐标的取值赋值给自动化滑动操作的起始点位置坐标参数,将所述结束控件的位置坐标的取值赋值给自动化滑动操作的结束点位置坐标参数;
将所述起始点位置坐标参数和所述结束点位置坐标参数作为输入参数传递给预先写入的自动化测试代码中的自动化滑动函数;
执行所述自动化滑动函数,以实现在所述起始控件和所述结束控件之间的自动化滑动操作。
8.如权利要求5-7中任一所述的装置,其特征在于,所述起始控件为:文字控件、按钮控件、菜单控件、图标控件、或软键控件;
所述结束控件为文字控件、按钮控件、菜单控件、图标控件、或软键控件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410164181.1A CN105022687B (zh) | 2014-04-22 | 2014-04-22 | 自动化测试方案中滑动操作的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410164181.1A CN105022687B (zh) | 2014-04-22 | 2014-04-22 | 自动化测试方案中滑动操作的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105022687A CN105022687A (zh) | 2015-11-04 |
CN105022687B true CN105022687B (zh) | 2018-10-26 |
Family
ID=54412675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410164181.1A Active CN105022687B (zh) | 2014-04-22 | 2014-04-22 | 自动化测试方案中滑动操作的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105022687B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009078B (zh) * | 2016-11-01 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 一种应用界面遍历方法、系统和测试设备 |
CN106528163B (zh) * | 2016-11-23 | 2019-09-06 | 武汉斗鱼网络科技有限公司 | 一种页面切换方法和装置 |
CN107025158B (zh) * | 2017-04-28 | 2020-12-18 | 南京投知科技有限公司 | 一种滑动操作测试方法、装置及终端 |
CN108009057B (zh) * | 2017-11-14 | 2021-04-02 | 东软集团股份有限公司 | 用于密码输入的测试方法、装置、存储介质及电子设备 |
CN109871172B (zh) * | 2019-01-23 | 2020-09-15 | 广州杰赛科技股份有限公司 | 一种自动化测试中的鼠标点击方法、装置及可读存储介质 |
CN110457219B (zh) * | 2019-08-08 | 2021-06-22 | 中国建设银行股份有限公司 | 一种测试脚本录制时时间选择的方法和装置 |
CN111949189A (zh) * | 2020-09-02 | 2020-11-17 | 平安国际智慧城市科技股份有限公司 | App屏幕滑动场景自动测试方法、装置及计算机设备 |
CN114115563A (zh) * | 2021-11-30 | 2022-03-01 | 南京星云数字技术有限公司 | 操作轨迹的采集方法、回放方法以及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053911A (zh) * | 2010-12-30 | 2011-05-11 | 东莞宇龙通信科技有限公司 | 基于Android的自动化测试方法、系统及移动终端 |
CN102722324A (zh) * | 2012-05-24 | 2012-10-10 | 中兴通讯股份有限公司 | 触控屏操作方法及装置 |
CN103164300A (zh) * | 2011-12-13 | 2013-06-19 | 腾讯科技(深圳)有限公司 | 一种移动终端触摸屏自动测试方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141518B2 (en) * | 2008-12-10 | 2015-09-22 | Microsoft Technology Licensing, Llc | GUI testing |
US9053241B2 (en) * | 2010-06-11 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | Scripting application with role identification |
-
2014
- 2014-04-22 CN CN201410164181.1A patent/CN105022687B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053911A (zh) * | 2010-12-30 | 2011-05-11 | 东莞宇龙通信科技有限公司 | 基于Android的自动化测试方法、系统及移动终端 |
CN103164300A (zh) * | 2011-12-13 | 2013-06-19 | 腾讯科技(深圳)有限公司 | 一种移动终端触摸屏自动测试方法及装置 |
CN102722324A (zh) * | 2012-05-24 | 2012-10-10 | 中兴通讯股份有限公司 | 触控屏操作方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105022687A (zh) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105022687B (zh) | 自动化测试方案中滑动操作的实现方法及装置 | |
JP6576389B2 (ja) | 移動端末試験装置とその周波数情報設定方法 | |
CN105354039B (zh) | 应用程序管理方法及装置 | |
CN105117337B (zh) | 应用调试方法、客户端及调试平台 | |
CN104618316B (zh) | 安全验证方法、装置和系统 | |
CN104881408A (zh) | 页面点击次数统计及结果展示方法、装置和系统 | |
CN107509051A (zh) | 远程控制方法、装置、终端及计算机可读存储介质 | |
CN105653195B (zh) | 截屏方法及移动终端 | |
CN104679627A (zh) | 测试方法及装置 | |
CN104917724A (zh) | 身份验证方法及装置 | |
CN104965778A (zh) | 游戏测试方法及装置 | |
CN110191221A (zh) | 音频处理方法、电路和终端 | |
CN109472849A (zh) | 处理应用中图像的方法、装置、终端设备和存储介质 | |
CN106375031B (zh) | 射频通道的检测方法及移动终端 | |
CN105100214A (zh) | 一种信息同步方法、装置及系统 | |
CN107948055A (zh) | 屏蔽群成员所发消息的方法、装置和计算机可读存储介质 | |
CN106341365A (zh) | 新帐号信息删除方法及装置 | |
CN108363628A (zh) | 消息处理方法、装置、计算机终端和计算机可读存储介质 | |
CN106294707A (zh) | 一种倒计时提示信息输出方法及装置 | |
CN106095132B (zh) | 播放设备按键功能设置方法及装置 | |
CN104737618A (zh) | 引导服务方法及应用于其的装置 | |
CN108271271B (zh) | 一种随机接入方法、发送端及接收端 | |
CN108984417A (zh) | 软件测试方法、装置、终端及存储介质 | |
CN104182331A (zh) | 浏览器性能测试方法、系统及终端 | |
CN106506342A (zh) | 信息复制粘贴方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |