CN111913886A - 手机app自动化测试方法、装置、设备及存储介质 - Google Patents

手机app自动化测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111913886A
CN111913886A CN202010791172.0A CN202010791172A CN111913886A CN 111913886 A CN111913886 A CN 111913886A CN 202010791172 A CN202010791172 A CN 202010791172A CN 111913886 A CN111913886 A CN 111913886A
Authority
CN
China
Prior art keywords
test
mobile phone
tested
app
instruction
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
Application number
CN202010791172.0A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202010791172.0A priority Critical patent/CN111913886A/zh
Publication of CN111913886A publication Critical patent/CN111913886A/zh
Pending legal-status Critical Current

Links

Images

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/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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/3692Test management for test results analysis

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)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

本申请揭示了一种手机APP自动化测试方法、装置、设备及可读存储介质,其中方法包括:所述测试PC端建立与待测手机的连接;接收所述控制Web端生成的测试指令;根据所述测试指令在所述云端服务器下载对应的测试脚本;执行所述测试脚本对所述待测手机的APP进行测试,生成测试日志;当测试完成时,将所述测试日志上传到所述云端服务器。本申请的手机APP自动化测试方法在待测手机和测试PC端建立连接后,接收测试用户在控制Web端发送的测试指令,在云端服务器下载测试脚本,以实现多手机多脚本的并行测试,可以实现无人值守,并将测试日志保存在云端服务器中,自动为测试用户提供BI报表展示,方便进行产品分析。

Description

手机APP自动化测试方法、装置、设备及存储介质
技术领域
本申请涉及到人工智能领域,特别是涉及到一种手机APP自动化测试方法、装置、设备及存储介质。
背景技术
当前主流手机***分为Android和iOS,我们日常使用的APP也因为两种手机***的不同而导致内部实现的完全不同,所以当我们在对产品APP进行测试的时候经常需要大量的测试,包括功能性测试,压力测试,性能测试,协议测试等。
现有的方法大都是停留在手工测试,分类测试,而且对于不同的手机***需要单独进行不同的测试,所消耗的人力成本巨大,而且测试容易出现误差,测试出现问题时无法及时保存上报数据,本地化数据不容易导出,且容易丢失,测试过程中会因为测试人员素质的高低不一导致测试结果的不一致,测试容易中断,测试异常后无法继续,无法实现无人值守,测试完成后需要人工生成测试报告,没有形象的BI报表展现,仍然处于本地化测试的低效重复不稳定的场景中。
发明内容
本申请的主要目的为提供一种手机APP自动化测试方法、装置、计算机设备及可读存储介质,旨在解决目前手机APP测试无法实现无人值守、测试成本高、测试效率低下的问题。
为了实现上述发明目的,本申请提出一种手机APP自动化测试方法,包括:
所述测试PC端通过agent程序与待测手机建立连接;
接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验;
若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本;
根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志;
当测试完成时,将所述测试日志上传到所述云端服务器。
进一步地,所述测试PC端通过agent程序与待测手机建立连接的步骤,包括:
判断所述待测手机的操作***;
若所述待测手机为Android***,则通过adb uiautomator进行连接;
若所述待测手机为iOS***,则通过appium进行连接。
进一步地,所述接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验的步骤包括:
获取所述测试指令的发起者的第一身份信息;
将所述第一身份信息上传到所述云端服务器进行权限验证;
若验证未通过,则提示所述测试指令无效,并将指令无效的结果发送给所述控制Web端。
进一步地,所述若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本的步骤包括:
获取所述测试指令中的待测APP名称和对应的测试脚本名称;
根据所述待测APP名称确定所述测试脚本的类别,其中,不同类别的测试脚本存在所述云端服务器的不同分类数据库中;
在所述待测APP名称的对应分类数据库中,依据所述测试脚本名称查找所述测试脚本并下载。
进一步地,所述根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志的步骤之后还包括:
接收所述控制Web端发送的中止或终止测试的操作指令;
获取所述中止或终止测试的操作指令的发起者的第二身份信息;
若所述第二身份信息和所述第一身份信息一致,则中止或终止测试。
进一步地,所述云端服务器上的测试脚本针对不同的权限测试人员设置有不同的操作权限级别,所述操作权限级别包括对测试脚本的上传权限、修改权限和执行权限。
进一步地,所述当测试完成时,将所述测试日志上传到所述云端服务器的步骤之后还包括:
通过云端服务器分析测试日志生成BI报表,并下发给控制web端。
本申请实施例还提供一种手机APP自动化测试装置,其特征在于,包括:
连接模块,用于所述测试PC端通过agent程序与待测手机建立连接;
接收模块,用于接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验;
下载模块,用于若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本;
执行模块,用于根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志;
上传模块,用于当测试完成时,将所述测试日志上传到所述云端服务器。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的手机APP自动化测试方法、装置、设备及存储介质,在待测手机和测试PC端建立连接后,接收测试用户在控制Web端发送的测试指令,在云端服务器下载测试脚本,以实现多手机多脚本的并行测试,可以实现无人值守,并将测试日志保存在云端服务器中,自动为测试用户提供BI报表展示,方便进行产品分析。
附图说明
图1为本申请一实施例的手机APP自动化测试方法的流程示意图;
图2为本申请一实施例的手机APP自动化测试装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中提供一种手机APP自动化测试方法,应用于手机APP自动化测试***,所述***包括测试PC端、云端服务器和控制Web端,所述方法包括步骤:
S1、所述测试PC端通过agent程序与待测手机建立连接;
S2、接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验;
S3、若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本;
S4、根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志;
S5、当测试完成时,将所述测试日志上传到所述云端服务器。
如上述步骤S1所述,在对手机APP进行测试之前,首先要使待测手机与测试PC端进行连接,连接方式为有线连接如利用数据线进行连接或无线连接如利用无线通信的方式进行连接,为了保证连接的可靠性及稳定性,优选为数据线连接。所述测试PC端上安装有测试angent程序,测试agent程序的安装包可以在所述云服务器上下载,测试angent程序启动后,可以通过hub连接多个手机通过安卓的adb或者ios的appium来连接手机,实现多手机多脚本的并行测试。
如上述步骤S2所述,在待测手机和所述测试PC端连接后,测试用户在所述控制Web端创建一个测试指令,发送给所述测试PC端,由所述测试PC端按照测试指令对手机APP进行测试,其中所述测试指令包括此次测试需要的测试脚本名称、被测试的APP名称等,所述控制Web端可以是PC、手机、平板电脑等任意可以实现控制功能的设备。在一个具体的实施例中,测试用户在创建测试指令时,控制Web端对测试用户的身份进行识别处理,保障测试过程的权限安全。
如步骤S3所述,当测试PC端接收到所述测试指令时,向云端服务器请求下载所述测试指令中的测试脚本。在本方案中,云端服务器中储存有各种测试脚本,为了方便脚本索引,可以对测试脚本进行分类,如按照危险级别、测试动作级别、APP归属、标注Tag等方式进行分类。测试脚本由测试用户录制并上传,测试用户还可以设定自己上传的脚本的共享状态,如允许其他测试用户使用或仅允许自己使用等。还可以设置测试用户的权限,高权限的测试用户允许上传并支持远程修改测试脚本,普通权限的测试用户仅允许查看和使用测试脚本。还可以对测试用户进行分组,脚本共享时仅对组内成员进行共享,保证测试脚本的安全和私密性。
如步骤S4所述,下载测试脚本后,测试PC端可以执行测试脚本,对手机APP进行测试。具体地,由agent主进程控制生产多个子agent进程,每一个子agent进程进行测试脚本的执行,通过测试脚本里的变量等控制测试的进程,如启动app,填写app此次测试所需的用户名密码等,最终实现多手机多脚本的并行测试。Agent通过安卓的adb uiautomator等开源工具,或者ios的appium等进行测试,可以进行自动模拟点击的仿人工功能性测试,也可以进行数据量大而快的消息延迟、网络协议、性能测试。测试过程中出现测试问题,可以自动操作手机进行手机截图,生成测试日志。
如步骤S5所述,在生成测试日志之后,可以通过agent上传到云端。比如我们现在测试一个即时通信的app,我们需要两部手机来完成,启动一个agent后通过pc端的abd驱动等连接对应节点下的两部手机,配置好对应的测试脚本(发送次数,频率,失败判定等),测试发起后互相发送消息,消息可以是在发送方发送时的时间戳,接收方等待接收消息,当等待间隔超过设定阈值时仍未接收到消息,判定此次消息接收失败,后台打印当前时间节点,截图上传web云端进行测试保存继续接发消息直至测试结束。或者接收到了消息,记录消息接收时的时间戳,记录此次消息收发记录的信息(消息体大小,类型,接收时长等),上传保存,给后面测试整合分析提供详细的数据。
在一个实施例中,所述测试PC端通过agent程序与待测手机建立连接的步骤,包括:
S11、判断所述待测手机的操作***;
S12、若所述待测手机为Android***,则通过adb uiautomator进行连接;
S13、若所述待测手机为iOS***,则通过appium进行连接。
如上所述,本方案可以同时支持安卓***和ios***手机的APP测试,并可以实现多手机、多脚本的并行测试。具体地,当待测手机与所述测试PC端连接后,测试PC会自动检测并识别测试手机的操作***,若测试手机***为安卓***,可以通过adb uiautomator进行连接,如果测试手机***是苹果***,可以通过appium连接所述测试PC端。
在一个实施例中,所述接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验的步骤包括:
S21、获取所述测试指令的发起者的第一身份信息;
S22、将所述第一身份信息上传到所述云端服务器进行权限验证;
S23、若验证未通过,则提示所述测试指令无效,并将指令无效的结果发送给所述控制Web端。
如上所述,当控制PC端接收到控制Web端的测试用户发起的测试指令时,控制PC端可以对测试用户的身份进行识别,例如可以要求测试用户输入用户名和密码,获取测试用户的第一身份信息,并将所述第一身份信息上传到云端服务器的身份信息数据库中进行权限验证,验证通过后则执行后续步骤,若验证未通过,则提示所述测试指令无效,发送给所述控制Web端。上述步骤可以实现对测试指令的发起者的权限验证,保证测试进程安全的进行。
在一个实施例中,所述若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本的步骤包括:
S31、获取所述测试指令中的待测APP名称和对应的测试脚本名称;
S32、根据所述待测APP名称确定所述测试脚本的类别,其中,不同类别的测试脚本存在所述云端服务器的不同分类数据库中;
S33、在所述待测APP名称的对应分类数据库中,依据所述测试脚本名称查找所述测试脚本并下载。
如上所述,云端服务器上储存有脚本分类数据库,当测试用户在控制Web端上传测试脚本时,需要对测试脚本进行分类。具体的,可以按照危险级别、测试动作级别、APP归属、标注Tag等方式对测试脚本分类。测试PC端在进行脚本下载时,可以根据所述测试指令中的待测APP名称和对应的测试脚本名称在云端服务器的脚本分类数据库中的对应分类中查找所述测试脚本并下载,有助于提高下载速度,同时也方便测试人员对脚本进行管理。
在一个实施例中,所述根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志的步骤之后还包括:
S41、接收所述控制Web端发送的中止或终止测试的操作指令;
S42、获取所述中止或终止测试的操作指令的发起者的第二身份信息;
S43、若所述第二身份信息和所述第一身份信息一致,则中止或终止测试。
如上所述,上述步骤的目的是为了验证测试发起者和测试中止或终止者的身份是否一致,为了保证测试过程的安全,本方案中,仅在两者身份信息一致时才能中止或终止测试操作。这样可以使每个测试人员之间测试实例均相互独立,不同用户之间相互隔离,当前测试用户不能操作其他用户正在执行的测试实例,避免测试干扰异常中断等。
在一个实施例中,所述云端服务器上的测试脚本针对不同的权限测试人员设置有不同的操作权限级别,所述操作权限级别包括对测试脚本的上传权限、修改权限和执行权限。具体的,可以对测试人员进行划分,譬如对部门、职级进行分组,使其拥有不同APP的不同脚本读、写、执行权限,人员间测试空间独立,达到使其更加安全清晰,避免多测试人之间的业务混淆。每个组拥有组内的公开测试脚本,对组内人员公开,对组外人员保持私有。每个测试人员都可以自己编写自己私有的测试脚本,也可以使用别人共享的公开测试脚本,同时可以将属主为自己的脚本共享给其他指定的人员或者分组。高权限测试人员与普通测试人员的权限区分,高权限人员可以修改并上传测试脚本,普通权限的人员只有查看执行测试脚本的权限。每个测试人员之间测试实例均相互独立,不同用户之间相互隔离,当前测试用户不能操作其他用户正在执行的测试实例,避免测试干扰异常中断等。这样设置可以使经验丰富的测试用户拥有较高的权限,经验相对较少的测试用户拥有低权限或普通权限,可以保证测试脚本的质量,保证测试效果。更具体地,高权限的测试用户可以对云端服务器中的测试脚本进行远程修改,提高工作效率。
在一个实施例中,所述当测试完成时,将所述测试日志上传到所述云端服务器的步骤之后还包括:
通过云端服务器分析测试日志生成BI报表,并下发给控制web端。
如上所述,还可以对测试数据进行整合分析,通过BI(Business Intelligence)报表展示,形象生动的展示APP的各项测试数据,便于下一步的分析完善,同时可以形成日志追溯,多部门协同等。
本申请实施例的手机APP自动化测试方法,在待测手机和测试PC端建立连接后,接收测试用户在控制Web端发送的测试指令,在云端服务器下载测试脚本,以实现多手机多脚本的并行测试,可以实现无人值守,并将测试日志保存在云端服务器中,自动为测试用户提供BI报表展示,方便进行产品分析。
参照图2,本申请实施例中还提供一种手机APP自动化测试装置,包括:
连接模块1,用于所述测试PC端通过agent程序与待测手机建立连接;
接收模块2,用于接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验;
下载模块3,用于若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本;
执行模块4,用于根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志;
上传模块5,用于当测试完成时,将所述测试日志上传到所述云端服务器。
在一个实施例中,所述连接模块1包括:
判断模块,用于判断所述待测手机的操作***;
第一连接模块,用于若所述待测手机为Android***,则通过adb uiautomator进行连接;
第二连接模块,用于若所述待测手机为iOS***,则通过appium进行连接。
在一个实施例中,所述接收模块还包括:
第一身份信息获取模块,用于获取所述测试指令的发起者的第一身份信息;
权限验证模块,用于将所述第一身份信息上传到所述云端服务器进行权限验证;
提示模块,用于若验证未通过,则提示所述测试指令无效,并将指令无效的结果发送给所述控制Web端。
在一个实施例中,所述下载模块3包括:
获取模块,用于获取所述测试指令中的待测APP名称和对应的测试脚本名称;
确定模块,用于根据所述待测APP名称确定所述测试脚本的类别,其中,不同类别的测试脚本存在所述云端服务器的不同分类数据库中;
查找模块,用于在所述待测APP名称的对应分类数据库中,依据所述测试脚本名称查找所述测试脚本并下载。
在一个实施例中,所述手机APP自动化测试装置还包括:
中止或终止测试的操作指令接收模块,用于接收中止或终止测试的操作指令;
第二身份信息获取模块,用于获取所述中止或终止测试的操作指令的发起者的第二身份信息;
中止或终止测试模块,用于若所述第二身份信息和所述第一身份信息一致,则中止或终止测试。
在一个实施例中,所述手机APP自动化测试装置还包括:
报表生成模块,用于通过云端服务器分析测试日志生成BI报表,并下发给控制web端。
如上所述,可以理解地,本申请中提出的所述手机APP自动化测试装置的各组成部分可以实现如上所述手机APP自动化测试方法任一项的功能,具体结构不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于储存测试脚本和测试日志等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种手机APP自动化测试方法,包括步骤:
所述测试PC端通过agent程序与待测手机建立连接;
接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验;
若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本;
根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志;
当测试完成时,将所述测试日志上传到所述云端服务器。
在一个实施例中,所述测试PC端通过agent程序与待测手机建立连接的步骤,包括:
判断所述待测手机的操作***;
若所述待测手机为Android***,则通过adb uiautomator进行连接;
若所述待测手机为iOS***,则通过appium进行连接。
在一个实施例中,所述接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验的步骤包括:
获取所述测试指令的发起者的第一身份信息;
将所述第一身份信息上传到所述云端服务器进行权限验证;
若验证未通过,则提示所述测试指令无效,并将指令无效的结果发送给所述控制Web端。
在一个实施例中,所述若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本的步骤包括:
获取所述测试指令中的待测APP名称和对应的测试脚本名称;
根据所述待测APP名称确定所述测试脚本的类别,其中,不同类别的测试脚本存在所述云端服务器的不同分类数据库中;
在所述待测APP名称的对应分类数据库中,依据所述测试脚本名称查找所述测试脚本并下载。
在一个实施例中,所述根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志的步骤之后还包括:
接收所述控制Web端发送的中止或终止测试的操作指令;
获取所述中止或终止测试的操作指令的发起者的第二身份信息;
若所述第二身份信息和所述第一身份信息一致,则中止或终止测试。
在一个实施例中,所述云端服务器上的测试脚本针对不同的权限测试人员设置有不同的操作权限级别,所述操作权限级别包括对测试脚本的上传权限、修改权限和执行权限。
在一个实施例中,所述当测试完成时,将所述测试日志上传到所述云端服务器的步骤之后还包括:通过云端服务器分析测试日志生成BI报表,并下发给控制Web端。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种手机APP自动化测试方法,包括步骤:
所述测试PC端通过agent程序与待测手机建立连接;
接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验;
若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本;
根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志;
当测试完成时,将所述测试日志上传到所述云端服务器。
在一个实施例中,所述测试PC端通过agent程序与待测手机建立连接的步骤,包括:
判断所述待测手机的操作***;
若所述待测手机为Android***,则通过adb uiautomator进行连接;
若所述待测手机为iOS***,则通过appium进行连接。
在一个实施例中,所述接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验的步骤包括:
获取所述测试指令的发起者的第一身份信息;
将所述第一身份信息上传到所述云端服务器进行权限验证;
若验证未通过,则提示所述测试指令无效,并将指令无效的结果发送给所述控制Web端。
在一个实施例中,所述若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本的步骤包括:
获取所述测试指令中的待测APP名称和对应的测试脚本名称;
根据所述待测APP名称确定所述测试脚本的类别,其中,不同类别的测试脚本存在所述云端服务器的不同分类数据库中;
在所述待测APP名称的对应分类数据库中,依据所述测试脚本名称查找所述测试脚本并下载。
在一个实施例中,所述根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志的步骤之后还包括:
接收所述控制Web端发送的中止或终止测试的操作指令;
获取所述中止或终止测试的操作指令的发起者的第二身份信息;
若所述第二身份信息和所述第一身份信息一致,则中止或终止测试。
在一个实施例中,所述云端服务器上的测试脚本针对不同的权限测试人员设置有不同的操作权限级别,所述操作权限级别包括对测试脚本的上传权限、修改权限和执行权限。
在一个实施例中,所述当测试完成时,将所述测试日志上传到所述云端服务器的步骤之后还包括:通过云端服务器分析测试日志生成BI报表,并下发给控制Web端。
上述执行的手机APP自动化测试方法,在待测手机和测试PC端建立连接后,接收测试用户在控制Web端发送的测试指令,在云端服务器下载测试脚本,以实现多手机多脚本的并行测试,可以实现无人值守,并将测试日志保存在云端服务器中,自动为测试用户提供BI报表展示,方便进行产品分析。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种手机APP自动化测试方法,应用于手机APP自动化测试***,所述***包括测试PC端、云端服务器和控制Web端,其特征在于,所述方法包括:
所述测试PC端通过agent程序与待测手机建立连接;
接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验;
若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本;
根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志;
当测试完成时,将所述测试日志上传到所述云端服务器。
2.根据权利要求1所述的手机APP自动化测试方法,其特征在于,所述测试PC端通过agent程序与待测手机建立连接的步骤,包括:
判断所述待测手机的操作***;
若所述待测手机为Android***,则通过adb uiautomator进行连接;
若所述待测手机为iOS***,则通过appium进行连接。
3.根据权利要求1所述的手机APP自动化测试方法,其特征在于,所述接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验的步骤包括:
获取所述测试指令的发起者的第一身份信息;
将所述第一身份信息上传到所述云端服务器进行权限验证;
若验证未通过,则提示所述测试指令无效,并将指令无效的结果发送给所述控制Web端。
4.根据权利要求1所述的手机APP自动化测试方法,其特征在于,所述若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本的步骤包括:
获取所述测试指令中的待测APP名称和对应的测试脚本名称;
根据所述待测APP名称确定所述测试脚本的类别,其中,不同类别的测试脚本存在所述云端服务器的不同分类数据库中;
在所述待测APP名称的对应分类数据库中,依据所述测试脚本名称查找所述测试脚本并下载。
5.根据权利要求1所述的手机APP自动化测试方法,其特征在于,所述根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志的步骤之后还包括:
接收所述控制Web端发送的中止或终止测试的操作指令;
获取所述中止或终止测试的操作指令的发起者的第二身份信息;
若所述第二身份信息和所述第一身份信息一致,则中止或终止测试。
6.根据权利要求1所述的手机APP自动化测试方法,其特征在于,所述云端服务器上的测试脚本针对不同的权限测试人员设置有不同的操作权限级别,所述操作权限级别包括对测试脚本的上传权限、修改权限和执行权限。
7.根据权利要求1所述的手机APP自动化测试方法,其特征在于,所述当测试完成时,将所述测试日志上传到所述云端服务器的步骤之后还包括:
通过云端服务器分析测试日志生成BI报表,并下发给控制web端。
8.一种手机APP自动化测试装置,其特征在于,包括:
连接模块,用于所述测试PC端通过agent程序与待测手机建立连接;
接收模块,用于接收所述控制Web端生成的测试指令,agent主进程对所述测试指令进行校验;
下载模块,用于若通过校验,则根据所述测试指令在所述云端服务器下载对应的测试脚本;
执行模块,用于根据所述测试指令中待测试手机的数量生成对应数量的agent子进程,每个agent子进程控制每台待测手机按照所述测试指令中指定的测试脚本对APP进行测试并生成测试日志;
上传模块,用于当测试完成时,将所述测试日志上传到所述云端服务器。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010791172.0A 2020-08-07 2020-08-07 手机app自动化测试方法、装置、设备及存储介质 Pending CN111913886A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010791172.0A CN111913886A (zh) 2020-08-07 2020-08-07 手机app自动化测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010791172.0A CN111913886A (zh) 2020-08-07 2020-08-07 手机app自动化测试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111913886A true CN111913886A (zh) 2020-11-10

Family

ID=73284704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010791172.0A Pending CN111913886A (zh) 2020-08-07 2020-08-07 手机app自动化测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111913886A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328492A (zh) * 2020-11-19 2021-02-05 腾讯科技(深圳)有限公司 一种主播间的互动控制方法、装置和电子设备
CN112468564A (zh) * 2020-11-20 2021-03-09 浙江百应科技有限公司 一种基于Appium实现终端APP UI自动化多机并行方法
CN112486749A (zh) * 2020-12-02 2021-03-12 成都长虹网络科技有限责任公司 基于5g通信终端的测试方法、装置和可读存储介质
CN112583893A (zh) * 2020-11-19 2021-03-30 福建联迪商用设备有限公司 一种Android终端统一通道通信方法及终端
CN113051179A (zh) * 2021-04-27 2021-06-29 思享智汇(海南)科技有限责任公司 一种自动化测试方法、***及存储介质
CN113238901A (zh) * 2021-05-10 2021-08-10 展讯通信(上海)有限公司 多设备的自动化测试方法及装置、存储介质、计算机设备
CN113259448A (zh) * 2021-05-27 2021-08-13 四川长虹网络科技有限责任公司 日志数据传输和监控的方法与***
CN113434281A (zh) * 2021-07-19 2021-09-24 上海幻电信息科技有限公司 设备调度方法及云平台
CN113572833A (zh) * 2021-07-21 2021-10-29 北京百度网讯科技有限公司 一种云手机的维护方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008135A (zh) * 2019-12-02 2020-04-14 北京博睿宏远数据科技股份有限公司 App测试方法、装置、设备及存储介质
CN111258898A (zh) * 2020-01-15 2020-06-09 平安医疗健康管理股份有限公司 自动化测试方法、装置、计算机设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008135A (zh) * 2019-12-02 2020-04-14 北京博睿宏远数据科技股份有限公司 App测试方法、装置、设备及存储介质
CN111258898A (zh) * 2020-01-15 2020-06-09 平安医疗健康管理股份有限公司 自动化测试方法、装置、计算机设备和存储介质

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328492A (zh) * 2020-11-19 2021-02-05 腾讯科技(深圳)有限公司 一种主播间的互动控制方法、装置和电子设备
CN112583893B (zh) * 2020-11-19 2024-04-30 银捷尼科(福建)科技有限公司 一种Android终端统一通道通信方法及终端
CN112583893A (zh) * 2020-11-19 2021-03-30 福建联迪商用设备有限公司 一种Android终端统一通道通信方法及终端
CN112468564A (zh) * 2020-11-20 2021-03-09 浙江百应科技有限公司 一种基于Appium实现终端APP UI自动化多机并行方法
CN112486749B (zh) * 2020-12-02 2023-10-13 成都长虹网络科技有限责任公司 基于5g通信终端的测试方法、装置和可读存储介质
CN112486749A (zh) * 2020-12-02 2021-03-12 成都长虹网络科技有限责任公司 基于5g通信终端的测试方法、装置和可读存储介质
CN113051179A (zh) * 2021-04-27 2021-06-29 思享智汇(海南)科技有限责任公司 一种自动化测试方法、***及存储介质
CN113238901A (zh) * 2021-05-10 2021-08-10 展讯通信(上海)有限公司 多设备的自动化测试方法及装置、存储介质、计算机设备
CN113259448A (zh) * 2021-05-27 2021-08-13 四川长虹网络科技有限责任公司 日志数据传输和监控的方法与***
CN113434281A (zh) * 2021-07-19 2021-09-24 上海幻电信息科技有限公司 设备调度方法及云平台
CN113434281B (zh) * 2021-07-19 2024-05-28 上海幻电信息科技有限公司 设备调度方法及云平台
CN113572833A (zh) * 2021-07-21 2021-10-29 北京百度网讯科技有限公司 一种云手机的维护方法、装置、电子设备和存储介质
CN113572833B (zh) * 2021-07-21 2024-05-14 北京百度网讯科技有限公司 一种云手机的维护方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN111913886A (zh) 手机app自动化测试方法、装置、设备及存储介质
CN111459794B (zh) 通信网络测试方法、装置、计算机设备和存储介质
CN112596972B (zh) 车载设备的测试方法、装置、***、计算机设备
CN109446068B (zh) 接口测试方法、装置、计算机设备和存储介质
CN107688530B (zh) 软件测试方法及装置
CN110708210B (zh) 云测试配置方法、装置、计算机设备及存储介质
CN112988485B (zh) 电力物联网设备模拟测试方法及装置
CN107241229B (zh) 一种基于接口测试工具的业务监控方法及装置
CN109669859B (zh) 服务测试方法、装置、计算机设备和存储介质
US20190340101A1 (en) System, computer program product and method for enhanced production environment behavior mirroring e.g. while conducting pilot on proof-of-concept (poc) platforms
CN110659202A (zh) 客户端自动化测试方法及装置
CN108400978B (zh) 漏洞检测方法、装置、计算机设备和存储介质
CN112115005B (zh) 测试数据采集方法、装置、计算机设备和存储介质
CN113672441A (zh) 对智能设备的测试方法及装置
KR20150025106A (ko) 애플리케이션 검증결과 모니터링 서비스를 위한 검증장치, 단말장치, 시스템, 방법 및 컴퓨터로 판독 가능한 기록 매체
CN112787895A (zh) 一种网络巡检方法、装置和设备
CN111355740A (zh) 一种快速便捷检测防火墙配置的方法
CN108540344B (zh) 一种路由器升级测试方法及***
CN107995033B (zh) 一种onu配置文件升级方法及装置
CN111930625B (zh) 基于云服务平台的日志获取方法、装置及***
CN115129574A (zh) 一种代码测试方法和装置
CN111767218A (zh) 一种用于持续集成的自动化测试方法、设备及存储介质
CN111078525A (zh) 调节***运行时间的方法、装置、计算机设备及存储介质
CN116483416A (zh) 固件在线升级方法、服务器及存储介质
CN113194147B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201110

RJ01 Rejection of invention patent application after publication