基于Linux操作系统的安卓应用功能自动化测试方法及装置制造方法及图纸

技术编号:36259287 阅读:57 留言:0更新日期:2023-01-07 09:56
本发明专利技术涉及一种基于Linux操作系统的安卓应用功能自动化测试方法及装置,属于终端应用测试技术领域,解决了现有测试形式单一和由于容器的沙箱机制而无法进行传统的安卓自动化测试的问题。方法包括:获取测试请求,测试请求包括应用测试类型;将测试环境与安卓环境通过网络桥接建立通信;根据预设文件获取测试应用列表;基于测试应用列表安装测试应用;基于应用测试类型获取测试事件;获取测试应用定位信息;根据测试事件对测试应用进行测试并提取测试结果;以及根据应用测试类型和测试结果生成测试报告。针对Linux操作系统中的安卓兼容环境,对容器中安卓应用功能自动化测试。在测试前通过预设文件选择测试应用,完成单个或多个应用的自动化测试。应用的自动化测试。应用的自动化测试。

【技术实现步骤摘要】
基于Linux操作系统的安卓应用功能自动化测试方法及装置


[0001]本专利技术涉及终端应用测试
,尤其涉及一种基于Linux操作系统的安卓应用功能自动化测试方法及装置。

技术介绍

[0002]在现有安卓自动化测试中,主要是通过上位机与实体设备或模拟器建立连接后利用appium或uiautomator等工具来获取应用元素进行定位执行自动化测试,未涉及到Linux操作系统容器环境中安卓应用的自动化测试;在传统的安卓自动化测试中往往仅对单一应用进行测试,测试形式比较单一。
[0003]Linux操作系统中采用的安卓兼容环境技术方案与常见模拟器有较大的区别,其通过容器运行安卓系统,直接使用Linux操作系统的内核;由于容器的沙箱机制,使得传统的安卓自动化测试无法进行。

技术实现思路

[0004]鉴于上述的分析,本专利技术实施例旨在提供一种基于Linux操作系统的安卓应用功能自动化测试方法及装置,用以解决现有测试形式比较单一并且由于容器的沙箱机制,使得无法进行传统的安卓自动化测试等问题。
[0005]一方面,本专利技术实施例提供了一种基于Linux操作系统的安卓应用功能自动化测试方法,包括:获取测试请求,所述测试请求包括应用测试类型;将测试环境与安卓环境通过网络桥接建立通信;根据预设文件获取测试应用列表;基于所述测试应用列表安装测试应用;基于所述应用测试类型获取测试事件;获取测试应用定位信息;根据所述测试事件对所述测试应用进行测试并提取测试结果;以及根据所述应用测试类型和所述测试结果生成测试报告。
[0006]上述技术方案的有益效果如下:根据提前设定好的测试用例自动完成单个或多个应用的自动化测试优化了只对单一应用进行测试的问题,针对Linux操作系统中的安卓兼容环境,首次提出了对容器中安卓应用功能自动化测试。在测试前通过预设文件进行测试应用的选择,自动完成单个或多个应用的自动化测试。
[0007]基于上述方法的进一步改进,获取测试请求包括:通过所述预设文件获取所述应用测试类型;获取安卓环境信息,其中,所述安卓环境信息包括安卓系统信息、安卓兼容环境及其依赖应用的信息;获取操作系统信息,其中,所述操作系统信息包括Linux系统信息和内核信息;获取测试机的硬件信息,所述硬件信息包括处理器、显卡信息、pc整机型号、内核版本、系统版本、内存大小;获取指定打印信息的详细级别。
[0008]基于上述方法的进一步改进,通过所述预设文件获取应用测试类型包括:进行一个或多个应用的功能用例自动化测试;进行一个或多个应用的兼容性测试,其中,所述一个或多个应用的兼容性测试包括应用安装、应用启动、应用卸载;以及进行上一论测试失败项的重试测试,其中,所述测试失败项包括执行测试用例脚本但未通过脚本结果校验的测试
项。
[0009]基于上述方法的进一步改进,根据预设文件获取测试应用列表包括:通过open函数读取所述预设文件中的测试应用白名单列表;将所述测试应用白名单列表中的所有应用从所述测试应用列表中删除以更新所述测试应用列表;以及通过所述预设文件获取应用的适用版本。
[0010]基于上述方法的进一步改进,基于所述测试应用列表安装测试应用包括:从所述测试应用列表中获取测试应用名称;通过所述Linux操作系统参照所述测试应用名称安装所述测试应用;获取安装的测试应用版本并与所述应用的适用版本进行对比,并将对比结果输出到所述测试报告。
[0011]基于上述方法的进一步改进,基于所述应用测试类型获取测试事件包括:根据所述应用测试类型获取相应的测试用例库;根据所述测试用例库获取应用用例集;以及获取所述应用用例集中用例信息,其中,所述用例信息包括用例编号、被测模块、用例名称、用例步骤、步骤预期,其中,针对各个测试应用预先编写测试应用的测试用例和所述测试用例的自动化脚本并将所述测试用例的自动化脚本与相应的测试应用进行绑定并存储至所述测试用例库。
[0012]基于上述方法的进一步改进,获取测试应用定位信息包括:通过安卓测试框架进行获取应用元素定位信息操作;当应用元素定位失败时,通过将屏幕分为多个区域进行图片比对,当比对结果达到设定相似度阈值后进行获取中心坐标操作;以及当图片对比失败时,通过屏幕坐标进行操作。
[0013]基于上述方法的进一步改进,根据所述测试事件对所述测试应用进行测试包括:按预设的应用测试类型进行测试;获取并记录应用崩溃事件,忽略所述应用崩溃事件对测试的影响;获取并记录测试超时事件,忽略所述测试超时事件对测试的影响;以及当所述应用崩溃事件和所述测试超时事件发生时,抓取并保存应用运行日志、安卓环境日志及安卓环境资源使用信息。
[0014]基于上述方法的进一步改进,提取测试结果包括:通过所述安卓测试框架获取应用元素提取所述测试结果;当元素提取结果失败时,通过图象识别提取所述测试结果;以及当图像识别提取结果失败时,通过预设图像比对获取所述测试结果。
[0015]另一方面,本专利技术实施例提供了一种基于Linux操作系统的安卓应用功能自动化测试装置,包括:请求获取模块,用于获取测试请求,其中,所述测试请求包括应用测试类型;通信建立模块,用于将测试环境与安卓环境通过网络桥接建立通信;列表获取模块,用于根据预设文件获取测试应用列表;安装模块,用于基于所述测试应用列表安装测试应用;事件获取模块,用于基于所述应用测试类型获取测试事件;定位模块,用于获取测试应用定位信息;测试模块,用于根据所述测试事件对所述测试应用进行测试并提取测试结果;以及报告生成模块,用于根据所述应用测试类型和所述测试结果生成测试报告。
[0016]与现有技术相比,本专利技术至少可实现如下有益效果之一:
[0017]1、根据提前设定好的测试用例自动完成单个或多个应用的自动化测试优化了只对单一应用进行测试的问题,针对Linux操作系统中的安卓兼容环境,首次提出了对容器中安卓应用功能自动化测试。在测试前通过预设文件进行测试应用的选择,自动完成单个或多个应用的自动化测试;
[0018]2、在记录应用崩溃、超时事件发生时,会记录崩溃、超时事件日志,并忽略该事件对测试的影响继续进行下一测试;
[0019]3、通过多种定位方式(通过页面元素识别、图像比对、屏幕坐标等技术)解决原生框架定位能力相对薄弱的问题,实现多种方式(例如,通过页面元素识别、图片文字识别、图像比对等技术)对测试结果的提取确保了测试结果的准确性,确保了测试的可靠性;
[0020]4、通过添加第一控制进程,完成对安卓兼容环境中的安装应用进行自动化测试,并实现了对环境中多个应用进行自动化测试;通过添加第二控制进程,完成安卓兼容环境监控、收集环境日志并保存,实现了在对安卓应用进行测试的同时监控安卓兼容环境资源使用情况,减少了人工干预,方便了测试结果的分析,提升了效率。
[0021]本专利技术中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Linux操作系统的安卓应用功能自动化测试方法,其特征在于,包括:获取测试请求,所述测试请求包括应用测试类型;将测试环境与安卓环境通过网络桥接建立通信;根据预设文件获取测试应用列表;基于所述测试应用列表安装测试应用;基于所述应用测试类型获取测试事件;获取测试应用定位信息;根据所述测试事件对所述测试应用进行测试并提取测试结果;以及根据所述应用测试类型和所述测试结果生成测试报告。2.根据权利要求1所述的基于Linux操作系统的安卓应用功能自动化测试方法,其特征在于,获取测试请求包括:通过所述预设文件获取所述应用测试类型;获取安卓环境信息,其中,所述安卓环境信息包括安卓系统信息、安卓兼容环境及其依赖应用的信息;获取操作系统信息,其中,所述操作系统信息包括Linux系统信息和内核信息;获取测试机的硬件信息,所述硬件信息包括处理器、显卡信息、pc整机型号、内核版本、系统版本、内存大小;获取指定打印信息的详细级别。3.根据权利要求2所述的基于Linux操作系统的安卓应用功能自动化测试方法,其特征在于,通过所述预设文件获取应用测试类型包括:进行一个或多个应用的功能用例自动化测试;进行一个或多个应用的兼容性测试,其中,所述一个或多个应用的兼容性测试包括应用安装、应用启动、应用卸载;以及进行上一论测试失败项的重试测试,其中,所述测试失败项包括执行测试用例脚本但未通过脚本结果校验的测试项。4.根据权利要求1所述的基于Linux操作系统的安卓应用功能自动化测试方法,其特征在于,根据预设文件获取测试应用列表包括:通过open函数读取所述预设文件中的测试应用白名单列表;将所述测试应用白名单列表中的所有应用从所述测试应用列表中删除以更新所述测试应用列表;以及通过所述预设文件获取应用的适用版本。5.根据权利要求4所述的基于Linux操作系统的安卓应用功能自动化测试方法,其特征在于,基于所述测试应用列表安装测试应用包括:从所述测试应用列表中获取测试应用名称;通过所述Linux操作系统参照所述测试应用名称安装所述测试应用;获取安装的测试应用版本并与所述应用的适用版本进行对比,并将对比结果输出到所述测试报告。6.根据权利要求1所述的基于Linux操作系统的安卓应用功能自动化测试方法,其特征在于...

【专利技术属性】
技术研发人员:陈威唐晓东陈妮匡雅婷邱鲤跳
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

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

1