一种移动APP轮播图自动选择点击方法与流程

文档序号:16917427发布日期:2019-02-19 19:04阅读:707来源:国知局
一种移动APP轮播图自动选择点击方法与流程

本发明涉及图像识别和图片像素对比技术领域,具体涉及一种移动app轮播图自动选择点击方法。



背景技术:

目前,没有一种可以有效实现自动化黑盒测试轮播图点击的方案。如果单纯使用地使用轮播图控件识别的方式很难实现准确点击,例如:轮播图上的循环控件的class、id、生成的xpath基本上都一致,所以如果遇到没有text文本的轮播图是无法有效识别并点击的。如果使用现有的开源的图像识别技术,先按照区域截图,然后通过相似度调节识别,最后再使用其他的方式进行点击(例如:生成monkey脚本进行点击),这个过程看似很正确,但是忽略了大部分的轮播图是会自动滚动的,而且各个app或者网页的轮播图的等待时间是不同的,因此单纯的图像识别技术无法满足全部类型的轮播图点击。



技术实现要素:

针对现有技术的不足,本发明旨在提供一种移动app轮播图自动选择点击方法,可以有效提高移动设备轮播图自动选择点击的速度和准确性,实现轮播图设计的多样性、多设备、跨平台(android和ios)。

为了实现上述目的,本发明采用如下技术方案:

一种移动app轮播图自动选择点击方法,包括如下步骤:

s1、录制需要测试的轮播图区域,并设置图片识别所需参数;所述参数包括:

轮播图张数:即在轮播图区域有多少张滚动的图片;

是否自动滚动:即设置轮播为自动滚动或不自动滚动;

间隔时间:即设置为自动滚动时,一张图片从出现到自动滚动至下一张图片需要多长时间;

相似度:即图片对比需要达到的相似度;

超时时间:需要在超时时间内完成识别目标图片并做点击操作的测试,如果在超时时间内没有完成测试就算自动化测试失败,提前完成自动化测试就提前结束;

图片区域:即录制时存储的需要进行点击的目标图片区域bufferimage-a_sub;如果在设置是否自动滚动时设置轮播图不自动滚动,就要在轮播图的每张图片上记录滑动轨迹;

s2、在移动设备上对轮播图进行测试:先使用截图工具截取移动设备的整张屏幕的截图,然后将截图信息bufferimage-b发送到pc端;

s3、pc端通过录制时得到的需要测试的轮播图区域的相对位置,算出bufferimage-b的对比区域bufferimage-b_sub,然后通过opencv将bufferimage-b_sub与bufferimage-a_sub进行图片对比;如果bufferimage-b_sub和bufferimage-a_sub的相似度大于或等于步骤s1中设置的相似度,就记录下此时的bufferimage-b_sub的属性信息,然后当设置轮播图为不自动滚动时,跳转至步骤s5,否则跳转至步骤s4;如果相似度小于步骤s1中设置的相似度,则跳转至步骤s6;

s4、再使用截图工具截取移动设备的整张屏幕的截图,然后将该截图信息bufferimage-c发送到pc端;pc端通过录制时得到的需要测试的轮播图区域的相对位置,算出bufferiamge-c的对比区域bufferimage-c_sub,然后通过opencv将bufferimage-b_sub与bufferimage-c_sub进行像素对比,如果相似度大于或等于步骤s1中设置的相似度,就记录下此时的bufferimage-c_sub的属性信息,跳转至s5,否则重新执行步骤s4;

s5、点击图片中央,自动化测试完成;

s6、如果轮播图设置为自动滚动,则在等待设定的时间之后重新返回步骤s2;如果轮播图设置为不自动滚动,则根据图片的滑动轨迹执行滑动操作之后返回步骤s2。

进一步地,步骤s1中,相似度设置为百分之九十五或以上。

进一步地,步骤s1中,所述超时时间最少设置为(轮播图张数*间隔时间*2)秒。

进一步地,步骤s1中,每张图片的滑动轨迹由多个连结的坐标点组成。

进一步地,步骤s2中,通过socket通讯将截图信息bufferimage-b发送到pc端;步骤s4中,通过socket通讯将该截图信息bufferimage-c发送到pc端。

进一步地,步骤s2中,截图使用minicap或者是系统自带的截图工具。

进一步地,步骤s5中,通过android的monkey脚本的方式或ios的xcutest点击图片中央。

进一步地,步骤s6中,滑动操作通过android的monkey脚本的方式或ios的xcutest执行。

本发明的有益效果在于:

1、整个过程可以实现自动化测试轮播图,帮助实现了app自动化测试,同样此方法可以适应各种轮播图点击,可以在一台设备上录制,多台设备上同时测试,甚至是在其他操作系统上测试等优点;

2、现有技术中,自动化测试人员无法准确定位轮播图图片并点击测试,本发明能有效提高图片的定位准确性并准确实现点击,从而能够有效的提升工作效率,减少人力成本。

附图说明

图1为本发明实施例中的方法实施流程示意图;

图2为本发明实施例中图片识别参数设置界面示意图。

具体实施方式

以下将结合附图对本发明作进一步的描述,需要说明的是,以下实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。

如图1所示,一种移动app轮播图自动选择点击方法,包括如下步骤:

s1、如图2所示,录制需要测试的轮播图区域,并设置图片识别所需参数;所述参数包括:

轮播图的张数:即在轮播图区域有多少张滚动的图片;

是否自动滚动:为了能够测试各种类型的轮播图,因此需要考虑到图片不会自动滚动的轮播图;

间隔时间:即设置为自动滚动时,一张图片从出现到自动滚动至下一张图片需要多长时间,这个可以在录制的时候估算出来;

相似度:即图片对比需要达到的相似度,一般需要调整到百分之九十五以上;

超时时间:可以给出默认值,一般最少是(轮播图张数*间隔时间*2)秒;需要在超时时间内完成识别目标图片并做点击操作的测试,这个时间,可以在生成步骤的时候,自动给出一个估算时间,用户也可以自主调整。如果在超时时间内没有完成测试就算自动化测试失败,提前完成自动化测试就提前结束;

图片区域:即录制时存储的需要进行点击的目标图片区域bufferimage-a_sub;如果在设置是否自动滚动时设置轮播图不自动滚动,就要在轮播图的每张图片上记录滑动轨迹;滑动轨迹可由多个连结的坐标点组成;

步骤s1在pc端中进行;

s2、在移动设备上对轮播图进行测试:先使用截图工具截取移动设备的整张屏幕的截图(例如使用minicap或者是android、ios的自带的截图工具),然后通过socket通讯将截图信息bufferimage-b发送到pc端,这个过程最慢不到500ms。

s3、pc端通过录制时得到的需要测试的轮播图区域的相对位置,算出bufferimage-b的对比区域bufferimage-b_sub,然后通过opencv将bufferimage-b_sub与bufferimage-a_sub进行图片对比;如果bufferimage-b_sub和bufferimage-a_sub的相似度大于或等于步骤s1中设置的相似度,就记录下此时的bufferimage-b_sub的属性信息,然后当设置轮播图为不自动滚动时,跳转至步骤s5,否则跳转至步骤s4;如果相似度小于步骤s1中设置的相似度,则跳转至步骤s6;

s4、再使用截图工具截取移动设备的整张屏幕的截图,然后通过socket通讯将该截图信息bufferimage-c发送到pc端;pc端通过录制时得到的需要测试的轮播图区域的相对位置,算出bufferiamge-c的对比区域bufferimage-c_sub,然后通过opencv将bufferimage-b_sub与bufferimage-c_sub进行像素对比,如果相似度大于或等于步骤s1中设置的相似度,就记录下此时的bufferimage-c_sub的属性信息,跳转至s5,否则重新执行步骤s4;

s5、通过android的monkey脚本的方式或ios的xcutest点击图片中央;

s6、如果轮播图设置为自动滚动,则在等待设定的时间(可以为间隔时间-一个流程消耗的时间,一个流程消耗的时间即步骤s2-s3一次图片识别所需要消耗的时间)之后重新返回步骤s2;如果轮播图设置为不自动滚动,则通过android的monkey脚本的方式或ios的xcutest执行滑动操作之后返回步骤s2。

对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1