CN116049001A - 应用的自动化测试工具及其测试方法 - Google Patents
应用的自动化测试工具及其测试方法 Download PDFInfo
- Publication number
- CN116049001A CN116049001A CN202310086900.1A CN202310086900A CN116049001A CN 116049001 A CN116049001 A CN 116049001A CN 202310086900 A CN202310086900 A CN 202310086900A CN 116049001 A CN116049001 A CN 116049001A
- Authority
- CN
- China
- Prior art keywords
- script
- test
- application
- automatic test
- tested
- 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/3696—Methods or tools to render software testable
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用的自动化测试工具及其测试方法,工具包括:引擎中心获取待测应用的用户操作,对用户操作进行识别,得到识别结果,并根据识别结果生成自动化测试脚本;控制执行自动化测试脚本,生成待测应用的测试报告;引擎中心还录制执行自动化测试脚本的视频流;操作页面接收视频流并进行播放。本发明实现了待测应用的自动化测试,通过引擎中心进行识别,通过操作页面播放视频流,方便测试人员远程观看自动化测试过程,能够方便对各种版本的待测应用进行维护,解决了控件难定位、脚本维护困难、需求变更快、自动化脚本运行不稳定等难题;有效保证了互联网产品的质量要求,提升用户对互联网产品的体验需求。
Description
技术领域
本发明涉及自动化测试技术领域,具体涉及一种应用的自动化测试工具及其测试方法。
背景技术
随着互联网的发展,人们对生活品质有了不断的提升要求,进而对所用的互联网产品也有了更高的体验需求。这对于测试互联网产品的测试工程师来说就有了更高的质量保证要求,而互联网产品中的各种应用时间短、进度快、种类多,使得仅靠人工很难保证各种版本的应用的测试充分,这个时候就需要借助自动化来释放人力,提升测试效率。
然而,当前市面上应用的自动化测试工具面临着控件难定位、脚本维护困难、需求变更快、自动化脚本运行不稳定等各种难点问题,造成自动化测试在项目中落地困难重重。
发明内容
有鉴于此,本发明提供了一种应用的自动化测试工具及其测试方法,以解决现有应用的自动化测试工具控件难定位、脚本维护困难、需求变更快、自动化脚本运行不稳定等问题。
本发明提供了一种应用的自动化测试工具,所述工具包括:
引擎中心,用于获取待测应用的用户操作,对用户操作进行识别,得到识别结果,并根据所述识别结果生成所述待测应用的自动化测试脚本;控制执行所述自动化测试脚本,生成所述待测应用的测试报告;
所述引擎中心,还用于录制执行所述自动化测试脚本的视频流;
操作页面,与所述引擎中心通信连接,用于接收所述视频流并进行播放。
可选地,所述引擎中心包括:
指令处理模块,用于根据所述用户操作生成识别指令,还用于根据所述自动化测试脚本生成执行指令;
脚本生成模块,与所述指令处理模块通信连接,用于基于AI识别方法,根据所述识别指令对所述用户操作进行识别,得到所述识别结果,并根据所述识别结果生成所述自动化测试脚本;其中,所述自动化测试脚本包括多个具有先后顺序的测试流程;
脚本执行模块,与所述脚本生成模块和所述指令处理模块均通信连接,用于基于所有测试流程的先后顺序,根据所述执行指令执行所述自动化测试脚本中的所有测试流程。
可选地,所述指令处理模块,还用于根据所述自动化测试脚本生成录屏指令;
所述引擎中心还包括:
录屏模块,与所述脚本执行模块和所述指令处理模块均通信连接,用于基于所有测试流程的先后顺序,根据所述录屏指令录制执行所述自动化测试脚本中的所有测试流程的所述视频流;
报告生成模块,与所述脚本执行模块通信连接,用于生成执行所述自动化测试脚本中的所有测试流程的所述测试报告。
可选地,所述工具还包括:
数据后端,与所述引擎中心通信连接,用于分别存储所述用户操作、所述视频流和所述测试报告。
可选地,所述引擎中心还包括:
数据管理模块,与所述脚本生成模块和所述脚本执行模块均通信连接,用于存储所述脚本生成模块生成的所述自动化测试脚本。
可选地,所述脚本执行模块包括:
流程管理器,与所述数据管理模块通信连接,用于根据所述自动化测试脚本中所有测试流程的先后顺序,管理所有测试流程的执行顺序;
元素定位器,与所述数据管理模块通信连接,用于获取所述自动化测试脚本中所有测试流程中的元素定位;
操作获取器,与所述数据管理模块通信连接,用于获取所述自动化测试脚本中所有测试流程中的待执行操作;
执行器,与所述流程管理器、所述元素定位器和所述操作获取器均通信连接,用于在所述流程管理器管理的所述执行顺序下,根据所述测试流程中的所述元素定位和所述待执行操作,执行所有测试流程。
可选地,所述元素定位器包括控件定位器、坐标元素定位器、ocr元素定位器和opencv元素定位器。
可选地,所述待执行操作包括控件操作、robot操作、机械臂操作、adb操作、python脚本操作、数据库操作、js脚本操作、dubbo接口操作、http接口操作和mockVal操作。
可选地,所述引擎中心还包括:
设备管理模块,用于实时监听所述待测应用对应的操作设备的设备状态。
此外,本发明还提供了一种应用的自动化测试方法,采用前述的工具对待测应用进行自动化测试中,所述方法包括:
利用引擎中心,获取待测应用的用户操作,对用户操作进行识别,得到识别结果,并根据所述识别结果生成所述待测应用的自动化测试脚本;控制执行所述自动化测试脚本,生成所述待测应用的测试报告;
利用引擎中心,录制执行所述自动化测试脚本的视频流;
利用操作页面,接收所述视频流并进行播放。
本发明的有益效果:通过引擎中心对用户操作进行识别,能够识别出用户操作所对应的识别结果(包括对控件的识别等),能实现控件的定位等,解决了控件难定位的问题;根据识别结果自动生成对应的自动化测试脚本,一方面便于实现待测应用的自动化测试,另一方面不局限于用户操作的平台,可针对性地生成待测应用的自动化测试脚本,能够适配多平台的待测应用;同时通过引擎中心对自动化测试脚本的自动执行与录制,实现了待测应用的自动化测试,还方便测试人员远程观看自动化测试过程,能够方便对各种版本的待测应用进行维护,解决了脚本维护困难、需求变更快、自动化脚本运行不稳定等难题;有效保证了互联网产品的质量要求,提升用户对互联网产品的体验需求。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明实施例一中一种应用的自动化测试工具的结构图;
图2示出了本发明实施例一中引擎中心的结构图;
图3示出了本发明实施例一中脚本执行模块的结构图;
图4示出了本发明实施例二中一种应用的自动化测试方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,一种应用的自动化测试工具,该工具包括:
引擎中心,用于获取待测应用的用户操作,对用户操作进行识别,得到识别结果,并根据所述识别结果生成所述待测应用的自动化测试脚本;控制执行所述自动化测试脚本,生成所述待测应用的测试报告;
所述引擎中心,还用于录制执行所述自动化测试脚本的视频流;
操作页面,与所述引擎中心通信连接,用于接收所述视频流并进行播放。
本实施例提供的自动化测试工具,通过引擎中心对用户操作进行控件识别,能够识别出用户操作所对应的识别结果,包括对控件和操作的识别等,解决了控件难定位的问题;根据识别结果自动生成对应的自动化测试脚本,一方面便于实现待测应用的自动化测试,另一方面不局限于用户操作的平台,可针对性地生成待测应用的自动化测试脚本,能够适配多平台的待测应用;同时通过引擎中心对自动化测试脚本的自动执行与录制,实现了待测应用的自动化测试,还方便测试人员远程观看自动化测试过程,能够方便对各种版本的待测应用进行维护,解决了脚本维护困难、需求变更快、自动化脚本运行不稳定等难题;有效保证了互联网产品的质量要求,提升用户对互联网产品的体验需求。
具体地,用户操作指用户对待测应用进行操作时的动作,包括基本的点击、滑动、输入等操作,还可以包括待测应用针对不同应用类型提供的功能操作,如Android应用点击Home键、web应用的返回上一页等。
优选地,如图2所示,所述引擎中心包括:
指令处理模块,用于根据所述用户操作生成识别指令,还用于根据所述自动化测试脚本生成执行指令;
脚本生成模块,与所述指令处理模块通信连接,用于基于AI识别方法,根据所述识别指令对所述用户操作进行识别,得到所述识别结果,并根据所述识别结果生成所述自动化测试脚本;其中,所述自动化测试脚本包括多个具有先后顺序的测试流程;
脚本执行模块,与所述脚本生成模块和所述指令处理模块均通信连接,用于基于所有测试流程的先后顺序,根据所述执行指令执行所述自动化测试脚本中的所有测试流程。
指令处理模块用作引擎中心内部各模块之间的交互,能触发实现用户操作的自动识别,进而针对性地生成自动化测试脚本;还能触发自动化测试脚本的自动执行,实现待测应用的自动化测试;也用作引擎中心与操作页面之间的交互,触发实现自动化测试过程的录屏,能让用户远程投屏操作,实现如真机操作一样的体验。
脚本生成模块在识别指令的触发下,利用人工智能技术,能识别出用户操作中的控件(例如按钮或输入框等)和操作(例如单击、滑动等),进而通过这些识别出的控件和操作生成对应的自动化测试脚本,实现待测应用的自动化测试。其中,人工智能技术可以是通过用户操作的截图图像进行图像识别的技术,其具体方法为现有技术,例如基于深度学习方法,预先训练出图像识别的网络模型,利用该网络模型对截图图像进行图像识别,即可识别出对应的识别结果,其中的具体细节此处不再赘述。
其中,自动化测试脚本由多个具有先后顺序的测试流程组成,将待测应用的自动化测试过程拆分成多个测试任务,一方面可以便于后续脚本执行模块在执行脚本时的有序执行,实现高效的自动化测试;另一方面还便于后续通过录屏和操作页面的播放,使得测试人员可以直观地看到在自动化测试时各个阶段是做什么,每个关键节点是什么,帮助测试人员精确确定自动化测试情况,掌握待测应用在哪个节点存在bug情况等。
脚本执行模块在执行指令的触发下,按照生成的自动化测试脚本进行执行,实现测试。
优选地,所述指令处理模块,还用于根据所述自动化测试脚本生成录屏指令;
如图2所示,所述引擎中心还包括:
录屏模块,与所述脚本执行模块和所述指令处理模块均通信连接,用于基于所有测试流程的先后顺序,根据所述录屏指令录制执行所述自动化测试脚本中的所有测试流程的所述视频流;
报告生成模块,与所述脚本执行模块通信连接,用于生成执行所述自动化测试脚本中的所有测试流程的所述测试报告。
录屏模块在指令处理模块生成的录屏指令的触发下,对脚本执行模块按照所有测试流程的先后顺序,在执行自动化测试脚本的过程进行录屏,形成视频流,结合操作页面,方便测试人员直观地看到整个自动化测试过程,进而更有利于测试人员掌握待测应用的测试情况,方便待测应用的测试维护,提升应用维护效果,确保其质量。通过报告生成模块来生成测试报告,便于测试人员直接得到自动化测试的结果,进而方便测试人员对待测应用进行维护,提升待测应用的维护效果。
优选地,所述指令处理模块,还与所述录屏模块通信连接,还用于根据所述视频流生成投屏指令;
如图2所示,所述引擎中心还包括:
投屏控制模块,与所述指令处理模块、所述录屏模块和所述操作页面均通信连接,用于根据所述投屏指令,将所述视频流下发至所述操作页面。
优选地,如图2所示,所述工具还包括:
数据后端,与所述引擎中心通信连接,用于分别存储所述用户操作、所述视频流和所述测试报告。
通过数据后端存储待测应用在自动化测试之前的用户操作、在自动化测试过程中所录制的视频流以及在自动化测试完成后生成的测试报告,作为整个测试工具的数据存储中心,能对待测应用的相关数据进行管理,方便后续在进行数据追溯时提供数据基础。
优选地,如图2所示,所述引擎中心还包括:
数据管理模块,与所述脚本生成模块和所述脚本执行模块均通信连接,用于存储所述脚本生成模块生成的所述自动化测试脚本。
通过独立的数据管理模块存储自动化测试脚本,作为脚本执行的数据源,能方便脚本执行模块直接从该模块中提取到自动化测试脚本,保证自动化测试过程的准确运行,同时也一定程度上提升了自动化测试效率。
优选地,如图3所示,所述脚本执行模块包括:
流程管理器,与所述数据管理模块通信连接,用于根据所述自动化测试脚本中所有测试流程的先后顺序,管理所有测试流程的执行顺序;
元素定位器,与所述数据管理模块通信连接,用于获取所述自动化测试脚本中所有测试流程中的元素定位;
操作获取器,与所述数据管理模块通信连接,用于获取所述自动化测试脚本中所有测试流程中的待执行操作;
执行器,与所述流程管理器、所述元素定位器和所述操作获取器均通信连接,用于在所述流程管理器管理的所述执行顺序下,根据所述测试流程中的所述元素定位和所述待执行操作,执行所有测试流程。
通过上述结构的脚本执行模块,能准确将识别结果转化为脚本中各元素的定位和所需要执行的操作,准确确定出各个测试流程的执行顺序以及其中的元素定位和待执行操作,进而确保生成准确的自动化测试脚本,确保自动化测试过程的精确运行。
具体地,所述元素定位器包括控件元素定位器、坐标元素定位器、ocr元素定位器和opencv元素定位器。
通过上述类型的控件定位器,便于对测试流程中的各种元素进行精确定位,获得准确的元素定位,进而便于在后续测试流程的执行时,按照该准确的元素定位进行自动化测试,实现精确的自动化测试,提升自动化测试的准确率。其中,上述元素定位器均为原生定位器,可通过底层技术自动生成,其具体生成方法为现有技术,基于生成的各元素定位器来获取元素定位的具体方法也为现有技术,具体细节此处不再赘述。
具体地,本实施例中控件元素是指用于开发构建用户界面的组件如按钮、文本框、菜单等,则控件元素定位器是指找到该控件元素的路径数据如xpath等;坐标元素定位器是指通过界面上像素坐标位置来确定用户操作的元素;ocr元素定位器是指通过AI模型识别界面图片上元素,并提供数据定位用户操作元素;opencv元素定位器是指通过图片对比算法定位用户操作元素。
具体地,在本实施例中,所述控件待执行操作包括控件操作、robot操作、机械臂操作、adb操作、python脚本操作、数据库操作、js脚本操作、dubbo接口操作、http接口操作和智能monkey操作。
通过上述获取的各种类型的待执行操作,能够准确提供自动化测试时各测试流程下需要执行的动作,确保自动化测试的准确率。
具体地,本实施例中上述各待执行操作的说明具体如下:
控件操作:通过系统提供api入口根据控件定位器找到控件,驱动控件模拟用户操作。
robot操作:针对pc端应用,通过编程语言Java提供的Robot类模拟鼠标和键盘的输入,实现自动化操作。
机械臂操作:机械臂是一种自动化机械装置,我们通过机械臂提供的高清摄像头获取手机屏幕信息,根据自动化脚本,由机械臂模拟用户操作手机。
adb操作:支持android工具adb命令使用。
python脚本操作:支持python脚本编程增强自动化脚本灵活性。
数据库操作:支持通过执行sql语句操作数据库功能。
js脚本操作:支持JavaScript脚本编程增强自动化脚本灵活性。
dubbo接口操作:支持对dubbo协议调用功能。
http接口操作:支持对http协议调用功能。
智能monkey操作:无需用户录制脚本智能生成操作流程,对测试应用实现稳定性、功能性测试。
具体地,所述引擎中心还包括:
设备管理模块,用于实时监听所述待测应用对应的操作设备的设备状态。
通过设备管理模块实时监听操作设备的设备状态,能确保待测应用在用户使用时和自动化测试时,均能保持正常运行状态,也保证用户能选择到期望使用的设备。
具体地,本实施例中设备管理模块所监听的设备状态包括设备的在线情况、异常情况等状态信息;操作设备包括电脑设备、机械臂、安卓设备、摄像机、IOS设备和浏览器等。
具体地,本实施例中设备管理模块还实时监听执行自动化测试脚本的测试信息,测试信息包括但不局限于操作事件、视频分析服务、投屏服务、机械臂服务和任务分发等。
本实施例提供的自动化测试工具有以下优点:
(1)能够准确识别和定位出各控件,解决控件定位难的问题;
(2)不局限于用户操作的平台,支持android、ios、windows、web等不同类型平台的应用的自动化测试;
(3)能够自动生成各控件定位器,傻瓜式操作,自动生成准确的自动化测试脚本;
(4)能够实现远程录制、投屏播放各种类型应用的自动化测试过程。
实施例二
如图4所示,一种应用的自动化测试方法,采用实施例一的工具对待测应用进行自动化测试,该方法包括:
S1:利用引擎中心,获取待测应用的用户操作,对用户操作进行识别,得到识别结果,并根据所述识别结果生成所述待测应用的自动化测试脚本;控制执行所述自动化测试脚本,生成所述待测应用的测试报告;
S2:利用引擎中心,录制执行所述自动化测试脚本的视频流;
S3:利用操作页面,接收所述视频流并进行播放。
本实施例的自动化测试方法,通过引擎中心对用户操作进行控件识别,能够识别出用户操作所对应的识别结果,包括对控件和操作的识别等,解决了控件难定位的问题;根据识别结果自动生成对应的自动化测试脚本,一方面便于实现待测应用的自动化测试,另一方面不局限于用户操作的平台,可针对性地生成待测应用的自动化测试脚本,能够适配多平台的待测应用;同时通过引擎中心对自动化测试脚本的自动执行与录制,实现了待测应用的自动化测试,还方便测试人员远程观看自动化测试过程,能够方便对各种版本的待测应用进行维护,解决了脚本维护困难、需求变更快、自动化脚本运行不稳定等难题;有效保证了互联网产品的质量要求,提升用户对互联网产品的体验需求。
本实施例所述的自动化测试方法中所采用的工具的结构与实施例一的自动化测试工具的结构相同,自动化测试方法的步骤与自动化测试工具的功能对应,因此本实施例中的未尽细节,详见实施例一及图1至图3的具体描述,此处不再赘述。
实施例三
本实施例还提供一种应用的自动化测试装置,包括处理器、存储器和存储在所述存储器中且可运行在所述处理器上的计算机程序,所述计算机程序运行时实现实施例二中的方法步骤。
通过存储在存储器上的计算机程序,并运行在处理器上,实现了待测应用的自动化测试,通过引擎中心进行控件识别,通过操作页面播放视频流,方便测试人员远程观看自动化测试过程,能够方便对各种版本的待测应用进行维护,解决了控件难定位、脚本维护困难、需求变更快、自动化脚本运行不稳定等难题;有效保证了互联网产品的质量要求,提升用户对互联网产品的体验需求。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模型,处理器通过运行或执行存储在存储器内的计算机程序和/或模型,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如声音播放功能、图像播放功能等);存储数据区可存储根据手机的使用所创建的数据(例如音频数据、视频数据等)。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
应理解可由计算机程序实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本实施例还提供一种计算机存储介质,所述计算机存储介质包括:至少一个指令,在所述指令被执行时实现实施例二中的方法步骤。
通过执行包含至少一个指令的计算机存储介质,实现了待测应用的自动化测试,通过引擎中心进行控件识别,通过操作页面播放视频流,方便测试人员远程观看自动化测试过程,能够方便对各种版本的待测应用进行维护,解决了控件难定位、脚本维护困难、需求变更快、自动化脚本运行不稳定等难题;有效保证了互联网产品的质量要求,提升用户对互联网产品的体验需求。
同理,实施例三的未尽细节,详见实施例一、实施例二及图1至图4的具体描述,此处不再赘述。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种应用的自动化测试工具,其特征在于,所述工具包括:
引擎中心,用于获取待测应用的用户操作,对用户操作进行识别,得到识别结果,并根据所述识别结果生成所述待测应用的自动化测试脚本;控制执行所述自动化测试脚本,生成所述待测应用的测试报告;
所述引擎中心,还用于录制执行所述自动化测试脚本的视频流;
操作页面,与所述引擎中心通信连接,用于接收所述视频流并进行播放。
2.根据权利要求1所述的应用的自动化测试工具,其特征在于,所述引擎中心包括:
指令处理模块,用于根据所述用户操作生成识别指令,还用于根据所述自动化测试脚本生成执行指令;
脚本生成模块,与所述指令处理模块通信连接,用于基于AI识别方法,根据所述识别指令对所述用户操作进行识别,得到所述识别结果,并根据所述识别结果生成所述自动化测试脚本;其中,所述自动化测试脚本包括多个具有先后顺序的测试流程;
脚本执行模块,与所述脚本生成模块和所述指令处理模块均通信连接,用于基于所有测试流程的先后顺序,根据所述执行指令执行所述自动化测试脚本中的所有测试流程。
3.根据权利要求2所述的应用的自动化测试工具,其特征在于,所述指令处理模块,还用于根据所述自动化测试脚本生成录屏指令;
所述引擎中心还包括:
录屏模块,与所述脚本执行模块和所述指令处理模块均通信连接,用于基于所有测试流程的先后顺序,根据所述录屏指令录制执行所述自动化测试脚本中的所有测试流程的所述视频流;
报告生成模块,与所述脚本执行模块通信连接,用于生成执行所述自动化测试脚本中的所有测试流程的所述测试报告。
4.根据权利要求3所述的应用的自动化测试工具,其特征在于,所述工具还包括:
数据后端,与所述引擎中心通信连接,用于分别存储所述用户操作、所述视频流和所述测试报告。
5.根据权利要求2所述的应用的自动化测试工具,其特征在于,所述引擎中心还包括:
数据管理模块,与所述脚本生成模块和所述脚本执行模块均通信连接,用于存储所述脚本生成模块生成的所述自动化测试脚本。
6.根据权利要求5所述的应用的自动化测试工具,其特征在于,所述脚本执行模块包括:
流程管理器,与所述数据管理模块通信连接,用于根据所述自动化测试脚本中所有测试流程的先后顺序,管理所有测试流程的执行顺序;
元素定位器,与所述数据管理模块通信连接,用于获取所述自动化测试脚本中所有测试流程中的元素定位;
操作获取器,与所述数据管理模块通信连接,用于获取所述自动化测试脚本中所有测试流程中的待执行操作;
执行器,与所述流程管理器、所述元素定位器和所述操作获取器均通信连接,用于在所述流程管理器管理的所述执行顺序下,根据所述测试流程中的所述元素定位和所述待执行操作,执行所有测试流程。
7.根据权利要求6所述的应用的自动化测试工具,其特征在于,所述元素定位器包括控件元素定位器、坐标元素定位器、ocr元素定位器和opencv元素定位器。
8.根据权利要求6所述的应用的自动化测试工具,其特征在于,所述待执行操作包括控件操作、robot操作、机械臂操作、adb操作、python脚本操作、数据库操作、js脚本操作、dubbo接口操作、http接口操作和mockVal操作。
9.根据权利要求1至7任一项所述的应用的自动化测试工具,其特征在于,所述引擎中心还包括:
设备管理模块,用于实时监听所述待测应用对应的操作设备的设备状态。
10.一种应用的自动化测试方法,其特征在于,采用如权利要求1至9任一项所述的工具去对待测应用进行自动化测试,所述方法包括:
利用引擎中心,获取待测应用的用户操作,对用户操作进行识别,得到识别结果,并根据所述识别结果生成所述待测应用的自动化测试脚本;控制执行所述自动化测试脚本,生成所述待测应用的测试报告;
利用引擎中心,录制执行所述自动化测试脚本的视频流;
利用操作页面,接收所述视频流并进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310086900.1A CN116049001A (zh) | 2023-02-09 | 2023-02-09 | 应用的自动化测试工具及其测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310086900.1A CN116049001A (zh) | 2023-02-09 | 2023-02-09 | 应用的自动化测试工具及其测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116049001A true CN116049001A (zh) | 2023-05-02 |
Family
ID=86125420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310086900.1A Pending CN116049001A (zh) | 2023-02-09 | 2023-02-09 | 应用的自动化测试工具及其测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049001A (zh) |
-
2023
- 2023-02-09 CN CN202310086900.1A patent/CN116049001A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11227439B2 (en) | Systems and methods for multi-user virtual reality remote training | |
US9753826B2 (en) | Providing fault injection to cloud-provisioned machines | |
US20190227917A1 (en) | Adaptive system for mobile device testing | |
US20160283353A1 (en) | Automated software testing | |
CN108717393A (zh) | 一种应用程序测试方法及移动终端 | |
US9898396B2 (en) | Automated software testing and validation via graphical user interface | |
CN105740153A (zh) | 云测试方法及装置 | |
CN102999419B (zh) | 一种Android测试事件记录回放方法及装置 | |
CN104899132B (zh) | 应用软件测试方法、装置及系统 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN110471853A (zh) | App测试方法、装置、计算机设备及存储介质 | |
CN111078547A (zh) | 一种python通用app软件自动化测试框架系统 | |
CN112433948A (zh) | 一种基于网络数据分析的仿真测试系统及方法 | |
Tuovenen et al. | MAuto: Automatic mobile game testing tool using image-matching based approach | |
CN103729293A (zh) | 一种基于uml活动图的gui测试方法 | |
CN113626317A (zh) | 一种自动驾驶软件调测系统、方法、介质和设备 | |
CN111522749A (zh) | 页面测试方法、装置、可读存储介质及电子设备 | |
CN106598836A (zh) | 一种客户端软件的测试方法及系统 | |
CN114546814A (zh) | 录制回放方法、装置及存储介质 | |
CN116049001A (zh) | 应用的自动化测试工具及其测试方法 | |
CN111258893A (zh) | 随机组装交易路径的移动端应用自动化测试装置 | |
CN111737141A (zh) | 一种结合深度学习技术的黑盒自动化测试系统和方法 | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
US20170206153A1 (en) | Simulating process variable changes during process runtime | |
CN114091687A (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 |