CN109491890A - 应用程序的接口扫描方法及终端设备 - Google Patents
应用程序的接口扫描方法及终端设备 Download PDFInfo
- Publication number
- CN109491890A CN109491890A CN201811201303.4A CN201811201303A CN109491890A CN 109491890 A CN109491890 A CN 109491890A CN 201811201303 A CN201811201303 A CN 201811201303A CN 109491890 A CN109491890 A CN 109491890A
- Authority
- CN
- China
- Prior art keywords
- application program
- page
- interface message
- terminal equipment
- traversal
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012360 testing method Methods 0.000 claims abstract description 114
- 238000004590 computer program Methods 0.000 claims description 15
- 241000270322 Lepidosauria Species 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 6
- 230000032258 transport Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000013522 software testing Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 230000005611 electricity Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
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
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)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于软件测试技术领域,提供了一种应用程序的接口扫描方法及终端设备,所述方法包括:接收第二终端设备发送的自动测试命令,所述自动测试命令包括被测的应用程序的信息;根据所述自动测试命令,启动所述应用程序;遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息;将每个元素对应的接口信息反馈给所述第二终端设备。本发明将应用程序的元素遍历测试与接口信息收集结合起来,提升了接口信息收集的效率和完整度。
Description
技术领域
本发明属于软件测试技术领域,尤其涉及一种应用程序的接口扫描方法及终端设备。
背景技术
应用程序是指终端设备上安装的第三方应用程序,目前被人们广泛使用。
传统的收集被测的应用程序接口信息的扫描方案,通常通过人工手动操作应用程序,并启动后台接口收集工具收集应用程序访问服务器的接口数据,然后再人工对接口数据进行扫描,过滤出被测应用程序的接口数据,存在效率低,覆盖请求收集不全的问题。
发明内容
有鉴于此,本发明实施例提供了一种应用程序的接口扫描方法及终端设备,以提高应用程序接口扫描的效率和覆盖度。
本发明实施例的第一方面提供了一种应用程序的接口扫描方法,应用于第一终端设备,包括:
接收第二终端设备发送的自动测试命令,所述自动测试命令包括被测的应用程序的信息;
根据所述自动测试命令,启动所述应用程序;
遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息;
将每个元素对应的接口信息反馈给所述第二终端设备。
本发明实施例的第二方面提供了一种终端设备,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如下步骤:
接收第二终端设备发送的自动测试命令,所述自动测试命令包括被测的应用程序的信息;
根据所述自动测试命令,启动所述应用程序;
遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时所述终端设备访问后台服务器的接口信息;
将每个元素对应的接口信息反馈给所述第二终端设备。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
接收第二终端设备发送的自动测试命令,所述自动测试命令包括被测的应用程序的信息;
根据所述自动测试命令,启动所述应用程序;
遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息;
将每个元素对应的接口信息反馈给所述第二终端设备。
在本发明实施例中,将应用程序的元素遍历测试与接口信息收集结合起来,提升了接口信息收集的效率和完整度;并通过第二终端设备控制第一终端设备完成被测的应用程序的接口信息收集,采用自动化的方式,进一步提高扫描效率的同时,还大大减少了人力成本的投入。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用程序的接口扫描方法的实现流程图;
图2是本发明实施例提供的另一种应用程序的接口扫描方法的实现流程图;
图3是本发明实施例提供的又一种应用程序的接口扫描方法的实现流程图;
图4是本发明实施例提供的又一种应用程序的接口扫描方法的实现流程图;
图5是本发明实施例提供的又一种应用程序的接口扫描方法的实现流程图;
图6是本发明实施例提供的一种应用程序的接口扫描装置的结构框图;
图7是本发明实施例提供的另一种应用程序的接口扫描装置的结构框图;
图8是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
另外,在本发明中若涉及“第一”或“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”或“第二”等的特征可以明示或者隐含地包括至少一个该特征。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的应用程序的接口扫描方法的实现流程,该接口扫描方法流程包括步骤S101至S105。应用程序的接口扫描方法适用于收集应用程序的接口信息的情形。该应用程序的接口扫描方法由应用程序的接口扫描装置执行,所述应用程序的接口扫描装置配置于第一终端设备,可由软件和/或硬件实现。第一终端设备可以为平板电脑(Portable Android Device,PAD)或智能手机等真实的硬件终端设备,还可以为模拟器和虚拟机等虚拟的终端设备,用于模拟真实的硬件终端设备,从而在模拟器中运行应用程序。应用程序的接口扫描方法,各步骤的具体实现原理如下。
S101,接收第二终端设备发送的自动测试命令,所述自动测试命令包括被测的应用程序的信息。
其中,第一终端设备与第二终端设备进行数据通信。第二终端设备可为台式电脑或笔记本电脑等。所述自动测试命令由与所述第一终端设备连接的第二终端设备发出,由用户在第二终端设备上触发。用户可以为软件测试人员、或者软件开发人员、或第一终端和第二终端的所有者。自动测试命令包括被测的应用程序的信息。应用程序的信息至少包括:应用程序的包名及各个Activitiy。根据应用程序包名确定应用程序中哪个是被测的应用程序。
在应用程序中,Activitiy是一个应用程序组件,提供一个屏幕,用户可以用来与终端设备交互以完成某项任务。各个Activitiy都有相应的用户界面,即用户所能看见的应用程序显示页面。本发明实施例中的页面元素是指用户界面中相应的控件,例如,按钮、文本显示、文本编辑、选择列表、复选框、单选框、滚动条等类型的控件。
第一终端设备安装有遍历测试应用,所述遍历测试应用包括遍历测试功能模块和接口信息收集功能模块。第二终端设备通过自动测试命令启动第一终端设备中的遍历测试应用,并传入被测的应用程序的信息等作为参数,从而启动第一终端设备中的被测应用程序,以进行后续的元素遍历测试和接口信息收集。
示例性地,若第一终端设备为安卓设备,第一终端设备连接第二终端设备开启USB调试模式,进入adb shell。第二终端设备发送的自动测试命令为adb命令,启动第一终端设备的遍历测试应用,并向第一终端设备传参,包括被测应用程序的信息及测试配置文件等,启动所述被测的应用程序,从而开始被测应用程序的元素遍历测试和接口信息收集。本领域技术人员可以理解,此处仅为示例性描述,不能解释为对本发明的具体限制。
S102,根据所述自动测试命令,启动所述应用程序。
其中,第一终端设备接收自动测试命令,自动测试命令包括被测的应用程序的信息,被测的应用程序信息包括应用程序的包名和各个Activitiy,根据应用程序的包名和Activitiy自动启动被测的应用程序,进而进行元素遍历测试和接口信息收集。
作为本发明一实施例,如图2所示,S102包括步骤2021和1022。
S1021,若确定第一终端设备已经安装所述应用程序,则根据所述自动测试命令,启动所述应用程序;
S1022,若确定第一终端设备未安装所述应用程序,则根据所述应用程序的信息获取所述应用程序的安装文件,安装并启动所述应用程序。
其中,检测第一终端设备是否安装被测的应用程序,当确定第一终端设备已经安装所述应用程序时,根据自动测试命令,直接启动应用程序。当确定第一终端设备未安装被测的应用程序时,根据应用程序的信息,即根据应用程序的包名,获取所述应用程序的安装文件,安装并启动所述应用程序。
S103,遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息。
其中,遍历测试应用包括遍历测试功能模块和接口信息收集功能模块,通过遍历测试应用自动对应用程序的每个页面进行元素遍历测试,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息。
自动测试命令还包括有测试配置文件,测试配置文件包括对各个测试参数的配置。其中,测试参数至少包括被测的应用程序的各个Activitiy的测试顺序和Activitiy的跳转触发条件,即应用程序各个显示页面的测试顺序,以及各个显示页面何时跳转。根据所述测试顺序,依次对应用程序的各个显示页面自动进行页面元素遍历测试和接口信息收集。示例性地,判断当前显示页面的所有元素的操作次数是否达到最大循环次数,若是,则触发Activitiy跳转,即显示下一个页面,进行下一个页面的元素遍历测试和接口信息收集。操作次数是指对元素进行对应的点击、滑动或输入操作的次数。
作为本发明一实施例,如图3所示,S103包括步骤301至302。
S301,根据所述应用程序当前显示页面对应的Activitiy的名称,从节点信息数据库中获取与所述Activitiy的名称对应的页面节点信息,根据所述页面节点信息依次遍历测试当前显示页面的元素。
其中,节点信息数据库存储了Activitiy的名称及与之对应的页面节点信息,一个显示页面对应一个页面节点信息。页面节点信息包括应用程序的页面元素路径和页面元素序数。页面元素序数体现了当前显示页面中元素遍历测试的顺序。在本发明其他实施例中,页面节点信息还可包括控件ID和控件坐标等。
若未在节点信息数据库中获取与所述Activitiy的名称对应的页面节点信息,则通过调用函数命令获取当前显示页面对应的页面节点信息,并将Activitiy的名称及页面节点信息对应存储至节点信息数据库。
S302,获取对元素进行遍历测试时第一终端设备访问后台服务器的接口信息,生成元素与对应的接口信息的对应列表。
其中,遍历测试应用的接口信息收集功能模块,作为所述遍历测试应用的一个插件,启动遍历测试应用是同时启动该接口信息收集功能模块,在进行应用程序页面元素遍历测试的过程中,接口信息收集功能模块抓取到进出第一终端设备的几乎所有的数据包,并从数据包中过滤出中被测应用程序的每个进程对应的数据,获取每个元素测试过程中第一终端设备访问后台服务器的接口信息。
具体地,第一终端设备若为Android设备,如果已经使用了VpnService框架,建立起了一条从第一终端设备到远端的VPN链接,那么数据包在第一终端设备上大致经历了如下四个过程的转换:
1)应用程序使用socket,将相应的数据包发送到真实的网络设备上。例如,若第一终端设备为移动设备,此时只有无线网卡,因此是将数据包发送到真实的WiFi设备上。
2)Android系统通过iptables,使用NAT,将所有的数据包转发到TUN虚拟网络设备上去,端口是tun0。
3)VPN程序通过打开/dev/tun设备,并读取该设备上的数据,可以获得所有转发到TUN虚拟网络设备上的IP包。因为设备上的所有IP包都会被NAT转成原地址是tun0端口发送的,所以也就是说VPN程序可以获得进出该设备的几乎所有的数据。
4)对数据包做一些处理,然后将处理过后的数据包,通过真实的网络设备发送出去。为了防止发送的数据包再被转到TUN虚拟网络设备上,VPN程序所使用的socket必须先被明确绑定到真实的网络设备上去。
本发明实施例中,通过VPN程序获得进出第一终端设备的几乎所有的数据包,通过获取被测APP的进程ID,从通过VPN程序抓包的数据中过滤出被测APP每个进程对应的接口数据,得到各元素对应的接口信息。
作为本发明另一实施例,如图4所示,S103包括步骤401至402。
S401,通过爬虫工具获取所述应用程序当前显示页面的页面节点信息,根据所述页面节点信息依次遍历测试所述当前显示页面的元素;
其中,遍历测试应用还包括爬虫工具,作为遍历测试应用的一个插件,当第一终端设备接收来自第二终端设备的自动测试命令,自动启动遍历测试应用,也同时启动该爬虫工具,当启动被测所述应用程序后,通过爬虫工具获取所述应用程序的页面节点信息。
S402,获取对元素进行遍历测试时第一终端设备访问后台服务器的接口信息,生成元素与对应的接口信息的对应列表。
其中,步骤402与302相同,此处不再赘述。
S104,将每个元素对应的接口信息反馈给所述第二终端设备。
其中,在步骤103中,获得了每个元素对应的接口信息,从而将每个元素的接口信息反馈给所述第二终端设备,完成了接口的扫描。
在本发明实施例中,将应用程序的元素遍历测试与接口信息收集结合起来,提升了接口信息收集的效率和完整度;并通过第二终端设备控制第一终端设备完成被测的应用程序的接口信息收集,采用自动化的方式,进一步提高扫描效率的同时,还大大减少了人力成本的投入。
在上述实施例的基础上,提出了另一种应用程序的接口扫描方法,以适用于更多的应用测试场景。
如图5所示,进一步地,在步骤102,根据所述自动测试命令,启动所述应用程序之后,还包括步骤105。
S105,若所述应用程序为需要用户登录的应用程序,则从所述应用程序的信息中获取登录信息登录所述应用程序。
其中,所述应用程序的信息还包括应用程序的登录信息。例如:账号和密码等。
判断被测的应用程序是否需要登录,如果不需要登录,则直接进入步骤103;若需要登录,则从所述应用程序的信息中获取登录信息登录所述应用程序,再执行103。
示例性地,获取应用程序的登录信息,用户名test12345678,密码test123登录被测的应用程序。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的应用程序的接口扫描方法,图6示出了本发明实施例提供的应用程序的接口扫描装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。未详细描述之处请参见方法实施例的相应部分。
参照图6,该应用程序的接口扫描装置包括:
接收模块61,用于接收第二终端设备发送的自动测试命令,所述自动测试命令包括被测的应用程序的信息;
启动模块62,用于根据所述自动测试命令,启动所述应用程序;
遍历和收集模块63,用于遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息;
反馈模块64,用于将每个元素对应的接口信息反馈给所述第二终端设备。
可选地,遍历和收集模块63具体用于:
根据所述应用程序当前显示页面对应的Activitiy的名称,从节点信息数据库中获取与所述Activitiy的名称对应的页面节点信息,根据所述页面节点信息依次遍历测试当前显示页面的元素;
获取对元素进行遍历测试时第一终端设备访问后台服务器的接口信息,生成元素与对应的接口信息的对应列表。
可选地,遍历和收集模块63具体用于:
通过爬虫工具获取所述应用程序当前显示页面的页面节点信息,根据所述页面节点信息依次遍历测试所述当前显示页面的元素;
获取对元素进行遍历测试时第一终端设备访问后台服务器的接口信息,生成元素与对应的接口信息的对应列表。
可选地,启动模块62具体用于:
若确定第一终端设备已经安装所述应用程序,则根据所述自动测试命令,启动所述应用程序;
若确定第一终端设备未安装所述应用程序,则根据所述应用程序的信息获取所述应用程序的安装文件,安装并启动所述应用程序。
可选地,如图7所示,该应用程序的接口扫描装置,还包括:
登录模块65,用于若所述应用程序为需要用户登录的应用程序,则从所述应用程序的信息中获取登录信息登录所述应用程序。
图8是本发明一实施例提供的终端设备的示意图。如图8所示,该实施例的终端设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如应用程序的接口扫描的程序。所述处理器80执行所述计算机程序82时实现上述应用程序的接口扫描方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块61至64的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述终端设备8中的执行过程。
所述终端设备8可以是PAD或智能手机等具有计算能力的终端设备。所述终端设备8可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的示例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用程序的接口扫描方法,应用于第一终端设备,其特征在于,包括:
接收第二终端设备发送的自动测试命令,所述自动测试命令包括被测的应用程序的信息;
根据所述自动测试命令,启动所述应用程序;
遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息;
将每个元素对应的接口信息反馈给所述第二终端设备。
2.如权利要求1所述的方法,其特征在于,所述应用程序的信息包括应用程序的包名及各个Activitiy;
所述遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息,包括:
根据所述应用程序当前显示页面对应的Activitiy的名称,从节点信息数据库中获取与所述Activitiy的名称对应的页面节点信息,根据所述页面节点信息依次遍历测试当前显示页面的元素;
获取对元素进行遍历测试时第一终端设备访问后台服务器的接口信息,生成元素与对应的接口信息的对应列表。
3.如权利要求1所述的方法,其特征在于,所述遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时第一终端设备访问后台服务器的接口信息,包括:
通过爬虫工具获取所述应用程序当前显示页面的页面节点信息,根据所述页面节点信息依次遍历测试所述当前显示页面的元素;
获取对元素进行遍历测试时第一终端设备访问后台服务器的接口信息,生成元素与对应的接口信息的对应列表。
4.如权利要求1-3任一项所述的方法,其特征在于,所述根据所述自动测试命令,启动所述应用程序,包括:
若确定第一终端设备已经安装所述应用程序,则根据所述自动测试命令,启动所述应用程序;
若确定第一终端设备未安装所述应用程序,则根据所述应用程序的信息获取所述应用程序的安装文件,安装并启动所述应用程序。
5.如权利要求1或2所述的方法,其特征在于,所述根据所述自动测试命令,启动所述应用程序之后,还包括:
若所述应用程序为需要用户登录的应用程序,则从所述应用程序的信息中获取登录信息登录所述应用程序。
6.一种终端设备,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如下步骤:
接收第二终端设备发送的自动测试命令,所述自动测试命令包括被测的应用程序的信息;
根据所述自动测试命令,启动所述应用程序;
遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时所述终端设备访问后台服务器的接口信息;
将每个元素对应的接口信息反馈给所述第二终端设备。
7.如权利要求6所述的终端设备,其特征在于,所述应用程序的信息包括应用程序的包名及各个Activitiy;
所述遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时所述终端设备访问后台服务器的接口信息,包括:
根据所述应用程序当前显示页面对应的Activitiy的名称,从节点信息数据库中获取与所述Activitiy的名称对应的页面节点信息,根据所述页面节点信息依次遍历测试当前显示页面的元素;
获取对元素进行遍历测试时终端设备访问后台服务器的接口信息,生成元素与对应的接口信息的对应列表。
8.如权利要求6所述的终端设备,其特征在于,所述遍历测试所述应用程序每个页面中的每个元素,并同时收集每个元素在遍历测试时所述终端设备访问后台服务器的接口信息,包括:
通过爬虫工具获取所述应用程序当前显示页面的页面节点信息,根据所述页面节点信息依次遍历测试所述当前显示页面的元素;
获取对元素进行遍历测试时所述终端设备访问后台服务器的接口信息,生成元素与对应的接口信息的对应列表。
9.如权利要求6至8任一项所述的终端设备,其特征在于,所述根据所述自动测试命令,启动所述应用程序,包括:
若确定所述终端设备已经安装所述应用程序,则根据所述自动测试命令,启动所述应用程序;
若确定所述终端设备未安装所述应用程序,则根据所述应用程序的信息获取所述应用程序的安装文件,安装并启动所述应用程序。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811201303.4A CN109491890A (zh) | 2018-10-16 | 2018-10-16 | 应用程序的接口扫描方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811201303.4A CN109491890A (zh) | 2018-10-16 | 2018-10-16 | 应用程序的接口扫描方法及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109491890A true CN109491890A (zh) | 2019-03-19 |
Family
ID=65690315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811201303.4A Pending CN109491890A (zh) | 2018-10-16 | 2018-10-16 | 应用程序的接口扫描方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491890A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111817916A (zh) * | 2020-07-02 | 2020-10-23 | 浙江同花顺智能科技有限公司 | 基于移动终端集群的测试方法、装置、设备和存储介质 |
CN113094281A (zh) * | 2021-04-28 | 2021-07-09 | 杭州网易云音乐科技有限公司 | 一种混合式App的测试方法及装置 |
CN114968456A (zh) * | 2022-05-07 | 2022-08-30 | 麒麟合盛网络技术股份有限公司 | 一种控制终端的方法和装置 |
CN116955208A (zh) * | 2023-09-18 | 2023-10-27 | 荣耀终端有限公司 | 测试方法、终端设备、芯片及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461900A (zh) * | 2014-12-19 | 2015-03-25 | 北京奇虎科技有限公司 | 用户界面的测试方法、中控服务器、测试终端及系统 |
CN104731589A (zh) * | 2015-03-12 | 2015-06-24 | 用友网络科技股份有限公司 | 用户界面的自动生成方法及自动生成装置 |
CN104933174A (zh) * | 2015-07-01 | 2015-09-23 | 北京博睿宏远科技发展有限公司 | 基于控件自动化遍历解决手机app机型适配问题的方法 |
CN105868105A (zh) * | 2016-03-24 | 2016-08-17 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备及移动终端 |
CN106776343A (zh) * | 2017-01-13 | 2017-05-31 | 中国科学院软件研究所 | 一种Web应用程序自动化测试工具及方法 |
WO2018082462A1 (zh) * | 2016-11-01 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 应用界面遍历方法、系统和测试设备 |
CN108399119A (zh) * | 2017-02-06 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 浏览服务内核引擎数据处理、自动化测试的方法和装置 |
-
2018
- 2018-10-16 CN CN201811201303.4A patent/CN109491890A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461900A (zh) * | 2014-12-19 | 2015-03-25 | 北京奇虎科技有限公司 | 用户界面的测试方法、中控服务器、测试终端及系统 |
CN104731589A (zh) * | 2015-03-12 | 2015-06-24 | 用友网络科技股份有限公司 | 用户界面的自动生成方法及自动生成装置 |
CN104933174A (zh) * | 2015-07-01 | 2015-09-23 | 北京博睿宏远科技发展有限公司 | 基于控件自动化遍历解决手机app机型适配问题的方法 |
CN105868105A (zh) * | 2016-03-24 | 2016-08-17 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备及移动终端 |
WO2018082462A1 (zh) * | 2016-11-01 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 应用界面遍历方法、系统和测试设备 |
CN106776343A (zh) * | 2017-01-13 | 2017-05-31 | 中国科学院软件研究所 | 一种Web应用程序自动化测试工具及方法 |
CN108399119A (zh) * | 2017-02-06 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 浏览服务内核引擎数据处理、自动化测试的方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111817916A (zh) * | 2020-07-02 | 2020-10-23 | 浙江同花顺智能科技有限公司 | 基于移动终端集群的测试方法、装置、设备和存储介质 |
CN111817916B (zh) * | 2020-07-02 | 2022-06-03 | 浙江同花顺智能科技有限公司 | 基于移动终端集群的测试方法、装置、设备和存储介质 |
CN113094281A (zh) * | 2021-04-28 | 2021-07-09 | 杭州网易云音乐科技有限公司 | 一种混合式App的测试方法及装置 |
CN113094281B (zh) * | 2021-04-28 | 2024-05-03 | 杭州网易云音乐科技有限公司 | 一种混合式App的测试方法及装置 |
CN114968456A (zh) * | 2022-05-07 | 2022-08-30 | 麒麟合盛网络技术股份有限公司 | 一种控制终端的方法和装置 |
CN114968456B (zh) * | 2022-05-07 | 2024-03-08 | 麒麟合盛网络技术股份有限公司 | 一种控制终端的方法和装置 |
CN116955208A (zh) * | 2023-09-18 | 2023-10-27 | 荣耀终端有限公司 | 测试方法、终端设备、芯片及存储介质 |
CN116955208B (zh) * | 2023-09-18 | 2024-03-15 | 荣耀终端有限公司 | 测试方法、终端设备、芯片及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491890A (zh) | 应用程序的接口扫描方法及终端设备 | |
CN102567203B (zh) | 一种测试分布式文件系统性能的方法及系统 | |
CN110493812B (zh) | 配网测试的处理方法、装置、系统、处理器及主控设备 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN112286746B (zh) | 针对axi从设备接口的通用验证平台及方法 | |
WO2021208512A1 (zh) | 用户界面的控件信息的获取方法、装置、终端及存储介质 | |
CN108600311B (zh) | 客户端模拟接口数据的方法及装置 | |
CN103246606A (zh) | Esb平台的性能方法和系统 | |
CN105760307A (zh) | 智能终端的测试方法、装置及系统 | |
CN104123397A (zh) | Web页面的自动化测试装置及方法 | |
CN112583663B (zh) | 一种基于国产操作系统的自动化网络性能测试方法 | |
CN109522217A (zh) | 应用程序的内存测试方法及终端设备 | |
CN110399723A (zh) | 漏洞检测方法和装置、存储介质及电子装置 | |
CN210016474U (zh) | 配网测试控制设备及系统 | |
CN107193634A (zh) | 一种虚拟机的访问方法及装置 | |
CN111447273A (zh) | 云处理系统及基于云处理系统的数据处理方法 | |
CN104598202A (zh) | 命令行管理装置及方法 | |
CN104570967A (zh) | 基于Android系统的远程控制方法及系统 | |
CN109167707A (zh) | 一种分流设备测试系统、方法、装置、服务器及存储介质 | |
CN107528728A (zh) | 一种获取用户体验数据的方法及装置 | |
CN107562040A (zh) | 故障诊断流程的获取方法以及系统 | |
CN112214201A (zh) | 车机系统底层接口认证的方法、装置、设备及存储介质 | |
CN111352802A (zh) | 一种网络总线的监控处理方法、装置、设备及存储介质 | |
CN113391931A (zh) | 基于蓝牙的远程控制方法、装置、计算机设备和存储介质 | |
CN112911629A (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 |