控件执行方法和装置制造方法及图纸

技术编号:14693637 阅读:115 留言:0更新日期:2017-02-23 16:34
本发明专利技术涉及程序优化,公开了一种控件执行方法,该控件执行方法包括:获取预存图片;提取屏幕上目标区域显示的内容作为目标图片;比较所述预存图片和所述目标图片,以在所述目标图片中确定与所述预存图片相同的部分作为触发控件执行的触发位置;在所述屏幕上模拟点击所述触发位置以执行所述控件。该控件执行方法和装置提升了自动化测试定位准确度,减少了开发成本。

【技术实现步骤摘要】

本专利技术涉及程序优化,具体地,涉及一种控件执行方法和装置
技术介绍
传统的APP自动化定位控件触发位置以便执行控件的方法有两种,如下:1、采用控件属性定位控件:例如uiautomator控件定位的代码如下:d(text=\确定\).click.wait(timeout=1000)#点击“确定”按钮;其中确定为按钮的文本属性,部分情况下,该按钮可能无此文本属性。其缺陷为:控件属性可能存在差异,这导致自动化过程中,需要频繁根据手机型号修改脚本,或者脚本中不断添加各种支持的断言,极大的耗费自动化开发者的时间。2、采用像素坐标定位控件:d.click(point['x'],point['y'])#点击坐标为(x,y)的点;其缺陷为:针对不同系统,因像素差异,需要在自动化脚本中频繁根据像素修改目标像素值;APP在更新过程中,图片或者文字位置可能发生变化,此时在维护自动化过程中,需要不断根据最新的需求更新坐标,带来极大的工作量。
技术实现思路
本专利技术的目的是提供一种控件执行方法和装置,该控件执行方法和装置能够提升自动化测试定位准确度,并减少开发成本。为了实现上述目的,本专利技术提供一种控件执行方法,该控件执行方法包括:获取预存图片;提取屏幕上目标区域显示的内容作为目标图片;比较所述预存图片和所述目标图片,以在所述目标图片中确定与所述预存图片相同的部分作为触发控件执行的触发位置;在所述屏幕上模拟点击所述触发位置以执行所述控件。优选地,所述获取预存图片的步骤包括:从至少一个预存图片中选择与需要执行的控件对应的预存图片;获取所选择的预存图片。优选地,所述提取屏幕上目标区域显示的内容作为目标图片的步骤包括:截取当前屏幕图像,对所述屏幕图像显示的内容进行分割以形成多个所述目标图片,其中,该空间执行方法还包括:比较所述预存图片和所述多个目标图片中的每一个,以在所述多个目标图片中的一个目标图片中确定所述触发位置。优选地,在所述提取屏幕上目标区域显示的内容作为目标图片的步骤之后,该控件执行方法还包括:对所述目标图片进行灰度和降噪处理。优选地,所述预存图片包括唯一性客观特征。优选地,所述触发位置为坐标的集合。本专利技术还提供一种控件执行装置,该控件执行装置包括:图像获取模块、处理模块以及执行模块,其中,所述图像获取模块用于提取屏幕上目标区域显示的内容作为目标图片;所述处理模块用于获取预存图片以及比较所述预存图片和所述目标图片,以在所述目标图片中确定与所述预存图片相同的部分作为触发控件执行的触发位置;所述执行模块(3)用于在所述屏幕上模拟点击所述触发位置以执行所述控件。优选地,所述处理模块还用于:从至少一个预存图片中选择与需要执行的控件对应的预存图片;获取所选择的预存图片。优选地,所述图像获取模块还用于截取当前屏幕图像;所述处理模块还用于对所述屏幕图像显示的内容进行分割以形成多个所述目标图片;比较所述预存图片和所述多个目标图片中的每一个,以在所述多个目标图片中的一个目标图片中确定所述触发位置。优选地,所述处理模块还用于:在提取所述目标图片之后,对所述目标图片进行灰度和降噪处理。优选地,所述预存图片包括唯一性客观特征。优选地,所述触发位置为坐标的集合。通过上述技术方案,采用本专利技术提供的控件执行方法和装置,该控件执行方法包括:获取预存图片;提取屏幕上目标区域显示的内容作为目标图片;比较所述预存图片和所述目标图片,以在所述目标图片中确定与所述预存图片相同的部分作为触发控件执行的触发位置;在所述屏幕上模拟点击所述触发位置以执行所述控件。该控件执行方法和装置提升了自动化测试定位准确度,减少了开发成本。本专利技术的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术,但并不构成对本专利技术的限制。在附图中:图1是本专利技术一实施例提供的控件执行方法的流程图;图2是本专利技术一实施例提供的控件执行方法的流程图;图3是本专利技术另一实施例提供的在屏幕布局可预期情况下的控件执行方法的流程图;图4是本专利技术另一实施例提供的在屏幕布局可预期情况下的控件执行方法的流程图;图5是本专利技术另一实施例提供的在屏幕布局不可预期情况下的控件执行方法的流程图;图6是本专利技术一实施例提供的控件执行装置的结构示意图。附图标记说明1图像获取模块2处理模块3执行模块。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。在本专利技术中,提供的控件执行方法全程自动化完成,不需人为参与,从而模拟人为操作以便进行测试,在该操作中,可以精确寻找到屏幕中触发控件执行的触发位置(在屏幕中以图片和文字等展示),以便点击该触发位置来执行控件。对于屏幕布局,分为可预期和不可预期两种,针对两种情况有不同的控件执行方法,以便在可预期的情况下可以加快处理速度,节省处理时间。本专利技术将设置代码以代替人为操作,该代码提供了需要模拟点击的某文字、图片或其它唯一性客观特征。响应于此代码,进行以下控件执行方法:图1是本专利技术一实施例提供的控件执行方法的流程图。如图1所示,在本实施例中,该控件执行方法包括:获取预存图片(步骤S11);提取屏幕上目标区域显示的内容作为目标图片(步骤S12);比较所述预存图片和所述目标图片,以在所述目标图片中确定与所述预存图片相同的部分作为触发控件执行的触发位置(步骤S13);在所述屏幕上模拟点击所述触发位置以执行所述控件(步骤S14)。在本实施例中,目标区域可以是整个屏幕图像,也可以是可预期的屏幕图像的一部分。对于可预期的屏幕图像,可以获取可预期区域显示的内容,也可以截取整个屏幕图像之后进行分割;对于不可预期的屏幕图像,可以直接截取屏幕图像。以上多种可能将在下文实施例中描述。图2是本专利技术另一实施例提供的控件执行方法的流程图。如图2所示,本实施例对实施例进行扩展,提供一种更加优选的控件执行方法。该控件执行方法包括:从至少一个预存图片中选择与需要执行的控件对应的预存图片(步骤S21);获取所选择的预存图片(步骤S22);提取屏幕上目标区域显示的内容作为目标图片(步骤S23);对所述目标图片进行灰度和降噪处理(步骤S24);比较所述预存图片和所述目标图片,以在所述目标图片中确定与所述预存图片相同的部分作为触发控件执行的触发位置(步骤S25);在所述屏幕上模拟点击所述触发位置以执行所述控件(步骤S26)。在本实施例中,目标区域可以是整个屏幕图像,也可以是可预期的屏幕图像的一部分。本实施例细化了获取预存图片的步骤。具体为根据代码获知需要执行的控件,并在保存有预存图片的库中选择与需要执行的控件对应的预存图片。另外,在所述提取屏幕上目标区域显示的内容作为目标图片的步骤之后,对所述目标图片进行灰度和降噪处理,以便更好地执行之后的图片对比等步骤。图3是本专利技术一实施例提供的在屏幕布局可预期情况下的控件执行方法的流程图。如图3所示,本实施例提供一种在屏幕布局可预期情况下,已知触发控件执行的触发位置在屏幕中的大致位置的控件执行方法,可以较快实现执行控件的目的。由于在本实施例中,已知触发控件执行的触发位置的在屏幕中的大致位置,因此,被提取的可本文档来自技高网...
控件执行方法和装置

【技术保护点】
一种控件执行方法,其特征在于,该控件执行方法包括:获取预存图片;提取屏幕上目标区域显示的内容作为目标图片;比较所述预存图片和所述目标图片,以在所述目标图片中确定与所述预存图片相同的部分作为触发控件执行的触发位置;在所述屏幕上模拟点击所述触发位置以执行所述控件。

【技术特征摘要】
1.一种控件执行方法,其特征在于,该控件执行方法包括:获取预存图片;提取屏幕上目标区域显示的内容作为目标图片;比较所述预存图片和所述目标图片,以在所述目标图片中确定与所述预存图片相同的部分作为触发控件执行的触发位置;在所述屏幕上模拟点击所述触发位置以执行所述控件。2.根据权利要求1所述的控件执行方法,其特征在于,所述获取预存图片的步骤包括:从至少一个预存图片中选择与需要执行的控件对应的预存图片;获取所选择的预存图片。3.根据权利要求1所述的控件执行方法,其特征在于,所述提取屏幕上目标区域显示的内容作为目标图片的步骤包括:截取当前屏幕图像,对所述屏幕图像显示的内容进行分割以形成多个所述目标图片,其中,该空间执行方法还包括:比较所述预存图片和所述多个目标图片中的每一个,以在所述多个目标图片中的一个目标图片中确定所述触发位置。4.根据权利要求1所述的控件执行方法,其特征在于,在所述提取屏幕上目标区域显示的内容作为目标图片的步骤之后,该控件执行方法还包括:对所述目标图片进行灰度和降噪处理。5.根据权利要求1-4中任一项权利要求所述的控件执行方法,其特征在于,所述预存图片包括唯一性客观特征。6.根据权利要求1-4中任一项权利要求所述的控件执行方法,其特征在于,所述触发位置为坐标的集合。7.一种控件执行装置,其特征在于,该控...

【专利技术属性】
技术研发人员:谢怡然
申请(专利权)人:美的智慧家居科技有限公司
类型:发明
国别省市:广东;44

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

1