Technologies for device independent application testing include host computing devices and one or more test computing devices. The host computer device records user interface events generated by the application of the test computing device and video data indicating the display interface of the application. The computer vision algorithm is used to detect the user interface objects in the video data corresponding to the user interface events. The computer vision algorithm can include image feature detection or optical character recognition. The host computing device generates object based test scripts that identify user interface objects and user interactions. The host computing device can use computer vision algorithms to identify the user interface object in the display interface of the application executed by different test computing devices. The host computing device performs the specified user interaction on the detected user interface object. Other embodiments are described and their rights are requested.
【技术实现步骤摘要】
【国外来华专利技术】用于设备无关的自动应用测试的技术背景当前,巨大数量且各种各样的应用程序(“应用”)可用于许多不同的计算平台。然而,随着应用的数目以及可执行这些应用的计算设备的数目的增加,应用验证和测试变成越来越困难的问题。应用验证和测试可要求测试者设计出模仿与应用的现实世界人类交互的测试实例。在一些情况下,测试者可被要求针对具有不同形状因素(例如,屏幕尺寸、长宽比等)的多个计算设备来验证同一应用。典型的应用测试系统可能对于缩放以支持在大量不同的设备上测试一应用有困难。例如,某些应用测试系统可用硬编码坐标系来记录描述到该应用的用户输入的脚本。然而,那些基于坐标的系统无法跨具有不同形状因素的设备缩放。作为另一实例,某些应用测试系统可允许测试者基于操纵操作系统级用户界面控件(诸如由AndroidTM提供的UIAutomator框架)来通过编程写脚本。然而,编程用户界面脚本化通常比记录脚本要劳动密集的多,并且无法用于基于不同的底层操作系统和/或用户界面框架来测试应用。具体地,许多游戏不使用系统提供的用户界面框架,并且因此无法用编程用户界面脚本化来进行测试。附图简述在所附的附图中,以示例方式而不是以限制方式示出本文中中所述的多个概念。为说明简单和清楚起见,附图中所示出的元件不一定是按比例绘制的。在认为合适的情况下,已在多个附图之间重复了参考标号以指示对应的或类似的元件。图1是用于进行设备无关的自动化应用测试的系统的至少一个实施例的简化框图;图2是可由图1的系统建立的各环境的至少一个实施例的简化框图;图3是可由图1和图2的计算设备执行的用于记录基于对象的测试脚本的方法的至少一个实施例的 ...
【技术保护点】
1.一种用于进行应用测试的计算设备,所述计算设备包括:记录模块,所述记录模块用于(i)记录由测试计算设备生成的用户界面事件,其中所述用户界面事件对应于与由所述测试计算设备的应用生成的显示界面的用户交互,以及(ii)记录指示所述测试计算设备的所述显示界面的视频数据,其中所述视频数据对应于所述用户界面事件;对象检测模块,所述对象检测模块用于检测所述视频数据中的用户界面对象,其中所述用户界面对象与所述用户界面事件相关联;以及脚本变换模块,所述脚本变换模块用于生成基于对象的脚本命令,其中所述基于对象的脚本命令标识所述用户界面对象以及所述用户交互。
【技术特征摘要】
【国外来华专利技术】1.一种用于进行应用测试的计算设备,所述计算设备包括:记录模块,所述记录模块用于(i)记录由测试计算设备生成的用户界面事件,其中所述用户界面事件对应于与由所述测试计算设备的应用生成的显示界面的用户交互,以及(ii)记录指示所述测试计算设备的所述显示界面的视频数据,其中所述视频数据对应于所述用户界面事件;对象检测模块,所述对象检测模块用于检测所述视频数据中的用户界面对象,其中所述用户界面对象与所述用户界面事件相关联;以及脚本变换模块,所述脚本变换模块用于生成基于对象的脚本命令,其中所述基于对象的脚本命令标识所述用户界面对象以及所述用户交互。2.如权利要求1所述的计算设备,其特征在于,所述用户界面事件包括用户选择事件,其中所述用户选择事件包括触摸事件、点击事件或定点事件。3.如权利要求1所述的计算设备,其特征在于:检测所述视频数据中的用户界面对象包括用图像特征检测计算机视觉算法来检测所述用户界面对象;以及生成基于对象的脚本命令包括存储与所述用户界面对象相关联的图像数据。4.如权利要求1所述的计算设备,其特征在于:检测所述视频数据中的用户界面对象包括用光学字符识别计算机视觉算法来检测所述用户界面对象;以及生成基于对象的脚本命令包括存储与所述用户界面对象相关联的文本数据。5.如权利要求1所述的计算设备,其特征在于,记录所述视频数据包括用所述计算设备的相机来记录所述视频数据。6.如权利要求1-5中的任一项所述的计算设备,其特征在于:所述对象检测模块进一步用于确定所述用户界面对象是否在由第二测试计算设备的应用生成的第二显示界面中被检测到;以及所述计算设备进一步包括自动化模块,所述自动化模块用于响应于对所述用户界面对象被检测到的确定而对所述第二测试计算设备的应用的用户界面对象执行所述用户交互。7.一种用于进行应用测试的计算设备,所述计算设备包括:测试评估模块,所述测试评估模块用于从测试脚本读取基于对象的脚本命令,其中所述基于对象的脚本命令标识用户界面对象和用户交互;对象检测模块,所述对象检测模块用于确定所述用户界面对象是否在由测试计算设备的应用生成的显示界面中被检测到;以及自动化模块,所述自动化模块用于响应于对所述用户界面对象被检测到的确定而对所述测试计算设备的所述应用的所述用户界面对象执行所述用户交互。8.如权利要求7所述的计算设备,其特征在于,所述测试评估模块进一步用于:响应于所述用户交互的执行而指示测试成功;响应于对所述用户界面对象没有被检测到的确定而指示测试失败。9.如权利要求7所述的计算设备,其特征在于:所述测试评估模块进一步用于响应于对所述用户界面对象没有被检测到的确定而基于用户输入确定所述用户界面对象的偏移;以及执行所述用户交互进一步包括基于所述用户界面对象的偏移执行所述用户交互。10.如权利要求7所述的计算设备,其特征在于,确定所述用户界面对象是否在所述显示界面中被检测到包括:用光学字符识别计算机视觉算法确定所述用户界面对象是否在所述显示界面中被检测到;以及使用字典映射将与所述用户界面对象相关联的文本数据映射成第二文本数据。11.如权利要求7-10中的任一项所述的计算设备,其特征在于,对所述测试计算设备的所述应用的所述用户界面对象执行所述用户交互包括:用所述测试计算设备生成对所述用户...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。