一种App的启动方法和设备的制造方法_2

文档序号:9921866阅读:来源:国知局
PP,如支付宝APP、网易APP、百度APP等。
[0035]本发明实施例中,该App的启动方法主要用于App的自动化测试中。
[0036]本申请实施例中,在终端设备上安装App,将测试文件配置到App的测试工程中,并在终端设备上安装App的测试工程。基于此,终端设备上配置有App、App的测试工程,且测试工程中包含测试文件。其中,测试文件具体可以通过jar包的形式包含至App的测试工程中。
[0037]在上述应用场景下,如图1所示,该App的启动方法包括以下步骤:
[0038]步骤101,服务器获取服务器的环境数据,将服务器的环境数据添加到测试命令中,并向终端设备发送该测试命令,终端设备接收来自服务器的测试命令。其中,该测试命令中携带服务器的环境数据。进一步的,服务器的环境数据具体包括但不限于:服务器处于线上环境或者服务器处于测试环境。
[0039]本申请实施例中,服务器可以向用户提供用于设置服务器的环境数据的web界面,由用户在web界面上设置服务器的环境数据。基于此,服务器可以获取到服务器的环境数据,并将服务器的环境数据添加到测试命令中。
[0040]步骤102,终端设备从测试命令中读取服务器的环境数据,并将服务器的环境数据存储到测试工程的测试文件中。其中,由于测试工程的测试文件用于存储服务器的环境数据,因此,终端设备在从测试命令中读取到服务器的环境数据之后,可以将服务器的环境数据存储到测试工程的测试文件中。
[0041]本申请实施例中,终端设备从测试命令中读取服务器的环境数据,并将服务器的环境数据存储到测试工程的测试文件中的过程,具体包括但不限于如下方式:终端设备在接收到测试命令时,启动Acvitiy (活动)组件(如入口 Acvitiy),由Acvitiy组件从测试命令中读取服务器的环境数据,并将服务器的环境数据存储到测试工程的测试文件的ContentProvider (内容提供商)中。
[0042]具体的,终端设备在接收到测试命令时,终端设备的Android系统会根据这个测试命令启动一个Acvitiy组件,该Acvitiy组件中的逻辑会解析测试命令中的服务器的环境数据,并从测试命令中读取服务器的环境数据。进一步的,该Acvitiy组件在测试工程的测试文件中初始化一个ContentProvider,并将服务器的环境数据存储到测试工程的测试文件的 ContentProvider 中。
[0043]其中,Activity组件是Android系统的四大组件之一,Activity组件是一个应用程序组件,提供一个屏幕,用户可以用来交互以完成某项任务。Activity组件中的所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过View来显示指定控件。在一个Android应用中,Activity组件通常就是一个单独的屏幕,可以显示一些控件,也可以监听并处理用户事件做出响应。
[0044]其中,ContentProvider是Android系统的一种数据共享机制,用于Android系统中的不同App之间的数据共享。ContentProvider机制可以支持在多个App中存储和读取数据,ContentProvider也是跨应用共享数据的方式,一个App可以通过ContentProvider对另一个App中的数据进行添、删、改、查。
[0045]需要说明的是,在本申请实施例中,服务器向终端设备发送的测试命令用于启动测试工程中的Activity组件,以使Activity组件中的逻辑解析测试命令中的服务器的环境数据,并从测试命令中读取服务器的环境数据,并使该Acvitiy组件在测试工程的测试文件中初始化一个ContentProvider,并将服务器的环境数据存储到测试工程的测试文件的该 ContentProvider 中。
[0046]步骤103,服务器向终端设备发送启动命令,终端设备接收来自服务器的启动命令。其中,该启动命令用于启动终端设备上配置的App。
[0047]步骤104,在App需要启动时,终端设备从测试工程的测试文件中读取服务器的环境数据,并基于该服务器的环境数据启动App。
[0048]其中,在基于服务器的环境数据启动App时,App从测试工程的测试文件中读取服务器的环境数据,基于服务器的环境数据连接到服务器。
[0049]本申请实施例中,当Acvitiy组件将服务器的环境数据存储到测试工程的测试文件的ContentProvider时,在App需要启动时,终端设备上配置的该App的测试工程启动该App,且在App的启动过程中,会读取测试工程的测试文件(jar包)的ContentProvider中的服务器的环境数据。
[0050]需要说明的是,在本申请实施例中,服务器向终端设备发送的启动命令用于启动终端设备上配置的App。在一种具体实现方式中,为了启动终端设备上配置的App,服务器向终端设备发送的启动命令用于启动App的测试工程,在测试工程启动后,由测试工程启动被测的App。其中,测试工程通过Android系统中的Instrument (手段)来启动App。
[0051]本申请实施例中,上述的测试命令具体可以为基于ADB(Android Debug Bridge,安卓调试桥)的测试命令,上述的启动命令具体可以为基于ADB的启动命令。进一步的,该测试命令具体可以为ADB shell am start (安卓调试桥壳开始)命令,该启动命令具体可以为用于启动App的ADB命令。
[0052]其中,Google在Android系统的开发软件工具包中提供了一个调试工具的ADB,该ADB是一个开发工具,用于帮助终端设备与服务器之间的通信,通过ADB可以在Android系统的程序中执行一些命令,如ADB shell命令等,该ADB shell命令在服务器中提供了服务器与终端设备的命令行会话相应的shell接口。在实际使用中,ADB可以使用户操作终端设备的相关功能。
[0053]基于上述技术方案,本申请实施例提供一个轻量级的jar包(即测试文件),该jar包为可接受ADB命令且包含有ContentProvider的jar包,该jar包可以依附于其它基于Java开发的Android应用或测试应用,以提供接受ADB shell命令的方式来修改App的服务器的环境数据。基于此,在自动化测试中,只需要将jar包打入测试工程的apk就可以实现用ADB shell命令修改App的服务器的环境数据的功能,无须另外在终端设备上安装设置程序,测试过程中也不需要人工进行操作来设置,非常容易接入自动化测试管控体系。
[0054]与现有技术相比,本申请实施例至少具有以下优点:本申请实施例中,通过在测试工程中配置测试文件,使得终端设备在接收到携带服务器的环境数据的测试命令时,可以将服务器的环境数据存储到测试工程的测试文件中,从而在App启动时,从测试工程的测试文件中读取服务器的环境数据,并基于服务器的环境数据启动App。上述方式通过命令使终端设备将服务器的环境数据存储到测试工程的测试文件中,使App能够基于服务器的环境数据启动App,可以避免在终端设备上额外安装设置程序,节约了终端设备的资源。上述方式不需要人工在设置程序中对App的服务器的环境数据进行设置和修改,即测试过程中不需要人工进行操作来设置,扩展性强,容易接入自动化测试管理控制体系,并可以用于自动化测试中。
[0055]实施例二
[0056]基于与上述方法同样的申请构思,本申请实施例中还提供了一种终端设备,应用于包括所述终端设备和服务器的系统中,所述终端设备上配置有应用程序App、所述App的测试工程,且所述测试工程中包含测试文件,如图2所示,所述终端设备具体包括:
[0057]第一接收模块11,用于接收来自所述服务器的测试命令;其中,所述测试命令中携带服务器的环境数据;
[0058]处理模块12,用于从所述测试命令中读取所述服务器的环境数据,并将所述服务器的环境数据存储到所述测试工程的测试文件中;
[0059]第二接收模块13,用于接收来自所述服务器的启动命令;其中,所述启动命令用于启动所述终端设备上配置的App ;
[0060]启动模块14,用于在所述App启动时,从所述测试工程的测试文件中读取服务器的环境数据,并基于所述服务器的环境数据启动App。
[0061]所述处理模块12,具体用于在
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1