CN112100075B - 一种用户界面回放方法、装置、设备及存储介质 - Google Patents
一种用户界面回放方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112100075B CN112100075B CN202011015351.1A CN202011015351A CN112100075B CN 112100075 B CN112100075 B CN 112100075B CN 202011015351 A CN202011015351 A CN 202011015351A CN 112100075 B CN112100075 B CN 112100075B
- Authority
- CN
- China
- Prior art keywords
- image
- video
- video image
- frame
- feature
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000002452 interceptive effect Effects 0.000 claims abstract description 68
- 238000012360 testing method Methods 0.000 claims abstract description 65
- 230000003993 interaction Effects 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 12
- 239000010432 diamond Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 17
- 238000012423 maintenance Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 11
- 238000009432 framing Methods 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012015 optical character recognition Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- 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/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请实施例公开一种用户界面回放方法、装置、设备和存储介质,通过对用户与用户界面的交互过程进行录制,得到待处理视频。对待处理视频包括的多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征。根据图像特征和操作轨迹特征,从多帧视频图像中确定发生交互操作的关键图像,根据图像特征、操作轨迹特征和关键图像生成测试用例,并回放该测试用例。该方法无需测试人员编写代码,大大降低了对测试人员代码能力的要求。同时,无需与软件的页面开发框架相关联,所以受页面开发框架的迭代影响极小,使其具备较强的跨平台特性,极大的降低维护成本。
Description
技术领域
本申请涉及计算机软件测试技术领域,特别是涉及一种用户界面回放方法、装置、设备及存储介质。
背景技术
用户界面(User Interface,UI)是用户与应用程序进行人机交互的媒介。用户通过UI来与应用程序进行信息交换,是应用程序的重要组成部分。UI的好坏直接影响到应用程序的性能能否充分发挥,能否使用户准确、高效、轻松、愉快地工作。
UI测试可以检查应用程序的UI是否工作正常或是否存在任何妨碍用户操作且不符合书面规格的漏洞,通过UI回放可以实现UI测试。相关技术中,测试人员通过学习并开发代码生成测试用例,以模仿用户通过UI与应用程序进行交互的行为,然后回放测试用例以对UI进行测试。
然而,这种方法需要对测试人员的代码能力有较高要求,并且UI测试框架底层均与应用程序的应用开发框架代码紧耦合,当应用开发框架进行更新后,已有测试用例需要重新进行适配,使得维护测试用例也存在较大成本,尤其是在高速迭代的移动端应用程序。
发明内容
为了解决上述技术问题,本申请提供了一种用户界面回放方法、装置、设备和存储介质,无需测试人员编写代码,大大降低了对测试人员代码能力的要求。同时,无需与软件的页面开发框架相关联,受页面开发框架的迭代影响极小,使其具备较强的跨平台特性,极大的降低维护成本。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种用户界面回放方法,所述方法包括:
对用户与用户界面的交互过程进行录制,得到待处理视频,所述待处理视频包括多帧视频图像;
对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征;
根据所述图像特征和所述操作轨迹特征,从所述多帧视频图像中确定发生交互操作的关键图像;
根据所述图像特征、所述操作轨迹特征和所述关键图像生成测试用例;
回放所述测试用例。
又一方面,本申请实施例提供一种用户界面回放装置,所述装置包括录制单元、第一确定单元、第二确定单元、生成单元和回放单元:
所述录制单元,用于对用户与用户界面的交互过程进行录制,得到待处理视频,所述待处理视频包括多帧视频图像;
所述第一确定单元,用于对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征;
所述第二确定单元,用于根据所述图像特征和所述操作轨迹特征,从所述多帧视频图像中确定发生交互操作的关键图像;
所述生成单元,用于根据所述图像特征、所述操作轨迹特征和所述关键图像生成测试用例;
所述回放单元,用于回放所述测试用例。
另一方面,本申请实施例提供一种用于用户界面回放的设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行前述用户界面回放方法。
再一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述用户界面回放方法。
由上述技术方案可以看出,本申请可以以录制的视频为驱动实现用户界面回放。当用户通过对用户界面的交互操作实现与软件的交互时,可以对用户与用户界面的交互过程进行录制,得到待处理视频,待处理视频包括多帧视频图像。对多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征,其中,图像特征可以体现每一帧视频图像的特征,以便在回放过程中可以根据图像特征知晓回放到哪一帧视频图像,该视频图像中所包括的元素;操作轨迹特征可以体现用户是某一帧视频图像进行了何种交互操作,进而当回放到该帧视频图像后可以在该视频图像执行该交互操作。故可以根据图像特征和操作轨迹特征,从多帧视频图像中确定发生交互操作的关键图像,根据图像特征、操作轨迹特征和关键图像生成测试用例。这样,当回放该测试用例时便可以在回放到关键图像时执行对应的交互操作,从而测试该用户界面是否可以正常工作。这种方法通过录制视频并对录制的视频进行智能分析的方式生成测试用例,无需测试人员编写代码,大大降低了对测试人员代码能力的要求。同时,由于根据图像特征和操作轨迹特征便可以知晓对视频图像进行了何种交互操作,其回放所需的页面识别及元素定位来源于对录制视频中每帧视频图像的智能分析,无需与软件的页面开发框架相关联,所以受页面开发框架的迭代影响极小,使其具备较强的跨平台特性,极大的降低维护成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术提供的一种用户界面回放方法的系统架构示意图;
图2为本申请实施例提供的一种用户界面回放方法的系统架构示意图;
图3为本申请实施例提供的一种用户界面回放方法的流程图;
图4为本申请实施例提供的一种用户界面回放方法的阶段示意图;
图5为本申请实施例提供的一种操作轨迹的示意图;
图6为本申请实施例提供的对待处理视频进行分帧和编号处理的示意图;
图7为本申请实施例提供的视频图像的不同层级的特征点示意图;
图8为本申请实施例提供的元素特征数据的数据结构示意图;
图9为本申请实施例提供的轨迹识别结果的数据结构示意图;
图10为本申请实施例提供的对图像特征和操作轨迹特征进行整合的结果示意图;
图11a为本申请实施例提供的一种测试用例回放流程图;
图11b为本申请实施例提供的一种回放单元的结构示意图;
图12为本申请实施例提供的视频图像的不同层级的特征点示意图;
图13为本申请实施例提供的视频图像的不同层级的特征点示意图;
图14为本申请实施例提供的一种特征树的结构示意图;
图15为本申请实施例提供的一种用户界面回放方法的流程图;
图16为本申请实施例提供的一种用户界面回放装置的结构图;
图17为本申请实施例提供的一种终端设备的结构图;
图18为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
相关技术中主要采用自动化框架Appium实现UI回放,该自动化框架的原理可以参见图1所示,测试人员可以在客户端101编写代码以得到测试用例,测试人员可以采用多种编程语言例如Java、Ruby、Python等进行测试用例的编写,以适应不同系统。编写好的测试用例可以上传至服务器102,Appium可以应用于不同操作系统的设备上,例如MAC系统、Windows系统、IOS系统和安卓系统等。以在IOS系统和安卓系统的设备上回放测试用例为例,在回放时可以通过代理单元103和驱动104来驱动各系统的底层库,以实现回放或自动化能力。其中,在IOS系统的设备上驱动104可以是XCUITtest,在安卓系统的设备上驱动104可以是UIAutomator。
然而,这种方法需要对测试人员的代码能力有较高要求,并且UI测试框架底层均与应用程序的应用开发框架代码紧耦合,当应用开发框架进行更新后,已有测试用例需要重新进行适配,使得维护测试用例也存在较大成本,尤其是在高速迭代的移动端应用程序。
为了解决上述技术问题,本申请实施例提供一种用户界面回放方法,该方法以录制的视频为驱动实现用户界面回放,无需测试人员编写代码,大大降低了对测试人员代码能力的要求。同时,无需与软件的页面开发框架相关联,受页面开发框架的迭代影响极小,使其具备较强的跨平台特性,极大的降低维护成本。
本申请实施例所提供的方法涉及人工智能领域。人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
在本申请实施例中,可以涉及的人工智能技术包括机器学习、计算机视觉等方向。机器学习(Machine learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括深度学习(Deep Learning)等技术,深度学习包括人工神经网络(artificialneural network),例如卷积神经网络(ConvolutionalNeural Network,CNN)、循环神经网络(RecurrentNeural Network,RNN)、深度神经网络(Deep neural network,DNN)等。在本实施例中可以通过机器学习的方式训练特征识别模型,以便对视频图像进行特征提取得到视频图像的元素特征数据。
计算机视觉(ComputerVision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。例如可以通过图像识别(Image recognition,IR)确定回放过程中的屏幕图像是否为关键图像,通过图像语义理解(Image Semantic Understanding,ISU)中的图像特征提取(Image feature extraction)和图像光学字符识别(Optical Character Recognition,OCR)可以提取元素特征数据,通过视频处理(video processing)可以对待处理视频进行分帧得到多帧视频图像等。
参见图2,图2为本申请实施例提供的用户界面回放方法的系统架构示意图。该系统架构中可以包括终端设备201,终端设备201可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表等,但并不局限于此。
终端设备201上可以安装软件,例如新闻软件、银行软件、音乐软件等等,用户可以通过对用户界面的交互操作与软件进行交互。
当用户在终端设备201上对用户界面执行交互操作时,可以对用户与用户界面的交互过程进行录制,得到待处理视频,待处理视频包括多帧视频图像。其中,待处理视频可以是通过终端设备201自带的视频录制单元录制的,也可以是通过独立的视频录制单元录制的。
终端设备201可以对多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征。
图像特征可以体现每一帧视频图像的特征,以便在回放过程中可以根据图像特征知晓回放到哪一帧视频图像,该视频图像中所包括的元素;操作轨迹特征可以体现用户是某一帧视频图像进行了何种交互操作,进而当回放到该帧视频图像后可以在该视频图像执行该交互操作。故可以根据图像特征和操作轨迹特征,从多帧视频图像中确定发生交互操作的关键图像,根据图像特征、操作轨迹特征和关键图像生成测试用例。
终端设备201可以利用生成的测试用例进行回放,这样,当终端设备201回放该测试用例时便可以在回放到关键图像时执行对应的交互操作,从而测试该用户界面是否可以正常工作。
通过录制视频并对录制的视频进行智能分析的方式生成测试用例,无需测试人员编写代码,大大降低了对测试人员代码能力的要求。同时,由于根据图像特征和操作轨迹特征便可以知晓对视频图像进行了何种交互操作,其回放所需的页面识别及元素定位来源于对录制视频中每帧视频图像的智能分析,无需与软件的页面开发框架相关联,所以受页面开发框架的迭代影响极小,使其具备较强的跨平台特性,极大的降低维护成本。
接下来,将结合附图对本申请实施例提供的用户界面回放方法进行详细介绍。
参见图3,图3示出了一种用户界面回放方法的流程图,所述方法包括:
S301、对用户与用户界面的交互过程进行录制,得到待处理视频。
本申请实施例提供的用户界面回放方法主要包括三个阶段,如图4所示,分别是录制阶段、解析阶段和回放阶段。录制阶段可以为回放提供数据源,为解析阶段提供的体现用户与用户界面所进行的交互操作的视频文件例如待处理视频。
待处理视频可以是通过终端设自带的视频录制单元录制的,即视频录制单元具有录屏功能;待处理视频也可以是通过独立的视频录制单元录制的。
需要说明的是,交互操作通常是点击操作或者滑动操作,由于在很多情况下,用户在用户界面执行交互操作例如点击操作时当前页面无页面变化,因此,为了便于后续操作轨迹识别,可以在用户执行交互操作时展现该交互操作的操作轨迹,从而使得录制得到的待处理视频中包括操作轨迹,此时,要求视频录制单元还具有展现操作轨迹的能力。操作轨迹包括的轨迹点可以为圆点、圆圈、矩形、菱形、正方形等各种形状。
当然,为了将操作轨迹与视频图像中的背景明显区分,提高操作轨迹的识别效率和准确性,可以使得操作轨迹具有更为明显的特征,因此在一种可能的实现方式中,操作轨迹包括的轨迹点可以由多个黑白菱形交替组成,例如5个1像素宽的黑白菱形交替组成。参见图5所示,图5中左侧的图展现的操作轨迹仅包括一个轨迹点,该轨迹点在“确定”这个控件上,表示用户执行了点击操作;图5中右侧的图展现的操作轨迹包括多个连续的轨迹点,表示用户执行了滑动操作。
需要说明的是,图5中已将5个1像素宽的黑白菱形交替组成的轨迹点放大,实际上该轨迹点对页面展现影响很小。
在一些情况下,用户在用户界面执行交互操作例如点击操作时当前页面可能发生页面变化,例如,当用户打开某软件对应的图标时,该图标会产生阴影变化,此时录制得到的待处理视频时会体现该页面变化,那么后续边可以通过页面变化进行操作轨迹识别,进而简化录制成本。
可以理解的是,待处理视频中可以包括多帧视频图像,在对待处理视频进行智能分析处理之前,可以先通过视频预处理单元对待处理视频进行视频预处理。在本实施例中视频预处理主要是指对待处理视频进行分帧得到多帧视频图像及将多帧视频图像编号存储。
对待处理视频进行分帧的方式有很多,例如均匀分帧、非均匀分帧等。在本实施例中采用均匀分帧的方式进行分帧,例如待处理视频的时长是5s,待处理视频包括50帧,则将待处理视频每隔0.1s提取一帧视频图像。通常情况下,分帧频率大于等于视频默认帧率。再将分帧后得到的多帧视频图像按编号从数字1开始命名自增地存储在服务端。如图6所示,图6中箭头左侧是待处理视频,待处理视频可以采用各种视频格式,例如mp4、WMV(WindowsMediaVideo)、音频视频交错(Audio Video Interleaved,AVI)等视频格式。待处理视频经过分帧和编号后可以得到箭头右侧所示的多帧视频图像,图6中仅示出编号1,其余编号在1的基础上以1为步长依次递增,图6中未示出。
S302、对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征。
在录制得到待处理视频后,进入到解析阶段。解析阶段是通过对待处理视频进行智能分析处理(例如特征提取和操作轨迹识别),分别得到图像特征和操作轨迹特征,将图像特征和操作轨迹特征整合得到回放所需的测试用例。其中,图像特征可以通过图像特征数组表示,操作轨迹特征可以通过操作轨迹数组表示。
在本实施例对每帧视频图像进行特征提取和操作轨迹识别,多帧视频图像分别进行特征提取得到的元素特征数据构成图像特征,多帧视频图像分别进行操作轨迹识别得到的操作轨迹构成操作轨迹特征。
图像特征可以体现每一帧视频图像的元素特征数据,以便在回放过程中可以根据图像特征知晓回放到哪一帧视频图像,该视频图像中所包括的元素。以图7所示的视频图像为例,视频图像中所包括的元素可以参见图7中虚线框所示。图像特征中的元素特征数据可以包括图8所示的多种信息,元素所属类别,例如图7所示的类别编号A00021,也可以称为图像标签(用TAG表示);除此之外还可以包括元素的位置信息、元素对应的文字(每个元素对应一定区域)、区域颜色直方图值等。其中,位置信息可以是元素相对于视频图像左上角的位置(用POS表示),例如图8所示[23,55,657,90],其中,23和55表示图7中从上至下第一个虚线框所标识元素的左上角坐标(即对角线的左上端点),657和90表示图7中从上至下第一个虚线框所标识元素的右下角坐标(即对角线的右下端点)。图8中“推荐视频小说热点小视频科幻”等文字表示元素对应的文字(即区域内文字,用character表示),图8中13.0029表示区域颜色直方图值(用户historygram表示)。
其中TAG由AI模型得出,POS及historygram由图像识别得出,character由OCR文字识别得出。
遍历全部视频图像,使每帧视频图像均得到其元素特征数据,并以视频图像编号为键(Key)值,特征为值(value)存入服务端,也就是待处理视频的图像特征。
操作轨迹特征可以体现用户是某一帧视频图像进行了何种交互操作,进而当回放到该帧视频图像后可以在该视频图像执行该交互操作。识别到的操作轨迹可以分为多种类别,分别是点(point)、线(line)和无(nil)。若操作轨迹为point,则交互操作是点击操作;若操作轨迹为line,则交互操作是滑动操作;若操作轨迹为nil,则未发生交互操作。操作轨迹特征中包括对每帧视频图像的操作轨迹的轨迹识别结果,该轨迹识别结果可以包括操作轨迹的类别,当然为了在回放时可以对交互操作进行准确回放,还需要知晓操作轨迹的位置,若操作轨迹为point,则需要知晓该point存在的位置;若操作轨迹为line,则需要知晓该line的位置,line的位置可以通过line的起始端点和终点表示。轨迹识别结果的数据结构示意图可以参见图9所示,包括操作轨迹的类别(可以用TAG表示)、操作轨迹的位置(可以用POS1和POS2表示),图9示出了操作轨迹类别为point,POS1和POS2都是[23,55]。
遍历全部视频图像,使每帧视频图像均得到其操作轨迹的轨迹识别结果,并以视频图像编号为键(Key)值,轨迹识别结果为值(value)存入服务端,也就是待处理视频的操作轨迹特征。
S303、根据所述图像特征和所述操作轨迹特征,从所述多帧视频图像中确定发生交互操作的关键图像。
经过特征提取和操作轨迹识别,可以获得两个特征即图像特征和操作轨迹特征。两个特征均以视频图像的编号为Key,将这两个特征整合,如图10所示,图10以14帧视频图像为例,每帧视频图像对应的元素特征数据可以分别通过T1、T2、……、T14标识,操作轨迹特征所对应的轨迹识别结果分别如图10中第三行所示。关键图像可以是发生了交互操作的视频图像,若发生了交互操作,那么其对应的轨迹识别结果为point或line,基于此,轨迹识别结果为point或line的视频图像为关键图像,可以标识为KEY。
通过图10可以看出在编号为4的视频图像时发生了点击操作,在编号为7到13的视频图像发生了滑动操作。将发生点击操作的视频图像和发生滑动操作的视频图像定义为关键图像。在一些情况下,为了使得后续回放过程更为简便,可以仅将滑动操作开始时的视频图像定义为关键图像,如图10中的编号为4和7的视频图像。
S304、根据所述图像特征、所述操作轨迹特征和所述关键图像生成测试用例。
在一种可能的实现方式中,可以将图像特征、操作轨迹特征和关键图像以及补充的基础信息等整体打包,即为回放所需的测试用例。其中基础信息例如可以是软件的安装地址等。
S305、回放所述测试用例。
生成测试用例后,可以进入回放阶段。在回放阶段,可以在终端设备上安装并启动对应的软件(参见图11a中S1101所示),回放该测试用例。
在一种可能的实现方式中,S305可以是通过回放单元实现,回放单元的结构可以参见图11b所示,包括定时图像采集模块1101、特征比对模块1102和动作执行模块1103。定时图像采集模块用于回放启动后定时获取被测软件的UI截图,并将UI截图传递给服务端;特征比对模块用于确定当前的UI截图是否为关键图像;动作执行模块用于通过调用原生系统的应用程序接口(Application Programming Interface,API)来实现基础的点击操作和滑动操作。
基于此,S305的实现方式可以是在测试用例回放过程中,截取显示的用户界面的屏幕图像(即UI截图),若屏幕图像是为发生交互操作的关键图像,根据操作轨迹特征在屏幕图像上生成交互操作。
其中,屏幕图像是否为发生交互操作的关键图像可以依据屏幕图像与关键图像的相似度来衡量,故屏幕图像为发生交互操作的关键图像的确定方式可以是根据图像特征确定屏幕图像和关键图像之间的相似度,相似度越大屏幕图像越有可能是关键图像。若相似度达到预设阈值,则可以确定屏幕图像是发生交互操作的关键图像。预设阈值可以根据经验设置,例如可以是90%。
如图10所示的方式定义关键图像,此时仅需将编号为4和7的视频图像分别与屏幕图像进行比较,便可以在确定屏幕图像为关键图像时,根据操作轨迹特征执行交互操作,使得回放过程更为简单,减少了计算量,提高了回放效率。
需要说明的是,在确定屏幕图像是否为发生交互操作的关键图像时可以依次对每帧关键图像进行判断,即首先读取首幅关键图像(参见图11a中S1102所示),截取屏幕图像(参见图11a中S1103所示),其中S1102和S1103的顺序不做限定。比对屏幕图像和关键图像之间的相似度是否达到预设阈值(参见图11a中S1104所示),若是,在屏幕图像上生成交互操作(参见图11a中S1105所示),若否,返回S1103。然后,判断是否存在下一帧关键图像(参见图11a中S1106所示),若是,切换下一帧关键图像(参见图11a中S1107所示),若否,延迟20s以完成测试(参见图11a中S1108所示)。其中,在确定相似度达到预设阈值后,可以存储截取的屏幕图像。
由上述技术方案可以看出,本申请可以以录制的视频为驱动实现用户界面回放。当用户通过对用户界面的交互操作实现与软件的交互时,可以对用户与用户界面的交互过程进行录制,得到待处理视频,待处理视频包括多帧视频图像。对多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征,其中,图像特征可以体现每一帧视频图像的特征,以便在回放过程中可以根据图像特征知晓回放到哪一帧视频图像,该视频图像中所包括的元素;操作轨迹特征可以体现用户是某一帧视频图像进行了何种交互操作,进而当回放到该帧视频图像后可以在该视频图像执行该交互操作。故可以根据图像特征和操作轨迹特征,从多帧视频图像中确定发生交互操作的关键图像,根据图像特征、操作轨迹特征和关键图像生成测试用例。这样,当回放该测试用例时便可以在回放到关键图像时执行对应的交互操作,从而测试该用户界面是否可以正常工作。这种方法通过录制视频并对录制的视频进行智能分析的方式生成测试用例,能够有效简化测试用例生成的复杂度,无需测试人员编写代码,大大降低了对测试人员代码能力的要求。同时,由于根据图像特征和操作轨迹特征便可以知晓对视频图像进行了何种交互操作,其回放所需的页面识别及元素定位来源于对录制视频中每帧视频图像的智能分析,无需与软件的页面开发框架相关联,所以受页面开发框架的迭代影响极小,使其具备较强的跨平台特性,极大的降低维护成本。
基于待处理视频为原始数据进行智能回放,脱离代码编写用例的限制,根据此方式可以拓展到自动化测试能力上,在用例回放过程中可同步完成自动化测试,并且可以在生成测试用例时附加校验元素,可大幅增强页面的检查能力。
由于本申请实施例提供的用户界面回放方法以视频为驱动并与应用UI开发框架解耦,使其具备较强的跨平台特性,对各主流平台的UI回放均适用。
接下来,将对图像特征和操作轨迹特征的确定方式进行详细介绍。
在本实施例中,可以基于人工智能的方式智能提取每帧视频图像的特征,对多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征的方式可以是,将分帧后得到的多帧视频图像输入到特征识别模型中,通过特征识别模型对每帧视频图像分别进行特征提取,得到每帧视频图像的元素特征数据。将元素特征数据按照元素的层级关系进行汇总得到视频图像的特征树,将多帧视频图像分别对应的特征树作为图像特征。其中,特征识别模型训练模型已将软件各页面所需的图像单元特征训练完成。
具体可以是,通过特征识别模型对视频图像进行特征提取,得到视频图像的特征点。对特征点进行分类,得到视频图像的元素特征数据,元素特征数据体现特征点所属的类别。根据特征点所属的类别确定元素特征数据所属层级,根据元素特征数据所属层级之间的层级关系构建视频图像的特征树。
参见图7、图12、图13所示,每个虚线框所标识的区域可以认为是一个特征点,图7、图12、图13分别从不同的层级识别视频图像的特征点,图7中特征点为视频图像本身,类别编号为N00039;图12表示根据图7所示虚线框进行特征提取得到的下一层级的特征点,类别编号分别是A0021、A0051、A0031;图13表示根据图12所示虚线框进行特征提取得到的下一层级的特征点,即针对A0021、A0051、A0031继续进行特征提取得到的特征点类别编号如图13所示。根据特征点所属的类别确定元素特征数据所属层级,根据元素特征数据所属层级之间的层级关系构建视频图像的特征树,其中,图7所对应的特征点为特征数自上而下的第一层级,图12所对应的特征点为特征数自上而下的第二层级,图13所对应的特征点为特征数自上而下的第三层级,得到的特征树参见图14所示,特征树的每个节点可以用类别编号表示,各类别编号参见图7、图12、图13所示。
在每帧视频图像对应一个特征树,所有特征树构成图像特征。在这种情况下,在回放测试用例时,若确定屏幕图像是关键图像,根据操作轨迹特征在屏幕图像上生成交互操作的方式可以是若根据操作轨迹特征,确定屏幕图像上具有交互操作对应的最小层级元素,在屏幕图像上对应的元素上执行交互操作;若根据操作轨迹特征,确定屏幕图像上不具有交互操作对应的最小层级元素,在屏幕图像的相对位置执行交互操作,该相对位置为最小层级的上一层级元素所对应的位置。
例如图13所示,关键图像为图13所示的视频图像,交互操作作用在类别编号为B0301所示的元素。当获取到屏幕图像时,若确定屏幕图像上具有该最小层级元素,则直接在屏幕图像上对应的该元素上执行交互操作。然而,在一些情况下,由于网页消息可以实时更新,从而导致B0301所示的最小层级元素发生变化,即回放时屏幕图像上不存在该最小层级,但是变化后的区域与最小层级元素类似,针对该区域执行交互会产生与最小层级元素类似的变化,同样可以用于测试用户界面。此时可以依据上一层级,在上一层级与该最小层级元素的相对位置执行该交互操作。
在进行操作轨迹识别时,若在视频录制中就已经加入了点击操作和滑动操作的操作轨迹,即待处理视频包括操作轨迹,操作轨迹由轨迹点构成,确定操作轨迹特征的方式可以是针对每帧视频图像,获取视频图像的图像数组和特征矩阵,特征矩阵是根据所述轨迹点的结构特征构建的。将图像数组与特征矩阵进行卷积,得到卷积结果数组。根据卷积结果数组,确定操作轨迹特征。
由于图像数组和特征矩阵是特定格式的矩阵,根据矩阵的格式可以确定操作轨迹对应点击操作或滑动操作时卷积结果数组的不同。基于该原理,可以确定卷积结果数组中存在预设数值的数量,若卷积结果数组中存在一个预设数值,根据预设数值在卷积结果数组中的位置确定轨迹点对应的点击操作的操作位置。若卷积结果数组中存在多个预设数值,且以任意预设数值为中心的满足预设大小的矩阵中存在其他预设数值,根据预设数值在卷积结果数组中的位置确定轨迹点对应的滑动操作的起始位置和终止位置。若卷积结果数组中不存在预设数值,则可以认为未发生交互操作。
例如,轨迹点和线均为1像素宽的黑白菱形交替组成,以0为白色,1为黑色,x为未知的浮点数,x∈[0,1],可将操作轨迹数字化为以下图像数组:
根据该图像数组的特征可以创建对应得特征矩阵(2),其中,a为极大数:
通过特征矩阵与图像数组进行卷积,即可快速得知输入的视频图像是否存在操作轨迹。
基于(1)和(2)所示的图像数组和特征矩阵,如果卷积结果数组中有单独的数值9(即预设数值),则代表有轨迹点。如果有多个数值9,以任意数值9为中心3乘3大小的矩阵(即预设大小的矩阵)中还存在数值9,那么就代表这两个数值9是连通的,全部连通的数值9即为滑动操作对应的线。
在实际应用中我们需将源视频图像转为灰度视频图像,通过公式(3)将其转化为归一化的浮点型数组:
其中,x为对灰度视频图像中像素值进行归一化得到的值,即公式(1)中的x。
在进行操作轨迹识别时,若交互操作为点击操作,在一些情况下,执行点击操作时可能会导致页面变化,例如在执行点击操作的瞬间出现阴影,若可以识别出阴影等页面变化便可以确定发生了点击操作。基于此,对多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征的方式可以是根据视频图像的页面变化情况进行操作轨迹识别,得到操作轨迹特征。
接下来,将结合实际应用场景对本申请实施例提供的用户界面回放方法进行介绍。在该应用场景中,通过UI回放可以实现UI测试,以检查软件的UI是否工作正常。本实施例以视频为驱动智能的实现UI回放,参见图15,所述方法包括:
S1501、对用户与用户界面的交互过程进行录制,得到待处理视频。
S1502、对待处理视频进行分帧和编号得到多帧视频图像。
S1503、对多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征。
S1504、对多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征。
S1505、根据图像特征和操作轨迹特征,从多帧视频图像中确定发生交互操作的关键图像。
S1506、根据图像特征、操作轨迹特征和关键图像生成测试用例。
S1507、安装并启动软件。
S1508、回放测试用例。
S1509、在所述测试用例回放过程中,截取显示的所述用户界面的屏幕图像。
S1510、根据图像特征确定屏幕图像是否为关键图像。
S1511、根据操作轨迹特征,调用API在屏幕图像上实现交互操作。
基于图3对应实施例提供的用户界面回放方法,本申请实施例还提供一种用户界面回放装置1600,所述装置1600包括录制单元1601、第一确定单元1602、第二确定单元1603、生成单元1604和回放单元1605:
所述录制单元1601,用于对用户与用户界面的交互过程进行录制,得到待处理视频,所述待处理视频包括多帧视频图像;
所述第一确定单元1602,用于对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征;
所述第二确定单元1603,用于根据所述图像特征和所述操作轨迹特征,从所述多帧视频图像中确定发生交互操作的关键图像;
所述生成单元1604,用于根据所述图像特征、所述操作轨迹特征和所述关键图像生成测试用例;
所述回放单元1605,用于回放所述测试用例。
在一种可能的实现方式中,所述回放单元1605,用于:
在所述测试用例回放过程中,截取显示的所述用户界面的屏幕图像;
若所述屏幕图像为发生所述交互操作的所述关键图像,根据所述操作轨迹特征在所述屏幕图像上生成所述交互操作。
在一种可能的实现方式中,所述回放单元1605,用于:
根据所述图像特征确定所述屏幕图像和所述关键图像之间的相似度;
若所述相似度达到预设阈值,确定所述屏幕图像是发生所述交互操作的所述关键图像。
在一种可能的实现方式中,所述第一确定单元1602,用于:
针对每帧视频图像,通过特征识别模型对所述视频图像进行特征提取,得到所述视频图像的元素特征数据;
将所述元素特征数据按照元素的层级关系进行汇总得到所述视频图像的特征树;
将所述多帧视频图像分别对应的特征树作为所述图像特征。
在一种可能的实现方式中,若所述图像特征是由按照元素的层级关系进行汇总得到的特征树构成,所述回放单元1605,用于:
若根据所述操作轨迹特征,确定所述屏幕图像上具有所述交互操作对应的最小层级元素,在所述屏幕图像上对应的元素上执行所述交互操作;
若根据所述操作轨迹特征,确定所述屏幕图像上不具有所述交互操作对应的最小层级元素,在所述屏幕图像的相对位置执行所述交互操作,所述相对位置为所述最小层级的上一层级元素所对应的位置。
在一种可能的实现方式中,所述第一确定单元1602,用于:
通过特征识别模型对所述视频图像进行特征提取,得到所述视频图像的特征点;
对所述特征点进行分类,得到所述视频图像的元素特征数据,所述元素特征数据体现所述特征点所属的类别;
根据所述特征点所属的类别确定所述元素特征数据所属层级;
根据所述元素特征数据所属层级之间的层级关系构建所述视频图像的特征树。
在一种可能的实现方式中,所述待处理视频包括操作轨迹,所述操作轨迹由轨迹点构成,所述第一确定单元1602,用于:
针对每帧视频图像,获取所述视频图像的图像数组和特征矩阵,所述特征矩阵是根据所述轨迹点的结构特征构建的;
将所述图像数组与所述特征矩阵进行卷积,得到卷积结果数组;
根据所述卷积结果数组,确定所述操作轨迹特征。
在一种可能的实现方式中,所述第一确定单元1602,用于:
确定所述卷积结果数组中存在预设数值的数量;
若所述卷积结果数组中存在一个所述预设数值,根据所述预设数值在所述卷积结果数组中的位置确定所述轨迹点对应的点击操作的操作位置;
若所述卷积结果数组中存在多个所述预设数值,且以任意所述预设数值为中心的满足预设大小的矩阵中存在其他所述预设数值,根据所述预设数值在所述卷积结果数组中的位置确定所述轨迹点对应的滑动操作的起始位置和终止位置。
在一种可能的实现方式中,所述轨迹点由多个黑白菱形交替组成。
在一种可能的实现方式中,若所述交互操作为点击操作,所述第一确定单元1602,用于:
根据所述视频图像的页面变化情况进行操作轨迹识别,得到所述操作轨迹特征。
本申请实施例还提供了一种用于用户界面回放的设备。下面结合附图对该设备进行介绍。请参见图17所示,本申请实施例提供了一种用于用户界面回放的设备,该设备可以是终端设备,以终端设备为智能手机为例:
图17示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图。参考图17,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1710、存储器1720、输入单元1730、显示单元1740、传感器1750、音频电路1760、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块1770、处理器1780、以及电源1790等部件。输入单元1730可包括触控面板1731以及其他输入设备1732,显示单元1740可包括显示面板1741。本领域技术人员可以理解,图17中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1720可用于存储软件程序以及模块,处理器1780通过运行存储在存储器1720的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器1720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1780是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1720内的软件程序和/或模块,以及调用存储在存储器1720内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1780可包括一个或多个处理单元;优选的,处理器1780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1780中。
在本实施例中,所述终端设备中的处理器1780可以执行以下步骤;
对用户与用户界面的交互过程进行录制,得到待处理视频,所述待处理视频包括多帧视频图像;
对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征;
根据所述图像特征和所述操作轨迹特征,从所述多帧视频图像中确定发生交互操作的关键图像;
根据所述图像特征、所述操作轨迹特征和所述关键图像生成测试用例;
回放所述测试用例。
该设备还可以包括服务器,本申请实施例还提供服务器,请参见图18所示,图18为本申请实施例提供的服务器1800的结构图,服务器1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1822(例如,一个或一个以上处理器)和存储器1832,一个或一个以上存储应用程序1842或数据1844的存储介质1830(例如一个或一个以上海量存储设备)。其中,存储器1832和存储介质1830可以是短暂存储或持久存储。存储在存储介质1830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1822可以设置为与存储介质1830通信,在服务器1800上执行存储介质1830中的一系列指令操作。
服务器1800还可以包括一个或一个以上电源1826,一个或一个以上有线或无线网络接口1850,一个或一个以上输入输出接口1858,和/或,一个或一个以上操作系统1841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本实施例中,所述服务器1800中的中央处理器1822可以执行以下步骤;
对用户与用户界面的交互过程进行录制,得到待处理视频,所述待处理视频包括多帧视频图像;
对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征;
根据所述图像特征和所述操作轨迹特征,从所述多帧视频图像中确定发生交互操作的关键图像;
根据所述图像特征、所述操作轨迹特征和所述关键图像生成测试用例;
回放所述测试用例。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的用户界面回放方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (19)
1.一种用户界面回放方法,其特征在于,所述方法包括:
对用户与用户界面的交互过程进行录制,得到待处理视频,所述待处理视频包括多帧视频图像,所述待处理视频包括操作轨迹,所述操作轨迹由轨迹点构成;
对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征;
根据所述图像特征和所述操作轨迹特征,从所述多帧视频图像中确定发生交互操作的关键图像;
根据所述图像特征、所述操作轨迹特征和所述关键图像生成测试用例;
回放所述测试用例;
对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征,包括:
针对每帧视频图像,获取所述视频图像的图像数组和特征矩阵,所述特征矩阵是根据所述轨迹点的结构特征构建的;
将所述图像数组与所述特征矩阵进行卷积,得到卷积结果数组;
确定所述卷积结果数组中存在预设数值的数量;
若所述卷积结果数组中存在一个所述预设数值,根据所述预设数值在所述卷积结果数组中的位置确定所述轨迹点对应的点击操作的操作位置;
若所述卷积结果数组中存在多个所述预设数值,且以任意所述预设数值为中心的满足预设大小的矩阵中存在其他所述预设数值,根据所述预设数值在所述卷积结果数组中的位置确定所述轨迹点对应的滑动操作的起始位置和终止位置。
2.根据权利要求1所述的方法,其特征在于,所述回放所述测试用例,包括:
在所述测试用例回放过程中,截取显示的所述用户界面的屏幕图像;
若所述屏幕图像为发生所述交互操作的所述关键图像,根据所述操作轨迹特征在所述屏幕图像上生成所述交互操作。
3.根据权利要求2所述的方法,其特征在于,所述屏幕图像为发生所述交互操作的所述关键图像的确定方式包括以下步骤:
根据所述图像特征确定所述屏幕图像和所述关键图像之间的相似度;
若所述相似度达到预设阈值,确定所述屏幕图像是发生所述交互操作的所述关键图像。
4.根据权利要求1所述的方法,其特征在于,所述对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,包括:
针对每帧视频图像,通过特征识别模型对所述视频图像进行特征提取,得到所述视频图像的元素特征数据;
将所述元素特征数据按照元素的层级关系进行汇总得到所述视频图像的特征树;
将所述多帧视频图像分别对应的特征树作为所述图像特征。
5.根据权利要求2所述的方法,其特征在于,若所述图像特征是由按照元素的层级关系进行汇总得到的特征树构成,所述根据所述操作轨迹特征在所述屏幕图像上生成所述交互操作,包括:
若根据所述操作轨迹特征,确定所述屏幕图像上具有所述交互操作对应的最小层级元素,在所述屏幕图像上对应的元素上执行所述交互操作;
若根据所述操作轨迹特征,确定所述屏幕图像上不具有所述交互操作对应的最小层级元素,在所述屏幕图像的相对位置执行所述交互操作,所述相对位置为所述最小层级元素的上一层级元素所对应的位置。
6.根据权利要求4所述的方法,其特征在于,通过特征识别模型对所述视频图像进行特征提取,得到所述视频图像的元素特征数据,包括:
通过特征识别模型对所述视频图像进行特征提取,得到所述视频图像的特征点;
对所述特征点进行分类,得到所述视频图像的元素特征数据,所述元素特征数据体现所述特征点所属的类别;
将所述元素特征数据按照元素的层级关系进行汇总得到所述视频图像的特征树,包括:
根据所述特征点所属的类别确定所述元素特征数据所属层级;
根据所述元素特征数据所属层级之间的层级关系构建所述视频图像的特征树。
7.根据权利要求1所述的方法,其特征在于,所述轨迹点由多个黑白菱形交替组成。
8.根据权利要求1所述的方法,其特征在于,若所述交互操作为点击操作,所述对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征,包括:
根据所述视频图像的页面变化情况进行操作轨迹识别,得到所述操作轨迹特征。
9.一种用户界面回放装置,其特征在于,所述装置包括录制单元、第一确定单元、第二确定单元、生成单元和回放单元:
所述录制单元,用于对用户与用户界面的交互过程进行录制,得到待处理视频,所述待处理视频包括多帧视频图像,所述待处理视频包括操作轨迹,所述操作轨迹由轨迹点构成;
所述第一确定单元,用于对所述多帧视频图像中每帧视频图像分别进行特征提取,得到图像特征,以及对所述多帧视频图像中每帧视频图像分别进行操作轨迹识别,得到操作轨迹特征;
所述第二确定单元,用于根据所述图像特征和所述操作轨迹特征,从所述多帧视频图像中确定发生交互操作的关键图像;
所述生成单元,用于根据所述图像特征、所述操作轨迹特征和所述关键图像生成测试用例;
所述回放单元,用于回放所述测试用例;
所述第一确定单元,用于:
针对每帧视频图像,获取所述视频图像的图像数组和特征矩阵,所述特征矩阵是根据所述轨迹点的结构特征构建的;
将所述图像数组与所述特征矩阵进行卷积,得到卷积结果数组;
根据所述卷积结果数组,确定所述操作轨迹特征;
所述第一确定单元,用于:
确定所述卷积结果数组中存在预设数值的数量;
若所述卷积结果数组中存在一个所述预设数值,根据所述预设数值在所述卷积结果数组中的位置确定所述轨迹点对应的点击操作的操作位置;
若所述卷积结果数组中存在多个所述预设数值,且以任意所述预设数值为中心的满足预设大小的矩阵中存在其他所述预设数值,根据所述预设数值在所述卷积结果数组中的位置确定所述轨迹点对应的滑动操作的起始位置和终止位置。
10.根据权利要求9所述的装置,其特征在于,所述回放单元,用于:
在所述测试用例回放过程中,截取显示的所述用户界面的屏幕图像;
若所述屏幕图像为发生所述交互操作的所述关键图像,根据所述操作轨迹特征在所述屏幕图像上生成所述交互操作。
11.根据权利要求10所述的装置,其特征在于,所述回放单元,用于:
根据所述图像特征确定所述屏幕图像和所述关键图像之间的相似度;
若所述相似度达到预设阈值,确定所述屏幕图像是发生所述交互操作的所述关键图像。
12.根据权利要求9所述的装置,其特征在于,所述第一确定单元,用于:
针对每帧视频图像,通过特征识别模型对所述视频图像进行特征提取,得到所述视频图像的元素特征数据;
将所述元素特征数据按照元素的层级关系进行汇总得到所述视频图像的特征树;
将所述多帧视频图像分别对应的特征树作为所述图像特征。
13.根据权利要求10所述的装置,其特征在于,若所述图像特征是由按照元素的层级关系进行汇总得到的特征树构成,所述回放单元,用于:
若根据所述操作轨迹特征,确定所述屏幕图像上具有所述交互操作对应的最小层级元素,在所述屏幕图像上对应的元素上执行所述交互操作;
若根据所述操作轨迹特征,确定所述屏幕图像上不具有所述交互操作对应的最小层级元素,在所述屏幕图像的相对位置执行所述交互操作,所述相对位置为所述最小层级元素的上一层级元素所对应的位置。
14.根据权利要求12所述的装置,其特征在于,所述第一确定单元,用于:
通过特征识别模型对所述视频图像进行特征提取,得到所述视频图像的特征点;
对所述特征点进行分类,得到所述视频图像的元素特征数据,所述元素特征数据体现所述特征点所属的类别;
根据所述特征点所属的类别确定所述元素特征数据所属层级;
根据所述元素特征数据所属层级之间的层级关系构建所述视频图像的特征树。
15.根据权利要求9所述的装置,其特征在于,所述轨迹点由多个黑白菱形交替组成。
16.根据权利要求9所述的装置,其特征在于,若所述交互操作为点击操作,所述第一确定单元,用于:
根据所述视频图像的页面变化情况进行操作轨迹识别,得到所述操作轨迹特征。
17.一种用于用户界面回放的设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-8任一项所述的方法。
19.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,当所述指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015351.1A CN112100075B (zh) | 2020-09-24 | 2020-09-24 | 一种用户界面回放方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015351.1A CN112100075B (zh) | 2020-09-24 | 2020-09-24 | 一种用户界面回放方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100075A CN112100075A (zh) | 2020-12-18 |
CN112100075B true CN112100075B (zh) | 2024-03-15 |
Family
ID=73755536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011015351.1A Active CN112100075B (zh) | 2020-09-24 | 2020-09-24 | 一种用户界面回放方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100075B (zh) |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103096185A (zh) * | 2012-12-30 | 2013-05-08 | 信帧电子技术(北京)有限公司 | 一种视频摘要生成方法和装置 |
CN103678105A (zh) * | 2012-09-17 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种页面代码的测试方法和装置 |
CN104866414A (zh) * | 2014-02-24 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN104951393A (zh) * | 2014-03-25 | 2015-09-30 | 中国电信股份有限公司 | 测试方法和测试装置 |
CN105955881A (zh) * | 2016-04-22 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 一种自动化测试步骤录制及回放方法和装置 |
CN106528420A (zh) * | 2016-11-07 | 2017-03-22 | 中国工商银行股份有限公司 | 一种软件界面的自动化测试方法及装置 |
WO2017161756A1 (zh) * | 2016-03-23 | 2017-09-28 | 乐视控股(北京)有限公司 | 视频鉴别方法及系统 |
CN108596092A (zh) * | 2018-04-24 | 2018-09-28 | 亮风台(上海)信息科技有限公司 | 手势识别方法、装置、设备和存储介质 |
CN108763068A (zh) * | 2018-05-15 | 2018-11-06 | 福建天泉教育科技有限公司 | 一种基于机器学习的自动化测试方法及终端 |
CN109086754A (zh) * | 2018-10-11 | 2018-12-25 | 天津科技大学 | 一种基于深度学习的人体姿态识别方法 |
CN109117358A (zh) * | 2017-06-23 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 用于电子设备的测试方法和测试装置 |
CN109614922A (zh) * | 2018-12-07 | 2019-04-12 | 南京富士通南大软件技术有限公司 | 一种动静态手势识别方法和系统 |
CN109783365A (zh) * | 2018-12-15 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN109857663A (zh) * | 2019-01-26 | 2019-06-07 | 北京工业大学 | 关键字驱动与图像相似度结合的自动化测试平台 |
KR20190071452A (ko) * | 2017-12-14 | 2019-06-24 | 동국대학교 산학협력단 | 객체 검출 장치 및 방법 |
CN109961005A (zh) * | 2019-01-28 | 2019-07-02 | 山东大学 | 一种基于二维卷积网络的动态手势识别方法及系统 |
CN110222645A (zh) * | 2019-06-10 | 2019-09-10 | 济南大学 | 一种手势误识特征发现方法 |
CN110275834A (zh) * | 2019-06-25 | 2019-09-24 | 中国工商银行股份有限公司 | 用户界面自动化测试系统及方法 |
US10449461B1 (en) * | 2018-05-07 | 2019-10-22 | Microsoft Technology Licensing, Llc | Contextual in-game element recognition, annotation and interaction based on remote user input |
CN110727495A (zh) * | 2019-10-18 | 2020-01-24 | 深圳市比量科技传媒有限公司 | 一种界面元素的自动分段截图方法及系统 |
CN111062312A (zh) * | 2019-12-13 | 2020-04-24 | RealMe重庆移动通信有限公司 | 手势识别方法、手势控制方法、装置、介质与终端设备 |
CN111241985A (zh) * | 2020-01-08 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种视频内容识别方法、装置、存储介质、以及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200034281A1 (en) * | 2017-01-11 | 2020-01-30 | Smartlytics Llc, Dba Quantyzd | System and method for automated intelligent mobile application testing |
US11048619B2 (en) * | 2018-05-01 | 2021-06-29 | Appdiff, Inc. | AI software testing system and method |
CN110569702B (zh) * | 2019-02-14 | 2021-05-14 | 创新先进技术有限公司 | 视频流的处理方法和装置 |
-
2020
- 2020-09-24 CN CN202011015351.1A patent/CN112100075B/zh active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678105A (zh) * | 2012-09-17 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种页面代码的测试方法和装置 |
CN103096185A (zh) * | 2012-12-30 | 2013-05-08 | 信帧电子技术(北京)有限公司 | 一种视频摘要生成方法和装置 |
CN104866414A (zh) * | 2014-02-24 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN104951393A (zh) * | 2014-03-25 | 2015-09-30 | 中国电信股份有限公司 | 测试方法和测试装置 |
WO2017161756A1 (zh) * | 2016-03-23 | 2017-09-28 | 乐视控股(北京)有限公司 | 视频鉴别方法及系统 |
CN105955881A (zh) * | 2016-04-22 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 一种自动化测试步骤录制及回放方法和装置 |
CN106528420A (zh) * | 2016-11-07 | 2017-03-22 | 中国工商银行股份有限公司 | 一种软件界面的自动化测试方法及装置 |
CN109117358A (zh) * | 2017-06-23 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 用于电子设备的测试方法和测试装置 |
KR20190071452A (ko) * | 2017-12-14 | 2019-06-24 | 동국대학교 산학협력단 | 객체 검출 장치 및 방법 |
CN108596092A (zh) * | 2018-04-24 | 2018-09-28 | 亮风台(上海)信息科技有限公司 | 手势识别方法、装置、设备和存储介质 |
US10449461B1 (en) * | 2018-05-07 | 2019-10-22 | Microsoft Technology Licensing, Llc | Contextual in-game element recognition, annotation and interaction based on remote user input |
CN108763068A (zh) * | 2018-05-15 | 2018-11-06 | 福建天泉教育科技有限公司 | 一种基于机器学习的自动化测试方法及终端 |
CN109086754A (zh) * | 2018-10-11 | 2018-12-25 | 天津科技大学 | 一种基于深度学习的人体姿态识别方法 |
CN109614922A (zh) * | 2018-12-07 | 2019-04-12 | 南京富士通南大软件技术有限公司 | 一种动静态手势识别方法和系统 |
CN109783365A (zh) * | 2018-12-15 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN109857663A (zh) * | 2019-01-26 | 2019-06-07 | 北京工业大学 | 关键字驱动与图像相似度结合的自动化测试平台 |
CN109961005A (zh) * | 2019-01-28 | 2019-07-02 | 山东大学 | 一种基于二维卷积网络的动态手势识别方法及系统 |
CN110222645A (zh) * | 2019-06-10 | 2019-09-10 | 济南大学 | 一种手势误识特征发现方法 |
CN110275834A (zh) * | 2019-06-25 | 2019-09-24 | 中国工商银行股份有限公司 | 用户界面自动化测试系统及方法 |
CN110727495A (zh) * | 2019-10-18 | 2020-01-24 | 深圳市比量科技传媒有限公司 | 一种界面元素的自动分段截图方法及系统 |
CN111062312A (zh) * | 2019-12-13 | 2020-04-24 | RealMe重庆移动通信有限公司 | 手势识别方法、手势控制方法、装置、介质与终端设备 |
CN111241985A (zh) * | 2020-01-08 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种视频内容识别方法、装置、存储介质、以及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于多列深度3D卷积神经网络的手势识别;易生;梁华刚;茹锋;;计算机工程(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112100075A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111818123B (zh) | 网络前端远程回放方法、装置、设备及存储介质 | |
US11132584B2 (en) | Model reselection for accommodating unsatisfactory training data | |
CN105955881A (zh) | 一种自动化测试步骤录制及回放方法和装置 | |
US11894021B2 (en) | Data processing method and system, storage medium, and computing device | |
CN113268243B (zh) | 内存预测方法及装置、存储介质、电子设备 | |
WO2022156720A1 (zh) | 群控账号挖掘方法、装置、设备及存储介质 | |
US20220148183A1 (en) | Cyclical object segmentation neural networks | |
JP7079294B2 (ja) | 動画ブレの検出方法及び装置 | |
CN112100075B (zh) | 一种用户界面回放方法、装置、设备及存储介质 | |
Hashmi et al. | Qlue: A computer vision tool for uniform qualitative evaluation of web pages | |
CN115858049B (zh) | Rpa流程组件化编排方法、装置、设备和介质 | |
CN115687146A (zh) | Bios测试方法、装置、计算机设备和存储介质 | |
CN114092608B (zh) | 表情的处理方法及装置、计算机可读存储介质、电子设备 | |
CN111258875A (zh) | 界面测试方法及系统、电子设备、存储介质 | |
US9972109B2 (en) | Implementing out of order access to reversal operations in images | |
Simko et al. | Screen recording segmentation to scenes for eye-tracking analysis | |
US20090245580A1 (en) | Modifying parameters of an object detector based on detection information | |
KR100916301B1 (ko) | 커널 api 대화식 실행 장치 및 방법 | |
CN112306838A (zh) | 页面布局兼容性测试方法、装置、设备及可读存储介质 | |
CN115934181B (zh) | 数据加载方法、装置、电子设备和存储介质 | |
CN117253233B (zh) | 一种字符擦除方法、装置和设备 | |
CN118378288B (zh) | 一种基于Pin工具的加密算法动态检测方法及系统 | |
US20210248206A1 (en) | Systems and methods for generating data retrieval steps | |
CN113722223A (zh) | 一种基于神经网络的自动化测试方法 | |
CN113688835A (zh) | 一种基于物体检测与ocr的系统及应用故障弹框图片信息提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035316 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |