CN114896148A - 一种基于图像识别能力的终端应用自动化测试装置、系统、方法、设备以及存储介质 - Google Patents
一种基于图像识别能力的终端应用自动化测试装置、系统、方法、设备以及存储介质 Download PDFInfo
- Publication number
- CN114896148A CN114896148A CN202210477321.5A CN202210477321A CN114896148A CN 114896148 A CN114896148 A CN 114896148A CN 202210477321 A CN202210477321 A CN 202210477321A CN 114896148 A CN114896148 A CN 114896148A
- Authority
- CN
- China
- Prior art keywords
- test
- platform
- interface
- task
- knowledge base
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种基于图像识别能力的终端应用自动化测试装置、系统、方法、设备以及存储介质。所述云端测试管理平台用于统筹管理整体的测试任务、测试用例和APP知识库,发送给测试操作平台;所述AI云服务平台用于为测试操作平台提供图像识别和文字识别的能力,发送结果给测试操作平台;所述测试操作平台用于加载测试任务、测试用例和测试知识库,并根据既定程序反向控制终端设备执行自动化测试任务,并实时监控终端待测试设备内软件的运行过程,请求AI云服务平台获取软件执行过程中界面流转信息和文字提示,通过与APP知识库对比,分析执行结果;所述终端设备用于运行待测试应用软件,并与测试操作平台建立通讯连接,接收控制指令和传输图像数据。
Description
技术领域
本发明涉及终端软件应用测试技术领域,具体涉及一种基于图像识别能力的终端应用自动化测试装置、系统、方法、设备以及存储介质。
背景技术
随着智能设备的保有量增长,越来越多的应用软件产品支撑着各行各业的信息服务落地。例如车厂的远程控车APP就是一个典型的应用产品。用户的使用需求丰富多样,导致各类软件产品的迭代发版速度也越来越快,需要保质保量的快速为用户交付稳定无BUG的软件产品。如图1所示,增加测试覆盖度,增加测试强度可以提升软件的交付质量,但是需要投入大量的测试人力、物力,如何提升测试效率就成为亟待解决的问题。因此,现有的测试装置存在的缺陷为:
1)测试需要大量的人力外包资源支持;
2)测试人员的经验决定测试质量;
3)对于偶发的问题,无法实时记录,错过很难复现;
4)没有标准结果集进行完美的校验;
5)很难实现24小时覆盖各个时段全天候的测试;
6)全车型测试覆盖度无法保障;
7)测试结果和问题全靠人力录入,难免遗漏;
8)人工测试效率低,重复性工作难免倦怠;
9)测试人员无法记住掌握所有的产品正向设计,测试验证不准确。
综上,现有的测试装置需要投入大量的测试人力、物力,测试效率低,且测试质量难以预估。
发明内容
本发明解决了现有的测试装置需要投入大量的测试人力、物力,测试效率低,且测试质量难以预估的问题。
本发明所述的一种基于图像识别能力的终端应用自动化测试装置,所述装置包括:云端测试管理平台、AI云服务平台、测试操作平台和终端设备;
所述云端测试管理平台用于统筹管理整体的测试任务、测试用例和APP知识库,发送给测试操作平台;
所述AI云服务平台用于为测试操作平台提供图像识别和文字识别的能力,发送结果给测试操作平台;
所述测试操作平台用于加载测试任务、测试用例和测试知识库,并根据既定程序反向控制终端设备执行自动化测试任务,并实时监控终端待测试设备内软件的运行过程,请求AI云服务平台获取软件执行过程中界面流转信息和文字提示,通过与APP知识库对比,分析执行结果;
所述终端设备用于运行待测试应用软件,并与测试操作平台建立通讯连接,同步控制指令和传输图像数据。
进一步地,在本发明的一个实施例中,所述云端测试管理平台包括测试用例管理、测试任务管理、测试任务发布、知识库管理、测试结果收集、测试结果分析、通信网关和WEB可视化网站;
所述测试用例管理用于提供测试用例的录入、提供测试用例的管理和数据库存储录入的测试用例;
所述测试任务管理用于提供测试任务的编辑、提供测试任务的管理和数据库存储录入的测试任务;
所述测试任务发布用于根据测试任务的设定参数统筹管理测试任务的执行、停止和中断,并将测试任务推送到测试操作平台;
所述知识库管理用于对待测试软件内的每个UI图进行编号与UI图片进行对应存储、记录控件属性和按照编号记录待测试软件的UI流转关系图;
所述测试结果收集用于收集测试操作平台上报的测试结果,并存储到数据库;
所述测试结果分析用于分析测试结果数据和提供可视化模块,并将测试任务执行结果通过邮件、短信和即时通信软件的手段发送通知;
所述通信网关用于物联网网关,并提供与测试平台设备的上下行通信的能力;
所述WEB可视化网站用于提供各类任务的操作入口和提供可视化web页面展示。
进一步地,在本发明的一个实施例中,所述AI云服务平台包括UI界面识别服务、文字识别服务和通信网关;
所述UI界面识别服务用于UI图片录入、图片指纹计算和图像识别;
所述文字识别服务用于识别待测试软件过程中弹出的消息提示框内的文字提示内容,并判断执行结果;
所述通信网关用于封装UI界面识别服务和文字识别服务,作为接口暴露给测试平台设备。
进一步地,在本发明的一个实施例中,所述测试操作平台包括测试主程序、桌面点击控制程序、调试软件和终端投屏服务;
所述测试主程序用于与测试管理平台建立通信连接、加载测试用例脚本、判断当前UI是否是待执行测试用例的UI界面、根据待执行的控件编号、加载测试字典、测试用例执行、不间断的根据屏幕截图、调用AI云服务平台的UI界面识别接口和测试结果判别,还用于识别到消息弹窗时,调用AI云服务平台的文字识别服务,获取当前的文字提示内容,还用于识别到文本输入框时,根据测试用例输入文本内容继续执行任务;
所述桌面点击控制程序用于根据终端投屏的屏幕坐标进行点击、向输入框输入文本和应用启动和退出功能;
所述调试软件用于提供应用启动杀死、反向控制、文本输入、退出、截屏指令;
所述终端投屏服务用于将获取的终端设备桌面图片按照周期,在操作平台的电脑桌面上就行更新展示,实时展示终端设备内待测试软件的运行状态。
本发明所述的种基于图像识别能力的终端应用自动化测试方法,该方法是采用上述方法所述的一种基于图像识别能力的终端应用自动化测试装置实现的,包括以下步骤:
步骤S1,测试管理平台网页上进行知识库的构建,在产品设计阶段完成正向设计和知识库构建,数据库或表格形式录入;
步骤S2,测试管理平台网页上进行测试用例、测试任务构建,数据库或表格形式录入;
步骤S3,测试任务执行后,测试结果分析。
进一步地,在本发明的一个实施例中,所述步骤S3中,所述的测试任务执行,具体包括以下步骤:
步骤S301,测试操作平台准备,连接终端设备,终端设备安装待测试软件并处于调试模式下,终端投屏服务在操作平台的桌面上显示终端设备屏幕内容;
步骤S302,云端测试管理平台将测试任务、测试用例、测试知识库下发给测试操作平台;
步骤S303,测试主程序加载测试任务、测试用例、测试知识库参数开始执行测试任务;
步骤S304,解析测试用例,识别UI处于预期要执行测试用例的UI界面内;
步骤S305,加载待执行的控件图片,在当前UI界面内找到控件所在的坐标;
步骤S306,调用桌面点击控制程序,点击启动控件;
步骤S307,调用AI云服务平台的UI界面识别服务,识别当前UI界面内是否有需要输入的文本框或需要再次确认的按钮,根据知识库内文本框或按钮的图片,在当前UI界面内找到对应的位置坐标,调用桌面点击控制程序或文本输入程序,进行对应的操作,继续开始执行应用;
步骤S308,在整个操作过程中,以100ms周期截图,并调用AI云服务平台的UI界面识别服务,记录每张截图的UI界面ID,去重后存储;
步骤S309,识别到是消息提示框的UI界面时,调用AI云服务平台的文字识别服务,获取消息提示框内容;
步骤S310,确认当前UI界面持续为该条测试用例结束后应该停留的UI界面,则判定为测试用例执行结束;或超过规定时间未出现终止界面,也判定为执行超时结束;
步骤S311,将消息提示框的提示语、UI执行序列与测试用例的标准答案进行比对,输出测试结果,存在本地;
步骤S312,按照上述步骤S304至步骤S311,完成所有测试用例的执行,完成整体的测试任务,上传测试结果到云端测试管理平台。
进一步地,在本发明的一个实施例中,所述步骤S3中,所述的测试结果是通过图表的形式展现的。
本发明所述的一种基于图像识别能力的终端应用自动化测试系统,所述系统包括:
知识库模块,测试管理平台网页上进行知识库的构建,在产品设计阶段完成正向设计和知识库构建,数据库或表格形式录入;
录入模块,测试管理平台网页上进行测试用例、测试任务构建,数据库或表格形式录入;
执行模块,测试任务执行后,测试结果分析。
本发明所述的一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述方法中任一所述的方法步骤。
本发明所述的一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法中任一所述的方法步骤。
本发明解决了现有的测试装置需要投入大量的测试人力、物力,测试效率低,且测试质量难以预估的问题。具体有益效果包括:
1、本发明所述的一种基于图像识别能力的终端应用自动化测试装置,通过自动化测试程序,结合AI和数据分析方法,自动化执行测试用例,7*24小时全天候测试,理论上通过扩展测试设备,可以无限制增加测试强度,有效解决了现有的软件功能性测试方案,都依靠测试人员的手动点击和观察执行结果确认功能是否正常,此种测试方法效率极低,需要投入大量的人力的问题。
2、本发明所述的一种基于图像识别能力的终端应用自动化测试装置,利用图像识别、文字识别的能力,通过构建的APP测试知识库,准确的发现测试过程中的各类问题。在产品正向开发设计的时期,就将预期的执行结果作为测试验证知识库的一部分,通过UI界面流转和消息提示自动评价软件功能的实现情况,保证了测试质量,解决了现有的测试装置依赖人工点击的软件功能测试方案,测试人员的经验都不尽相同,很难有效的发现所有的测试问题,测试质量无法百分百的保证的问题。
3、本发明所述的一种基于图像识别能力的终端应用自动化测试装置,利用图像识别和文本识别的能力,可以自动实现执行过程和执行结果的自动判别,解决了现有的APP测试工具,只用于稳定性与压力测试,只能按顺序或者重复点击控件按钮,不能针对UI界面的流转顺序和执行消息结果进行判别,无法实现功能性测试的问题。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是背景技术中所述的人工测试流程图。
图2是具体实施方式中所述的总体功能架构图。
图3是具体实施方式中所述的系统组成图。
图4是具体实施方式中所述的云端测试管理平台图。
图5是具体实施方式中所述的AI云服务平台图。
图6是具体实施方式中所述的测试操作平台图。
图7是具体实施方式中所述的存储器图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施方式所述的一种基于图像识别能力的终端应用自动化测试装置,参照图2可以更好的理解本实施方式中,所述装置包括:云端测试管理平台、AI云服务平台、测试操作平台和终端设备;
所述云端测试管理平台用于统筹管理整体的测试任务、测试用例和APP知识库,发送给测试操作平台;
所述AI云服务平台用于为测试操作平台提供图像识别和文字识别的能力,发送结果给测试操作平台;
所述测试操作平台用于加载测试任务、测试用例和测试知识库,并根据既定程序反向控制终端设备执行自动化测试任务,并实时监控终端待测试设备内软件的运行过程,请求AI云服务平台获取软件执行过程中界面流转信息和文字提示,通过与APP知识库对比,分析执行结果;
所述终端设备用于运行待测试应用软件,并与测试操作平台建立通讯连接,接收控制指令和传输图像数据。
本实施方式中,所述云端测试管理平台包括测试用例管理、测试任务管理、测试任务发布、知识库管理、测试结果收集、测试结果分析、通信网关和WEB可视化网站;
所述测试用例管理用于提供测试用例的录入、提供测试用例的管理和数据库存储录入的测试用例;
所述测试任务管理用于提供测试任务的编辑、提供测试任务的管理和数据库存储录入的测试任务;
所述测试任务发布用于根据测试任务的设定参数统筹管理测试任务的执行、停止和中断,并将测试任务推送到测试操作平台;
所述知识库管理用于对待测试软件内的每个UI图进行编号与UI图片进行对应存储、记录控件属性和按照编号记录待测试软件的UI流转关系图;
所述测试结果收集用于收集测试操作平台上报的测试结果,并存储到数据库;
所述测试结果分析用于分析测试结果数据和提供可视化模块,并将测试任务执行结果通过邮件、短信和即时通信软件的手段发送通知;
所述通信网关用于物联网网关,并提供与测试平台设备的上下行通信的能力;
所述WEB可视化网站用于提供各类任务的操作入口和提供可视化web页面展示。
本实施方式中,所述AI云服务平台包括UI界面识别服务、文字识别服务和通信网关;
所述UI界面识别服务用于UI图片录入、图片指纹计算和图像识别;
所述文字识别服务用于识别待测试软件过程中弹出的消息提示框内的文字提示内容,并判断执行结果;
所述通信网关用于封装UI界面识别服务和文字识别服务,作为接口暴露给测试平台设备。
本实施方式中,所述测试操作平台包括测试主程序、桌面点击控制程序、调试软件和终端投屏服务;
所述测试主程序用于与测试管理平台建立通信连接、加载测试用例脚本、判断当前UI是否是待执行测试用例的UI界面、根据待执行的控件编号、加载测试字典、测试用例执行、不间断的根据屏幕截图、调用AI云服务平台的UI界面识别接口和测试结果判别,还用于识别到消息弹窗时,调用AI云服务平台的文字识别服务,获取当前的文字提示内容,还用于识别到文本输入框时,根据测试用例输入文本内容继续执行任务;
所述桌面点击控制程序用于根据终端投屏的屏幕坐标进行点击、向输入框输入文本和应用启动和退出功能;
所述调试软件用于提供应用启动杀死、反向控制、文本输入、退出、截屏指令;
所述终端投屏服务用于将获取的图片按照周期,在操作平台的电脑桌面上就行更新展示,实时展示终端设备内待测试软件的运行状态。
本实施方式所述的一种基于图像识别能力的终端应用自动化测试方法,该方法是采用上述实施方式所述的一种基于图像识别能力的终端应用自动化测试装置实现的,包括以下步骤:
步骤S1,测试管理平台网页上进行知识库的构建,在产品设计阶段完成正向设计和知识库构建,数据库或表格形式录入;
步骤S2,测试管理平台网页上进行测试用例、测试任务构建,数据库或表格形式录入;
步骤S3,测试任务执行后,测试结果分析。
本实施方式中,所述步骤S3中,所述的测试任务执行,具体包括以下步骤:
步骤S301,测试操作平台准备,连接终端设备,终端设备安装待测试软件并处于调试模式下,终端投屏服务在操作平台的桌面上显示终端设备屏幕内容;
步骤S302,云端测试管理平台将测试任务、测试用例、测试知识库下发给测试操作平台;
步骤S303,测试主程序加载测试任务、测试用例、测试知识库参数开始执行测试任务;
步骤S304,解析测试用例,识别UI处于预期要执行测试用例的UI界面内;
步骤S305,加载待执行的控件图片,在当前UI界面内找到控件所在的坐标;
步骤S306,调用桌面点击控制程序,点击启动控件;
步骤S307,调用AI云服务平台的UI界面识别服务,识别当前UI界面内是否有需要输入的文本框或需要再次确认的按钮,根据知识库内文本框或按钮的图片,在当前UI界面内找到对应的位置坐标,调用桌面点击控制程序或文本输入程序,进行对应的操作,继续开始执行应用;
步骤S308,在整个操作过程中,以100ms周期截图,并调用AI云服务平台的UI界面识别服务,记录每张截图的UI界面ID,去重后存储;
步骤S309,识别到是消息提示框的UI界面时,调用AI云服务平台的文字识别服务,获取消息提示框内容;
步骤S310,确认当前UI界面持续为该条测试用例结束后应该停留的UI界面,则判定为测试用例执行结束;或超过规定时间未出现终止界面,也判定为执行超时结束;
步骤S311,将消息提示框的提示语、UI执行序列与测试用例的标准答案进行比对,输出测试结果,存在本地;
步骤S312,按照上述步骤S304至步骤S311,完成所有测试用例的执行,完成整体的测试任务,上传测试结果到云端测试管理平台。
本实施方式中,所述步骤S3中,所述的测试结果是通过图表的形式展现的。
本实施方式所述的一种基于图像识别能力的终端应用自动化测试系统,所述系统包括:
知识库模块,测试管理平台网页上进行知识库的构建,在产品设计阶段完成正向设计和知识库构建,数据库或表格形式录入;
录入模块,测试管理平台网页上进行测试用例、测试任务构建,数据库或表格形式录入;
执行模块,测试任务执行后,测试结果分析。
本实施方式所述的一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述实施方式任一所述的方法步骤。
本实施方式所述的一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任一所述的方法步骤。
本实施方式基于本发明所述的一种基于图像识别能力的终端应用自动化测试装置,结合具体对象提供一种实际的实施方式:
1、如图3所示,系统由部分组成:1、云端测试管理平台;2、AI云服务平台;3、测试操作平台;4、终端设备及待测试软件;云端测试管理平台统筹管理整体的测试任务、测试用例、APP知识库,AI云服务平台为测试操作平台提供图像识别和文字识别的能力。测试操作平台加载测试任务、测试用例、测试知识库,根据既定程序执行自动化测试。四部分各司其职,相互配合、完成基于图像识别能力的终端应用自动化测试系统的功能实现。
2、子模块架构,如图4所示。
测试用例管理:1)提供测试用例的录入功能,测试用例包括以下信息:测试的UI界面,执行控件编号、控件类型(按键、文本输入、滑动等动作)、点击次数、待输入的文本、预期的UI流转序列、预期的执行结果提示文案等信息;2)提供测试用例的管理功能,包括添加和删除;3)数据库存储录入的测试用例,用于编辑、获取、查看等场景;
测试任务管理:1)提供测试任务的编辑功能,可以自由组合各个测试用例作为一次测试任务的执行内容,设置执行测试、执行周期、执行时间等参数;2)提供测试任务的管理功能,报错添加和删除;3)数据库存储录入的测试任务,用于编辑、获取、查看等场景;
测试任务发布:1)根据测试任务的设定参数统筹管理测试任务的执行、停止、中断;2)将测试任务推送到指定的测试操作平台;
知识库管理:1)对待测试软件内的每个UI图进行编号与UI图片进行对应存储,ui的信息包括有哪些控件、有哪些数据信息显示等2)记录控件属性:控件编号及对应的控件图片的对应关系,控件类型存储(按键、消息提示框、文本输入框等信息);3)按照编号记录待测试软件的UI流转关系图,用于测试操作平台中主程序执行测试任务时,进行UI界面跳转,跳转动作包括控件点击、后退键、活动等动作;
测试结果收集:1)收集测试操作平台上报的测试结果并存储到数据库;
测试结果分析:1)分析测试结果数据,对本次测试任务内的所有测试用例的执行情况进行分类整理,并给出成功率等参数;2)将测试任务执行结果通过邮件、短信、即时通信软件等手段通知给管理人员;3)提供可视化模块,通过图表展现测试结果;
通信网关:1)物联网网关,具备MQTT等长连接协议的通信设备接入;2)提供与测试平台设备的上下行通信的能力;
WEB可视化网站:1)提供各类任务的操作入口;2)提供可视化web页面展示。
3、AI云服务平台,如图5所示。
UI界面识别服务:1)UI图片录入:提供入口,可以将UI界面的图片按照编号录入到数据库中;2)图片指纹计算模块:1.利用openCV软件,将图片进行灰度处理;2.计算所有像素点的灰度平均值;3.二值化过程,将每个像素的灰度值与平均值进行对比,>=平均值标记为1;<平均值标记记为0;4.将所有像素点作为数组集,计算两幅图片的指纹,即计算汉明距离,汉明距离越大则说明图片越不一致,反之,汉明距离越小则说明图片越相似,当距离为0时,说明完全相同。(此处距离为平均哈希算法,也可以采用感知哈希算法、dHash算法等);3)图像识别模块:1.将待识别的图片输入到系统中,转化为图片指纹hash值,将hash值与数据库中所有UI图片的hash值进行对比,找出最相近hash值对应的图片编号,作为待识别UI图片的编号;
文字识别服务:用于识别待测试软件过程中弹出的消息提示框内的文字提示内容,用于判断执行结果。(下面只是图片文字识别的一种方式,还有其他开源的实现路径);1)图片文字识别模型训练:1.利用所有的消息提示框文字图片作为训练样本,分割样本图片的字块,作为文字样本库,并标注对应字块的文本内容;2.将这些文字块样本图片进行灰度处理;3.计算所有像素点的灰度平均值;4.二值化过程,将每个像素的灰度值与平均值进行对比,>=平均值标记为1;<平均值标记记为0;5.将所有像素点作为数组集,计算两幅图片的指纹,即计算汉明距离,汉明距离越大则说明图片越不一致,反之,汉明距离越小则说明图片越相似,当距离为0时,说明完全相同。(此处距离为平均哈希算法,也可以采用感知哈希算法、dHash算法等);2)文字识别模块:1.将待识别的消息弹窗图片输入到系统中,先进行文字块分割,并转化为图片指纹hash值,将hash值与数据库中所有文字块图片的hash值进行对比,找出最相近hash值对应的文本内容,将所有文字块的文本内容进行拼接,作为消息提示内容返回;
通信网关:封装UI界面识别服务和文字识别服务,作为接口暴露给测试平台设备;
4、测试操作平台:测试操作平台可以是搭载windows、linux等桌面操作系统的桌面电脑,如图6所示。
IOS/安卓/鸿蒙的等系统的调试软件:各类系统都有对应的调试工具,可以提供应用启动杀死、反向控制、文本输入、退出、截屏等指令功能;
终端投屏服务:通过调用调试软件的能力可以封装实现以下功能:1)将获取的图片按照一定周期(例如100ms),在操作平台的电脑桌面上就行更新展示,实时展示终端设备内待测试软件的运行状态;
桌面点击控制程序:1)根据终端投屏的屏幕坐标进行点击;2)向输入框输入文本;3)应用启动和退出功能;
终端设备:1)安装待测试软件,应用调试模式,通过WIFI/USB与测试操作平台通信;
测试主程序:
1)与测试管理平台建立通信连接,用户接收测试任务、测试用例,接收任务开始、暂停的指令,上报测试结果等功能;
2)加载测试用例脚本:信息包括当前测试用例测试的UI界面信息、控件信息、执行类型(文本输入、点击)、执行后正确的UI界面的流转序列、执行正确结果的提示信息等参数;
3)判断当前UI是否是待执行测试用例的UI界面,如果不是则根据UI界面流转关系图找到最短的流转路径,根据流转动作依次执行,到达预期的UI界面;
4)根据待执行的控件编号,加载对应的控件图片,在当前执行的UI界面内,找到控件的坐标位置,进行点击、文本输入等操作;(寻找控件坐标就是一个模板匹配的过程,相当于在大图中找小图,将大图按梯度不断的分割,计算分割图与小图的相似度,继续分割相似度最高的分割图,不断迭代运行次过程,直至相似度达到收敛阈值。计算相似度可以参考“图片指纹计算模块”上文描述,此方法都为业内通用开源手段,都有较多的开源组件支撑此功能实现,简单描述即可)
5)加载测试字典:待测试软件的UI界面、UI控件的字典库,包括编号、UI图库、控件属性等信息;
6)测试用例执行:按顺序加载测试用例,根据测试用例内需要执行的控件类型选择点击、输入、滑动等执行动作;
7)不间断的根据屏幕截图,调用AI云服务平台的UI界面识别接口,获取当前流转的页面ID;
8)识别到消息弹窗时,调用AI云服务平台的文字识别服务,获取当前的文字提示内容;
9)识别到文本输入框时,根据测试用例输入指定的文本内容继续执行任务;
10)调用AI云服务平台的UI界面识别接口,根据测试需求,比对最后停留的UI界面内显示的内容,与预期的UI显示内容是否一致;
11)测试结果判别:分析执行过程中的UI界面流转、执行结果消息提示,确定测试用例结果;
本实施方式基于本发明所述的一种基于图像识别能力的终端应用自动化测试方法,结合具体对象提供一种实际的实施方式:
完整的基于图像识别能力的终端应用自动化测试系统(以远程控车APP为例,测试远程启动发动机功能)
1、测试管理平台网页上进行知识库的构建:在产品设计阶段完成正向设计和知识库构建,数据库或表格形式录入即可。
1)构建UI界面属性库:对UI进行编号,存储对应的UI界面图片,并添加UI界面的属性包括有哪些控件、有哪些数据信息显示等;
2)构建控件属性库:对控件进行编号,存储对应的UI界面图片,标识控件的类型;
3)构建UI界面流转关系图谱:构建图数据结构,存储UI流转关系图,包括流转需要执行的动作;
2、测试管理平台网页上进行测试用例、测试任务构建:数据库或表格形式录入即可。
1)构建测试用例:根据测试需求构建测试用例,点击远程启动发动机按钮,输入控车密码,确认后开始执行,等待执行结果,查看执行结果的消息提示弹窗内容,确认是否执行成功,观察执行过程中的UI流转是否符合预期
2)测试任务构建:测试任务为在9:30am时刻开始执行上面所述的远程启动发动机测试用例,执行10遍;
3、测试任务执行:
1)测试操作平台准备:连接终端设备,终端设备安装待测试软件并处于调试模式下,终端投屏服务在操作平台的桌面上显示终端设备屏幕内容;
2)在9:30am时刻,云端测试管理平台将测试任务、测试用例、测试知识库下发给测试操作平台;
3)测试主程序加载测试任务、测试用例、测试知识库等参数开始执行测试任务;
4)解析测试用例,识别UI处于预期要执行测试用例的UI界面内;
5)加载远程启动发动机控件图片,在当前UI界面内找到控件所在的坐标;
6)调用桌面点击控制程序,点击启动控件,APP提示输入控车密码;
7)调用AI云服务平台的UI界面识别服务,识别到当前UI界面为控车密码输入界面,根据文本输入框的图片,在当前UI界面内找到对应的位置坐标,调用桌面点击控制程序点击后自动输入测试用例内预置的控车密码,远程启动发动机开始执行;
8)在整个操作过程中,以100ms周期截图,并调用AI云服务平台的UI界面识别服务,记录每张截图的UI界面ID,去重后存储;
9)识别到是消息提示框的UI界面时,调用AI云服务平台的文字识别服务,获取消息提示框内容;
10)确认当前UI界面持续为该条测试用例结束后应该停留的UI界面,则判定为测试用例执行结束;或超过规定时间未出现终止界面,也判定为执行结束;
11)将消息提示框的提示语、UI执行序列于测试用例的标准答案进行比对,输出测试结果,存在本地;
12)上面过程执行10遍,完成整体的测试任务,上传测试结果到云端测试管理平台;
4、测试结果分析:
1)测试管理平台通过邮件、短信等方式通知测试管理员任务已经完成;
5)测试结果分析模块在web端通过图表的形式展现测试结果;
车辆还包括:
通信接口403,用于存储器401和处理器402之间的通信。
存储器401,用于存放可在处理器402上运行的计算机程序。
存储器401可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器401、处理器402和通信接口403独立实现,则通信接口403、存储器401和处理器402可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器401、处理器402及通信接口403,集成在一块芯片上实现,则存储器401、处理器402及通信接口403可以通过内部接口完成相互间的通信。
处理器402可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
以上对本发明所提出的一种基于多维度文本特征的新闻网页信息提取方法、系统、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于图像识别能力的终端应用自动化测试装置,其特征在于,所述装置包括:云端测试管理平台、AI云服务平台、测试操作平台和终端设备;
所述云端测试管理平台用于统筹管理整体的测试任务、测试用例和APP知识库,发送给测试操作平台;
所述AI云服务平台用于为测试操作平台提供图像识别和文字识别的能力,发送结果给测试操作平台;
所述测试操作平台用于加载测试任务、测试用例和测试知识库,并根据既定程序反向控制终端设备执行自动化测试任务,并实时监控终端待测试设备内软件的运行过程,请求AI云服务平台获取软件执行过程中界面流转信息和文字提示,通过与APP知识库对比,分析执行结果;
所述终端设备用于运行待测试应用软件,并与测试操作平台建立通讯连接,接收控制指令和传输图像数据。
2.根据权利要求1所述的一种基于图像识别能力的终端应用自动化测试装置,其特征在于,所述云端测试管理平台包括测试用例管理、测试任务管理、测试任务发布、知识库管理、测试结果收集、测试结果分析、通信网关和WEB可视化网站;
所述测试用例管理用于提供测试用例的录入、提供测试用例的管理和数据库存储录入的测试用例;
所述测试任务管理用于提供测试任务的编辑、提供测试任务的管理和数据库存储录入的测试任务;
所述测试任务发布用于根据测试任务的设定参数统筹管理测试任务的执行、停止和中断,并将测试任务推送到测试操作平台;
所述知识库管理用于对待测试软件内的每个UI图进行编号与UI图片进行对应存储、记录控件属性和按照编号记录待测试软件的UI流转关系图;
所述测试结果收集用于收集测试操作平台上报的测试结果,并存储到数据库;
所述测试结果分析用于分析测试结果数据和提供可视化模块,并将测试任务执行结果通过邮件、短信和即时通信软件的手段发送通知;
所述通信网关用于物联网网关,并提供与测试平台设备的上下行通信的能力;
所述WEB可视化网站用于提供各类任务的操作入口和提供可视化web页面展示。
3.根据权利要求1所述的一种基于图像识别能力的终端应用自动化测试装置,其特征在于,所述AI云服务平台包括UI界面识别服务、文字识别服务和通信网关;
所述UI界面识别服务用于UI图片录入、图片指纹计算和图像识别;
所述文字识别服务用于识别待测试软件过程中弹出的消息提示框内的文字提示内容,并判断执行结果;
所述通信网关用于封装UI界面识别服务和文字识别服务,作为接口暴露给测试平台设备。
4.根据权利要求1所述的一种基于图像识别能力的终端应用自动化测试装置,其特征在于,所述测试操作平台包括测试主程序、桌面点击控制程序、调试软件和终端投屏服务;
所述测试主程序用于与测试管理平台建立通信连接、加载测试用例脚本、判断当前UI是否是待执行测试用例的UI界面、根据待执行的控件编号、加载测试字典、测试用例执行、不间断的根据屏幕截图、调用AI云服务平台的UI界面识别接口和测试结果判别,还用于识别到消息弹窗时,调用AI云服务平台的文字识别服务,获取当前的文字提示内容,还用于识别到文本输入框时,根据测试用例输入文本内容继续执行任务;
所述桌面点击控制程序用于根据终端投屏的屏幕坐标进行点击、向输入框输入文本和应用启动和退出功能;
所述调试软件用于提供应用启动杀死、反向控制、文本输入、退出、截屏指令;
所述终端投屏服务用于将获取的终端设备桌面图片按照周期,在操作平台的电脑桌面上就行更新展示,实时展示终端设备内待测试软件的运行状态。
5.一种基于图像识别能力的终端应用自动化测试方法,其特征在于,该方法是采用权利要求1所述的一种基于图像识别能力的终端应用自动化测试装置实现的,包括以下步骤:
步骤S1,测试管理平台网页上进行知识库的构建,在产品设计阶段完成正向设计和知识库构建,数据库或表格形式录入;
步骤S2,测试管理平台网页上进行测试用例、测试任务构建,数据库或表格形式录入;
步骤S3,测试任务执行后,测试结果分析。
6.根据权利要求5所述的一种基于图像识别能力的终端应用自动化测试装置,其特征在于,所述步骤S3中,所述的测试任务执行,具体包括以下步骤:
步骤S301,测试操作平台准备,连接终端设备,终端设备安装待测试软件并处于调试模式下,终端投屏服务在操作平台的桌面上显示终端设备屏幕内容;
步骤S302,云端测试管理平台将测试任务、测试用例、测试知识库下发给测试操作平台;
步骤S303,测试主程序加载测试任务、测试用例、测试知识库参数开始执行测试任务;
步骤S304,解析测试用例,识别UI处于预期要执行测试用例的UI界面内;
步骤S305,加载待执行的控件图片,在当前UI界面内找到控件所在的坐标;
步骤S306,调用桌面点击控制程序,点击启动控件;
步骤S307,调用AI云服务平台的UI界面识别服务,,识别当前UI界面内是否有需要输入的文本框或需要再次确认的按钮,根据知识库内文本框或按钮的图片,在当前UI界面内找到对应的位置坐标,调用桌面点击控制程序或文本输入程序,进行对应的操作,继续开始执行应用;
步骤S308,在整个操作过程中,以100ms周期截图,并调用AI云服务平台的UI界面识别服务,记录每张截图的UI界面ID,去重后存储;
步骤S309,识别到是消息提示框的UI界面时,调用AI云服务平台的文字识别服务,获取消息提示框内容;
步骤S310,确认当前UI界面持续为该条测试用例结束后应该停留的UI界面,则判定为测试用例执行结束;或超过规定时间未出现终止界面,也判定为执行超时结束;
步骤S311,将消息提示框的提示语、UI执行序列与测试用例的标准答案进行比对,输出测试结果,存在本地;
步骤S312,按照上述步骤S304至步骤S311,完成所有测试用例的执行,完成整体的测试任务,上传测试结果到云端测试管理平台。
7.根据权利要求5所述的一种基于图像识别能力的终端应用自动化测试装置,其特征在于,所述步骤S3中,所述的测试结果是通过图表的形式展现的。
8.一种基于图像识别能力的终端应用自动化测试系统,其特征在于,所述系统包括:
知识库模块,测试管理平台网页上进行知识库的构建,在产品设计阶段完成正向设计和知识库构建,数据库或表格形式录入;
录入模块,测试管理平台网页上进行测试用例、测试任务构建,数据库或表格形式录入;
执行模块,测试任务执行后,测试结果分析。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求5-7任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求5-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210477321.5A CN114896148A (zh) | 2022-05-04 | 2022-05-04 | 一种基于图像识别能力的终端应用自动化测试装置、系统、方法、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210477321.5A CN114896148A (zh) | 2022-05-04 | 2022-05-04 | 一种基于图像识别能力的终端应用自动化测试装置、系统、方法、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114896148A true CN114896148A (zh) | 2022-08-12 |
Family
ID=82719036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210477321.5A Pending CN114896148A (zh) | 2022-05-04 | 2022-05-04 | 一种基于图像识别能力的终端应用自动化测试装置、系统、方法、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114896148A (zh) |
-
2022
- 2022-05-04 CN CN202210477321.5A patent/CN114896148A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018010552A1 (zh) | 测试方法和装置 | |
US9448908B2 (en) | System and method for model based session management | |
US9904517B2 (en) | System and method for automatic modeling of an application | |
CN104956339B (zh) | 从视频生成软件测试脚本 | |
CN112612690B (zh) | 一种用户界面信息处理方法、装置、电子设备及存储介质 | |
CN109359043B (zh) | 一种基于机器学习的移动游戏自动化测试方法 | |
CN110765015A (zh) | 一种对被测应用进行测试的方法和电子设备 | |
CN110806965A (zh) | 自动测试方法、装置、设备和介质 | |
WO2021159736A1 (zh) | 应用程序兼容性测试的方法、装置及计算机设备 | |
CN112633341A (zh) | 一种界面测试方法、装置、计算机设备和存储介质 | |
CN115269359A (zh) | 终端界面测试方法及装置 | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
CN111930633A (zh) | 数据测试方法、平台、电子设备及存储介质 | |
CN114896148A (zh) | 一种基于图像识别能力的终端应用自动化测试装置、系统、方法、设备以及存储介质 | |
CN115758005A (zh) | 一种大屏图像的处理方法、装置及介质 | |
CN114972500A (zh) | 查验方法、标注方法、系统、装置、终端、设备及介质 | |
CN115631374A (zh) | 控件操作方法、控件检测模型的训练方法、装置和设备 | |
CN106775701B (zh) | 一种客户端自动取证方法和系统 | |
CN113392013B (zh) | 用例生成方法及装置 | |
CN114756448A (zh) | 一种用户界面的还原度自动测试系统和方法 | |
CN115048302A (zh) | 前端的兼容性测试方法及装置、存储介质、电子设备 | |
CN111459774A (zh) | 一种应用程序的流量的获取方法、装置、设备及存储介质 | |
CN111459831B (zh) | 测试系统和测试方法 | |
CN113128357A (zh) | 车辆故障处理方法及系统 | |
CN114448848B (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 |