一种基于Python的移动端程序图像定位自动化测试方法与流程


一种基于python的移动端程序图像定位自动化测试方法
技术领域
1.本发明涉及软件测试技术领域,具体涉及一种基于python的移动端程序图像定位自动化测试方法。


背景技术:



2.在现代社会,随着智能手机及平板电脑等移动终端设备的普及,移动互联网飞速发展,依附于这些设备的第三方应用程序(app)大量涌入了人们的生活,为移动端程序开发商企业带来了巨大的商机。在这种形势下,如何对纷繁复杂的移动端程序进行高效的测试,满足用户对移动端程序长期多样化的需求,并借此提升企业的利润和市场占有率,已经成为企业必须要面对的现实问题。
3.目前已经公开的中国专利cn111488275a,一种基于b/s架构的mcu集自动化测试方法及系统,主要针对web程序进行ui自动化测试;cn111092784a,一种基于b/s架构的mcu集自动化测试方法及系统,主要对mcu设备上部署集通信脚本,测试针对的是mcu设备,并且运行环境安装复杂,涉及硬件及软件的安装,学习成本及时间成本较高。
4.目前在移动端领域,自动化测试框架现在已经非常多了。如appium等一系列基于uiautomator的框架,竞争非常激烈。但是,目前的移动端程序自动化测试工具还存在以下问题:
5.(1)有许多uiautomator覆盖不到的场景(例如游戏);
6.(2)在图像定位领域的移动端程序自动化测试方面,可以选择的并不多;
7.综上所述,我们会思考,可否采用一种基于python的移动端程序图像定位自动化测试方法来解决uiautomator等框架的还覆盖不到的场景。


技术实现要素:



8.本发明的目的在于提供一种基于python的移动端程序图像定位自动化测试方法。以期解决背景技术中存在的技术问题。
9.为了满足用户对移动端程序长期多样化的产品需求,提高企业的测试效率,方便企业搭建运行环境,尽量实现对移动端程序所有场景的自动化测试,鉴于此,本技术在现有的移动端程序自动化测试框架及图像定位基础库上做了改造和升级,实现了简单搭建运行环境,解决移动端程序的自动化测试,以便提高企业测试效率,降低企业测试成本。
10.为了实现上述目的,本发明采用以下技术方案:
11.一种基于python的移动端程序图像定位自动化测试方法,包括如下步骤:
12.在fitch类中调用fastcap对象,对被测移动端程序所在的手机进行截屏;
13.在fitch类中调用findit对象在被测移动端程序所在的手机截图上寻被测目标对象,并确定它的点位,通过图片路径加载图片进入被测目录;
14.在ficth类中调用pyminitouch&pyatool对象,对定位后的移动端程序进行检查或者操作;
15.在ficth类中调用logdir对象完成测试结果的输出。
16.在一些实施例中,所述在fitch类中调用fastcap对象,对被测移动端程序所在的手机进行截屏;包括:fastcap设计scale参数,scale参数定位截图四角的点位,按照系统内置的模板图片的大小比例对截图进行缩放,并对缩放后的截图和模板图片进行比较匹配,实现截图大小比例同模板图片一致。
17.在一些实施例中,所述通过图片路径加载图片进入被测目录中,加载的是一个列表,在列表加载完成后系统即可开始分析。
18.在一些实施例中,所述在ficth类中调用pyminitouch&pyatool对象,对定位后的移动端程序进行检查或者操作;包括:pyminitouch对象对被测程序模拟人工操作进行屏幕点击,pyatool对象会记录相关操作输出结果的点位,并和被测目录中的图片名称及图片目标进行比较。
19.有益效果
20.本发明与现有技术相比,其显著优点是:
21.支持使用一套自动化测试框架及图像定位基础库来测试移动端程序,尽量实现了对移动端程序所有场景的自动化测试,通过使用ficth类中的对象在测试过程中对手机屏幕上进行截屏,在截图中通过图像定位技术寻目标模板,并确定它的位置,然后对其进行自动化检查,解决移动端程序的自动化测试,以便提高企业测试效率,降低企业测试成本。
22.运行环境采用python环境,得益于minitouch/minicap/opencv的存在,让fitch类能够维持高效地运转,简单易用,降低用户的学习成本和时间成本。
附图说明
23.图1是本发明公开的一种基于python的移动端程序图像定位自动化测试方法的流程图;
具体实施方式
24.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
25.相反,本技术涵盖任何由权利要求定义的在本技术的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本技术有更好的了解,在下文对本技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本技术。
26.以下将结合图1对本技术实施例所涉及的一种基于python的移动端程序图像定位自动化测试方法进行详细说明。值得注意的是,以下实施例仅仅用于解释本技术,并不构成对本技术的限定。
27.经过分析发现,虽然移动端程序开发语言(ios,android)不同,应用类型(购物,聊天)不同,但我们可以在测试过程中对手机屏幕上进行截屏,在截图中通过图像定位技术寻目标模板,并确定它的位置,然后对其进行自动化检查。
28.如图1所示,本专利采用一种基于python的移动端程序图像定位自动化测试方法,
针对被测移动端程序运行一个或多个脚本(scenario)。
29.(1)本专利的ficth类调用fastcap对象,对被测移动端程序所在的手机进行截屏,为了更好的检测率,fastcap专门设计了scale参数,该参数会首先定位截图四角的点位,按照系统内置的模板图片的大小比例对截图进行缩放,并对缩放后的截图和模板图片进行比较匹配,实现截图大小比例同模板图片一致;
30.(2)本专利的ficth类在fitch类中并确定它的点位(如524,364),通过图片路径加载图片进入被测目录,传入的是一个列表,形式为(图片名称,图片目标),在列表加载完成后系统即可开始分析;
31.(3)本专利的ficth类调用pyminitouch&pyatool对象,对定位后的移动端程序进行检查或者操作,首先pyminitouch对象对被测程序模拟人工操作进行屏幕点击,pyatool对象会记录相关操作输出结果的点位,并和被测目录中的图片名称及图片目标进行比较;
32.(4)本专利的ficth类最后调用logdir对象完成测试结果的输出。
33.本专利运行环境采用python环境,得益于minitouch/minicap/opencv的存在,让fitch类能够维持高效地运转。python环境配置简单,使用广泛,另外需要安装的插件较少,这样便于初学者使用,降低了初学者搭建运行环境的时间成本。
34.步骤一、本专利针对被测移动端程序,在fitch类中调用如下一段代码:
35.在fitch类中调用如下一段代码:
[0036][0037][0038]
步骤二、本专利的ficth类调用fastcap对象,对被测移动端程序所在的手机进行截屏,为了更好的检测率,fastcap专门设计了scale参数,该参数会首先定位截图四角的点位,按照系统内置的模板图片的大小比例对截图进行缩放,并对缩放后的截图和模板图片进行比较匹配,实现截图大小比例同模板图片一致。
[0039]
步骤三、本专利的ficth类调用findit对象在被测移动端程序所在的手机截图上寻被测目标对象,并确定它的点位(如524,364),通过图片路径加载图片进入被测目录,传入的是一个列表,形式为(图片名称,图片目标),在列表加载完成后系统即可开始分析;
[0040]
{

data

:{

wechat_logo

:{

featureengine

:(524.6688232421875,364.54248046875),

templateengine

:(505.5,374.5)}},
[0041]

target_name

:

screen

,
[0042]

target_path

:

pics/screen.png

}
[0043]
通过上述数据可以知道,被测移动端程序的图表最可能出现的点位:
[0044]
feature matching的计算结果是(524,364)
[0045]
template matching的计算结果是(505,374)
[0046]
步骤四、本专利的ficth类调用pyminitouch&pyatool对象,对定位后的移动端程序进行检查或者操作,首先pyminitouch对象对被测程序模拟人工操作进行屏幕点击,pyatool对象会记录相关操作输出结果的点位,并和被测目录中的图片名称及图片目标进行比较;
[0047]
步骤五、本专利的ficth类最后调用logdir对象完成测试结果的输出。
[0048]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种基于python的移动端程序图像定位自动化测试方法,其特征在于,包括如下步骤:在fitch类中调用fastcap对象,对被测移动端程序所在的手机进行截屏;在fitch类中调用findit对象在被测移动端程序所在的手机截图上寻被测目标对象,并确定它的点位,通过图片路径加载图片进入被测目录;在ficth类中调用pyminitouch&pyatool对象,对定位后的移动端程序进行检查或者操作;在ficth类中调用logdir对象完成测试结果的输出。2.根据权利要求1所述的一种基于python的移动端程序图像定位自动化测试方法,其特征在于,所述在fitch类中调用fastcap对象,对被测移动端程序所在的手机进行截屏;包括:fastcap设计scale参数,scale参数定位截图四角的点位,按照系统内置的模板图片的大小比例对截图进行缩放,并对缩放后的截图和模板图片进行比较匹配,实现截图大小比例同模板图片一致。3.根据权利要求1所述的一种基于python的移动端程序图像定位自动化测试方法,其特征在于,所述通过图片路径加载图片进入被测目录中,加载的是一个列表,在列表加载完成后系统即可开始分析。4.根据权利要求1所述的一种基于python的移动端程序图像定位自动化测试方法,其特征在于,所述在ficth类中调用pyminitouch&pyatool对象,对定位后的移动端程序进行检查或者操作;包括:pyminitouch对象对被测程序模拟人工操作进行屏幕点击,pyatool对象会记录相关操作输出结果的点位,并和被测目录中的图片名称及图片目标进行比较。

技术总结


本发明提供了一种基于Python的移动端程序图像定位自动化测试方法,涉及软件测试技术领域。包括如下步骤:在fitch类中调用fastcap对象,对被测移动端程序所在的手机进行截屏;在fitch类中调用findit对象在被测移动端程序所在的手机截图上寻被测目标对象,并确定它的点位,通过图片路径加载图片进入被测目录;在ficth类中调用pyminitouch&pyatool对象,对定位后的移动端程序进行检查或者操作;在ficth类中调用logDir对象完成测试结果的输出。通过使用ficth类中的对象在测试过程中对手机屏幕上进行截屏,在截图中通过图像定位技术寻目标模板,并确定它的位置,然后对其进行自动化检查,解决移动端程序的自动化测试,以便提高企业测试效率,降低企业测试成本。降低企业测试成本。降低企业测试成本。


技术研发人员:

廖雷 左红 徐庭锐

受保护的技术使用者:

四川启睿克科技有限公司

技术研发日:

2022.08.31

技术公布日:

2022/12/16

本文发布于:2024-09-23 02:17:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/36322.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   测试   对象   图片
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议