CN115658547A - 一种支持多机型多操作系统的图像识别自动化测试方法 - Google Patents
一种支持多机型多操作系统的图像识别自动化测试方法 Download PDFInfo
- Publication number
- CN115658547A CN115658547A CN202211432148.3A CN202211432148A CN115658547A CN 115658547 A CN115658547 A CN 115658547A CN 202211432148 A CN202211432148 A CN 202211432148A CN 115658547 A CN115658547 A CN 115658547A
- Authority
- CN
- China
- Prior art keywords
- picture
- screenshot
- terminal
- screen
- height
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种支持多机型多操作系统的图像识别自动化测试方法,包括步骤:得到第一终端屏幕截图和元素截图;判断第二终端的屏幕尺寸是否和截图尺寸一致,若不同,将第二终端屏幕进行截图、对第二终端屏幕截图图像进行预处理,并转换成中间分辨率;对第一终端屏幕截图进行预处理,将第一终端的元素截图的宽度和高度进行同比例缩放,调用底层图像识别算法精确查找截图元素中心点在第一终端屏幕的坐标位置,按照第二终端转成中间分辨率的系数将该位置坐标进行放缩,得出待操作元素在第二终端的坐标位置。本发明解决了软件测试行业现有方法定位的不稳定、不支持一张元素图片在多手机机型、多操作系统上执行的问题。
Description
技术领域
本发明属于自动化测试技术领域,尤其涉及一种支持多机型多操作系统的图像识别自动化测试方法。
背景技术
业界实现UI自动化测试,需要对Web控件以及APP的控件进行操作。传统自动化测试操作界面元素使用元素属性定位方式,对于手机端imageView中的元素,在Xpath节点未展示出来,传统元素定位不能进行操作,另外对于在没有赋予唯一属性的元素控件,业界通用解决方法是图片识别定位元素。现有图片识别定位元素的技术,如业界开源的airTest,sikuli框架存在以下缺点:
1.截图定位元素仅适用于当前截屏的手机。无法做到一套截图定位的脚本在多个手机机型如IOS、安卓的华为、小米等机型上使用,且仅能使用提供的工具截图。
2.截图定位元素仅适用于当前截图的电脑,无法做到截图定位的脚本在多台不同分辨率的windows电脑以及mac上运行。
3.截图更换位置、以及像素发生变化,会出现识别不稳定的缺点。
4.不支持相对区域截图精准识别定位的方式,如一个图片元素在屏幕中出现多次,传统的识别方式会出现多个,且顺序变化则会出现识别错误的情况。
发明内容
有鉴于此,本发明提出了一种支持多机型多操作系统的图像识别自动化测试方法,通过图片预处+图片位置算法+图片识别定位,结合元素定位方式,可支持一套脚本在任意手机机型、mac、windows系统上执行,当图片位置发生变化以及像素发生变化,非图片风格变化情况,仍然能精准定位到元素,进行相关的元素操作。
本发明公开的支持多机型多操作系统的图像识别自动化测试方法,包括以下步骤:
对当前的第一终端屏幕截图及待操作的元素进行截图,得到第一终端屏幕截图和元素截图,并记录第一终端的屏幕尺寸大小及分辨率;
将相关信息通过文件名称命名进行标识,当脚本在第二终端执行的时候,判断第二终端的屏幕尺寸是否和截图尺寸一致,若屏幕发生变化,则将第二终端屏幕进行截图、对第二终端屏幕截图图像进行预处理,并转换成固定大小的中间分辨率,记录转换为中间分辨率的缩放系数;
对第一终端屏幕截图进行预处理,转成固定大小的中间分辨率图片,并计算出缩小放大系数,同时将第一终端的元素截图的宽度和高度根据所述缩小放大系数进行同比例缩放,调用底层图像识别算法精确查找缩放后的截图元素中心点在第一终端屏幕截图的中间分辨率图片中的坐标位置,按照第二终端机型转成中间分辨率的缩放系数将该位置坐标进行放大或缩小,得出待操作元素在第二终端截屏图片转换为中间分辨率图片中的精确坐标位置;
调用元素识别框架进行坐标的点击操作实现元素的精确操作。
进一步的,当终端屏幕为手机或平板电脑时,所述元素识别框架为appium,当终端屏幕为电脑屏幕时,所述元素识别框架为Selenium。
进一步的,中间分辨率小于第一终端屏幕分辨率和第二终端屏幕分辨率,中间分辨率图片的宽度和高度均小于第一终端屏幕截图图片和第二终端屏幕截图图片。
进一步的,当第一终端的元素截图在第二终端的屏幕中位置发生变更,或第一终端的元素截图的像素发生变化,不稳定时,根据图像相似度匹配算法,将与第一终端的元素截图相似度在预设值以上的第二终端的元素截图作为匹配的截图。
进一步的,所述方法公式计算如下:
int CenterX=(X+X+Width)/2
int CenterY=(Y+Y+Height)/2
其中X、Y、Width、Height分别为元素截图图片C的x坐标、y坐标、宽度、高度;
计算元素截图图片C的中心左边点相对于第一终端屏幕截图中间分辨率图片B的放大系数,算法为:
int x0=CenterX/图片B宽度
int y0=CenterY/图片B高度
计算图片C的中心在运行时的第二终端屏幕中的位置:
假定第二终端屏幕长度为RealX,高度为realY;计算在第二终端屏幕中待操作对象的可点击中心坐标(x、y、w、h):
int x=x0×realX;
int y=y0×realY;
int w=width×(第二终端屏幕宽度/第二终端屏幕截图中间分辨率图片A宽度);
int h=height×(第二终端屏幕高度/第二终端屏幕截图中间分辨率图片A高度)
其中x、y、w、h为待操作元素的x坐标、y坐标、宽度、高度。
进一步的,当待操作的元素在屏幕中存在多处时,截取每个待操作元素的父元素的图片,调用辅助工具查看每个父元素图片的Document节点属性,将父元素进行截图,在第一终端截屏图片中,对父元素进行截图,再对待操作的元素截图,调用opencv图片识别方法该元素的中心点在父元素的相对系数相对父元素定位的核心点,根据中间分辨率到第二终端屏幕的分辨率的缩放系数,得出待操作的元素中心点在第二终端屏幕中的位置,进行相关点击操作。
进一步的,运行时使用webdriver或appnium的元素截图功能,截取包含待查找元素的父元素图片A,再基于父元素图片A截取待操作元素的图片C,父元素图片A和截取待操作元素的图片C均转换为中间分辨率图片,得到A’和C’;
调用opencv图片识别算法从图片A’中查找图片C’的位置,得到图片C’的坐标信息(x、y、width、height),其中x,y为图片C’的左上角像素坐标,width和height分别为图片C’的宽度和高度;
计算图片C’基于父元素的中心坐标点:
int CenterX=(x+x+width)/2
int CenterY=(y+y+height)/2
计算图片C’基于父元素的坐标系数:
int x0=CenterX/图片A’宽度
int y0=CenterY/图片A’高度
使用Webdriver或appnium根据父元素的唯一属性获取定位到父元素当前屏幕坐标,获取到坐标(pX、pY、pWidth、pHeight),pX、pY、pWidth、pHeight分别为辅元素的屏幕x、y坐标、宽度、高度,基于父元素的坐标计算待操作元素坐标如下:
int x’=(pWdth×x0);
int y’=(pY+(pHeight-pY×y0));
int w’=width×x0;
int h’=height×p0;
其中x’、y’、w’、h’为待操作元素的x坐标、y坐标、宽度、高度;
调用元素操作框架Selenium或appnium对元素坐标(x’、y’、w’、h’)进行操作。
进一步的,当父元素能获取到ID、Name元素识别方式的情况下,运行时通过appnium或者Selenium元素定位获取父元素在第一终端屏幕截图中间分辨率图片的坐标;
当父元素截图仅是一个截图,不能获取到id、Name唯一定位方式的情形下,先利用图片识别方法在中间分辨率图片上获取到父元素的坐标,根据父元素与中间分辨率图片的缩放系数,计算待操作元素中心在第一终端中间分辨率图片的精确位置。
本发明的有益效果如下:
在第一终端屏幕分辨率和第二终端屏幕分辨率之间设置中间分辨率,中间分辨率图片的宽度和高度小于第一终端屏幕和第二终端屏幕,借助中间分辨率解决由于底层opencv软件识别的限制导致识别率不高的问题。
解决了软件测试行业现有开源自动化测试图片识别方法定位的不稳定、不支持一张元素图片在多手机机型、多操作系统上执行等局限性问题。
附图说明
图1本发明的方法步骤示意图。
具体实施方式
下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
本发明公开的支持多机型多操作系统的图像识别自动化测试方法,具体包括以下步骤:
对当前的第一终端屏幕截图及待操作的元素进行截图,得到第一终端屏幕截图和元素截图,并记录第一终端的屏幕尺寸大小及分辨率;
将相关信息通过文件名称命名进行标识,当脚本在第二终端执行的时候,判断第二终端的屏幕尺寸是否和截图尺寸一致,若屏幕发生变化,则将第二终端屏幕进行截图、对第二终端屏幕截图图像进行预处理,并转换成固定大小的中间分辨率,记录转换为中间分辨率的缩放系数;
对第一终端屏幕截图进行预处理,转成固定大小的中间分辨率,并计算出缩小放大系数,同时将第一终端的元素截图的宽度和高度根据所述缩小放大系数进行同比例缩放,调用底层图像识别算法精确查找截图元素中心点在第一终端屏幕的坐标位置,按照第二终端机型转成中间分辨率(中间分辨率大小必须小于第一终端和第二终端的分辨率)的系数将该位置坐标进行放大或缩小,得出待操作元素在第二终端的精确坐标位置;
调用元素识别框架进行坐标的点击操作实现元素的精确操作。
在一些实施例中,当终端屏幕为手机或平板电脑时,所述元素识别框架为appium。在一些实施例中,当终端屏幕为电脑屏幕时,所述元素识别框架为Selenium。
在一些实施例中,对于手机或平板电脑,中间分辨率为900×400。在一些实施例中,对于电脑,中间分辨率为1024×768。
当第一终端的元素截图在第二终端的屏幕中位置发生变更,或第一终端的元素截图的像素发生变化,不稳定时,根据图像相似度匹配算法,将与第一终端的元素截图相似度在预设值以上的第二终端的元素截图作为匹配的截图。图像相似度的计算方法包括但不限于余弦相似度方法。在一些实施例中相似度预设值为90%。在不同的测试环境中,相似度预设值需要根据场景进行变化,本发明对此不做限定。
方法公式计算如下:
int CenterX=(X+X+Width)/2
int CenterY=(Y+Y+Height)/2
其中X、Y、Width、Height分别为元素截图图片C的x坐标、y坐标、宽度、高度;
计算元素截图图片C的中心左边点相对于第一终端屏幕截图中间分辨率图片B的放大系数,算法为:
int x0=CenterX/图片B宽度
int y0=CenterY/图片B高度
计算图片C的中心在运行时的第二终端屏幕中的位置:
假定第二终端屏幕长度为RealX,高度为realY;计算在第二终端屏幕中待操作对象的可点击中心坐标(x、y、w、h):
int x=x0×realX;
int y=y0×realY;
int w=width×(第二终端屏幕宽度/第二终端屏幕截图中间分辨率图片A宽度);
int h=height×(第二终端屏幕高度/第二终端屏幕截图中间分辨率图片A高度)
其中x、y、w、h为待操作元素的x坐标、y坐标、宽度、高度。
在一些实施例中,当待操作的元素在屏幕中存在多处时,截取每个待操作元素的父元素的图片,调用辅助工具查看每个父元素图片的Document节点属性,将父元素进行截图,具体步骤如下:
步骤1:在第一终端截屏图片中,对父元素进行截图,再对待操作的元素截图,调用图片识别该元素的中心点在父元素的相对系数。
在一些实施例中,当父元素在能获取到ID、Name等元素识别方式的情况下,运行时直接通过appnium或者selenium元素定位获取父元素在第二屏的坐标,再根据步骤1的父元素相对系数进行待操作元素中心点计算,得出待操作的元素中心点在第二屏的位置。
在一些实施例中,当父元素截图仅是一个截图,不能获取到id、Name唯一定位方式的情形下,参考全屏查找方式,先利用图片识别在中间分辨率图片上获取到父元素的坐标,利用步骤1的父元素相对系数,计算待操作元素中心在中间分辨率屏幕的精确位置。
步骤2:根据中间分辨率到第二终端屏幕的分辨率的缩放系数,得出待操作的元素中心点在第二终端屏幕中的位置,进行相关点击操作。
具体的,运行时使用webdriver或appnium的元素截图功能,截取包含待查找元素的父元素图片A,再基于父元素图片A截取待操作元素的图片C;父元素图片A和截取待操作元素的图片C均转换为中间分辨率图片,得到A’和C’;
调用opencv图片识别算法从图片A’中查找图片C’的位置,得到图片C’的坐标信息(x、y、width、height),其中x,y为图片C’的左上角像素坐标,width和height分别为图片C’的宽度和高度;
计算图片C’基于父元素的中心坐标点:
int CenterX=(x+x+width)/2
int CenterY=(y+y+height)/2
计算图片C’基于父元素的坐标系数:
int x0=CenterX/图片A’宽度
int y0=CenterY/图片A’高度
使用Webdriver或appnium根据父元素的唯一属性获取定位到父元素当前屏幕坐标,获取到坐标(pX、pY、pWidth、pHeight),pX、pY、pWidth、pHeight分别为辅元素的屏幕x、y坐标、宽度、高度,基于父元素的坐标计算待操作元素坐标如下:
int x’=(pWidth×x0);
int y’=(pY+(pHeight-pY×y0));
int w’=width×x0;
int h’=height×p0;
其中x’、y’、w’、h’为待操作元素的x坐标、y坐标、宽度、高度;
调用元素操作框架Selenium或appnium对元素坐标(x’、y’、w’、h’)进行操作。
实施例1
针对截图定位元素仅适用于当前截屏的手机、无法做到截图定位的脚本在多个手机机型如IOS、安卓的华为、小米等机型上使用,且仅能使用提供的工具截图的缺陷,本发明采取以下方案解决:首先在当前手机屏幕截图、待操作的元素进行截图(此处可使用任意截图工具)、记录屏幕尺寸大小分辨率。将相关信息通过文件名称命名标识,当脚本在另外一台手机机型执行的时候,判断屏幕尺寸是否和截图尺寸一致,若屏幕发生变化,则将当前手机屏幕进行截图、对图像进行预处理,将图片转换成固定大小的900×400的分辨率,记录缩小或放大系数,第二步对初始截图的手机截图进行预处理,转成900X400,并计算出缩小放大系数,同时将首次截图的元素的宽度和高度进行同比率缩小、放大,调用底层opencv图像识别算法精确查找截图元素中心点在初次截图屏幕的坐标位置,按照目标手机机型转成900×400的系数将该位置坐标进行放大&缩小,得出该图片元素在新手机机型的精确坐标位置。调用元素识别框架(appium)进行坐标的点击操作即可实现元素的精确操作。因appium支持跨平台,支持IOS和安卓手机,故本发明集成后可支持一套脚本支持跨手机操作系统的APP UI自动化测试+图片识别定位能力。
实施例2
针对截图定位元素仅适用于当前截图的电脑,无法做到截图定位的脚本在多台不同分辨率的windows电脑以及mac上运行缺点,本发明采取以下方案解决:首先在当前电脑屏幕截图、待操作的元素进行截图(此处可使用任意截图工具)、记录屏幕尺寸大小分辨率。将相关信息通过文件名称命名标识,当脚本在另外一台电脑机型执行的时候,判断屏幕尺寸是否和截图尺寸一致,若屏幕发生变化,则将当前电脑屏幕进行截图、对图像进行预处理,将图片转换成固定大小1024×768的分辨率,记录缩小或放大系数,第二步对初始截图的手机截图进行预处理,转成1024×768,并计算出缩小放大系数,同时将首次截图的元素的宽度和高度进行同比率缩小、放大,调用底层opencv图像识别算法精确查找截图元素中心点在初次截图屏幕的坐标位置,按照目标电脑转成1024×768的系数将该位置坐标进行放大&缩小,得出该图片元素在新手机机型的精确坐标位置。调用元素识别框架(Selenium)进行坐标的点击操作即可实现元素的精确操作。因Selenium原本支持跨平台如mac电脑和windows元素定位自动化测试,故本发明集成后可支持一套脚本支持跨平台的Web UI自动化测试+图片识别定位能力。
实施例3
针对截图更换位置、以及像素发生变化,不稳定会出现识别不了的缺点,本发明采取以下方案解决:提供相似度匹配能力,截图定位相似度90%以上的元素,采取上述实施例1、2中的方法寻找在不同机型或者分辨率的其精确中心坐标点,仍会继续识别操作。
实施例4
针对不支持相对区域截图精准识别定位的方式,如一个图片元素在屏幕中出现多次,传统的识别方式会识别出现多个,且顺序变化则会出现识别错误的情况的缺点,本发明采取以下方案解决:首先截取目标元素的父元素的图片,可使用辅助工具查看该图片父元素的Document节点属性,将父元素进行截图,并将该目标元素进行截图,使用图片识别方法定位到元素截图在父元素的相对位置,及长宽系数,因父元素是可以通过属性定位到的,故无论是在web或者app不同分辨率和操作系统的动态执行中,均可获取到父元素的坐标点,结合相对系数可计算出目标元素中心点在新机型或新电脑分辨率中的具体坐标,实现相关点击操作。
本发明可适用于包括但不限于web+app+微信小程序三端的元素操作UI自动化测试中。
本发明的有益效果如下:
在第一终端屏幕分辨率和第二终端屏幕分辨率之间设置中间分辨率,中间分辨率图片的宽度和高度小于第一终端屏幕和第二终端屏幕,借助中间分辨率解决由于底层opencv软件识别的限制导致识别率不高的问题。
解决了软件测试行业现有开源自动化测试图片识别方法定位的不稳定、不支持一张元素图片在多手机机型、多操作系统上执行等局限性难题。
本文所使用的词语“优选的”意指用作实例、示例或例证。本文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“X使用A或B”意指自然包括排列的任意一个。即,如果X使用A;X使用B;或X使用A和B二者,则“X使用A或B”在前述任一示例中得到满足。
而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。
综上所述,上述实施例为本发明的一种实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何背离本发明的精神实质与原理下所做的改变、修饰、代替、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种支持多机型多操作系统的图像识别自动化测试方法,其特征在于,包括以下步骤:
对当前的第一终端屏幕截图及待操作的元素进行截图,得到第一终端屏幕截图和元素截图,并记录第一终端的屏幕尺寸大小及分辨率;
将相关信息通过文件名称命名进行标识,当脚本在第二终端执行的时候,判断第二终端的屏幕尺寸是否和截图尺寸一致,若屏幕发生变化,则将第二终端屏幕进行截图、对第二终端屏幕截图图像进行预处理,并转换成固定大小的中间分辨率,记录转换为中间分辨率的缩放系数;
对第一终端屏幕截图进行预处理,转成固定大小的中间分辨率图片,并计算出缩小放大系数,同时将第一终端的元素截图的宽度和高度根据所述缩小放大系数进行同比例缩放,调用底层图像识别算法精确查找缩放后的截图元素中心点在第一终端屏幕截图的中间分辨率图片中的坐标位置,按照第二终端机型转成中间分辨率的缩放系数将该位置坐标进行放大或缩小,得出待操作元素在第二终端截屏图片转换为中间分辨率图片中的精确坐标位置;
调用元素识别框架进行坐标的点击操作实现元素的精确操作。
2.根据权利要求1所述的支持多机型多操作系统的图像识别自动化测试方法,其特征在于,当终端屏幕为手机或平板电脑时,所述元素识别框架为appium,当终端屏幕为电脑屏幕时,所述元素识别框架为Selenium。
3.根据权利要求1所述的支持多机型多操作系统的图像识别自动化测试方法,其特征在于,中间分辨率小于第一终端屏幕分辨率和第二终端屏幕分辨率,中间分辨率图片的宽度和高度均小于第一终端屏幕截图图片和第二终端屏幕截图图片。
4.根据权利要求1所述的支持多机型多操作系统的图像识别自动化测试方法,其特征在于,当第一终端的元素截图在第二终端的屏幕中位置发生变更,或第一终端的元素截图的像素发生变化,不稳定时,根据图像相似度匹配算法,将与第一终端的元素截图相似度在预设值以上的第二终端的元素截图作为匹配的截图。
5.根据权利要求1所述的支持多机型多操作系统的图像识别自动化测试方法,其特征在于,所述方法公式计算如下:
int CenterX=(X+X+Width)/2
int CenterY=(Y+Y+Height)/2
其中X、Y、Width、Height分别为元素截图图片C的x坐标、y坐标、宽度、高度;
计算元素截图图片C的中心左边点相对于第一终端屏幕截图中间分辨率图片B的放大系数,算法为:
int x0=CenterX/图片B宽度
int y0=CenterY/图片B高度
计算图片C的中心在运行时的第二终端屏幕中的位置:
假定第二终端屏幕长度为RealX,高度为realY;计算在第二终端屏幕中待操作对象的可点击中心坐标(x、y、w、h):
int x=x0×realX;
int y=y0×realY;
int w=width×(第二终端屏幕宽度/第二终端屏幕截图中间分辨率图片A宽度);
int h=height×(第二终端屏幕高度/第二终端屏幕截图中间分辨率图片A高度)
其中x、y、w、h为待操作元素的x坐标、y坐标、宽度、高度。
6.根据权利要求1所述的支持多机型多操作系统的图像识别自动化测试方法,其特征在于,当待操作的元素在屏幕中存在多处时,截取每个待操作元素的父元素的图片,调用辅助工具查看每个父元素图片的Document节点属性,将父元素进行截图,在第一终端截屏图片中,对父元素进行截图,再对待操作的元素截图,调用opencv图片识别方法该元素的中心点在父元素的相对系数相对父元素定位的核心点,根据中间分辨率到第二终端屏幕的分辨率的缩放系数,得出待操作的元素中心点在第二终端屏幕中的位置,进行相关点击操作。
7.根据权利要求6所述的支持多机型多操作系统的图像识别自动化测试方法,其特征在于,运行时使用webdriver或appnium的元素截图功能,截取包含待查找元素的父元素图片A,再基于父元素图片A截取待操作元素的图片C,父元素图片A和截取待操作元素的图片C均转换为中间分辨率图片,得到A’和C’;
调用opencv图片识别算法从图片A’中查找图片C’的位置,得到图片C’的坐标信息(x、y、width、height),其中x,y为图片C’的左上角像素坐标,width和height分别为图片C’的宽度和高度;
计算图片C’基于父元素的中心坐标点:
int CenterX=(x+x+width)/2
int CenterY=(y+y+height)/2
计算图片C’基于父元素的坐标系数:
int x0=CenterX/图片A’宽度
int y0=CenterY/图片A’高度
使用Webdriver或appnium根据父元素的唯一属性获取定位到父元素当前屏幕坐标,获取到坐标(pX、pY、pWidth、pHeight),pX、pY、pWidth、pHeight分别为辅元素的屏幕x、y坐标、宽度、高度,基于父元素的坐标计算待操作元素坐标如下:
int x’=(pWdth×x0);
int y’=(pY+(pHeight-pY×y0));
int w’=width×x0;
int h’=height×p0;
其中x’、y’、w’、h’为待操作元素的x坐标、y坐标、宽度、高度;
调用元素操作框架Selenium或appnium对元素坐标(x’、y’、w’、h’)进行操作。
8.根据权利要求1所述的支持多机型多操作系统的图像识别自动化测试方法,其特征在于,当父元素能获取到ID、Name元素识别方式的情况下,运行时通过appnium或者Selenium元素定位获取父元素在第一终端屏幕截图中间分辨率图片的坐标;
当父元素截图仅是一个截图,不能获取到id、Name唯一定位方式的情形下,先利用图片识别方法在中间分辨率图片上获取到父元素的坐标,根据父元素与中间分辨率图片的缩放系数,计算待操作元素中心在第一终端中间分辨率图片的精确位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211432148.3A CN115658547A (zh) | 2022-11-16 | 2022-11-16 | 一种支持多机型多操作系统的图像识别自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211432148.3A CN115658547A (zh) | 2022-11-16 | 2022-11-16 | 一种支持多机型多操作系统的图像识别自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658547A true CN115658547A (zh) | 2023-01-31 |
Family
ID=85021642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211432148.3A Pending CN115658547A (zh) | 2022-11-16 | 2022-11-16 | 一种支持多机型多操作系统的图像识别自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658547A (zh) |
-
2022
- 2022-11-16 CN CN202211432148.3A patent/CN115658547A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025174B (zh) | 用于设备的用户界面异常测试的方法、装置和可读储介质 | |
JP4774193B2 (ja) | 検査システムセットアップ技術 | |
CN111144493B (zh) | 一种自动识别算法指标测试的方法、存储介质及电子终端 | |
CN111598863A (zh) | 缺陷检测方法、装置、设备及可读存储介质 | |
CN111311687B (zh) | 一种手机屏幕像素点的空间位置检测方法及设备 | |
US20100318971A1 (en) | Systems And Methods For Identifying Graphic User-Interface Components | |
CN116052193B (zh) | Rpa界面动态表格的拾取和匹配方法及系统 | |
CN101964062A (zh) | 基于用户界面的图像搜索方法 | |
CN113076257B (zh) | 测试脚本录制方法、装置、介质及计算机设备 | |
CN111272067A (zh) | 手机检测方法及设备 | |
CN101292262A (zh) | 认知控制框架中的假设的结构性内容过滤 | |
CN115496749B (zh) | 基于目标检测训练预处理的产品缺陷检测方法及系统 | |
CN111597116B (zh) | 移动端ui自动化测试方法、系统、存储介质及电子设备 | |
CN115035032A (zh) | 神经网络训练方法、相关方法、设备、终端及存储介质 | |
CN115658547A (zh) | 一种支持多机型多操作系统的图像识别自动化测试方法 | |
CN112446850B (zh) | 适配测试方法、装置及电子设备 | |
CN114187658A (zh) | 一种输入操作的识别方法及设备 | |
CN1770416A (zh) | 晶片缺陷管理方法 | |
CN112380134A (zh) | 一种基于图像识别的WebUI自动化测试方法 | |
CN112559340A (zh) | 一种画面测试方法、装置、设备及存储介质 | |
CN113537201A (zh) | 多维度混合ocr识别方法、装置、设备及存储介质 | |
CN110633976B (zh) | 虚拟资源转移方法与装置 | |
CN112529923A (zh) | 一种控件识别方法及装置 | |
CN115390853B (zh) | 多源工艺文件结构化解析方法、系统、终端及存储介质 | |
CN112181838B (zh) | 一种基于图像比对的自动化测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |