当前位置: 首页 > 专利查询>安然专利>正文

基于IOS系统的APP页面控件自动化方法及装置制造方法及图纸

技术编号:31379144 阅读:24 留言:0更新日期:2021-12-15 11:21
基于IOS系统的APP页面控件自动化方法及装置,启动移动设备的屏幕朗读,以暴露待测试的应用程序的界面元素;在移动设备构建HTTP服务器框架,对移动设备进行域名映射,通过HTTP服务器框架进行域名映射后的移动设备和测试电脑端的通信;对移动设备运行待测试应用程序的过程进行屏幕快照,对屏幕快照遍历查询页面属性数据,测试电脑端通过HTTP服务器框架向移动设备发送待测试的应用程序操控请求;根据需要查询的页面属性数据找到对应页面属性数据的控件元素,根据控件元素的坐标信息进行页面触发操作。本发明专利技术实现移动设备端的自动化,测试电脑端和移动设备能直接进行通信,无需进行端口映射,灵敏度高,测试效率高,可扩展性强。可扩展性强。可扩展性强。

【技术实现步骤摘要】
基于IOS系统的APP页面控件自动化方法及装置


[0001]本专利技术涉及一种基于IOS系统的APP页面控件自动化方法及装置,属于软件测试


技术介绍

[0002]Flutter是Google推出的跨平台UI框架,可以实现一套代码,多端复用。Flutter技术的引入,使得原来需要为Android、IOS编写两套代码,现在仅需编写一套代码,提高了研发效率,虽然Flutter技术能够提高研发效率,但仍需对不同平台的Flutter页面进行测试。
[0003]现有技术中,存在较多的测试方案,其中,Flutter driver缺少定位工具,代码维护成本高,需要使用不常见的Dart语言,并且要花费较多的时间理解项目代码。而AI图片识别结合光学字符识别的方式,只能作为辅助,没有底层出发的控件识别快;难以准确的计算页面加载,且有一定的出错情况。现阶段,手机端的应用程序测试,缺少一个自动化的框架,电脑端和手机端的通信需要进行端口映射,灵敏度较低,测试效率也不高,无法实现电脑端和手机端的直接通信。如何实现APP页面控件特别是flutter页面控件自动化,并且增加应用程序测试的可扩展性是一个亟待解决的技术问题。

技术实现思路

[0004]为此,本专利技术提供一种基于IOS系统的APP页面控件自动化方法及装置,以解决手机端的应用程序测试,缺少一个自动化的框架,灵敏度和测试效率低,难以应对复杂多变场景的问题。
[0005]为了实现上述目的,本专利技术提供如下技术方案:基于IOS系统的APP页面控件自动化方法,包括以下步骤:
[0006]基于IOS系统的APP页面控件自动化方法,包括以下步骤:
[0007]将待测试的应用程序安装在移动设备,所述移动设备运行有IOS系统,启动所述移动设备的屏幕朗读,以暴露待测试的应用程序的界面元素;
[0008]在所述移动设备构建跨域和域名解析的HTTP服务器框架,对所述移动设备进行域名映射,通过所述HTTP服务器框架进行域名映射后的移动设备和测试电脑端的通信;
[0009]对所述移动设备运行待测试应用程序的过程进行屏幕快照,对所述屏幕快照进行遍历查询页面属性数据,所述测试电脑端向所述移动设备的HTTP服务器框架发送待测试的应用程序操控请求;
[0010]根据需要查询的页面属性数据找到对应页面属性数据的控件元素,根据所述控件元素的坐标信息进行页面属性触发操作。
[0011]作为基于IOS系统的APP页面控件自动化方法的优选方案,通过GCD Web Server构建HTTP服务器框架,在移动设备上实现跨域的HTTP服务器;
[0012]所述测试电脑端通过跨域HTTP服务器和域名解析向所述移动设备发送通信请求,所述移动设备的HTTP服务器向测试电脑端返回响应结果。
[0013]作为基于IOS系统的APP页面控件自动化方法的优选方案,采用Snapshot对所述移动设备运行待测试应用程序的过程进行屏幕快照,以Snap变量作为根节点继续递归遍历所有的元素节点,遍历时取到每个节点的各个子节点的各个属性值;
[0014]将应用程序的当前页面控件属性映射为哈希值,将所述哈希值作为当前页面的唯一标识符;获取待测试应用程序的实时只读镜像模拟应用程序运行事件;
[0015]将得到的各个子节点的各个属性值进行拼接,将拼接后的字符串映射为所述哈希值;通过哈希值是否变化判断应用程序的界面变化情况。
[0016]作为基于IOS系统的APP页面控件自动化方法的优选方案,所述哈希值还包括屏幕快照的二进制哈希或屏幕快照base64的字符串哈希,通过包含屏幕快照的二进制哈希或屏幕快照base64的字符串哈希的哈希值判断应用程序的界面变化情况。
[0017]作为基于IOS系统的APP页面控件自动化方法的优选方案,判断应用程序的界面变化情况的步骤包括:
[0018]获取页面哈希,判断哈希值是否变化;如果变化,判断当前哈希值是否已存在于哈希表中,若当前哈希值不存在于哈希表中,将当前页面的哈希结果作为所述哈希值;
[0019]根据应用程序的界面变化情况进行应用程序的页面加载性能测试。
[0020]作为基于IOS系统的APP页面控件自动化方法的优选方案,当所述哈希值中包含测试应用程序的启动页加载时间时,通过判断启动页的哈希值是否出现判断启动页是否加载完毕。
[0021]作为基于IOS系统的APP页面控件自动化方法的优选方案,通过正则表达式将应用程序促销页面的页面倒计时字符串去除。
[0022]作为基于IOS系统的APP页面控件自动化方法的优选方案,将所述移动设备中构建的HTTP服务器伪装成IOS系统允许持续运行的应用程序;
[0023]所述持续运行的应用程序包括音乐播放器或地图定位软件。
[0024]本专利技术还提供一种基于IOS系统的APP页面控件自动化装置,将待测试的应用程序安装在移动设备,所述移动设备运行有IOS系统,包括:
[0025]页面元素暴露模块,用于启动所述移动设备的屏幕朗读,以暴露待测试的应用程序的界面元素;
[0026]服务器构建模块,用于在所述移动设备构建跨域和域名解析的HTTP服务器框架,对所述移动设备进行域名映射,通过所述HTTP服务器框架进行域名映射后的移动设备和测试电脑端的通信;
[0027]应用程序处理模块,对所述移动设备运行待测试应用程序的过程进行屏幕快照,对所述屏幕快照进行遍历查询页面属性数据,所述测试电脑端向所述移动设备的HTTP服务器框架发送待测试的应用程序操控请求;
[0028]程序操控模块,用于根据需要查询的页面属性数据找到对应页面属性数据的控件元素,根据所述控件元素的坐标信息进行页面属性触发操作,获取待测试应用程序的实时只读镜像模拟应用程序运行事件。
[0029]作为基于IOS系统的APP页面控件自动化装置的优选方案,通过GCD Web Server构建HTTP服务器框架,在移动设备上实现跨域的HTTP服务器;
[0030]所述测试电脑端通过跨域HTTP服务器和域名解析向所述移动设备发送通信请求,
所述移动设备的HTTP服务器向测试电脑端返回响应结果。
[0031]作为基于IOS系统的APP页面控件自动化装置的优选方案,采用Snapshot对所述移动设备运行待测试应用程序的过程进行屏幕快照,以Snap变量作为根节点继续递归遍历所有的元素节点,遍历时取到每个节点的各个子节点的各个属性值;
[0032]将应用程序的当前页面控件属性映射为哈希值,将所述哈希值作为当前页面的唯一标识符;获取待测试应用程序的实时只读镜像模拟应用程序运行事件;
[0033]将得到的各个子节点的各个属性值进行拼接,将拼接后的字符串映射为所述哈希值;通过哈希值是否变化判断应用程序的界面变化情况。
[0034]作为基于IOS系统的APP页面控件自动化装置的优选方案,所述哈希值还包括屏幕快照的二进制哈希或屏幕快照base64本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于IOS系统的APP页面控件自动化方法,其特征在于,包括以下步骤:将待测试的应用程序安装在移动设备,所述移动设备运行有IOS系统,启动所述移动设备的屏幕朗读,以暴露待测试的应用程序的界面元素;在所述移动设备构建跨域和域名解析的HTTP服务器框架,对所述移动设备进行域名映射,通过所述HTTP服务器框架进行域名映射后的移动设备和测试电脑端的通信;对所述移动设备运行待测试应用程序的过程进行屏幕快照,对所述屏幕快照进行遍历查询页面属性数据,所述测试电脑端向所述移动设备的HTTP服务器框架发送待测试的应用程序操控请求;根据需要查询的页面属性数据找到对应页面属性数据的控件元素,根据所述控件元素进行页面属性触发操作。2.根据权利要求1所述的基于IOS系统的APP页面控件自动化方法,其特征在于,通过GCD Web Server构建HTTP服务器框架,在移动设备上实现跨域的HTTP服务器;所述测试电脑端通过跨域HTTP服务器和域名解析向所述移动设备发送通信请求,所述移动设备的HTTP服务器向测试电脑端返回响应结果。3.根据权利要求1所述的基于IOS系统的APP页面控件自动化方法,其特征在于,采用Snapshot对所述移动设备运行待测试应用程序的过程进行屏幕快照,以Snap变量作为根节点继续递归遍历所有的元素节点,遍历时取到每个节点的各个子节点的各个属性值;将应用程序的当前页面控件属性映射为哈希值,将所述哈希值作为当前页面的唯一标识符;获取待测试应用程序的实时只读镜像模拟应用程序运行事件;将得到的各个子节点的各个属性值进行拼接,将拼接后的字符串映射为所述哈希值;通过哈希值是否变化判断应用程序的界面变化情况。4.根据权利要求3所述的基于IOS系统的APP页面控件自动化方法,其特征在于,所述哈希值还包括屏幕快照的二进制哈希或屏幕快照base64的字符串哈希,通过包含屏幕快照的二进制哈希或屏幕快照base64的字符串哈希的哈希值判断应用程序的界面变化情况。5.根据权利要求4所述的基于IOS系统的APP页面控件自动化方法,其特征在于,判断应用程序的界面变化情况的步骤包括:获取页面哈希,判断哈希值是否变化;如果变化,判断当前哈希值是否已存在于哈希表中,若当前哈希值不存在于哈希表中,将当前页面的哈希结果作为所述哈希值;根据应用程序的界面变化情况进行应用程序的页面加载性能测试。6.根据权利要求5所述的基于IOS系统的APP页面控件自动化方法,其特征在于,当所述哈希值中包含测试应用程序的启动页加载时间时,通过判断启动页的哈希值是否出现判断启动页是否加载完毕。7.根据权利要求5所述的基于IOS系统的APP页面控件自动化方法,其特征在于,通过正则表达式将应用程序促销页面的页面倒计时字符串去除。8....

【专利技术属性】
技术研发人员:安然
申请(专利权)人:安然
类型:发明
国别省市:

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

1