CN113326192B - 用于移动端的应用测试方法、装置、设备及存储介质 - Google Patents

用于移动端的应用测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113326192B
CN113326192B CN202110597105.XA CN202110597105A CN113326192B CN 113326192 B CN113326192 B CN 113326192B CN 202110597105 A CN202110597105 A CN 202110597105A CN 113326192 B CN113326192 B CN 113326192B
Authority
CN
China
Prior art keywords
mobile terminal
adb
task
adbd
test
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
Application number
CN202110597105.XA
Other languages
English (en)
Other versions
CN113326192A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110597105.XA priority Critical patent/CN113326192B/zh
Publication of CN113326192A publication Critical patent/CN113326192A/zh
Application granted granted Critical
Publication of CN113326192B publication Critical patent/CN113326192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/3696Methods or tools to render software testable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/24Arrangements for 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)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

本公开公开了一种用于移动端的应用测试方法,涉及计算机技术领域,尤其涉及软件测试领域,可用于UI测试和AI测试场景。具体实现方案为:获取需要在移动端执行的应用测试任务,其中,移动端上部署有安卓调试桥ADB和ADB守护进程ADBD;基于应用测试任务的类型,调用对应的测试逻辑;以及通过执行测试逻辑来完成应用测试任务,并在测试过程中由ADB和/或ADBD执行相应的ADB命令。

Description

用于移动端的应用测试方法、装置、设备及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及软件测试领域,可用于UI测试场景。具体涉及一种用于移动端的应用测试方法、装置、设备及存储介质。
背景技术
随着移动互联网技术的高速发展,App种类越来越多,功能也越来越复杂,更新换代也越来越快。为了提高App测试效率,市面上纷纷涌现出了Appium、Uiautomator、Uiautomator2、Airtest等一系列UI测试框架。这些测试框架通常都需要依赖ADB(AndroidDebug Bridge,简称安卓调试桥)命令。
发明内容
本公开提供了一种用于移动端的应用测试方法、装置、设备、存储介质以及计算机程序产品。
根据本公开的一方面,提供了一种用于移动端的应用测试方法,包括:获取需要在所述移动端执行的应用测试任务,其中,所述移动端上部署有安卓调试桥ADB和ADB守护进程ADBD;基于所述应用测试任务的类型,调用对应的测试逻辑;以及通过执行所述测试逻辑来完成所述应用测试任务,并在测试过程中由所述ADB和/或所述ADBD执行相应的ADB命令。
根据本公开的另一方面,提供了一种用于移动端的应用测试装置,包括:获取模块,用于获取需要在所述移动端执行的应用测试任务,其中,所述移动端上部署有安卓调试桥ADB和ADB守护进程ADBD;调用模块,用于基于所述应用测试任务的类型,调用对应的测试逻辑;以及测试模块,用于通过执行所述测试逻辑来完成所述应用测试任务,并在测试过程中由所述ADB和/或所述ADBD执行相应的ADB命令。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示例性示出了适于本公开实施例的***架构;
图2示例性示出了根据本公开实施例的用于移动端的应用测试方法的流程图;
图3示例性示出了根据本公开实施例的ADB与ADBD之间的连接逻辑图;
图4示例性示出了根据本公开实施例的任务执行示意图;
图5示例性示出了根据本公开实施例的任务执行流程图;
图6示例性示出了根据本公开实施例的用于移动端的应用测试装置的框图;
图7示例性示出了用来实现本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
应该理解,市面上很多UI测试框架都需要依赖ADB命令。比如,Appium、Uiautomator2需要使用命令“adb shell am instrument”启动测试任务中的case。而ADB命令需要通过ADB(Android SDK里的一个工具,用这个工具可以直接操作管理Android模拟器或真实的Android设备)来操作管理移动端。如果直接在移动端应用中执行ADB命令,则移动端操作***可能会拦截ADB命令,导致ADB命令实际上无法在移动端执行。
因此,相关技术中在应用这些测试框架进行UI测试时,都会在PC端部署ADB-client和ADB-server,同时在移动端部署ADBD(ADB Daemon,简称ADB守护进程),由此导致使用移动端进行开发或者测试必须将移动端通过USB与PC端联机才可以实现。
然而,App的迭代速度很快,不可能使用一个移动端(如一部手机)来完成一次迭代所需求的所有case回归,通常需要建立移动终端集群(如手机集群),将大量移动终端集中放置在机房(数据中心),以分布式运行方式执行所有case,以使case的执行速度得以成倍提升。
在实现本公开实施例的过程中,发明人发现,随着移动终端集群的建立,出现了一系列问题。
比如,单个PC能连接的手机数量是一定的,且通过USB挂载手机会影响USB的带宽,且PC与手机之间可能会中断连接。
再比如,随着集群内手机数量的不断增加,还必须增加PC、USB连接线、USB-HUB连接线等一系列组件,导致成本越来越高。
再比如,如果手机与PC分处异地,那么为了配合移动终端集群,还需要为PC采购和配置各种软件,才能使集群中的移动终端正常运行。
再比如,如果要进行手工测试和自动化测试切换,测试人员需要不停地往返于机房和工位,从而浪费有限的办公时间。
再比如,公司采购的手机往往会分发至各个部门以备测试使用,这种情况下,如果某个或者某些部门暂时没有测试任务,那么分发至这个或这些部门的手机将处于闲置状态,导致资源浪费。
基于此,本公开提出了一种移动端可以脱机使用的应用测试方法,即,使移动端脱离PC以及USB连接线的束缚,能够独立运行自动化应用测试任务,减少设备、机房空间的投入,提高闲置设备的利用率。
以下将结合具体实施例详细阐述本公开。
适于本公开实施例的用于移动端的应用测试方法和装置的***架构介绍如下。
图1示例性示出了适于本公开实施例的***架构。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他环境或场景。
如图1所示,***架构100可以包括:移动终端集群101(如包括移动端1~移动端N),云服务器102和客户端103。其中,云服务器102包括任务管理服务1021、设备管理服务1022和数据库1023。
在本公开实施例中,移动端1~移动端N中的每个都同时部署有ADB和ADBD,因而它们可以脱机执行自动化应用测试任务。
此外,在本公开实施例中,移动端1~移动端N中的任一移动端都可以基于任务管理服务1021和设备管理服务1022以及自身安装的任务执行器来脱机完成自动化应用测试任务。
在一些实施例中,用户可以通过客户端103(前端,如web平台)输入任务信息(如包括任务所属的产品线、代码分支、版本、case等条件)并触发任务。任务被触发后,用户输入的任务信息可以进入云端的任务管理服务1021,并通过该服务进行拼装,从而转换成自动化执行应用测试任务时真正需要的任务数据并写入到数据库1023中。集群中的每个移动端都可以通过自身安装的任务执行器轮询任务管理服务1021,以查询当前是否有需要自己执行的任务。如果查到当前有需要自己执行的任务,则根据任务所属的产品线等任务信息确定任务的类型,进而根据任务的类型获取到任务的具体执行逻辑,然后在移动端直接运行用于实现这个具体执行逻辑的可执行文件,从而完成移动端脱机独立执行自动化应用测试任务的相关操作。
应该理解,图1中的移动终端集群、云服务器和客户端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的移动终端集群、云服务器和客户端。
适于本公开实施例的用于移动端的应用测试方法和装置的应用场景介绍如下。
需要说明的是,本公开实施例提供的脱机测试方案可以应用于任何类型的依赖于ADB命令的移动端应用测试场景,在此不再一一赘述。
根据本公开的实施例,本公开提供了一种用于移动端的应用测试方法。
图2示例性示出了根据本公开实施例的用于移动端的应用测试方法的流程图。
如图2所示,用于移动端的应用测试方法200可以包括:操作S210~S230。
在操作S210,获取需要在移动端执行的应用测试任务,其中,移动端上部署有安卓调试桥ADB和ADB守护进程ADBD。
在操作S220,基于应用测试任务的类型,调用对应的测试逻辑。
在操作S230,通过执行测试逻辑来完成应用测试任务,并在测试过程中由ADB和/或ADBD执行相应的ADB命令。
在本公开实施例中,可以预先创建移动终端集群,移动终端集群中的每个移动端都可以用于执行自动化测试任务。并且,移动终端集群中的每个移动端上都预先部署了ADB和ADBD。
需要说明的是,相关技术中提供的部署在PC端的ADB(包括ADB-client和ADB-server)是无法直接部署在移动端的,因而部署在移动端的ADB需要根据其与ADBD之间的通信协议重新编程实现。
在一个实施例中,可以在客户端(PC端)执行adb tcpip 5555命令,启动集群中每个移动端上的ADB,ADB启动后可以启动设备上的ADBD。需要说明的是,在本公开实施例中,客户端可以与集群中移动端短暂进行USB连接,从而将adb tcpip 5555命令发送至移动端,待移动端启动ADB和ADBD后,可以断开两者之间的USB连接。
因而,在本公开实施例中,可以认为移动端在依赖ADB命令执行自动化任务时不再受PC端以及USB连接线的束缚,即,可以脱机执行自动化任务。
因而,在本公开实施例中,即使移动终端集群不断扩大,也不需要为此增加PC、USB连接线以及USB-HUB连接线等一系列组件,从而可以节约生产成本。并且,在本公开实施例中,由于集群中的移动端仅仅需要短暂地连接PC端,因而这种短暂连接对PC端USB带宽的影响也是短暂的,几乎可以忽略不计。并且,在本公开实施例中,由于执行自动化任务时,移动端不需要与PC端联机,因而也不必担心移动端与PC端断开连接而影响任务的执行进度。并且,在本公开实施例中,由于移动端可以脱机执行自动化任务,因而集群中的移动端不需要固定放在机房中,因而进行手工测试和自动化测试切换时,测试人员也无需不停地往返于机房和工位之间,从而可以节约有限的办公时间。
在本公开实施例中,集群中的每个移动端在启动ADB和ADBD后,还可以启动后台服务,执行上述的操作S210~S230。即,集群中的每个移动端都可以获取自己需要执行的应用测试任务,并基于获取的应用测试任务的类型和所使用的测试框架,调用对应的测试逻辑,进而通过执行测试逻辑来完成自己的应用测试任务。在此测试过程中,部署在移动端的ADB和/或ADBD执行相应的ADB命令。比如,ADB能够执行的ADB命令则由ADB执行,ADB不能执行的ADB命令则可以发送给ADBD执行。
通过本公开实施例,可以节约生产成本,且移动端与PC端短暂连接对PC端USB带宽的影响也是短暂的,且移动端不需要与PC端联机,因而也不必担心移动端与PC端断开连接而影响任务的执行进度,且移动端可以脱机执行自动化任务,因而集群中的移动端不需要固定放在机房中,因而进行手工测试和自动化测试切换时,测试人员也无需不停地往返于机房和工位之间,从而可以节约有限的办公时间。
作为一种可选的实施例,该方法还可以包括:在ADB和ADBD之间建立通信连接,其中,ADB与ADBD之间通过socket通信。
在本公开实施例中,启动移动端上的ADB后,可以在ADB与ADBD之间建立通信连接。如图3所示,建立通信连接后,ADB与ADBD可以通过socket进行通信。
示例性的,在启动后台服务后,首先可以建立ADB与ADBD之间的通信连接,以方面后续执行自动化任务时使用ADB与ADBD的相关功能。
应该理解,在本公开实施例中,ADB命令的执行原理为:用户通过ADB输入ADB命令后,ADB先判断自己能否执行用户当前输入的ADB命令,如果ADB自己能执行当前的ADB命令,则由ADB执行,如果ADB自己不能执行当前的ADB命令,则ADB可以通过socket将当前的ADB命令发送至ADBD,由ADBD执行该ADB命令。
此外,在本公开实施例中,可以将ADB作为一个整体部署在移动端,而不必像PC端那样需要将ADB分成ADB-client和ADB-server两部分进行部署。因而,在移动端ADB可以通过socket将相应的ADB命令直接发送给ADBD,而无需通过ADB-server进行命令转发。
通过本公开实施例,将ADB与ADBD同时部署在集群中的每个移动端,并且在ADB与ADBD之间通过socket通信,可以保证移动端能够脱机独立执行自动化任务,而不必依赖于PC和USB连接线的束缚。
作为一种可选的实施例,该方法还可以包括:周期性向设备管理服务发送ping命令,以确定移动端处于可用状态。
示例性的,集群中的移动端可以通过后台服务,每隔指定时间(如5min)向云端的设备管理服务发送一次ping命令。如果设备管理服务能够按照预先设置的时钟周期性的接收到来自某移动端的ping命令,则确定该移动端当前处于可用状态。如果设备管理服务按照预先设置的时钟无法周期性的正常接收到来自某移动端的ping命令,则确定该移动端当前处于不可用状态。
通过本公开实施例,采用移动端周期性ping设备管理服务的方式,可以确保集群中每个移动端的后台服务可以作为长驻服务使用,进而确保每个移动端都处于可用状态。
并且,集群中的移动端还可以向设备管理服务上报自身的状态,比如是工作状态还是空闲状态。由此,任务管理服务可以根据各移动端当前的状态分配任务,因而可以避免集群中某个或者某些移动端由于长期闲置而导致资源浪费。
作为一种可选的实施例,该方法还可以包括:响应于PC端执行特定的ADB命令,启动部署在移动端的ADB。
示例性的,可以在PC端与集群中的移动端之间短暂连接USB连接线,然后在PC端执行adb tcpip 5555命令,以启动集群中的移动端上的ADB。
应该理解,在本公开实施例中,PC端与集群中的移动端之间通过USB连接线短暂连接是指,在启动ADB前,将对应的移动端与PC端通过USB连接线连接,而在启动ADB后,马上断开该移动端与PC端之间的USB连接。
因而,在本公开实施例中,可以认为移动端在依赖ADB命令执行自动化任务时不再受PC端以及USB连接线的束缚,即,可以脱机执行自动化任务。
作为一种可选的实施例,该方法还可以包括:轮询任务管理服务,以确定是否存在需要在移动端执行的应用测试任务。
在此基础上,响应于确定存在需要在移动端执行的应用测试任务,执行获取需要在移动端执行的应用测试任务的操作。
作为一种可选的实施例,该方法还可以包括:在完成应用测试任务后,向任务管理服务返回任务执行结果。
在本公开实施例中,如图4所示,用户可以创建任务并在前端输入任务信息,同时通过多种方式触发云端任务管理服务的指定接口,以启动自动化任务流程。在自动化任务流程启动后,任务管理服务可以根据用户输入的任务信息(如所属部门、所属产品线和品牌等信息)将case与集群中的移动端进行绑定并存档。
同时,如图4所示,集群中的移动端可以下载并安装用于执行自动化任务的App,以及与PC短暂进行USB连接,以便在PC上执行“adb tcpip 5555命令”来启动移动端上部署的ADB。此外,还可以配置移动端所属的部门和产品线等属性信息,以便任务管理服务根据设备的属性信息为其分配对应的任务,即,使设备与对应的任务绑定。
如图4所示,移动端启动后台服务后,可以轮询云端的任务管理服务,以查询是否有需要自己执行的自动化任务。如果有需要自己执行的自动化任务,则获取该任务并根据任务的类型和所使用的测试框架调用对应的测试逻辑,然后执行该测试逻辑来完成当前获取的任务。在此过程中,可以通过移动端上部署的ADB和ADBD执行相应的ADB命令。
应该理解,在本公开实施例中,后台服务可以从任务管理服务的指定接口获取自己需要执行的任务,并根据任务的类型、使用的测试框架等信息调用对应的测试逻辑,然后执行该测试逻辑并将最终的执行结果返回给任务管理服务。
如图4所示,移动端启动后台服务后,还可以定时向云端的设备管理服务发送ping命令,以确保移动端处于可用状态。
如图5所示,自动化任务执行流程可以如下:
操作S510,启动后台服务。
操作S520,进行初始化处理,如在ADB与ADBD之间建立socket通信连接。
操作S530,确定任务接收器是否接收到任务。如果接收到任务,则执行操作S540;否则,则执行操作S580。
操作S540,根据接收到的任务的类型,调用对应的测试逻辑。
操作S550,执行测试逻辑,得到对应的执行结果。
操作S560,将执行结果返回至任务管理服务。
操作S570,本次任务执行完毕。
操作S580,轮询任务管理服务。
操作S590,定时向设备管理服务发送ping命令,以保活后台服务,即保活设备。
此外,通过本公开实施例,不需要在移动端安装python环境,也不需要在移动端手动安装atx-agent。并且在本公开实施例,可以扩展任务的类型。并且在本公开实施例,接入任务时不需要根据使用的框架对case进行转换。
根据本公开的实施例,本公开还提供了一种用于移动端的应用测试装置。
图6示例性示出了根据本公开实施例的用于移动端的应用测试装置的框图。
如图6所示,用于移动端的应用测试装置600可以包括:获取模块610、调用模块620和测试模块630。
获取模块610,用于获取需要在该移动端执行的应用测试任务,其中,该移动端上部署有安卓调试桥ADB和ADB守护进程ADBD。
调用模块620,用于基于该应用测试任务的类型,调用对应的测试逻辑。
测试模块630,用于通过执行该测试逻辑来完成该应用测试任务,并在测试过程中由该ADB和/或该ADBD执行相应的ADB命令。
作为一种可选的实施例,该装置还包括:连接模块,用于在该ADB和该ADBD之间建立通信连接,其中,该ADB与该ADBD之间通过socket通信。
作为一种可选的实施例,该装置还包括:Ping模块,用于周期性向设备管理服务发送ping命令,以确定该移动端处于可用状态。
作为一种可选的实施例,该装置还包括:启动模块,用于响应于PC端执行特定的ADB命令,启动部署在该移动端的该ADB。
作为一种可选的实施例,该装置还包括:轮询模块,用于轮询任务管理服务,以确定是否存在需要在该移动端执行的应用测试任务;其中,该获取模块响应于确定存在需要在该移动端执行的应用测试任务,执行该获取需要在该移动端执行的应用测试任务的操作。
作为一种可选的实施例,该装置还包括:反馈模块,用于在完成该应用测试任务后,向该任务管理服务返回任务执行结果。
应该理解,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,所解决的问题和所实现的功能也对应相同或类似,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储电子设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
电子设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如用于移动端的应用测试方法。例如,在一些实施例中,用于移动端的应用测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的用于移动端的应用测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行用于移动端的应用测试方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual Private Server″,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
本公开的技术方案中,所涉及的用户信息的记录,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (14)

1.一种用于移动端的应用测试方法,包括:
获取需要在所述移动端执行的应用测试任务,其中,所述移动端上部署有安卓调试桥ADB和ADB守护进程ADBD;
基于所述应用测试任务的类型,调用对应的测试逻辑;以及
通过执行所述测试逻辑来完成所述应用测试任务,并在测试过程中由所述ADB和/或所述ADBD执行相应的ADB命令。
2.根据权利要求1所述的方法,还包括:
在所述ADB和所述ADBD之间建立通信连接,
其中,所述ADB与所述ADBD之间通过socket通信。
3.根据权利要求1所述的方法,还包括:
周期性向设备管理服务发送ping命令,以确定所述移动端处于可用状态。
4.根据权利要求1所述的方法,还包括:
响应于PC端执行特定的ADB命令,启动部署在所述移动端的所述ADB。
5.根据权利要求1所述的方法,还包括:
轮询任务管理服务,以确定是否存在需要在所述移动端执行的应用测试任务;
其中,响应于确定存在需要在所述移动端执行的应用测试任务,执行所述获取需要在所述移动端执行的应用测试任务的操作。
6.根据权利要求5所述的方法,还包括:
在完成所述应用测试任务后,向所述任务管理服务返回任务执行结果。
7.一种用于移动端的应用测试装置,包括:
获取模块,用于获取需要在所述移动端执行的应用测试任务,其中,所述移动端上部署有安卓调试桥ADB和ADB守护进程ADBD;
调用模块,用于基于所述应用测试任务的类型,调用对应的测试逻辑;以及
测试模块,用于通过执行所述测试逻辑来完成所述应用测试任务,并在测试过程中由所述ADB和/或所述ADBD执行相应的ADB命令。
8.根据权利要求7所述的装置,还包括:
连接模块,用于在所述ADB和所述ADBD之间建立通信连接,
其中,所述ADB与所述ADBD之间通过socket通信。
9.根据权利要求7所述的装置,还包括:
Ping模块,用于周期性向设备管理服务发送ping命令,以确定所述移动端处于可用状态。
10.根据权利要求7所述的装置,还包括:
启动模块,用于响应于PC端执行特定的ADB命令,启动部署在所述移动端的所述ADB。
11.根据权利要求7所述的装置,还包括:
轮询模块,用于轮询任务管理服务,以确定是否存在需要在所述移动端执行的应用测试任务;
其中,所述获取模块响应于确定存在需要在所述移动端执行的应用测试任务,执行所述获取需要在所述移动端执行的应用测试任务的操作。
12.根据权利要求11所述的装置,还包括:
反馈模块,用于在完成所述应用测试任务后,向所述任务管理服务返回任务执行结果。
13. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
CN202110597105.XA 2021-05-28 2021-05-28 用于移动端的应用测试方法、装置、设备及存储介质 Active CN113326192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110597105.XA CN113326192B (zh) 2021-05-28 2021-05-28 用于移动端的应用测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110597105.XA CN113326192B (zh) 2021-05-28 2021-05-28 用于移动端的应用测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113326192A CN113326192A (zh) 2021-08-31
CN113326192B true CN113326192B (zh) 2023-07-25

Family

ID=77422635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110597105.XA Active CN113326192B (zh) 2021-05-28 2021-05-28 用于移动端的应用测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113326192B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064508B (zh) * 2021-11-29 2023-06-27 四川虹美智能科技有限公司 基于群控技术的移动终端软件测试方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868109A (zh) * 2016-03-28 2016-08-17 北京奇虎科技有限公司 一种改进的移动端应用测试方法和***
CN107483696A (zh) * 2017-07-12 2017-12-15 武汉卡比特信息有限公司 一种手机与计算机类设备的通信方法及***
KR20210022990A (ko) * 2019-08-21 2021-03-04 주식회사 이노와이어리스 이동통신 단말의 통신 정보 수집 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664388B2 (en) * 2017-06-14 2020-05-26 T-Mobile Usa, Inc. Continuous integration testing for network-based applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868109A (zh) * 2016-03-28 2016-08-17 北京奇虎科技有限公司 一种改进的移动端应用测试方法和***
CN107483696A (zh) * 2017-07-12 2017-12-15 武汉卡比特信息有限公司 一种手机与计算机类设备的通信方法及***
KR20210022990A (ko) * 2019-08-21 2021-03-04 주식회사 이노와이어리스 이동통신 단말의 통신 정보 수집 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
协同软件测试管理平台的研究;蔡建平;许文瑛;;计算机工程与设计(12);154-158 *
基于云的Android应用自动化测试框架研究;陈学亮;武娟;庞涛;刘晓军;;电信技术(06);31-33+37 *

Also Published As

Publication number Publication date
CN113326192A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN112925651B (zh) 应用资源部署方法、装置、电子设备和介质
CN112925652B (zh) 应用资源部署方法、装置、电子设备和介质
CN113742031A (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
CN114025037B (zh) 一种云手机的检修方法、装置、电子设备和存储介质
CN114389969B (zh) 客户端的测试方法、装置、电子设备和存储介质
CN113326192B (zh) 用于移动端的应用测试方法、装置、设备及存储介质
CN113067769B (zh) 路由器重启方法、装置、设备及存储介质
CN115658218B (zh) 边缘设备接入云端的方法、装置、设备以及存储介质
CN113726881B (zh) 通信连接建立方法、相关装置及计算机可读存储介质
CN113950034B (zh) 蓝牙行为的模拟方法、装置和设备
CN113747423B (zh) 云手机状态同步方法、装置、设备、存储介质及程序产品
CN113535020B (zh) 用于生成应用图标的方法、装置、设备、介质和产品
CN115599438A (zh) 应用程序的发布包的构建方法、装置、设备及介质
CN115268951A (zh) 一种操作***的安装方法、装置、设备及存储介质
CN112153754A (zh) 点对点连接方法、装置、电子设备及存储介质
CN113660339B (zh) 用于去中心化集群的方法和装置
CN114422638B (zh) 云手机控制方法、装置、设备、介质及程序产品
CN113596129B (zh) 一种云手机的重启方法、装置、设备和存储介质
CN114780470B (zh) 云手机管理***、方法、装置、电子设备和可读存储介质
CN113741937B (zh) 用于云终端的应用更新方法、装置及计算机程序产品
CN114401300B (zh) 云应用控制方法、装置、设备、介质及程序产品
CN117061587A (zh) 设备通信方法、装置、电子设备及存储介质
CN116501554A (zh) 车辆测试方法、装置、电子设备及可读存储介质
CN113901066A (zh) 一种更新实例操作后状态的方法
CN115658341A (zh) 一种Freeswitch读写数据的方法、装置、设备及介质

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