CN106776266B - 测试工具的配置方法及终端设备 - Google Patents

测试工具的配置方法及终端设备 Download PDF

Info

Publication number
CN106776266B
CN106776266B CN201510831326.3A CN201510831326A CN106776266B CN 106776266 B CN106776266 B CN 106776266B CN 201510831326 A CN201510831326 A CN 201510831326A CN 106776266 B CN106776266 B CN 106776266B
Authority
CN
China
Prior art keywords
folder
tool
source code
development tool
sub
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
CN201510831326.3A
Other languages
English (en)
Other versions
CN106776266A (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
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 CN201510831326.3A priority Critical patent/CN106776266B/zh
Publication of CN106776266A publication Critical patent/CN106776266A/zh
Application granted granted Critical
Publication of CN106776266B publication Critical patent/CN106776266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler

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)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种测试工具的配置方法,包括以下步骤:获取测试工具的源代码,并将所述源代码复制到开发工具;从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点;遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象;对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点中;遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。本发明还公开了一种终端设备。本发明可以对应用进行高效测试,从而提高用户体验。

Description

测试工具的配置方法及终端设备
技术领域
本发明涉及通信技术领域,尤其涉及一种测试工具的配置方法及终端设备。
背景技术
为了实现具有iOS操作系统(苹果公司开发的移动操作系统)的移动终端中应用的精准测试,开发者开发了独立于所述应用的测试工具,该测试工具通过浮层工具的形式悬浮在应用的界面之上,以向测试人员展示测试用例,并在测试过程中记录有用的数据。
目前,移动终端中的应用以及测试工具是由不同的团队开发和维护的,因此,在对应用进行测试前,需将测试工具的源代码加入到应用的开发工具中,然后编译出精准测试版应用的安装包,以供测试人员进行安装测试。其中,将测试工具的源代码加入到应用的开发工具的具体过程如下:
1、将测试工具的源代码复制到应用的开发工具目录中,并在开发工具中手动加入测试工具,已被开发工具引用。
2、在开发工具的构建阶段,修改测试工具相关的源代码,并设置编译选项为-fobj-arc。
3、修改应用的子工程配置,将测试工具的源代码路径添加到头文件搜索路径中,由于每个子工程与测试文件的源代码相对路径不一样,修改的内容也不完全相同,因此,这个修改过程非常繁琐。
综上,现有方案完全依靠人力将测试工具的源代码加入到应用的开发工具中以修改相关配置,此外,需要修改的地方很多,过程繁琐,从而导致人力成本较高。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种测试工具的配置方法及终端设备,旨在通过读取开发工具的配置文件,自动化修改配置文件的相关配置参数,以完成对测试工具的配置,如此,可以对应用进行高效测试,从而提高用户体验。
为实现上述目的,本发明提供的一种测试工具的配置方法,所述测试工具的配置方法包括以下步骤:
获取测试工具的源代码,并将所述源代码复制到开发工具;
从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点;
遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象;
对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点中;
遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:
获取模块,用于获取测试工具的源代码,并将所述源代码复制到开发工具;
第一加入模块,用于从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点;
生成模块,用于遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象;
第二加入模块,用于对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点中;
第三加入模块,用于遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。
本发明提供的测试工具的配置方法以及终端设备,首先通过获取测试工具的源代码,并将所述源代码复制到开发工具,然后从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点,再遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象,进一步对所述文件对象进行编译处理,然后将经编译处理的所述文件对象加入至所述第一文件夹的子节点中,在遍历所述开发工具中的子工程后,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。这样,通过读取开发工具的配置文件,自动化修改配置文件的相关配置参数,以完成对测试工具的配置,可以对应用进行高效测试,从而提高用户体验。
附图说明
图1为本发明实施例方案涉及的终端设备的硬件结构示意图;
图2为本发明终端设备第一实施例的功能模块示意图;
图3为本发明终端设备第二实施例的功能模块示意图;
图4为本发明中生成的文件对象属性参数示意图;
图5为图2或图3中第一加入模块的细化功能模块示意图;
图6为本发明终端设备第三实施例的功能模块示意图;
图7为本发明测试工具的配置方法第一实施例的流程示意图;
图8为本发明测试工具的配置方法第二实施例的流程示意图;
图9为图7或图8中步骤从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点中的细化流程示意图;
图10为本发明测试工具的配置方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例方案的核心思想是:首先通过获取测试工具的源代码,并将所述源代码复制到开发工具,然后从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点,再遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象,进一步对所述文件对象进行编译处理,然后将经编译处理的所述文件对象加入至所述第一文件夹的子节点中,在遍历所述开发工具中的子工程后,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。这样,通过读取开发工具的配置文件,自动化修改配置文件的相关配置参数,以完成对测试工具的配置,可以对应用进行高效测试,从而提高用户体验。
作为一种实现方案,上述终端设备可以为手机终端,也可以为PC终端、平板电脑、便携式电子设备等各种移动终端,本实施例以手机终端进行举例。
参照图1,该终端设备可以包括:授权接口1001,例如CPU,数据处理器1002,测试数据接口1003,存储器1004,用户接口1005。其中,授权接口1001用于透传用户通过认证账号登陆应用所产生的测试数据,所述用户接口1005可以包括显示屏(Display)等组件,用于接收用户输入的信息,并将接收的信息发送至终端设备的内部接口即授权接口1001。显示屏可以为LCD显示屏、LED显示屏,也可以为触摸屏,用于显示测试数据。所述测试数据接口1003为测试人员对应启动应用测试接入的获取测试数据的数据接口。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1004可选的还可以是独立于前述数据处理器1002的存储装置。作为一种手机终端存储介质的存储器1004中可以包括操作系统(图中未标示)、网络通信模块(图中未标示)、用户接口模块(图中未标示)以及微信或QQ程序(待测试应用)。
在图1所示的终端设备中,数据处理器1002可以用于调用存储器1004中存储的测试工具的配置程序,并执行以下操作:
获取测试工具的源代码,并将所述源代码复制到开发工具;
从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点;
遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象;
对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点中;
遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。
进一步地,在一个实施例中,数据处理器1002调用存储器1004中存储的终端设备的测试工具的配置程序,还可以执行以下操作:
读取所述开发工具中的配置文件,并对所述配置文件进行解析;
判断解析后的所述配置文件中是否已存在预定文件夹;
若是,则删除已存在的所述预定文件夹;
若否,则新建所述开发工具中的所述第一文件夹。
进一步地,在一个实施例中,数据处理器1002调用存储器1004中存储的终端设备的测试工具的配置程序,还可以执行以下操作:
在所述配置文件中不存在所述预定文件夹时,在所述开发工具中新建所述第一文件夹;
获取所述开发工具中的第二文件夹,并将所述第一文件夹加入所述第二文件夹的子节点中。
进一步地,在一个实施例中,数据处理器1002调用存储器1004中存储的终端设备的测试工具的配置程序,还可以执行以下操作:
判断所述开发工具中是否已存在将测试工具的源代码复制到所述开发工具的目标路径;
若是,则删除所述目标路径;
若否,则获取测试工具的源代码,并将所述源代码复制到开发工具。
基于上述硬件结构,提出本发明终端设备的功能模块实施例。具体如下:
本发明提供一种终端设备1,参照图2,在一实施例中,所述终端设备1包括:
获取模块101,用于获取测试工具的源代码,并将所述源代码复制到开发工具;
本实施例中,测试工具的配置方法主要应用于移动终端如手机、平板电脑等终端设备中,并对移动操作系统(iOS以及安卓等)中的应用如移动QQ、微信等程序进行精准测试。本发明通过获取测试工具中的源代码,而将所述源代码复制到开发工具,通过脚本读取并解析开发工具中的配置文件,增加和修改特定的配置参数,以完成对测试工具的配置。本发明具体以开发工具Xcode工程为例进行说明。
第一加入模块102,用于从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点;
生成模块103,用于遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象;
本实施例中,从所述开发工具Xcode工程中获取第一文件夹和第二文件夹,其中,所述第一文件夹位于所述第二文件夹的子节点中,所述第一文件夹可以是路径为“CYH”的PBXGroup,而第二文件夹是路径为“Classes”的PBXGroup,将“CYH”的PBXGroup加入“Classes”的PBXGroup的子节点中。所述Group类似于磁盘中文件夹的概念,是Xcode工程中管理文件的一种方式。可以理解的是,所述路径名可以为其他命名,并不限于本实施例。
第二加入模块104,用于对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点中;
本实施例中,所述文件对象具有通用唯一识别码、注释以及类型等相关属性,可以根据文件对象属性对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点即路径为“CYH”的PBXGroup中。
第三加入模块105,用于遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。
本实施例中,可以在Xcode开发工具中自由更改文件或者文件夹所在的节点位置,但是这个文件或者文件夹在硬盘上的位置是不会被改变的。遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以供Xcode开发工具工程编译器能够根据对应的路径寻找到对应的头文件。以移动QQ为例,其Xcode开发工具中共有20多个子工程,如QQ空间、QQ浏览器、QQ音乐、QQ游戏等,有些子工程如QQ空间和QQ音乐需要进行修改配置,而其他子工程如QQ浏览器和QQ游戏则不需要修改。现有技术只能先修改、编译一处,若报错则继续修改、编译下一处,此外,每个子工程与测试工具源代码的相对路径不一样,所以修改的内容也不完全相同,如此,在有多个子工程的情况下导致步骤非常繁琐。应当理解的是,所述开发工具包括多个子工程,本发明中上述对所述文件对象进行编译处理的步骤均是在所述开发工具中进行,通过将新的配置写入所述开发工具中的配置文件中,结合所述第一文件夹的子节点相对所述子工程的相对路径,使Xcode开发工具的子工程能识别并调用所述第一文件夹的子节点中经编译处理的文件对象,从而可以自动完成针对测试工具的配置,进而提高用户体验。
本发明提供的终端设备1,首先通过获取测试工具的源代码,并将所述源代码复制到开发工具,然后从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点中,再遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象,进一步对所述文件对象进行编译处理,然后将经编译处理的所述文件对象加入至所述第一文件夹的子节点中,在遍历所述开发工具中的子工程后,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。这样,通过读取开发工具的配置文件,自动化修改配置文件的相关配置参数,以完成对测试工具的配置,可以对应用进行高效测试,从而提高用户体验。
在一实施例中,如图3所示,在上述图2的实施例的基础上,本实施例中,所述终端设备还包括:
解析模块106,用于读取所述开发工具中的配置文件,并对所述配置文件进行解析;
本实施例中,通过分析和研究Xcode工程的结构和配置,发现每个Xcode创建的工程都有一个相对应的project.pbxproj配置文件,该配置文件存储着Xcode工程的所有配置信息。而针对Xcode工程中的每一个源文件、group、target、build phase等,都有一个与之相对应的对象,每个对象都由一个UUID(通用唯一识别码)来表示,每个对象都有一系列的属性,其中“isa”属性代表了该对象的类型,如PBX Build File、PBX File Reference、PBXFrameworks BuildPhase、PBXGroup、PBX Native Target、PBXProject、PBX ResourcesBuildPhase、PBX Sources Build Phase、PBX Variant Group、XCBuild Configuration、XCC on figuration List等。
如图4所示,最前面的一串字符是该对象的UUID值,/*和*/之间的文字是注释,isa=PBX Build File代表该对象的类型是一个文件,settings属性中的COMPILER_FLAGS字段代表了该文件的编译选项为ARC。通过该文件的UUID,即可以很容易地查找到该文件对应的group。
第一判断模块107,用于判断解析后的所述配置文件中是否已存在预定文件夹;
第一删除模块108,用于若是,则删除已存在的所述预定文件夹;
本实施例中,所述预定文件夹为第一文件夹如“CYH”的PBXGroup,通过读取所述开发工具中的配置文件,并对所述配置文件进行解析,进而判断解析后的所述配置文件中是否已存在预定文件夹。由于之前可能存在编译不成功的预定文件夹,若存在,则删除已存在的所述预定文件夹,这样,可以释放内存空间供开发工具进行编译处理。
新建模块109,用于若否,则新建所述开发工具中的所述第一文件夹。
本实施例中,若判断得到所述配置文件中不存在预定文件夹,则在所述开发工具中新建预定文件夹,其中,所述预定文件夹为所述第一文件夹,即路径为“CYH”的PBXGroup。
在一实施例中,如图5所示,在上述图2或3的实施例的基础上,本实施例中,所述第一加入模块102包括:
新建单元1021,用于在所述配置文件中不存在所述预定文件夹时,在所述开发工具中新建所述第一文件夹;
加入单元1022,用于获取所述开发工具中的第二文件夹,并将所述第一文件夹加入所述第二文件夹的子节点中。
本实施例中,当Xcode工程判断得到所述配置文件中不存在预定文件夹,则在所述开发工具中新建预定文件夹,其中,所述预定文件夹为所述第一文件夹,即路径为“CYH”的PBXGroup,同时获取所述开发工具中的第二文件夹,即路径为“Classes”的PBXGroup,然后将所述第一文件夹“CYH”的PBXGroup加入所述第二文件夹“Classes”的PBXGroup的子节点中。
在一实施例中,如图6所示,在上述图3的实施例的基础上,本实施例中,所述终端设备还包括:
第二判断模块110,用于判断所述开发工具中是否已存在将测试工具的源代码复制到所述开发工具的目标路径;
第二删除模块111,用于若是,则删除所述目标路径;
本实施例中,Xcode工程判断所述开发工具中是否已存在将测试工具的源代码复制到所述开发工具的目标路径,目标路径在工程中的具体路径,其实是可以根据自己的需求确定的。由于之前可能存在编译不成功的复制到所述开发工具的目标路径,若存在,则删除已存在的所述目标路径,这样,可以释放内存空间供开发工具进行编译处理。
复制模块112,用于若否,则获取测试工具的源代码,并将所述源代码复制到开发工具。
本实施例中,在原始的Xcode工程目录中是没有所述第一文件夹的,即路径为“CYH”的PBXGroup,通过脚本自动拷贝外部的“CYH”的PBXGroup,到工程目录下面的“Classes”的PBXGroup的子节点中。
基于上述硬件架构,提出本发明测试工具的配置方法实施例。
本发明还提供一种测试工具的配置方法,参照图7,在一实施例中,所述测试工具的配置方法包括以下步骤:
步骤S101,获取测试工具的源代码,并将所述源代码复制到开发工具;
本实施例中,测试工具的配置方法主要应用于移动终端如手机、平板电脑等终端设备中,并对移动操作系统(iOS以及安卓等)中的应用如移动QQ、微信等程序进行精准测试。本发明通过获取测试工具中的源代码,而将所述源代码复制到开发工具,通过脚本读取并解析开发工具中的配置文件,增加和修改特定的配置参数,以完成对测试工具的配置。本发明具体以开发工具Xcode工程为例进行说明。
步骤S102,从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点;
步骤S103,遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象;
本实施例中,从所述开发工具Xcode工程中获取第一文件夹和第二文件夹,其中,所述第一文件位于所述第二文件夹的子节点中,所述第一文件夹可以是路径为“CYH”的PBXGroup,而第二文件夹是路径为“Classes”的PBXGroup,将“CYH”的PBXGroup加入“Classes”的PBXGroup的子节点中。所述Group类似于磁盘中文件夹的概念,是Xcode工程中管理文件的一种方式。可以理解的是,所述路径名可以为其他命名,并不限于本实施例。
步骤S104,对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点中;
本实施例中,所述文件对象具有通用唯一识别码、注释以及类型等相关属性,可以根据文件对象属性对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点即路径为“CYH”的PBXGroup中。
步骤S105,遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。
本实施例中,可以在Xcode开发工具中自由更改文件或者文件夹所在的节点位置,但是这个文件或者文件夹在硬盘上的位置是不会被改变的。遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以供Xcode开发工具工程编译器能够根据对应的路径寻找到对应的头文件。以移动QQ为例,其Xcode开发工具中共有20多个子工程,如QQ空间、QQ浏览器、QQ音乐、QQ游戏等,有些子工程如QQ空间和QQ音乐需要进行修改配置,而其他子工程如QQ浏览器和QQ游戏则不需要修改。现有技术只能先修改、编译一处,若报错则继续修改、编译下一处,此外,每个子工程与测试工具源代码的相对路径不一样,所以修改的内容也不完全相同,如此,在有多个子工程的情况下导致步骤非常繁琐。应当理解的是,所述开发工具包括多个子工程,本发明中上述对所述文件对象进行编译处理的步骤均是在所述开发工具中进行,通过将新的配置写入所述开发工具中的配置文件中,结合所述第一文件夹的子节点相对所述子工程的相对路径,使Xcode开发工具的子工程能识别并调用所述第一文件夹的子节点中经编译处理的文件对象,从而可以自动完成针对测试工具的配置,进而提高用户体验。
本发明提供的测试工具的配置方法,首先通过获取测试工具的源代码,并将所述源代码复制到开发工具,然后从所述开发工具中获取第一文件夹和第二文件夹,所述第一文件夹位于所述第二文件夹的子节点中,再遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象,进一步对所述文件对象进行编译处理,然后将经编译处理的所述文件对象加入至所述第一文件夹的子节点中,在遍历所述开发工具中的所述子工程后,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以完成所述测试工具的配置。这样,通过读取开发工具的配置文件,自动化修改配置文件的相关配置参数,以完成对测试工具的配置,可以对应用进行高效测试,从而提高用户体验。
在一实施例中,如图8所示,在上述图7的实施例的基础上,本实施例中,所述步骤S102之前还包括:
步骤S106,读取所述开发工具中的配置文件,并对所述配置文件进行解析;
本实施例中,通过分析和研究Xcode工程的结构和配置,发现每个Xcode创建的工程都有一个相对应的project.pbxproj配置文件,该配置文件存储着Xcode工程的所有配置信息。而针对Xcode工程中的每一个源文件、group、target、build phase等,都有一个与之相对应的对象,每个对象都由一个UUID(通用唯一识别码)来表示,每个对象都有一系列的属性,其中“isa”属性代表了该对象的类型,如PBX Build File、PBX File Reference、PBXFrameworks BuildPhase、PBXGroup、PBX Native Target、PBXProject、PBX ResourcesBuildPhase、PBX Sources Build Phase、PBX Variant Group、XCBuild Configuration、XCC on figuration List等。
如图4所示,最前面的一串字符是该对象的UUID值,/*和*/之间的文字是注释,isa=PBX Build File代表该对象的类型是一个文件,settings属性中的COMPILER_FLAGS字段代表了该文件的编译选项为ARC。通过该文件的UUID,即可以很容易地查找到该文件对应的group。
步骤S107,判断解析后的所述配置文件中是否已存在预定文件夹;
步骤S108,若是,则删除已存在的所述预定文件夹;
本实施例中,所述预定文件夹为第一文件夹如“CYH”的PBXGroup,通过读取所述开发工具中的配置文件,并对所述配置文件进行解析,进而判断解析后的所述配置文件中是否已存在预定文件夹。由于之前可能存在编译不成功的预定文件夹,若存在,则删除已存在的所述预定文件夹,这样,可以释放内存空间供开发工具进行编译处理。
步骤S109,若否,则新建所述开发工具中的所述第一文件夹。
本实施例中,若判断得到所述配置文件中不存在预定文件夹,则在所述开发工具中新建预定文件夹,其中,所述预定文件夹为所述第一文件夹,即路径为“CYH”的PBXGroup。
在一实施例中,如图9所示,在上述图7或图8的实施例的基础上,本实施例中,所述步骤S102包括:
步骤S1021,在所述配置文件中不存在所述预定文件夹时,在所述开发工具中新建所述第一文件夹;
步骤S1022,获取所述开发工具中的第二文件夹,并将所述第一文件夹加入所述第二文件夹的子节点中。
本实施例中,当Xcode工程判断得到所述配置文件中不存在预定文件夹,则在所述开发工具中新建预定文件夹,其中,所述预定文件夹为所述第一文件夹,即路径为“CYH”的PBXGroup,同时获取所述开发工具中的第二文件夹,即路径为“Classes”的PBXGroup,然后将所述第一文件夹“CYH”的PBXGroup加入所述第二文件夹“Classes”的PBXGroup的子节点中。
在一实施例中,如图10所示,在上述图8的实施例的基础上,本实施例中,所述步骤S101之前还包括:
步骤S110,判断所述开发工具中是否已存在将测试工具的源代码复制到所述开发工具的目标路径;
步骤S111,若是,则删除所述目标路径;
本实施例中,Xcode工程判断所述开发工具中是否已存在将测试工具的源代码复制到所述开发工具的目标路径,目标路径在工程中的具体路径,其实是可以根据自己的需求确定的。由于之前可能存在编译不成功的复制到所述开发工具的目标路径,若存在,则删除已存在的所述目标路径,这样,可以释放内存空间供开发工具进行编译处理。
步骤S112,若否,则获取测试工具的源代码,并将所述源代码复制到开发工具。
本实施例中,在原始的Xcode工程目录中是没有所述第一文件夹的,即路径为“CYH”的PBXGroup,通过脚本自动拷贝外部的“CYH”的PBXGroup,到工程目录下面的“Classes”的PBXGroup的子节点中。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种测试工具的配置方法,其特征在于,所述测试工具的配置方法包括以下步骤:
获取测试工具的源代码,并将所述源代码复制到开发工具;
通过脚本读取并解析所述开发工具中的配置文件,判断解析后的所述配置文件中是否存在预定文件夹;
在所述配置文件中存在所述预定文件夹时,删除已存在的所述预定文件夹;
在所述配置文件中不存在所述预定文件夹时,在所述开发工具中新建第一文件夹;
获取所述开发工具中的第二文件夹,并将所述第一文件夹加入所述第二文件夹的子节点中;
遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象;
对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点中;
遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以使所述子工程能够结合所述相对路径,识别并调用所述第一文件夹的子节点中经编译处理的文件对象,完成所述测试工具的配置。
2.如权利要求1所述的测试工具的配置方法,其特征在于,所述获取测试工具的源代码,并将所述源代码复制到开发工具的步骤之前还包括:
判断所述开发工具中是否已存在将测试工具的源代码复制到所述开发工具的目标路径;
若是,则删除所述目标路径;
若否,则获取测试工具的源代码,并将所述源代码复制到开发工具。
3.如权利要求1所述的测试工具的配置方法,其特征在于,所述文件对象的内容包括通用唯一识别码、注释以及类型。
4.一种终端设备,其特征在于,所述终端设备包括:
获取模块,用于获取测试工具的源代码,并将所述源代码复制到开发工具;
解析模块,用于通过脚本读取并解析所述开发工具中的配置文件;
第一判断模块,用于判断解析后的所述配置文件中是否已存在预定文件夹;
第一删除模块,用于在所述配置文件中存在所述预定文件夹时,删除已存在的所述预定文件夹;
新建模块,用于在所述配置文件中不存在所述预定文件夹时,在所述开发工具中新建第一文件夹;
第一加入模块,用于获取所述开发工具中的第二文件夹,并将所述第一文件夹加入所述第二文件夹的子节点中;
生成模块,用于遍历所述第一文件夹,并针对所述第一文件夹中的源代码生成对应的文件对象;
第二加入模块,用于对所述文件对象进行编译处理,并将经编译处理的所述文件对象加入至所述第一文件夹的子节点中;
第三加入模块,用于遍历所述开发工具中的子工程,获取所述第一文件夹的子节点相对所述子工程的相对路径,并将所述相对路径加入到所述子工程中的头文件搜索路径中,以使所述子工程能够结合所述相对路径,识别并调用所述第一文件夹的子节点中经编译处理的文件对象,完成所述测试工具的配置。
5.如权利要求4所述的终端设备,其特征在于,所述终端设备还包括:
第二判断模块,用于判断所述开发工具中是否已存在将测试工具的源代码复制到所述开发工具的目标路径;
第二删除模块,用于若是,则删除所述目标路径;
复制模块,用于若否,则获取测试工具的源代码,并将所述源代码复制到开发工具。
6.如权利要求4所述的终端设备,其特征在于,所述文件对象的内容包括通用唯一识别码、注释以及类型。
7.一种终端设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至3任一项所述的测试工具的配置方法。
8.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至3任一项所述的测试工具的配置方法。
CN201510831326.3A 2015-11-25 2015-11-25 测试工具的配置方法及终端设备 Active CN106776266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510831326.3A CN106776266B (zh) 2015-11-25 2015-11-25 测试工具的配置方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510831326.3A CN106776266B (zh) 2015-11-25 2015-11-25 测试工具的配置方法及终端设备

Publications (2)

Publication Number Publication Date
CN106776266A CN106776266A (zh) 2017-05-31
CN106776266B true CN106776266B (zh) 2021-11-09

Family

ID=58964093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510831326.3A Active CN106776266B (zh) 2015-11-25 2015-11-25 测试工具的配置方法及终端设备

Country Status (1)

Country Link
CN (1) CN106776266B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009084B (zh) * 2017-11-29 2021-07-30 北京中电普华信息技术有限公司 一种混合移动应用的测试方法、装置及系统
CN109726104B (zh) * 2018-05-15 2024-02-27 深圳市兴海物联科技有限公司 移动终端的测试包生成方法、测试终端及存储介质
CN110554965B (zh) * 2019-09-05 2021-08-17 腾讯科技(深圳)有限公司 自动化模糊测试方法及相关设备、计算机可读存储介质
CN114564230B (zh) * 2022-02-23 2024-01-16 北京布局未来科技发展有限公司 鸿蒙系统的一键上传实现方法、装置、电子设备及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631390B2 (en) * 2010-04-02 2014-01-14 Apple Inc. Archiving a build product
CN101950269B (zh) * 2010-08-30 2012-09-05 清华大学 针对软件构件的自动化测试方法
GB2491176A (en) * 2011-05-26 2012-11-28 Vodafone Ip Licensing Ltd A media server transcodes media from an initial format to a format requested by a rendering device.
CN102609357B (zh) * 2012-02-17 2015-03-18 浙江大学 符合autosar标准自动化测试的测试案例动态构建方法
CN103577309A (zh) * 2012-07-25 2014-02-12 腾讯科技(深圳)有限公司 自动化测试的方法及装置
CN104714788B (zh) * 2013-12-12 2018-12-11 腾讯科技(深圳)有限公司 一种软件安装包自动生成的方法及装置
CN103838584B (zh) * 2014-03-26 2017-09-15 北京京东尚科信息技术有限公司 一种移动终端应用的开发方法及装置
CN103955375A (zh) * 2014-05-21 2014-07-30 北京安兔兔科技有限公司 一种应用安装文件的生成方法、应用的启动方法及装置
CN104598274B (zh) * 2015-01-13 2017-07-18 北京京东尚科信息技术有限公司 一种自动插桩编译安装方法及系统
CN104572237B (zh) * 2015-01-19 2017-12-12 上海动联信息技术股份有限公司 一种UKey安装包自动快速生成系统及其方法

Also Published As

Publication number Publication date
CN106776266A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN105657191B (zh) 一种基于Android系统的应用增量升级方法及系统
CN111638906B (zh) 一种软件开发工具包sdk接入方法、装置和系统
CN110825619A (zh) 接口测试用例自动生成方法、装置及存储介质
CN106776266B (zh) 测试工具的配置方法及终端设备
CN110083360B (zh) 一种应用程序代码的编译方法、装置、设备及存储介质
EP3234851B1 (en) A system and method for facilitating static analysis of software applications
CN107783766B (zh) 对应用程序的文件进行清理的方法和装置
CN110321131B (zh) 业务组件打包方法、系统及服务器
CN111124480B (zh) 应用程序包的生成方法、装置、电子设备及存储介质
CN106933642B (zh) 应用程序的处理方法及处理装置
CN112612502A (zh) 补丁生成方法、装置、设备及存储介质
CN108694049B (zh) 一种更新软件的方法和设备
CN111596951A (zh) 一种工程文件的配置方法及装置
CN108897588B (zh) 一种用于模块间通信的路由方法和路由装置
CN106528066B (zh) 一种业务流程运行方法及装置
Usman et al. Test case generation from android mobile applications focusing on context events
CN111240987B (zh) 移植程序检测方法、装置、电子设备及计算机可读存储介质
CN110442353B (zh) 一种安装包管理的方法、装置及电子设备
CN115794214A (zh) 应用模块元数据管理方法、设备、存储介质及装置
CN115951916A (zh) 一种组件的处理方法、装置、电子设备及存储介质
CN113031995B (zh) 一种更新规则的方法、装置、存储介质以及电子设备
Maras et al. Towards specifying pragmatic software reuse
US20180131725A1 (en) Method and apparatus for mobile terminal management supporting security policy
CN114356783A (zh) 单元测试代码自动生成方法、装置、存储介质及设备
CN109635175B (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
GR01 Patent grant
GR01 Patent grant