CN105786562A - 一种集成插件的方法和装置 - Google Patents
一种集成插件的方法和装置 Download PDFInfo
- Publication number
- CN105786562A CN105786562A CN201610080261.8A CN201610080261A CN105786562A CN 105786562 A CN105786562 A CN 105786562A CN 201610080261 A CN201610080261 A CN 201610080261A CN 105786562 A CN105786562 A CN 105786562A
- Authority
- CN
- China
- Prior art keywords
- plug
- unit
- file
- entrance
- add
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/3664—Environments for testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种集成插件的方法和装置。其中集成插件的方法包括:所述插件安装入口被触发后,寻址待集成插件的插件文件;将所述插件文件安装至所述应用以便集成插件;记录插件安装信息,所述插件安装信息包括插件文件被安装的文件路径。由以上技术方案可以看出,本发明通过事先在APP中设置插件集成入口,因此插件开发方在开发插件后,可以将插件通过APP的外部集成入口直接安装到宿主APP中,去除了插件开发方在开发和测试插件时需要宿主APP的开发方协作才能完成的环节,从而增加了插件开发的连续性。
Description
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种集成插件的方法和装置。
【背景技术】
现有技术中,可以通过为应用程序(Application,简称APP)增加插件(Plugin)的方式来扩展应用程序的功能。插件需要依赖宿主应用程序才能发挥其功能,仅靠插件自身无法运行;相反地,应用程序并不需要依赖插件就可以运行,这样一来,插件就可以加载到应用程序上并且动态更新而不会对应用程序造成任何影响。因此可以为一个宿主APP开发具有不同功能的插件,从而使宿主应用程序能够使用插件的体系结构来增加功能性。
然而现有技术中宿主APP和插件通常由不同的开发方开发,当插件开发方开发出一个插件并需要在宿主APP中对其开发的插件进行测试时,需要将待测试的插件提供给宿主APP开发方,由宿主APP开发方的程序开发人员手动地将插件以内置的形式集成到宿主APP中并打包,然后再由宿主APP开发方将打包后的包含插件的APP提供给插件开发方,进而插件开发方才能够测试插件在APP中的执行情况。
由于插件开发方在开发插件后,需要通过宿主APP开发方的参与才能完成对该插件的安装,势必造成了开发效率的低下,也影响了测试效率。
【发明内容】
为了克服现有技术中不能由测试方直接完成在宿主APP上安装其要测试的插件的缺陷,本发明提供了一种集成插件的方法和装置。
具体技术方案如下:
一种集成插件的方法,应用提供的插件集成入口包括插件安装入口,所述方法包括:
所述插件安装入口被触发后,寻址待集成插件的插件文件;
将所述插件文件安装至所述应用以便集成插件;
记录插件安装信息,所述插件安装信息包括插件文件被安装的文件路径。
根据本发明一优选实施例,所述寻址待集成插件的插件文件具体包括:
由所述插件安装入口从默认的插件文件存储位置获取所述插件的插件文件。
根据本发明一优选实施例,所述插件集成入口还包括插件执行入口;
所述方法还包括:所述插件执行入口被触发后,依据所述插件安装信息中的文件路径调取并运行安装的插件文件。
根据本发明一优选实施例,所述插件集成入口还包括插件卸载入口;
所述方法还包括:所述插件卸载入口被触发后,依据所述插件安装信息中的文件路径寻址并删除安装的插件文件。
根据本发明一优选实施例,所述插件集成入口还包括插件功能模块测试入口;
所述方法还包括:所述插件功能模块测试入口被触发后,依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块。
根据本发明一优选实施例,所述依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块具体包括:
依据所述插件安装信息中的文件路径寻找到安装的插件文件;
根据配置文件中的插件功能模块名称读取所述安装的插件文件中具有相同名称的插件功能模块文件;
利用配置文件中的配置参数对读取的插件功能模块文件进行插件功能模块的测试。
根据本发明一优选实施例,所述配置文件中的插件功能模块名称是自动记录的;或者,
为插件开发方提供输入配置文件参数的配置参数入口,由插件开发方通过所述配置参数入口输入插件功能模块的名称。
根据本发明一优选实施例,所述方法还包括:通过为插件开发方提供的配置参数入口,引导插件开发方按照预定的形式在配置文件中自定义用于测试插件功能模块的配置参数。
根据本发明一优选实施例,所述方法还包括:将插件文件转换成符合应用调用的格式以便集成。
一种集成插件的装置,该装置设置于应用,所述装置包括:插件集成入口和信息记录单元;
所述插件集成入口还包括插件安装入口,用于:
被触发后,寻址待集成插件的插件文件;
将所述插件文件安装至所述应用以便集成插件;
所述信息记录单元,用于记录插件安装信息,所述插件安装信息包括插件文件被安装的文件路径。
根据本发明一优选实施例,所述插件安装入口寻址待集成插件的插件文件具体执行以下操作:
由所述插件安装入口从默认的插件文件存储位置获取所述插件的插件文件。
根据本发明一优选实施例,所述插件集成入口还包括插件执行入口,用于被触发后,依据所述插件安装信息中的文件路径调取并运行安装的插件文件。
根据本发明一优选实施例,所述插件集成入口还包括插件卸载入口,用于被触发后,依据所述插件安装信息中的文件路径寻址并删除安装的插件文件。
根据本发明一优选实施例,所述插件集成入口还包括插件功能模块测试入口,用于被触发后,依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块。
根据本发明一优选实施例,所述插件功能模块测试入口依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块具体执行以下操作:
依据所述插件安装信息中的文件路径寻找到插件文件;
根据配置文件中的插件功能模块名称读取所述插件文件中具有相同名称的插件功能模块文件;
利用配置文件中的配置参数对读取的插件功能模块文件进行插件功能模块的测试。
根据本发明一优选实施例,所述信息记录单元还用于:
自动记录配置文件中的插件功能模块名称;或者,
为插件开发方提供输入配置文件参数的配置参数入口,记录插件开发方通过所述配置参数入口输入的插件功能模块的名称。
根据本发明一优选实施例,所述信息记录单元还用于为插件开发方提供配置参数入口,引导插件测试方按照预定的形式在配置文件中自定义用于测试插件功能模块的配置参数。
根据本发明一优选实施例,所述装置还包括格式转换单元,用于将插件文件转换成符合应用调用的格式以便集成。
由以上技术方案可以看出,本发明通过事先在APP中设置插件集成入口,因此插件开发方在开发插件后,可以将插件通过APP的外部集成入口直接安装到宿主APP中,去除了插件开发方在开发和测试插件时需要宿主APP的开发方协作才能完成的环节,实现更加简便。
【附图说明】
图1为本发明实施例一提供的一种插件安装入口被触发后执行的插件安装方法流程图;
图2为本发明实施例一提供的一种插件功能模块测试入口被触发后执行的插件功能模块测试方法流程图;
图3为本发明实施例二提供的一种集成插件的装置结构示意图。
【具体实施方式】
本发明的主要思路是在宿主APP中提供了一个插件集成的入口,通过该插件集成入口可以在宿主APP的开发方不参与的情况下,由插件开发方直接完成插件在宿主APP中的安装以及安装之后对插件的相关操作。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
实施例一、
该实施例中,首先在宿主APP中提供了一个插件集成的入口,该插件集成的入口可以进一步包括插件安装入口、插件执行入口、插件卸载入口、以及插件功能模块测试入口等功能入口。当该功能入口中的一个被触发后,则通过该功能入口能够执行相应的功能。
其中,可以在宿主APP中为插件开发方提供选择插件集成入口及其具体功能入口的选项。
例如在运行的APP的主界面,具体地可以在主界面的功能区中,为插件开发方提供进入插件集成入口的任务窗格,由插件开发方点击该任务窗格中的插件集成入口;或者为了强调宿主APP的插件集成功能,可以在运行宿主APP成功后,直接弹出插件集成入口的窗口以供插件开发方选择。
当插件集成入口通过点击的方式被触发后,可以进一步为插件开发方提供包括插件集成入口的各个功能入口的选择列表。插件开发方为了将其开发的插件集成到宿主APP中,可以根据展示的列表选择并触发插件安装入口,从而实现插件的安装。
图1为本发明实施例一提供的一种插件安装入口被触发后执行的插件安装方法流程图。如图1所示,当插件集成入口中的插件安装入口被触发后,安装插件的方法可以包括如下流程:
101、寻址待集成插件的插件文件。
该步骤中,当插件安装入口被触发后,可以向插件开发方提供引导其将插件存储到指定的存储位置的提示信息。
该提示信息可以以弹出窗口的形式来提供,更进一步地,可以在弹出窗口中为插件开发方提供进入指定存储位置的链接,因此插件开发方可以直接将其欲安装的插件文件存储在该指定的存储位置。
该指定的存储位置包括应用运行的系统存储器,例如SD卡中。
当插件文件已经被存储于指定的存储位置后,插件安装入口可以根据默认的路径定位到插件的存储位置,从而从该存储位置获取到插件的插件文件。
其中,该默认的路径位置是宿主APP预先设置的插件文件的存放位置,当运行APP并触发插件安装入口后,插件安装入口直接从该位置处寻找插件文件。即,插件安装入口的默认路径所指向的存储位置就是指定插件开发方存储的存储位置。
102、将插件文件安装至应用以便集成插件。
该步骤中,当寻址到待集成插件的插件文件,则可以将该插件文件安装至应用以便集成插件。
可以使用类加载器,例如DexClassLoader来安装和加载插件。可替代地,也可以使用类加载器PathClassLoader来安装和加载插件。
通过触发宿主APP提供的插件安装入口来安装插件的方式,可以在不需要APP开发方的情况下,插件开发方即可根据提示或者直接将插件存储到APP的默认存储位置,从而保证了插件开发的各个环节的连续性。
103、记录插件安装信息。
该步骤中,在将插件文件安装至应用后,可以将已安装的插件文件的唯一标识符(或称插件名称)、插件文件被安装的文件路径等插件安装信息记录到插件管理表中,通过管理上述插件管理表以便以后对插件执行其他操作时使用。
其中,该插件管理表中的插件安装信息可以被插件集成入口所包含的各个功能入口共享。
插件开发方在将插件文件安装至应用后,可以结合其他插件功能入口,例如使用插件执行入口来执行安装的插件,从而查看插件的运行效果。
当插件执行入口被触发后,运行安装的插件的方式为:依据插件安装信息中的文件路径调取并运行安装的插件文件。
具体地,插件执行入口可以向插件开发方提供安装后能够被执行的插件名称。其中,可以通过查找插件管理表来确定已经安装的插件名称,并在该插件执行入口被触发后,将能够执行的包含插件名称的插件目录提供给插件开发方。
当插件开发方选择其中一个待执行的插件名称后,则插件执行入口可以依据插件管理表中的插件名称来确定插件文件的安装文件路径,然后依据该插件的安装文件路径调取安装的插件文件。
通过执行插件可以使插件开发方对其所开发的插件在宿主APP中的运行功能和效果得到直观的体验。
当集成于宿主APP的插件已经完成测试后,还可以将不需要的插件进行卸载,该卸载是通过插件集成入口中的插件卸载入口来实现的。
具体地,当插件卸载入口被触发后,可以为插件测试方提供已安装的包含插件名称的插件目录,插件开发方通过选择已安装插件目录中的一个或多个插件名称,实现与该插件名称对应的插件卸载。
插件卸载入口可以根据选择的插件名称寻找插件管理列表中的安装文件路径,从而利用文件路径寻址到相应的插件文件并删除该插件文件。
插件开发方还可以触发插件功能模块测试入口,当其被触发后,可以对插件中的各插件功能模块进行功能测试。
图2为本发明实施例一提供的一种插件功能模块测试入口被触发后执行的插件功能模块测试方法流程图。如图2所示,当插件集成入口中的插件功能模块测试入口被触发后,测试插件功能模块的方法可以包括如下流程:
201、依据所述插件安装信息中的文件路径寻找到安装的插件文件。
具体地,当插件功能模块测试入口被触发后,可以依据插件管理列表中的插件安装信息中的文件路径寻找到安装的插件文件,以对寻找到的插件文件中的具体功能模块进行测试。
插件功能模块测试入口与插件执行入口不同,触发插件执行入口执行所安装的插件的全部功能,而插件功能模块测试入口可以调用插件所包含的多个功能模块之一,从而完成对插件功能模块之一的调用以便测试。
例如将聊天工具作为宿主APP,将新开发的单独的支付功能作为插件,而支付功能中还包括很多子功能,包括AA付款、理财、信用卡还款等,这些子功能可以是在通过聊天工具执行支付功能后被调用和测试,也可以在不执行支付功能的情况下,单独对各个子功能进行调用和测试。
可以在插件功能测试模块被触发后为插件开发方显示包含插件名称目录和插件功能模块名称的目录,由插件测试方选择需要测试的插件名称,从而可以依据插件安装信息中的插件名称及其对应的文件路径寻找到安装的插件文件。
202、根据配置文件中的插件功能模块名称读取所述安装的插件文件中具有相同名称的插件功能模块文件。
该步骤中,当寻找到安装的插件文件后,则可以读取插件文件中待测试的插件功能模块文件。其中该插件功能模块文件的名称被记录在配置文件中,当插件测试方指定配置文件中的一个插件功能模块的名称以便测试时,则可以根据该配置文件中所配置的插件功能模块名称读取所述安装的插件文件中具有相同名称的插件功能模块文件。
由于宿主APP中不仅可以集成了一个插件,而且还可以集成多个插件,因此可以将插件及插件所包含的插件功能模块之间的关系以树形结构的方式存储在配置文件中。并且将该配置文件中的内容以分层列表的形式提供给插件开发方,由插件开发方能够指定配置文件中特定的插件和与之对应的多个插件功能模块中的一个进行测试。
其中,配置文件中的插件功能模块名称可以是在所述插件文件被安装时自动记录在该配置文件中的。或者说,该多个插件功能模块的名称可以在安装插件的同时通过遍历插件文件,从而确定插件文件所包含的各个功能模块的名称并记录于插件管理列表中。
或者,该多个插件功能模块的名称可以在插件功能模块测试入口被触发时自动记录的。
再或者,可以为插件开发方提供输入配置文件参数的配置参数入口,由插件开发方通过所述配置参数入口将插件功能模块的名称输入到配置文件中。
203、利用配置文件中的配置参数对读取的插件功能模块文件进行插件功能模块的测试。
配置文件不仅包含插件及其功能模块的名称,还包括配置参数等信息。与插件功能模块的名称可以自动记录不同,上述配置参数是需要由插件开发方输入的。
具体地,可以在插件功能模块测试入口被触发后,为插件开发方弹出配置参数的入口,以引导插件开发方按照宿主APP开发方预先设置的配置文件格式手动输入插件名称、插件功能模块名称、配置参数等信息。当然,并不限于在插件功能模块测试入口被触发后才提供配置参数的入口,也可以在插件安装时以及其他时机提供该配置参数的入口,以引导插件开发方自定义配置文件。
其中配置参数包括各插件功能模块的测试参数,也可以包括插件的参数。
该步骤中,各插件功能模块中的配置参数是由插件开发方输入和配置的,并不需要像现有技术中一样需要将该配置参数提供给宿主APP开发方,再由宿主开发方将包含配置参数的插件内置于宿主APP中。手动输入和配置参数的目的是为了实现一个宿主APP可以集成多个插件,或者说是对多个插件通用的,因此在为多个插件提供统一的集成入口以便插件安装和调用外,还针对每个插件各自所特有功能,以及一个插件中多个插件功能模块各自所特有的功能,将其特有的功能所需要的配置参数以配置文件的形式保存,并在适当的时机由插件开发方对配置文件进行配置,从而可以对各特有的功能进行调用。并且,这种由插件开发方手动配置参数的形式,能够使插件开发方可以根据需要输入在开发和测试过程中保密的配置参数,同时能够随时更改配置参数,还可以针对不同的插件功能模块设置不同的配置参数从而进行不同的测试,因此在保证数据安全的同时,达到了对调用的不同插件及插件功能模块可配置的效果。
该步骤中,当确定了要测试的插件功能模块,并根据配置文件确定了要测试的参数后,则可以调用配置文件中由插件开发方所定义的配置参数,对相应的插件功能模块进行测试。
其中,功能测试的目的是确定插件的各个功能模块对数据的接收、处理等是否正确,以及规则的实施是否恰当。因此,配置参数可以包括功能模块正常执行所需要输入的数据,并且可以根据输出结果确定功能是否正常执行,输出结果是否正确等。
204、将插件文件转换成符合应用调用的格式以便集成。
由于插件的开发环境和宿主APP的开发环境可能不同,而不同的开发环境可能会开发出具有不同格式的文件,为了使插件具有能够被应用调用的格式,因此在插件安装入口、插件执行入口、插件功能模块测试入口之一被触发后,还可以将由上述入口所调用的插件文件转换成符合应用调用的格式以便集成。
以在插件功能模块测试入口调用插件文件为例,可以通过配置文件中的插件功能模块名称读取插件中对应的插件功能模块文件中的内容,再将其转换成符合宿主APP调用的插件格式。
其中,在开发插件时,可以将插件的功能模块名称、不需要手动配置的参数等以JSON的形式写入一个文件,从而在宿主APP调用该插件文件时,将读取的JSON文件内容转换成符合宿主APP调用的插件格式。
通过对插件格式的转换,可以使APP程序的开发端和插件程序的开发端使用不同的开发环境,但能够相互兼容,从而增强了插件的可集成度。
上述进行格式转换的操作可以在确定插件与应用的格式不兼容时执行;或者也可以在安装插件时一次性执行全部格式的转换。其格式转换的任意时机均在本发明保护的范围内。
实施例二、
图3为本发明实施例二提供的一种集成插件的装置结构示意图。如图3所示,该集成插件的装置可以包括由应用提供的集成插件入口301、信息记录单元306、格式转换单元307。其中,集成插件入口301还可以进一步包括:插件安装入口302、插件执行入口303、插件功能模块测试入口304、以及插件卸载入口305等功能入口。
其中,插件集成入口301设置于宿主APP中,用于将外部插件集成到该宿主APP中。当插件集成入口中的多个功能入口中的一个被触发后,则由该功能入口执行相应的功能。
插件安装入口302,用于在所述插件安装入口被触发后,寻址待集成插件的插件文件,将所述插件文件安装至所述应用以便集成插件。
具体地,当插件安装入口302被触发后,可以向插件开发方提供引导其将插件存储到指定的存储位置的提示信息。
该提示信息可以以弹出窗口的形式来提供,更进一步地,可以在弹出窗口中为插件开发方提供进入指定存储位置的链接,因此插件开发方可以直接将其欲安装的插件文件存储在该指定的存储位置。
该指定的存储位置包括应用运行的系统存储器,例如SD卡中。
当插件文件已经被存储于指定的存储位置后,插件安装入口可以根据默认的路径定位到插件的存储位置,从而从该存储位置获取到插件的插件文件。
其中,插件安装入口302可以使用类加载器,例如DexClassLoader来安装和加载插件。可替代地,也可以使用类加载器PathClassLoader来安装和加载插件。
当插件文件安装至应用后,可以利用信息记录单元306记录插件安装信息,其中,所述插件安装信息包括插件文件被安装的文件路径。
具体地,在将插件文件安装至应用后,信息记录单元306可以将已安装的插件文件的唯一标识符(或称插件名称)、插件文件被安装的文件路径等插件安装信息记录到插件管理表中,通过管理上述插件管理表以便以后对插件执行其他操作时使用。
其中,该插件管理表中的插件安装信息可以被插件集成入口所包含的各个功能入口共享。
信息记录单元306还用于记录配置文件信息,该配置文件信息包括插件名称、插件功能模块名称以及配置参数。随后还将对信息记录单元307记录配置文件的操作进行详细说明,在此不再赘述。
插件执行入口303,用于在所述插件执行入口被触发后,依据所述插件安装信息中的文件路径调取并运行安装的插件文件
具体地,插件执行入口303可以向插件开发方提供安装后能够被执行的插件名称。其中,可以通过查找插件管理表来确定已经安装的插件名称,并在该插件执行入口被触发后,将能够执行的插件目录提供给插件开发方。
当插件开发方选择其中一个待执行的插件名称后,则插件执行入口303可以依据插件管理表中的插件名称来确定插件文件的安装文件路径,然后依据该插件的安装文件路径调取安装的插件文件。
通过执行插件可以使插件开发方对其所开发的插件在宿主APP中的运行功能和效果得到直观的体验。
插件功能模块测试入口304,用于在其被触发后,依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块。
插件功能模块测试入口304可以进行如下具体操作来实现插件功能模块的测试:
依据所述插件安装信息中的文件路径寻找到安装的插件文件;
根据配置文件中的插件功能模块名称读取所述安装的插件文件中具有相同名称的插件功能模块文件;
利用配置文件中的配置参数对读取的插件功能模块文件进行插件功能模块的测试。
具体地,当插件功能模块测试入口被触发后,可以依据插件管理列表中的插件安装信息中的文件路径寻找到安装的插件文件,以对寻找到的插件文件中的具体功能模块进行测试。
插件功能模块测试入口与插件执行入口不同,触发插件执行入口执行所安装的插件的全部功能,而插件功能模块测试入口可以调用插件所包含的多个功能模块之一,从而完成对插件功能模块之一的调用以便测试。
可以在插件功能测试模块被触发后为插件开发方显示包含插件名称目录和插件功能模块名称的目录,由插件测试方选择需要测试的插件名称,从而可以依据插件安装信息中的插件名称及其对应的文件路径寻找到安装的插件文件。
当寻找到安装的插件文件后,可以读取插件文件中待测试的插件功能模块文件。其中该插件功能模块文件的名称被记录在配置文件中,当插件测试方指定配置文件中的一个插件功能模块的名称以便测试时,则可以根据该配置文件中所配置的插件功能模块名称读取所述安装的插件文件中具有相同名称的插件功能模块文件。
由于宿主APP中不仅可以集成了一个插件,而且还可以集成多个插件,因此可以将插件及插件所包含的插件功能模块之间的关系以树形结构的方式存储在配置文件中。并且将该配置文件中的内容以分层列表的形式提供给插件开发方,由插件开发方能够指定配置文件中特定的插件和与之对应的多个插件功能模块中的一个进行测试。
其中,可以利用信息记录单元306将插件功能模块名称记录在配置文件中。
具体地,该信息记录单元306可以在所述插件文件被安装时将插件功能模块名称自动记录在该配置文件中。或者,信息记录单元306可以在插件功能模块测试入口被触发时自动记录该多个插件功能模块的名称。再或者,信息记录单元306可以为插件开发方提供输入配置文件参数的配置参数入口,由插件开发方通过所述配置参数入口将插件功能模块的名称输入到配置文件中。
配置文件不仅包含插件及其功能模块的名称,还包括配置参数等信息。与插件功能模块的名称可以自动记录不同,上述配置参数是需要由插件开发方输入的。
具体地,该信息记录单元还可以用于在插件功能模块测试入口被触发后,为插件开发方弹出配置参数的入口,以引导插件开发方按照宿主APP开发方预先设置的配置文件格式输入插件名称、插件功能模块名称、配置参数等信息。当然,并不限于在插件功能模块测试入口被触发后才提供配置参数的入口,也可以在插件安装时以及其他时机提供该配置参数的入口,以引导插件开发方自定义配置文件。
其中配置参数包括各插件功能模块的测试参数,也可以包括插件的参数。
测试功能模块入口304在确定了要测试的插件功能模块,并根据配置文件确定了要测试的参数后,则可以调用配置文件中由插件开发方所定义的配置参数,对相应的插件功能模块进行测试。
其中,功能测试的目的是确定插件的各个功能模块对数据的接收、处理等是否正确,以及规则的实施是否恰当。因此,配置参数可以包括功能模块正常执行所需要输入的数据,并且可以根据输出结果确定功能是否正常执行,输出结果是否正确等。
插件卸载入口305,用于将不需要的插件进行卸载。
具体地,当插件卸载入口305被触发后,同样可以为插件测试方提供已安装的包含插件名称的插件目录,插件开发方通过选择已安装插件目录中的一个或多个插件名称,实现与该插件名称对应的插件卸载。
插件卸载入口可以根据选择的插件名称寻找插件管理列表中的安装文件路径,从而利用文件路径寻址到相应的插件文件并删除该插件文件。
格式转换单元307,用于将插件文件转换成符合应用调用的格式以便集成。
由于插件的开发环境和宿主APP的开发环境可能不同,而不同的开发环境可能会开发出具有不同格式的文件,为了使插件具有能够被应用调用的格式,因此在插件安装入口、插件执行入口、插件功能模块测试入口之一被触发后,还可以通过格式转换单元307将由上述入口所调用的插件文件转换成符合应用调用的格式以便集成。
以在插件功能模块测试入口调用插件文件为例,可以通过配置文件中的插件功能模块名称读取插件中对应的插件功能模块文件中的内容,再将其转换成符合宿主APP调用的插件格式。
其中,在开发插件时,可以将插件的功能模块名称、不需要手动配置的参数等以JSON的形式写入一个文件,从而在宿主APP调用该插件文件时,将读取的JSON文件内容转换成符合宿主APP调用的插件格式。
通过对插件格式的转换,可以使APP程序的开发端和插件程序的开发端使用不同的开发环境,但能够相互兼容,从而增强了插件的可集成度。
上述进行格式转换的操作可以在确定插件与应用的格式不兼容时执行;或者也可以在安装插件时一次性执行全部格式的转换。其格式转换的任意时机均在本发明保护的范围内。
根据本发明实施例所提供的方法和装置,可以在宿主APP中提供一个插件集成入口,插件开发方可以利用该入口,再通过一些配置,运行宿主APP的功能,从而实现将插件集成到宿主APP中。另外,在宿主APP中,还提供了安装、执行、卸载以及测试插件的功能入口,方便插件的开发,测试。通过本发明的实施例,可以实现如下技术效果:
第一、在插件的开发方,可以通过APP提供的入口来集成其所开发的插件并进行测试,不需要APP开发方的参与,从而提高了开发和测试的效率。
第二、本发明通过为插件开发方提供配置文件来自定义用于测试插件的配置参数,从而不需要将该参数提供给宿主APP开发方,保证了信息的安全性。
第三、本发明通过插件集成入口能够对不同的插件通用,并且本发明可以针对不同的插件自定义不同的配置参数,因此不仅能够在一个宿主APP中集成多个插件,还可以实现对各个插件的可配置性。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (18)
1.一种集成插件的方法,其特征在于,应用提供的插件集成入口包括插件安装入口,所述方法包括:
所述插件安装入口被触发后,寻址待集成插件的插件文件;
将所述插件文件安装至所述应用以便集成插件;
记录插件安装信息,所述插件安装信息包括插件文件被安装的文件路径。
2.根据权利要求1所述的方法,其特征在于,所述寻址待集成插件的插件文件具体包括:
由所述插件安装入口从默认的插件文件存储位置获取所述插件的插件文件。
3.根据权利要求1所述的方法,其特征在于,所述插件集成入口还包括插件执行入口;
所述方法还包括:所述插件执行入口被触发后,依据所述插件安装信息中的文件路径调取并运行安装的插件文件。
4.根据权利要求1所述的方法,其特征在于,所述插件集成入口还包括插件卸载入口;
所述方法还包括:所述插件卸载入口被触发后,依据所述插件安装信息中的文件路径寻址并删除安装的插件文件。
5.根据权利要求1所述的方法,其特征在于,所述插件集成入口还包括插件功能模块测试入口;
所述方法还包括:所述插件功能模块测试入口被触发后,依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块。
6.根据权利要求5所述的方法,其特征在于,所述依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块具体包括:
依据所述插件安装信息中的文件路径寻找到安装的插件文件;
根据配置文件中的插件功能模块名称读取所述安装的插件文件中具有相同名称的插件功能模块文件;
利用配置文件中的配置参数对读取的插件功能模块文件进行插件功能模块的测试。
7.根据权利要求6所述的方法,其特征在于,所述配置文件中的插件功能模块名称是自动记录的;或者,
为插件开发方提供输入配置文件参数的配置参数入口,由插件开发方通过所述配置参数入口输入插件功能模块的名称。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:通过为插件开发方提供的配置参数入口,引导插件开发方按照预定的形式在配置文件中自定义用于测试插件功能模块的配置参数。
9.根据权利要求1-3、5-7任一项所述的方法,其特征在于,所述方法还包括:将插件文件转换成符合应用调用的格式以便集成。
10.一种集成插件的装置,其特征在于,该装置设置于应用,所述装置包括:插件集成入口和信息记录单元;
所述插件集成入口还包括插件安装入口,用于:
被触发后,寻址待集成插件的插件文件;
将所述插件文件安装至所述应用以便集成插件;
所述信息记录单元,用于记录插件安装信息,所述插件安装信息包括插件文件被安装的文件路径。
11.根据权利要求10所述的装置,其特征在于,所述插件安装入口寻址待集成插件的插件文件具体执行以下操作:
由所述插件安装入口从默认的插件文件存储位置获取所述插件的插件文件。
12.根据权利要求10所述的装置,其特征在于,所述插件集成入口还包括插件执行入口,用于被触发后,依据所述插件安装信息中的文件路径调取并运行安装的插件文件。
13.根据权利要求10所述的装置,其特征在于,所述插件集成入口还包括插件卸载入口,用于被触发后,依据所述插件安装信息中的文件路径寻址并删除安装的插件文件。
14.根据权利要求10所述的装置,其特征在于,所述插件集成入口还包括插件功能模块测试入口,用于被触发后,依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块。
15.根据权利要求14所述的装置,其特征在于,所述插件功能模块测试入口依据所述插件安装信息调用安装的插件文件,并根据配置文件测试插件功能模块具体执行以下操作:
依据所述插件安装信息中的文件路径寻找到插件文件;
根据配置文件中的插件功能模块名称读取所述插件文件中具有相同名称的插件功能模块文件;
利用配置文件中的配置参数对读取的插件功能模块文件进行插件功能模块的测试。
16.根据权利要求15所述的装置,其特征在于,所述信息记录单元还用于:
自动记录配置文件中的插件功能模块名称;或者,
为插件开发方提供输入配置文件参数的配置参数入口,记录插件开发方通过所述配置参数入口输入的插件功能模块的名称。
17.根据权利要求15或16任一项所述的装置,其特征在于,所述信息记录单元还用于为插件开发方提供配置参数入口,引导插件测试方按照预定的形式在配置文件中自定义用于测试插件功能模块的配置参数。
18.根据权利要求10-12、14-16任一项所述的装置,其特征在于,所述装置还包括格式转换单元,用于将插件文件转换成符合应用调用的格式以便集成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610080261.8A CN105786562A (zh) | 2016-02-04 | 2016-02-04 | 一种集成插件的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610080261.8A CN105786562A (zh) | 2016-02-04 | 2016-02-04 | 一种集成插件的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105786562A true CN105786562A (zh) | 2016-07-20 |
Family
ID=56403440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610080261.8A Pending CN105786562A (zh) | 2016-02-04 | 2016-02-04 | 一种集成插件的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105786562A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775689A (zh) * | 2016-12-05 | 2017-05-31 | 广发证券股份有限公司 | 一种大数据应用开发的系统及方法 |
CN107291563A (zh) * | 2017-05-05 | 2017-10-24 | 广东网金控股股份有限公司 | 一种后端代码插件的调用方法和装置 |
CN108073499A (zh) * | 2016-11-10 | 2018-05-25 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法及装置 |
CN108415844A (zh) * | 2018-03-22 | 2018-08-17 | 北京奇虎科技有限公司 | 插件化调试方法及装置 |
CN109240710A (zh) * | 2017-07-10 | 2019-01-18 | 珠海格力电器股份有限公司 | 一种个性化移动应用生成方法及其装置 |
CN110933507A (zh) * | 2019-11-15 | 2020-03-27 | 深圳市酷开网络科技有限公司 | 一种第三方媒体内容的播放方法、智能终端及存储介质 |
CN111190609A (zh) * | 2018-11-14 | 2020-05-22 | 广东万丈金数信息技术股份有限公司 | 业务的处理方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130041A1 (en) * | 2004-12-09 | 2006-06-15 | Advantest Corporation | Method and system for performing installation and configuration management of tester instrument modules |
CN101770366A (zh) * | 2009-11-27 | 2010-07-07 | 山东中创软件商用中间件股份有限公司 | 一种基于Web服务的eclipse插件存储及管理的方法 |
CN102411508A (zh) * | 2011-10-27 | 2012-04-11 | 深圳市茁壮网络股份有限公司 | 插件管理方法、插件控制器及插件管理器和机顶盒 |
CN102609267A (zh) * | 2012-02-16 | 2012-07-25 | 深圳市酷开网络科技有限公司 | 基于安卓浏览器的插件管理方法及系统 |
CN103389905A (zh) * | 2012-05-10 | 2013-11-13 | 航天信息股份有限公司 | 插件加载方法及系统 |
CN105045595A (zh) * | 2015-07-31 | 2015-11-11 | 百度在线网络技术(北京)有限公司 | 一种集成插件的方法和装置 |
-
2016
- 2016-02-04 CN CN201610080261.8A patent/CN105786562A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130041A1 (en) * | 2004-12-09 | 2006-06-15 | Advantest Corporation | Method and system for performing installation and configuration management of tester instrument modules |
CN101770366A (zh) * | 2009-11-27 | 2010-07-07 | 山东中创软件商用中间件股份有限公司 | 一种基于Web服务的eclipse插件存储及管理的方法 |
CN102411508A (zh) * | 2011-10-27 | 2012-04-11 | 深圳市茁壮网络股份有限公司 | 插件管理方法、插件控制器及插件管理器和机顶盒 |
CN102609267A (zh) * | 2012-02-16 | 2012-07-25 | 深圳市酷开网络科技有限公司 | 基于安卓浏览器的插件管理方法及系统 |
CN103389905A (zh) * | 2012-05-10 | 2013-11-13 | 航天信息股份有限公司 | 插件加载方法及系统 |
CN105045595A (zh) * | 2015-07-31 | 2015-11-11 | 百度在线网络技术(北京)有限公司 | 一种集成插件的方法和装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073499A (zh) * | 2016-11-10 | 2018-05-25 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法及装置 |
CN108073499B (zh) * | 2016-11-10 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法及装置 |
CN106775689A (zh) * | 2016-12-05 | 2017-05-31 | 广发证券股份有限公司 | 一种大数据应用开发的系统及方法 |
CN107291563A (zh) * | 2017-05-05 | 2017-10-24 | 广东网金控股股份有限公司 | 一种后端代码插件的调用方法和装置 |
CN107291563B (zh) * | 2017-05-05 | 2020-10-09 | 广东网金控股股份有限公司 | 一种后端代码插件的调用方法和装置 |
CN109240710A (zh) * | 2017-07-10 | 2019-01-18 | 珠海格力电器股份有限公司 | 一种个性化移动应用生成方法及其装置 |
CN108415844A (zh) * | 2018-03-22 | 2018-08-17 | 北京奇虎科技有限公司 | 插件化调试方法及装置 |
CN108415844B (zh) * | 2018-03-22 | 2022-03-08 | 北京奇虎科技有限公司 | 插件化调试方法及装置 |
CN111190609A (zh) * | 2018-11-14 | 2020-05-22 | 广东万丈金数信息技术股份有限公司 | 业务的处理方法、装置、设备和存储介质 |
CN111190609B (zh) * | 2018-11-14 | 2024-01-12 | 广东万丈金数信息技术股份有限公司 | 业务的处理方法、装置、设备和存储介质 |
CN110933507A (zh) * | 2019-11-15 | 2020-03-27 | 深圳市酷开网络科技有限公司 | 一种第三方媒体内容的播放方法、智能终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786562A (zh) | 一种集成插件的方法和装置 | |
CN110515806B (zh) | 探针配置方法、装置、计算机设备及存储介质 | |
CN105095059B (zh) | 一种自动化测试的方法和装置 | |
CN111756575B (zh) | 存储服务器的性能分析方法及装置、电子设备 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN104598380A (zh) | 一种基于控件的自动化测试方法及系统 | |
CN105512044B (zh) | 用于关键字驱动测试的对象库的更新方法及系统 | |
CN105446868B (zh) | 系统兼容性测试方法、测试用例管理方法及相关装置 | |
CN104978213B (zh) | 实现应用安装包的链接获取方法和装置 | |
CN108491322A (zh) | 自动化测试方法、装置及存储介质 | |
CN104820667A (zh) | 网页点击量的上报方法、装置和系统 | |
CN104899016A (zh) | 调用堆栈关系获取方法及装置 | |
CN106484464A (zh) | 调谐器芯片驱动方法和电子设备 | |
CN107632901A (zh) | 一种应用程序运行异常的自修复方法及装置 | |
CN106528430A (zh) | 一种应用程序的检测方法、装置及电子设备 | |
CN106326120A (zh) | 一种应用软件的回归测试方法及装置、电子设备 | |
CN106648685A (zh) | 智能终端系统应用的处理方法、装置及智能终端 | |
CN106201811A (zh) | 应用程序的故障恢复方法和终端 | |
CN104572394A (zh) | 进程监控方法及装置 | |
CN106649098A (zh) | 在终端设备上实现发布版本软件调试的方法和装置 | |
CN102982217B (zh) | 丝印的处理方法和装置 | |
CN103577215A (zh) | 一种软件卸载安装方法及系统 | |
CN109697338A (zh) | 一种软件安装拦截方法及相关装置 | |
CN106776728A (zh) | 基于日志文件分析的代码检查方法、系统及开发平台 | |
CN101221502A (zh) | 软件测试的案例设计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160720 |