应用信息采集方法、系统、电子设备及存储介质技术方案

技术编号:30404760 阅读:17 留言:0更新日期:2021-10-20 11:05
本申请公开了一种应用信息采集方法、系统、电子设备及存储介质。本申请的方法包括:获取初始链接工程、应用程序的应用信息以及应用程序的页面初始信息,然后将获取到的应用信息以及页面初始信息导入初始链接工程中,生成动态链接工程,接着编译动态链接工程,得到动态链接库,最后将动态链接库加载到应用程序中,使得应用程序可以根据动态链接库采集应用程序的页面目标信息。本申请在应用程序开发完成后再链接动态链接库,通过动态链接库采集页面目标信息,无需侵入应用程序的功能代码,也无需使用操作系统的原生测试框架,能够保证开发人员在开发应用时不用专门开发对应页面控件的测试脚本,并按照用户需求快速获取应用的页面初始信息。面初始信息。面初始信息。

【技术实现步骤摘要】
应用信息采集方法、系统、电子设备及存储介质


[0001]本申请涉及自动化测试领域,特别涉及一种应用信息采集方法、系统、电子设备及存储介质。

技术介绍

[0002]一些操作系统的自动化框架通常是通过UI(使用者界面,UserInterface)控件检索技术来获取操作系统应用页面中原生元素的位置和信息,方便编写对应控件的测试脚本模拟点击或者其它操作实现自动化测试的目的。由于有部分操作系统并非开源系统,所以提供自定义的服务非常有限,导致自动测试通常需要开发人员在开发阶段手动添加对应页面元素,比如指定控件按钮、文本等的脚本,然后再通过操作系统原生的UI测试框架,但是这样做无法有效地采集到页面元素的所有信息。
[0003]目前,可以通过第三方跨平台测试自动化工具来链接操作系统的原生框架,实现获取操作系统设备启动应用页面中的原生元素的信息,如控件名称、控件类型、宽高、坐标等等。但是通过第三方跨平台测试工具返回的页面数据并非控件的全部的属性,而是按自动化测试工具功能输出的自定义数据,自动化测试工具输出的自定义数据可能无法采集用户需要的元素属性数据,从而无法满足一定深度的测试需求。

技术实现思路

[0004]本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种应用信息采集方法、系统、电子设备及存储介质,无需使用操作系统的原生测试框架,能够保证开发人员在开发应用时不需要专门开发对应页面控件的测试脚本,并且按照用户需求快速获取应用的页面初始信息。
[0005]根据本申请的第一方面实施例的应用信息采集方法,包括:
[0006]获取初始链接工程、应用程序的应用信息和页面初始信息;
[0007]将所述应用信息和所述页面初始信息导入所述初始链接工程,生成动态链接工程;
[0008]编译所述动态链接工程,得到动态链接库;
[0009]将所述动态链接库加载到所述应用程序,以使所述应用程序根据所述动态链接库采集页面目标信息。
[0010]根据本申请实施例的应用信息采集方法,至少具有如下有益效果:
[0011]获取初始链接工程、应用程序的应用信息以及应用程序的页面初始信息,然后将获取到的应用信息以及页面初始信息导入初始链接工程中,生成动态链接工程,接着编译动态链接工程,得到动态链接库,最后将动态链接库加载到应用程序中,使得应用程序可以根据动态链接库采集应用程序的页面目标信息。本申请在应用程序开发完成后再链接动态链接库,通过动态链接库采集页面目标信息,无需侵入应用程序的功能代码,也无需使用操作系统的原生测试框架,能够保证开发人员在开发应用时不需要专门开发对应页面控件的
测试脚本,并且按照用户需求快速获取应用的页面初始信息。
[0012]根据本申请的一些实施例,所述应用程序的页面初始信息,通过以下步骤获取:
[0013]获取预设应用的页面视图;
[0014]过滤所述页面视图中的内部子控件;
[0015]提取所述页面视图中的页面初始信息,所述页面初始信息包括控件信息。
[0016]根据本申请的一些实施例,所述方法还包括:
[0017]获取所述控件信息对应的控件变量以及所述控件变量调用的控件方法;
[0018]对所述控件变量以及所述控件方法进行序列化,生成序列信息。
[0019]根据本申请的一些实施例,所述将所述动态链接库加载到所述应用程序,包括:
[0020]基于所述应用信息确定所述应用程序所应用的操作系统;
[0021]获取所述操作系统的开发工具;
[0022]通过所述开发工具将所述动态链接库加载到所述预设应用中。
[0023]根据本申请的一些实施例,所述以使所述应用程序根据所述动态链接库采集所述页面目标信息,包括:
[0024]在所述动态链接库中建立通讯服务;
[0025]基于所述通讯服务采集所述应用程序中的页面目标信息。
[0026]根据本申请的一些实施例,所述将所述动态链接库加载到所述应用程序,包括:
[0027]获取所述应用程序进行编译和打包后生成的可执行文件;
[0028]将所述动态链接库加载至所述可执行文件中。
[0029]根据本申请的一些实施例,所述方法还包括:
[0030]获取所述动态链接库对应的第一签名证书和所述可执行文件对应的第二签名证书;
[0031]判断所述第一签名证书与所述第二签名证书的签名是否相同;
[0032]若是,则确定所述动态链接库加载正常。
[0033]根据本申请的第二方面实施例的应用信息采集系统,包括:
[0034]获取模块:所述获取模块用于获取初始链接工程、应用程序的应用信息和页面初始信息;
[0035]导入模块:所述导入模块用于将所述应用信息和所述页面初始信息导入所述初始链接工程,生成动态链接工程;
[0036]编译模块:所述编译模块用于编译所述动态链接工程,得到动态链接库;;
[0037]采集模块:所述采集模块用于将所述动态链接库加载到所述应用程序,以使所述应用程序根据所述动态链接库采集页面目标信息。
[0038]根据本申请实施例的应用信息采集系统,至少具有如下有益效果:
[0039]本申请实施例的应用信息采集系统包括获取模块、导入模块、编译模块和采集模块,获取模块获取初始链接工程、应用程序的应用信息以及应用程序的页面初始信息,导入模块将获取到的应用信息以及页面初始信息导入初始链接工程中,生成动态链接工程,编译模块编译动态链接工程,得到动态链接库,采集模块将动态链接库加载到应用程序中,使得应用程序可以根据动态链接库采集应用程序的页面目标信息。本申请在应用程序开发完成后再链接动态链接库,通过动态链接库采集页面目标信息,无需侵入应用程序的功能代
码,也无需使用操作系统的原生测试框架,能够保证开发人员在开发应用时不需要专门开发对应页面控件的测试脚本,并且按照用户需求快速获取应用的页面初始信息。
[0040]根据本申请的第三方面实施例的电子设备,包括:
[0041]至少一个处理器,以及,
[0042]与所述至少一个处理器通信连接的存储器;其中,
[0043]所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如本申请第一方面实施例任一项所述的应用信息采集方法。
[0044]根据本申请实施例的电子设备,至少具有如下有益效果:通过执行如第一方面实施例所述的应用信息采集方法,获取初始链接工程、应用程序的应用信息以及应用程序的页面初始信息,然后将获取到的应用信息以及页面初始信息导入初始链接工程中,生成动态链接工程,接着编译动态链接工程,得到动态链接库,最后将动态链接库加载到应用程序中,使得应用程序可以根据动态链接库采集应用程序的页面目标信息。本申请在应用程序开发完成后再链接动态链接库,通过动态链接库采集页面目标信息,无需侵入应用程序的功能代码,也无本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.应用信息采集方法,其特征在于,包括:获取初始链接工程、应用程序的应用信息和页面初始信息;将所述应用信息和所述页面初始信息导入所述初始链接工程,生成动态链接工程;编译所述动态链接工程,得到动态链接库;将所述动态链接库加载到所述应用程序,以使所述应用程序根据所述动态链接库采集页面目标信息。2.根据权利要求1所述的应用信息采集方法,其特征在于,所述应用程序的页面初始信息,通过以下步骤获取:获取预设应用的页面视图;过滤所述页面视图中的内部子控件;提取所述页面视图中的页面初始信息,所述页面初始信息包括控件信息。3.根据权利要求2所述的应用信息采集方法,其特征在于,所述方法还包括:获取所述控件信息对应的控件变量以及所述控件变量调用的控件方法;对所述控件变量以及所述控件方法进行序列化,生成序列信息。4.根据权利要求1所述的应用信息采集方法,其特征在于,所述将所述动态链接库加载到所述应用程序,包括:基于所述应用信息确定所述应用程序所应用的操作系统;获取所述操作系统的开发工具;通过所述开发工具将所述动态链接库加载到所述预设应用中。5.根据权利要求4所述的应用信息采集方法,其特征在于,所述以使所述应用程序根据所述动态链接库采集所述页面目标信息,包括:在所述动态链接库中建立通讯服务;基于所述通讯服务采集所述应用程序中的页面目标信息。6.根据权利要求1所述的应用信息采集方法,其特征在...

【专利技术属性】
技术研发人员:刘旭东张谷亮郑伟平
申请(专利权)人:卓望数码技术深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1