CN104063306A - 智能终端软件测试中的自动登录方法、装置和系统 - Google Patents

智能终端软件测试中的自动登录方法、装置和系统 Download PDF

Info

Publication number
CN104063306A
CN104063306A CN201310085347.6A CN201310085347A CN104063306A CN 104063306 A CN104063306 A CN 104063306A CN 201310085347 A CN201310085347 A CN 201310085347A CN 104063306 A CN104063306 A CN 104063306A
Authority
CN
China
Prior art keywords
intelligent terminal
test
input frame
frame control
screen assembly
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
CN201310085347.6A
Other languages
English (en)
Other versions
CN104063306B (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing 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 CN201310085347.6A priority Critical patent/CN104063306B/zh
Publication of CN104063306A publication Critical patent/CN104063306A/zh
Application granted granted Critical
Publication of CN104063306B publication Critical patent/CN104063306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种智能终端软件测试中的自动登录方法、装置和系统,包括:接收智能终端软件及其测试帐号和密码;对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件及其所属的屏组件;将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识及其所属屏组件的标识发送给测试智能终端;控制测试智能终端安装运行所述智能终端软件,根据所述屏组件标识查找到该软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入测试帐号,向智能终端软件发出登录指令以实现自动登录。利用本发明,可以提高测试速度和测试效率。

Description

智能终端软件测试中的自动登录方法、装置和系统
技术领域
本申请涉及信息处理技术领域,尤其涉及一种智能终端软件测试中的自动登录方法、装置和系统。
背景技术
目前具有数据计算处理功能的智能终端被应用得越来越广泛,包括但不限于智能手机、掌上电脑、平板电脑、智能电视(Smart TV)等。通常,这些智能终端上都安装有操作系统,例如常见的便携操作系统有:安卓(Android)操作系统、塞班(Symbian)操作系统、Windows mobile操作系统、以及苹果iPhone OS操作系统等等。基于智能终端的操作系统,可以加载运行各种应用程序(APP,APPlication),这些应用程序有操作系统自带的,但大部分应用程序都是独立于操作系统的第三方应用程序。
目前由于智能终端的机型较多,因此每开发一款智能终端软件,都需要对该智能终端软件在不同的智能终端上进行测试。如果被测智能终端软件是需要登录的软件,则在测试时需要先利用测试帐号和对应的密码进行登录,然后再进行测试。现有技术中,对需要登录的智能终端软件进行测试时的登录方式主要是由开发人员手工进行,即针对某个智能终端软件,开发人员选定测试帐号和对应的密码,在被测智能终端软件的登录界面输入该测试帐号和对应的密码,进行登录。在登录后,在对该APP进行相应的测试。
但是,由于智能终端的机型数量众多,为了对某一需要登录的APP进行测试,如果利用现有的手工登录测试的方法,需要开发人员一个接一个地遍历登录众多的智能终端机型,需要的测试时间较长,测试速度和测试效率低下,人力成本太高。
发明内容
有鉴于此,本发明的主要目的在于提供一种智能终端软件测试中的自动登录方法,以提高测试速度和测试效率。
本发明的又一主要目的在于提供一种智能终端软件测试中的自动登录装置,以提高测试速度和测试效率。
本发明的再一主要目的在于提供一种智能终端软件测试中的自动登录系统,以提高测试速度和测试效率。
本发明的技术方案是这样实现的:
一种智能终端软件测试中的自动登录方法,包括:
接收智能终端软件及其测试帐号和密码;
对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件;
将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端;
控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
一种智能终端软件测试中的自动登录装置,包括:
接收模块,用于接收智能终端软件及其测试帐号和密码;
反编译分析模块,用于对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件;
传送模块,用于将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端;
自动登录控制模块,用于控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
一种智能终端软件测试中的自动登录系统,包括:
用户端装置,用于向测试服务器上传智能终端软件及其测试帐号和密码;
测试服务器,用于接收用户端装置上传的信息,向云端测试设备发送测试任务信息,所述测试任务信息包括所述智能终端软件及其测试帐号和密码;
云端测试设备,用于连接测试智能终端,在收到所述测试任务信息后,对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件;将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端;并控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
与现有技术相比,本发明在接收到智能终端软件及其测试帐号和密码后,对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件;然后将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端;之后控制测试智能终端安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。因此本发明的在智能终端软件测试中的自动登录方法、装置和系统可以实现自动化的登录,在整个登录过程中不需要人工干预,开发人员不必一个接一个地遍历登录众多的智能终端机型,因此提高了测试速度和测试效率,降低相关的人力成本。
附图说明
图1为本发明所述智能终端软件测试中的自动登录方法的一种流程图;
图2为本发明所述一种智能终端软件测试中的自动登录装置的组成示意图;
图3为本发明所述智能终端软件测试中的自动登录装置的又一种组成示意图;
图4为本发明所述智能终端软件测试中的自动登录装置的一种部件位置示意图;
图5为本发明所述智能终端软件测试中的自动登录系统的一种组成示意图;
图6为本发明所述智能终端软件测试中的自动登录系统的又一种组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明
图1为本发明所述智能终端软件测试中的自动登录方法的一种流程图。参见图1,该方法主要包括:
步骤101、接收智能终端软件及其测试帐号和密码。
本发明中,所述智能终端是指具有数据计算处理功能的智能终端,包括但不限于智能手机、掌上电脑、平板电脑、智能电视(Smart TV)等。这些智能终端上都安装有操作系统,包括但不限于:Android操作系统、Symbian操作系统、Windows mobile操作系统、以及苹果iPhone OS操作系统等等。所述的被测智能终端软件是指基于所述操作系统,可以在所述智能终端设备中运行的应用程序(APP)。
以上详细罗列了一些智能终端的具体类型和具体的操作系统类型,但是本领域技术人员可以意识到,本发明实施方式并不局限于上述罗列的类型,还可以适用于其他任意的智能终端类型和操作系统类型之中。
在步骤101中,所述智能终端软件是开发人员所开发的需要测试的被测智能终端软件,所述测试帐号和密码可以是由开发人员设置的测试帐号和密码。开发人员可以将所述智能终端软件及其测试帐号和密码上传给测试服务器,由测试服务器接收所述智能终端软件及其测试帐号和密码。
智能终端软件的具体格式可以有多种,比如可以包括apk文件格式、sis文件格式、sisx文件格式,等等。
本文所述的实施例中,具体以所述被测智能终端软件为基于andriod操作系统的APP为例说明具体的技术细节,这种APP的软件包的格式为apk文件格式。Apk是AndroidPackage的缩写,即Android安装包(apk)。apk是类似Symbian Sis或Sisx的文件格式。通过将apk文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。apk文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。
步骤102、对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件。
在一种具体的实施例中,本步骤102所述的在反编译出的文件中查找出与密码关键字匹配的输入框控件,具体包括:在反编译出的布局文件中查找输入框控件的关键字,如果一输入框控件的关键字与密码关键字匹配,则判定该输入框控件与所述密码关键字匹配,并记录该输入框控件的标识(ID)。
例如针对基于andriod操作系统的APP,该APP的软件包为apk格式,那么可以利用反编译工具对所述apk格式的软件包进行反编译得到布局文件,所述的反编译工具例如包括但不限于apktool和AXMLPrinter2.jar等工具。所述反编译后得到布局文件都在res文件夹中。所述布局文件描述的是APP的每一屏界面的布局信息,通常基于andriod操作系统的APP的布局文件的格式为可扩展标记语言(XML,Extensible Markup Language)格式。然后在该res文件夹中遍历所有的布局文件,直到从布局文件中查找出与密码关键字匹配的输入框控件。所述密码关键字例如为“密码”、“认证信息”、“密钥”等关键字。所述输入框控件在基于andriod操作系统的APP中通常为Edit test控件,是可编辑的文本框,用于输入文本信息。该输入框控件具有特定的标记属性,这些特定的标记属性中记录有提示信息,用于提示用户在该输入框中输入哪些信息,这些提示信息也就是输入框控件的关键字。例如对于用于输入密码的输入框控件,该输入框控件的特定标记属性中包括的提示信息(即该输入框控件的关键字)例如可以为“请输入密码”;对于用于输入用户名的输入框控件,该输入框控件的特定标记属性中包括的提示信息(即该输入框控件的关键字)例如可以为“请输入用户名”;等等。
本步骤中,需要在反编译得到的res文件夹中遍历所有的布局文件,从中查找输入框控件的关键字并判断查找到的输入框控件的关键字是否与密码关键字匹配,例如某输入框控件的关键字“请输入密码”中包括密码关键字“密码”,即判定该输入框控件的关键字与密码关键字匹配,之后则判定该输入框控件与所述密码关键字匹配,该输入框控件就是密码输入框控件,并记录该密码输入框控件的ID(即标识)。
在一种具体的实施例中,本步骤102中所述查找出与密码关键字匹配的输入框控件所属的屏组件的具体方法包括:在反编译出的程序源码文件中查找包含所述与密码关键字匹配的输入框控件的标识的屏组件,将查找到的屏组件作为该输入框控件所属的屏组件。
例如针对基于andriod操作系统的APP,该APP的软件包为apk格式,那么可以利用反编译工具对所述apk格式的软件包进行反编译得到程序源码文件,此处可以用的反编译工具例如包括但不限于dex2jar和JD-GUI等工具。所述反编译后得到程序源码文件一般在smali文件夹中。之后在该smali文件夹中遍历所有的程序源码文件,从中查找包含上述所记录的密码输入框控件ID的屏组件。所述屏组件在基于andriod操作系统的APP为Activity,Activity是整个Android平台的基本组件,一个Activity就代表APP中的一屏界面,一屏界面对应的Activity中可能包括各种控件。如果一Activity中包括密码输入框控件ID,则该Activity为该密码输入框控件所属的Activity,说明该Activity对应的界面中包括密码输入框,即为登录界面。然后记录该密码输入框控件所属Activity的标识。
步骤103、将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端。
在一种具体实施例中,本步骤也可以将所述测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识打包成一文件包,将该文件包与所述智能终端软件一同发送给测试智能终端;测试智能终端收到后,从所述文件包中解压出所述测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识。
步骤104、控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
此处需要预先在所述需要进行测试的测试智能终端上安装驱动程序,可以给该驱动程序发出控制指令,从而控制该智能终端。此处需要通过所述驱动程序控制测试智能终端安装和运行所述智能终端软件,然后依次遍历该智能终端软件的每一屏界面对应Activity,判断该Activity的标识是否为所记录的所述密码输入框控件所属Activity的标识,如果是则在该Activity中查找与所记录的所述密码输入框控件ID相同的输入框控件ID,如果找到则判定该输入框控件为密码输入框控件,并判定该Activity对应的界面为登录界面;然后在该Activity的密码输入框控件中输入所述密码,并且由于登录界面中除了包括密码输入框,必然还要包括帐号输入框,因此还要在该Activity的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。此处,不论该Activity的其它输入框控件的数量是否为一个,例如有可能为两个以上,但总之其中必然有一个输入框为帐号输入框控件,只要在除密码输入框控件外的其它所有输入框控件中输入所述测试帐号,则其中的帐号输入框控件中必然会输入测试帐号,因此不必再区分哪个输入框控件为帐号输入框控件,然后发出登录指令则必然会触发登录验证过程,从而完成自动登录。
如上所述,本发明可以实现自动化的登录,在整个登录过程中不需要人工干预,开发人员不必一个接一个地遍历登录众多的智能终端机型,因此提高了测试速度和测试效率,降低相关的人力成本。
另外,由于目前智能终端的机型众多,开发人员手边可供测试的智能终端机型往往很少,因此,现有技术的登录测试方式覆盖的智能终端的机型较少,开发人员对智能终端软件进行登录测试的机型不全面,无法提供较全面的机型的登录测试。
为了解决这个问题,在本发明的一种具体实施例中,还可以在接收智能终端软件及其测试帐号和密码的同时,接收测试机型列表,并根据所述测试机型列表选定连接在云端的对应机型的智能终端作为所述测试智能终端。由于云端的特点是可供测试的机型广泛,数量众多,因此本发明可以提高登录测试所能覆盖的智能机型数量。
所述测试机型列表也是由开发人员选定的希望进行登录测试的智能终端机型列表,可以预先将云端所支持的所有智能终端机型信息提供给开发人员,开发人员可以从中选择任意机型上传以进行登录测试。
本发明所述用于测试的众多的不同机型的智能终端连接在云端,所述云端具体包括云端测试设备。所述云端测试设备通常可以是设置在云端的一台或多台计算机,每台计算机通过多条数据线连接多个不同机型的智能终端,这些智能终端中预先安装有驱动程序,该驱动程序用于与所述云端测试设备进行通信,并可驱动智能终端执行云端测试设备的控制指令。由于云端需要具备的智能终端型号众多,一台计算机可能没有足够的接口无法连接所有型号的智能终端,因此通常所述作为云端测试设备的计算机可能会有多台,通常采用集群计算机设置,每一台计算机都连接有多种型号的智能终端。每台云端测试设备都连接哪些型号的智能终端的信息可以都汇总在一个记录表中,存储在测试服务器中,通过该记录表,测试服务器可以选定所述测试机型列表中包括的对应机型的智能终端连接在哪个云端测试设备上。
在本实施例中,由于存在多个云端测试设备,因此需要对测试任务进行分解,其中步骤103中所述将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端的具体方法包括下面步骤a和步骤b:
步骤a、选定连接有所述测试智能终端的云端测试设备,向所选定的云端测试设备发送测试任务信息,所述测试任务信息包括:所述智能终端软件及其测试帐号和密码、以及连接该云端测试设备的测试机型列表;所述测试任务信息中可以直接包括所述智能终端软件,也可以是包括该智能终端软件的下载地址,由云端测试设备可以根据该下载地址下载该智能终端软件。
步骤b、所述云端测试设备在收到所述测试任务信息后,选定所述测试机型列表中列出的且与本设备连接的测试智能终端,将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送到所述选定的测试智能终端。然后,由所述云端测试设备控制所选定的测试智能终端进行所述自动登录过程。
例如,如果接收到的开发人员所选的测试机型列表中包括机型1、机型2、机型5、机型6、机型7,如果机型1和机型2与云端测试设备1连接,机型5、机型6、机型7与云端测试设备2连接,那么选定云端测试设备1和云端测试设备2;分别向这两个云端测试设备发送测试任务,其中给云端测试设备1发送的测试任务信息中包括连接该云端测试设备1的机型列表即机型1和机型2,给云端测试设备2发送的测试任务信息中包括连接该云端测试设备2的机型列表即机型5、机型6和机型7。所述云端测试设备1接收到测试任务后,与所述机型1和机型2的智能终端建立通信,将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给该机型1和机型2的智能终端。所述云端测试设备2接收到测试任务后,与所述机型5、机型6和机型7的智能终端建立通信,将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给该机型5、机型6和机型7的智能终端。之后,所述云端测试设备1分别控制机型1和机型2的智能终端进行所述自动登录。所述云端测试设备2分别控制机型5、机型6和机型7的智能终端进行所述自动登录。
如上所述的实施例中,由于用于测试的智能终端都连接在云端测试设备上,而云端测试设备的数量可以无限扩大,因此智能终端的机型数量也可以无限扩大,因此可供测试的机型广泛,数量众多,因此本发明可以提高登录测试所能覆盖的智能机型数量,可以提供较全面的机型的登录测试。
与本发明所述的方法对应,本发明还公开了一种智能终端软件测试中的自动登录装置,用于执行本发明所述的方法。图2为本发明所述一种智能终端软件测试中的自动登录装置的组成示意图。参见图2,该装置包括:
接收模块201,用于接收智能终端软件及其测试帐号和密码。
所述智能终端软件是开发人员所开发的需要测试的被测智能终端软件,所述测试帐号和密码可以是由开发人员设置的测试帐号和密码。所述智能终端软件及其测试帐号和密码可以由开发人员上传。
反编译分析模块202,用于对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件。
传送模块203,用于将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端。
自动登录控制模块204,用于控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
在一种具体实施例中,所述反编译分析模块202在反编译出的文件中查找出与密码关键字匹配的输入框控件的具体方式包括:在反编译出的布局文件中查找输入框控件的关键字,如果一输入框控件的关键字与密码关键字匹配,则判定该输入框控件与所述密码关键字匹配,并记录该输入框控件的标识。
在另一种具体实施例中,所述反编译分析模块202查找出与密码关键字匹配的输入框控件所属的屏组件的具体方式包括:在反编译出的程序源码文件中查找包含所述与密码关键字匹配的输入框控件的标识的屏组件,将查找到的屏组件作为该输入框控件所属的屏组件。
在一种具体实施例中,所述传送模块203具体用于:将所述测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识打包成一文件包,将该文件包与所述智能终端软件一同发送给测试智能终端。所述自动登录控制模块204进一步控制所述测试智能终端对所述文件包进行解压,从中得到所述测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识。
本发明为了提高登录测试所能覆盖的智能机型数量,以提供较全面的机型的登录测试,可以将用于测试的一个以上的不同机型的智能终端连接在云端,所述云端具体包括云端测试设备。所述云端测试设备通常可以是设置在云端的一台或多台计算机,每台计算机通过多条数据线连接多个不同机型的智能终端,这些智能终端中预先安装有驱动程序,该驱动程序用于与所述云端测试设备进行通信,并可驱动智能终端执行云端测试设备的控制指令。图3为本发明所述智能终端软件测试中的自动登录装置的又一种组成示意图。参见图3,在该实施例中,为了提高登录测试所能覆盖的智能机型数量,以提供较全面的机型的登录测试,所述接收模块201进一步用于:在接收智能终端软件及其测试帐号和密码的同时,接收测试机型列表;且在该实施例中该自动登录装置还进一步包括选择模块205,用于根据所述测试机型列表选定连接在云端的对应机型的智能终端作为所述测试智能终端。这样就可以提供众多的测试机型供用户选择,提高了登录测试所能覆盖的智能机型数量。
如果云端测试设备的计算能力足够强大,而且可以连接智能终端的接口也足够多,所述接收模块201、反编译分析模块202、传送模块203和自动登录控制模块204可以设置在一台云端测试设备中。
但是在计算机能力有限的情况下,由于云端需要具备的智能终端型号众多,一台计算机可能没有足够的接口无法连接所有型号的智能终端,计算能力也有限,因此通常所述作为云端测试设备的计算机可能会有多台,通常采用集群计算机设置,每一台计算机都连接有多种型号的智能终端。每台云端测试设备都连接哪些型号的智能终端的信息可以都汇总在一个记录表中,存储在测试服务器中,由测试服务器集中管理所述云端测试设备。
因此在进一步的实施例中,如图4所示为本发明所述智能终端软件测试中的自动登录装置的一种部件位置示意图,参见图4,所述反编译分析模块202、传送模块203、和自动登录控制模块204设置在云端测试设备上;所述接收模块201和选择模块205设置在测试服务器上;所述选择模块205进一步用于:选定连接有所述测试智能终端机型(即接收模块接收到的测试机型列表中的机型)的云端测试设备(可能有一台,也可能是两台以上),向所选定的每个云端测试设备发送测试任务信息,所述测试任务信息包括:所述智能终端软件及其测试帐号和密码、以及连接该云端测试设备的测试机型列表。所述测试任务信息中可以直接包括所述智能终端软件,也可以是包括该智能终端软件的下载地址,由云端测试设备可以根据该下载地址下载该智能终端软件。所述传送模块203进一步用于:在云端测试设备收到所述测试任务信息后,选定所述测试机型列表中列出的且与本设备连接的测试智能终端,将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送到所述选定的测试智能终端。之后再控制该测试智能终端进行所述自动登录测试。
对应的,本发明还公开了一种智能终端软件测试中的自动登录系统。图5为本发明所述智能终端软件测试中的自动登录系统的一种组成示意图。参见图5,该系统包括:
用户端装置501,用于向测试服务器上传智能终端软件及其测试帐号和密码。
测试服务器502,用于接收用户端装置上传的信息,向云端测试设备发送测试任务信息,所述测试任务信息包括所述智能终端软件及其测试帐号和密码。
所述测试任务信息中可以直接包括所述智能终端软件,也可以是包括该智能终端软件的下载地址,由云端测试设备可以根据该下载地址下载该智能终端软件。
云端测试设备503,用于连接测试智能终端,在收到所述测试任务信息后,对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件;将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端;并控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
为了提高登录测试所能覆盖的智能机型数量,以提供较全面的机型的登录测试,在一种具体实施例中,所述用户端装置501进一步用于:在向测试服务器502上传智能终端软件及其测试帐号和密码的同时,上传测试机型列表;所述测试服务器502进一步用于:根据所述测试机型列表选定连接在云端测试设备的对应机型的智能终端作为所述测试智能终端。
如果云端测试设备的计算能力足够强大,而且可以连接智能终端的接口也足够多,那么可以只有一台云端测试设备,如图5所示。
但是在计算机能力有限的情况下,由于云端需要具备的智能终端型号众多,一台计算机可能没有足够的接口无法连接所有型号的智能终端,计算能力也有限,因此通常所述作为云端测试设备的计算机可能会有多台,通常采用集群计算机设置,每一台计算机都连接有多种型号的智能终端。每台云端测试设备都连接哪些型号的智能终端的信息可以都汇总在一个记录表中,存储在测试服务器中,由测试服务器集中管理所述云端测试设备。图6为本发明所述智能终端软件测试中的自动登录系统的又一种组成示意图。参见图6,在该实施例中,其特征在于,所述测试服务器502进一步用于:选定连接有所述测试智能终端机型的云端测试设备,向所选定的云端测试设备发送所述测试任务信息;
所述云端测试设备503进一步用于:在收到所述测试任务信息后,选定所述测试机型列表中列出的且与本设备连接的测试智能终端,将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送到所述选定的测试智能终端,并控制所述选定的测试智能终端进行自动登录。
还有,还可以将本发明实施方式应用到各种终端中,并且可以跨平台跨终端使用,适用范围非常广泛。
另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (15)

1.一种智能终端软件测试中的自动登录方法,其特征在于,包括:
接收智能终端软件及其测试帐号和密码;
对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件;
将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端;
控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
2.根据权利要求1所述的方法,其特征在于,所述在反编译出的文件中查找出与密码关键字匹配的输入框控件,具体包括:
在反编译出的布局文件中查找输入框控件的关键字,如果一输入框控件的关键字与密码关键字匹配,则判定该输入框控件与所述密码关键字匹配,并记录该输入框控件的标识。
3.根据权利要求2所述的方法,其特征在于,所述查找出与密码关键字匹配的输入框控件所属的屏组件,具体包括:
在反编译出的程序源码文件中查找包含所述与密码关键字匹配的输入框控件的标识的屏组件,将查找到的屏组件作为该输入框控件所属的屏组件。
4.根据权利要求1所述的方法,其特征在于,所述将智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端,具体包括:
将所述测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识打包成一文件包,将该文件包与所述智能终端软件一同发送给测试智能终端;测试智能终端收到后,从所述文件包中解压出所述测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
在接收智能终端软件及其测试帐号和密码的同时,接收测试机型列表;
根据所述测试机型列表选定连接在云端的对应机型的智能终端作为所述测试智能终端。
6.根据权利要求5所述的方法,其特征在于,所述将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端,具体包括:
选定连接有所述测试智能终端的云端测试设备,向所选定的云端测试设备发送测试任务信息,所述测试任务信息包括:所述智能终端软件及其测试帐号和密码、以及连接该云端测试设备的测试机型列表;
所述云端测试设备在收到所述测试任务信息后,选定所述测试机型列表中列出的且与本设备连接的测试智能终端,将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送到所述选定的测试智能终端。
7.一种智能终端软件测试中的自动登录装置,其特征在于,包括:
接收模块,用于接收智能终端软件及其测试帐号和密码;
反编译分析模块,用于对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件;
传送模块,用于将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端;
自动登录控制模块,用于控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
8.根据权利要求7所述的装置,其特征在于,所述反编译分析模块在反编译出的文件中查找出与密码关键字匹配的输入框控件,具体包括:在反编译出的布局文件中查找输入框控件的关键字,如果一输入框控件的关键字与密码关键字匹配,则判定该输入框控件与所述密码关键字匹配,并记录该输入框控件的标识。
9.根据权利要求8所述的装置,其特征在于,所述反编译分析模块查找出与密码关键字匹配的输入框控件所属的屏组件,具体包括:在反编译出的程序源码文件中查找包含所述与密码关键字匹配的输入框控件的标识的屏组件,将查找到的屏组件作为该输入框控件所属的屏组件。
10.根据权利要求7所述的装置,其特征在于,所述传送模块具体用于:将所述测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识打包成一文件包,将该文件包与所述智能终端软件一同发送给测试智能终端。
11.根据权利要求7所述的装置,其特征在于,
所述接收模块进一步用于:在接收智能终端软件及其测试帐号和密码的同时,接收测试机型列表;
该装置进一步包括选择模块,用于根据所述测试机型列表选定连接在云端的对应机型的智能终端作为所述测试智能终端。
12.根据权利要求11所述的装置,其特征在于,
所述反编译分析模块、传送模块、和自动登录控制模块设置在云端测试设备上;
所述接收模块和选择模块设置在测试服务器上;
所述选择模块进一步用于:选定连接有所述测试智能终端机型的云端测试设备,向所选定的云端测试设备发送测试任务信息,所述测试任务信息包括:所述智能终端软件及其测试帐号和密码、以及连接该云端测试设备的测试机型列表;
所述传送模块进一步用于:在云端测试设备收到所述测试任务信息后,选定所述测试机型列表中列出的且与本设备连接的测试智能终端,将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送到所述选定的测试智能终端。
13.一种智能终端软件测试中的自动登录系统,其特征在于,包括:
用户端装置,用于向测试服务器上传智能终端软件及其测试帐号和密码;
测试服务器,用于接收用户端装置上传的信息,向云端测试设备发送测试任务信息,所述测试任务信息包括所述智能终端软件及其测试帐号和密码;
云端测试设备,用于连接测试智能终端,在收到所述测试任务信息后,对所述智能终端软件进行反编译,在反编译出的文件中查找出与密码关键字匹配的输入框控件,并查找出该输入框控件所属的屏组件;将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送给测试智能终端;并控制测试智能终端进行自动登录,该自动登录过程包括:安装运行所述智能终端软件,根据所述屏组件标识查找到该智能终端软件中对应的屏组件,在该屏组件中查找到所述输入框控件标识对应的输入框控件,在该输入框控件中输入所述密码,在该屏组件中的其它输入框控件中输入所述测试帐号,向智能终端软件发出登录指令以实现自动登录。
14.根据权利要求13所述的自动登录系统,其特征在于,
所述用户端装置进一步用于:在向测试服务器上传智能终端软件及其测试帐号和密码的同时,上传测试机型列表;
所述测试服务器进一步用于:根据所述测试机型列表选定连接在云端测试设备的对应机型的智能终端作为所述测试智能终端。
15.根据权利要求14所述的自动登录系统,其特征在于,
所述测试服务器进一步用于:选定连接有所述测试智能终端机型的云端测试设备,向所选定的云端测试设备发送所述测试任务信息;
所述云端测试设备进一步用于:在收到所述测试任务信息后,选定所述测试机型列表中列出的且与本设备连接的测试智能终端,将所述智能终端软件及其测试帐号和密码、以及与密码关键字匹配的输入框控件的标识和该输入框控件所属屏组件的标识发送到所述选定的测试智能终端,并控制所述选定的测试智能终端进行自动登录。
CN201310085347.6A 2013-03-18 2013-03-18 智能终端软件测试中的自动登录方法、装置和系统 Active CN104063306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310085347.6A CN104063306B (zh) 2013-03-18 2013-03-18 智能终端软件测试中的自动登录方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310085347.6A CN104063306B (zh) 2013-03-18 2013-03-18 智能终端软件测试中的自动登录方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104063306A true CN104063306A (zh) 2014-09-24
CN104063306B CN104063306B (zh) 2017-12-01

Family

ID=51551028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310085347.6A Active CN104063306B (zh) 2013-03-18 2013-03-18 智能终端软件测试中的自动登录方法、装置和系统

Country Status (1)

Country Link
CN (1) CN104063306B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683327A (zh) * 2015-01-29 2015-06-03 中国科学院信息工程研究所 一种Android软件用户登录界面安全性检测方法
CN105528198A (zh) * 2014-09-29 2016-04-27 北大方正集团有限公司 操作界面识别方法及装置
CN106528355A (zh) * 2016-11-01 2017-03-22 广东浪潮大数据研究有限公司 一种测试管理控制器的方法、装置和系统
CN109460360A (zh) * 2018-10-29 2019-03-12 北京云测信息技术有限公司 一种增强ios自动化测试输入稳定性和兼容性的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020930A1 (en) * 2004-07-23 2006-01-26 Press - Sense Ltd. System and method of identifying source code associated with a displayed component
CN102333078A (zh) * 2011-07-25 2012-01-25 深圳市万兴软件有限公司 通过客户端登录应用程序的方法及客户端
CN102402449A (zh) * 2011-12-30 2012-04-04 成都三零瑞通移动通信有限公司 一种在计算机上直接解析Android安装文件APK文件信息的方法
CN102902549A (zh) * 2011-07-26 2013-01-30 风网科技(北京)有限公司 用于Symbian 和Android 操作系统的客户端信息打包系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020930A1 (en) * 2004-07-23 2006-01-26 Press - Sense Ltd. System and method of identifying source code associated with a displayed component
CN102333078A (zh) * 2011-07-25 2012-01-25 深圳市万兴软件有限公司 通过客户端登录应用程序的方法及客户端
CN102902549A (zh) * 2011-07-26 2013-01-30 风网科技(北京)有限公司 用于Symbian 和Android 操作系统的客户端信息打包系统及方法
CN102402449A (zh) * 2011-12-30 2012-04-04 成都三零瑞通移动通信有限公司 一种在计算机上直接解析Android安装文件APK文件信息的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张伟燕等: "应用客户端安全登录技术研究", 《2004计算机应用技术交流会议》 *
徐研等: "基于BHO的淘宝网账户自动登录系统研究与实现", 《软件导刊》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528198A (zh) * 2014-09-29 2016-04-27 北大方正集团有限公司 操作界面识别方法及装置
CN104683327A (zh) * 2015-01-29 2015-06-03 中国科学院信息工程研究所 一种Android软件用户登录界面安全性检测方法
CN104683327B (zh) * 2015-01-29 2018-04-17 中国科学院信息工程研究所 一种Android软件用户登录界面安全性检测方法
CN106528355A (zh) * 2016-11-01 2017-03-22 广东浪潮大数据研究有限公司 一种测试管理控制器的方法、装置和系统
CN109460360A (zh) * 2018-10-29 2019-03-12 北京云测信息技术有限公司 一种增强ios自动化测试输入稳定性和兼容性的方法

Also Published As

Publication number Publication date
CN104063306B (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN102779151B (zh) 应用程序的搜索方法、装置及系统
US8281286B2 (en) Methods and systems for automated testing of applications using an application independent GUI map
CN110990020A (zh) 一种软件编译方法、装置及电子设备和存储介质
CN104063305A (zh) 智能终端软件的压力测试方法、装置和系统
CN110989926B (zh) 故障磁盘槽位定位方法、装置及电子设备
CN104407980A (zh) 移动应用自动化测试装置和方法
MX2015002906A (es) Generacion de codigo nativo a partir de un codigo de lenguaje intermediario para una aplicacion.
CN105159833A (zh) 自动化测试装置及方法
CN106294113B (zh) 一种基于可编程式测试服务的创建方法及装置
CN101963910A (zh) 基于通用usb总线的设备固件升级方法
CN106844181B (zh) 用于记录用户行为的方法、系统及移动终端
CN107239309B (zh) 补丁生成方法及装置、更新方法、电子设备、存储介质
CN110727581B (zh) 崩溃定位方法与电子设备
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN112615758B (zh) 一种应用识别方法、装置、设备及存储介质
CN104375933A (zh) 一种单元测试方法和装置
CN105574369A (zh) 应用程序重新签名的方法、装置和系统
CN104424423A (zh) 应用程序的权限确定方法和装置
CN109783355A (zh) 页面元素获取方法、系统、计算机设备及可读存储介质
CN106055375A (zh) 应用程序安装方法及装置
CN104063306A (zh) 智能终端软件测试中的自动登录方法、装置和系统
CN111913889A (zh) 一种测试系统搭建方法及测试系统
CN110941547B (zh) 自动化测试用例库管理方法、装置、介质及电子设备
CN109032617B (zh) 一种自动删除安装包的控制方法及控制装置
CN104036193A (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
TR01 Transfer of patent right

Effective date of registration: 20190807

Address after: 518057 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right