一种图形用户界面的测试方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种图形用户界面的测试方法、装置及设备。
背景技术
图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户接口,使用户能够与诸如计算机或手持设备之类的智能电子设备进行交互的一种手段。在智能电子设备,例如智能电视、智能手机、智能车载系统等的研发过程中,针对图形用户界面的测试是一个很重要的环节,需要模拟真实用户的操作行为,并根据GUI所显示的内容判断,从而验证各功能是否工作正常。
现有图形用户界面的测试过程通常采用人工操作,例如使用遥控器或者人工点击触摸屏等,这可以真实体现用户的操作行为。
但是,业界需要提供一种针对图形用户界面的自动化测试方案。
发明内容
有鉴于此,本申请实施例提供了一种图形用户界面的测试方法、装置及设备,实现对图形用户界面的自动化测试方案。
本申请实施例采用下述技术方案:
本申请实施例提供一种图形用户界面的测试方法,包括:
对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
确定所述图形用户界面中对应所述操作步骤的目标操作对象;
生成对所述目标操作对象模拟用户操作的执行指令。
本申请实施例还提供一种图形用户界面的测试装置,包括:
解析模块,对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
确定模块,确定所述图形用户界面中对应所述操作步骤的目标操作对象;
生成模块,生成对所述目标操作对象模拟用户操作的执行指令。
本申请实施例还提供一种电子设备,包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:
对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
确定所述图形用户界面中对应所述操作步骤的目标操作对象;
生成对所述目标操作对象模拟用户操作的执行指令。
本申请实施例还提供一种计算机可读存储介质,包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:
对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
确定所述图形用户界面中对应所述操作步骤的目标操作对象;
生成对所述目标操作对象模拟用户操作的执行指令。
本申请实施例还提供一种图形用户界面的测试系统,包括:
业务逻辑层,对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
图像处理层,确定所述图形用户界面中对应所述操作步骤的目标操作对象;
控制层,生成对所述目标操作对象模拟用户操作的执行指令。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤,接着确定所述图形用户界面中对应所述操作步骤的目标操作对象,之后生成对所述目标操作对象模拟用户操作的执行指令。利用本申请实施例记载的测试方案,可以直接对关于图形用户界面的测试信息进行解析,不再需要先将其转换为脚本,实现自动化测试执行。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种图形用户界面的测试系统的结构示意图;
图2为本申请实施例提供的一种图形用户界面的测试方法的流程图;
图3为本申请实施例提供的一种图形用户界面的测试方法的示例操作步骤示例流程图;
图4~图6为本申请实施例提供的一种图形用户界面测试过程中的界面变化示意图;
图7为本申请实施例提供的一种图形用户界面的测试装置的结构图;
图8为本说明书实施例提供的一种设备的硬件结构示意图;
图9为本说明书实施例提供的一种设备的硬件结构示意图,可以是对图8在实现过程中的一个具体的实施例。
具体实施方式
对现有技术进行分析发现,存在另一种对图形用户界面的测试方案,通过编写预置固定操作步骤的脚本实现模拟真实用户的操作行为,但是编写脚本的过程本身是一项繁琐、缺乏灵活性的过程,效率不高,用户操作体验不佳。
本申请实施例提出一种图形用户界面的测试方法、装置及设备,通过对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;确定所述图形用户界面中对应所述操作步骤的目标操作对象;生成对所述目标操作对象模拟用户操作的执行指令。利用本申请实施例记载的测试方案,可以直接对测试信息进行解析,不再需要先将其转换为脚本,这可以对具备图形用户界面的电子设备建立自动化测试流程。在测试端,可以简单编写或输入测试信息,就可以快速建立自动化测试流程,工作效率高,提升用户的操作体验。
图1为本说明书实施例提供的一种对图形用户界面的测试系统的结构示意图,所述结构如下所示。该图形用户界面的测试系统可以包括:
业务逻辑层101,用于对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
图像处理层102,用于确定所述图形用户界面中对应所述操作步骤的目标操作对象;
控制层103,用于生成对所述目标操作对象模拟用户操作的执行指令。
具体地,图像处理层102可以对电子设备中图形用户界面的截图进行分析,定位电子设备屏幕中目标操作对象及其所在位置。而控制层103用于管理整个自动化测试流程的执行,向电子设备发送执行指令,不仅可以包括对每个操作步骤的执行进程进行控制,还可以包括对各操作步骤之间的执行时序进行控制。
本申请实施例记载的图形用户界面的测试系统可以附加加载于电子设备或者独立于电子设备之外的其他设备而存在。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本说明书实施例提出的一种图形用户界面的测试方法的流程图,如下所示。该测试方法的执行主体可以是专门的测试设备、或使用该图形用户界面的电子设备。
步骤201:对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤。
所述测试信息可以包括对图形用户界面的一个或多个测试用例,每个测试用例可以包含至少一个操作步骤。例如测试信息可以包括“进入电影列表页面,点击影片A,进入影片A详情页,点击播放按钮,观看影片”,或者“进入导航设置界面,点击路线,输入终点位置XX,点击开始导航按钮”。在具体应用中,可以根据具体场景选择测试信息。
其中,这里的操作步骤可以为待测试的用户在使用该电子设备时的真实操作行为。当用户对当前图形用户界面进行操作时,界面可跳转至下一个图形用户界面,用户依次对后续图形用户界面进行操作,直至达到自身需求。因此,这里对图形用户界面的测试,不仅包括对当前图形用户界面的测试,还包括对图形用户界面是否正常跳转、显示等功能的测试。
例如当测试信息可以包括“进入电影列表页面,点击影片A,进入影片A详情页,点击播放按钮,观看影片”时,集合参照图3所示,对应得到的操作步骤可以包括:
步骤302:移动焦点到“电影”选项卡;
步骤304:点击“电影”选项卡;
步骤306:移动焦点到“影片A”的详情页;
步骤308:点击“影片A”的播放按钮。
另外,在步骤206与步骤208之间,可以等待影片A的详情页加载完成。
因此,这里对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤,可以包括:
对所述测试信息进行解析,得到依时序执行的至少两个操作步骤。
因此,对于不同测试信息进行解析,可以得到一个或至少两个操作步骤,这可以根据具体场景进行选择,这里不作具体限定。
利用本说明书实施例记载的测试方案,测试设备可以提供接口,使得该测试方法可以包括:
接收用户输入的不同测试信息;
其中,测试信息可以包括语音信息或文本信息中的至少一种。
在这种情况下,本说明书实施例记载的测试方案不仅可以用于内部测试工具,还可以以软件即服务SaaS(全称:Software-as-a-Service)的形式向不同用户提供服务。
其中,若测试信息为语音信息,则对关于图形用户界面的测试信息进行处理,可以包括:
对语音信息进行解析,具体可以为基于自然语言处理(Natural LanguageProcessing,缩写:NLP)技术对语音信息进行解析,进而得到至少一个操作步骤。NLP为研究人与计算机交互的学科,可以包括句法语义分析、信息抽取、文本挖掘等,对输入的语音信息进行分析、提取关键特征信息,进而确定体现用户真实操作行为的至少一个操作步骤。例如对“进入电影列表页面”进行解析,执行“点击电影选项卡”,可以“进入电影列表页面”,进而得到操作步骤“点击电影选项卡”。
若测试信息为文本信息,则可以通过分析该文本信息,得到针对该图形用户界面的至少一个操作步骤。
步骤203:确定所述图形用户界面中对应所述操作步骤的目标操作对象。
需要说明的是,这里的目标操作对象是指显示在图形用户界面的各种图标、按钮、选项卡等,当用户对目标操作对象进行点击等操作时,可以启动相关程序、界面跳转等功能,实现人与电子设备之间的交互。具体如图3所示,“电影”选项卡、“影片A”播放按钮均为目标操作对象。
根据步骤201中的内容,当当前图形用户界面被操作时,当前图形用户界面可以跳转至下一界面,此为一个操作步骤。在本说明书实施例中,确定所述图形用户界面中对应所述操作步骤的目标操作对象,包括:
对操作步骤对应的图形用户界面进行截图;
基于所述截图确定所述图形用户界面中对应所述操作步骤的目标操作对象。
在这种情况下,截图可以真实反映当前图形用户界面所显示的各种选项卡、图表、按钮等操作对象及排布位置。因此,基于截图可以确定当前的图形用户界面中对应操作步骤的目标操作对象。这显著区别于现有技术基于脚本的测试进程需要事先写入目标操作对象的坐标位置的方案,本说明书实施例记载的技术方案具有通用性和普适性。
结合图4所示,在当前图形用户界面中可以显示:电影、电视剧、综艺、动漫等操作对象。若操作步骤为“点击电影选项卡”,则可以确定该操作步骤对应的目标操作对象为“电影”选项卡。
在执行步骤203时,电子设备可以对当前屏幕信息自动截图并进行解析。其中,基于截图确定图形用户界面中对应操作步骤的目标操作对象,包括:
定位截图中对应操作步骤的目标区域,目标区域包括选项卡、文本框、按钮中的至少一种;
基于截图中对应操作步骤的目标区域,可以确定图形用户界面中对应操作步骤的目标操作对象。
在当前屏幕,截图是图形用户界面的完整拷贝,图形用户界面与其截图不仅大小尺寸相同,而且截图中的目标区域对应的图形用户界面中的操作对象的排布方式均相同。因此,截图中对应操作步骤的目标区域的位置与图形用户界面中对应该操作步骤的目标操作对象的位置存在对应关系,根据截图中对应操作步骤的目标区域的位置,可以得到图形用户界面中对应该操作步骤的目标操作对象的位置。
具体地,基于所述截图中对应所述操作步骤的目标区域,确定所述图形用户界面中对应所述操作步骤的目标操作对象,可以包括:
首先获取截图中对应该操作步骤的目标区域在当前屏幕坐标系中的坐标位置;
根据该坐标位置可以定位当前的图形用户界面中目标操作对象的位置,从而确定图形用户界面中对应操作步骤的目标操作对象。
在本说明书实施例中,还可以根据操作步骤对应的目标区域到截图边界的位置来定位目标区域的位置,截图边界与图形用户界面的边界是对应一致的,因此可以根据操作步骤对应的目标区域到截图边界的位置来确定图形用户界面中目标操作对象的位置。
在本说明书实施例中,定位截图中对应操作步骤的目标区域,可以包括:
定位截图中的至少一个目标区域;
识别各目标区域包含的文本信息;
比较各目标区域包含的文本信息与操作步骤,确定截图中对应操作步骤的目标区域。
具体地,结合参照图4,对该截图进行定位发现,共包括电影、电视剧、综艺、动漫等四个目标区域,并识别各目标区域中包含的文字信息。进一步地,将各文字信息与当前操作步骤“点击电影选项卡”进行比对,可以确定目标区域“电影”最接近当前操作步骤,因此基于截图中该目标区域“电影”可以确定对应的图形用户界面中的“电影”选项卡,作为目标操作对象。
其中,可以通过光学字符识别(Optical Character Recognition,缩写:OCR)技术确定目标区域的文本信息,OCR是指可以对截图中的目标区域进行扫描,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
在本说明书实施例中,定位截图中的至少一个目标区域,可以包括:
基于图像边缘检测(edge detection)技术,定位截图中的至少一个目标区域,这样可以区分各个不同目标区域。
图像边缘检测技术是图像处理和计算机视觉(Computer Vision,缩写:CV)等领域最基本的技术,其中边缘(edge)是图像局部强度变化最显著的部分,是指图像周围像素灰度有阶跃变化或屋顶状变化的像素的集合。其中图像边缘检测技术可以包括:微分法、最有算子法、基于小波的边缘检测、基于形态学的边缘检测、基于分形理论的边缘检测、基于模糊学的边缘检测、基于人工智能的边缘检测等,在此不再一一列举。
优选地,本说明书实施例记载的测试方法还可以包括:
定位截图中各目标区域;
生成对目标操作对象模拟用户操作的执行指令,包括:
基于操作步骤对应的目标区域与其他目标区域的相对位置,确定焦点移动至所述目标操作对象的移动路径;
根据移动路径和用户指定操作类型,生成对目标操作对象模拟用户操作的执行指令。
需要说明的是,在用户对图形用户界面的操作过程中,焦点用来表示目标操作对象被触发的位置。在对图形用户界面的测试进程中,可以模拟焦点移动到目标操作对象并触发该目标操作对象的用户操作行为。因此这里可以事先确定焦点移动至目标操作对象的移动路径,达到自动执行模拟用户真实操作行为的目的。
其中,对于焦点移动至目标操作对象的移动路径的计算方法,可以根据路径规划法进行计算得到,在此不作具体限定。
步骤205:生成对目标操作对象模拟用户操作的执行指令。
所述模拟用户操作包括:点击、触摸等动作,使得该目标操作对象被触发,基于目标操作对象所对应的功能,控制电子设备执行相应功能。例如,结合参照图4和图5,在确定图4所示目标操作对象为“电影”选项卡之后,对“电影”进行模拟点击操作,电子设备跳转至图5所示图形用户界面,图5为不同名称的电影列表,包括电影A、电影B、电影C、电影C等。
利用本申请实施例记载的技术方案,可以自动生成对目标操作对象模拟用户操作的执行指令,无需转换为脚本,省去人工操作。
若执行步骤201得到依时序执行的至少两个操作步骤,则本申请实施例记载的测试方法可以包括:
对各所述操作步骤依照时序依次执行:步骤203,确定所述图形用户界面中对应所述操作步骤的目标操作对象;步骤205,生成对所述目标操作对象模拟用户操作的执行指令。
例如,对图4所示图形用户界面,返回执行步骤203和205,对图4中“电影A”进行模拟点击操作,跳转至图6所示电影A的播放画面。在本说明书实施例中,若操作步骤多于两个,则可能需要返回执行多于两次,在此不作具体限定。
在本说明书实施例中,执行指令包含用户指定操作类型,实现模拟用户的真实操作行为。这样,生成对目标操作对象模拟用户操作的执行指令,包括:
基于焦点的位置与目标操作对象的位置,确定焦点移动至所述目标操作对象的移动路径;
根据移动路径和用户指定操作类型,生成对目标操作对象模拟用户操作的执行指令。
这里用户指定操作类型为电子设备预设,可以包括单击、双击、触摸等动作,在此不作具体限定。在这种情况下,在执行指令的控制下,焦点依照所述移动路径移动至目标操作对象的位置,并模拟用户指定操作类型来触发目标操作对象,启动相应功能。
这里确定焦点移动至目标操作对象的移动路径,可以参考执行步骤203的内容,根据截图中各目标区域之间的相对位置,确定焦点到目标操作对象的最优移动路径。
在测试过程中,在生成对目标操作对象模拟用户操作的执行指令之后,本说明书实施例记载的测试方法还可以包括:
获取基于执行指令的执行结果;
判断所述执行结果是否符合预设结果。
例如,在正常情况下,对图4所示图形用户界面对应的操作步骤的执行结果为当前屏幕跳转至图5所示界面,若检测到“跳转”或检测到图5所示界面,则判断执行结果符合预设结果,反之则判断执行结果不符合预设结果。在正常情况下,对图5所示图形用户界面对应的操作步骤的执行结果为电影A正常播放。若检测到电影A在正常播放,则判断执行结果符合预设结果,反之则判断执行结果不符合预设结果。
在这种情况下,可以根据对执行结果的判断结果生成测试报告,实现对图形用户界面的功能测试。
当执行步骤201得到依时序执行的至少两个操作步骤,则若对操作步骤的执行结果符合预设结果,则依照各操作步骤的时序,返回执行识别所述操作步骤对应的图形用户界面。例如若图4所对应操作步骤的执行结果符合预设结果,则对图5所示图形用户界面返回执行步骤203。
若对操作步骤的执行结果不符合预设结果,则可以暂停测试进程,并基于该判断结果生成测试报告,由用户对系统进行改进。
利用本说明书实施例加载的对图形用户界面的测试方法,可以对具备图形用户界面的电子设备建立自动化测试流程。在测试端,可以简单编写或输入测试信息,就可以快速建立自动化测试流程,工作效率高,提升用户的操作体验。
图7为本说明书实施例提供的一种图形用户界面的测试装置的结构图,结构如下所示。该图形用户界面的测试装置可以包括:
解析模块701,对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
确定模块702,确定所述图形用户界面中对应所述操作步骤的目标操作对象;
生成模块703,生成对所述目标操作对象模拟用户操作的执行指令
可选地,对关于图形用户界面的测试信息进行处理,得到待测试的至少一个操作步骤,包括:
对测试信息进行解析,得到依时序执行的至少两个操作步骤;则
对各操作步骤依照所述时序依次执行:确定图形用户界面中对应操作步骤的目标操作对象;生成对目标操作对象模拟用户操作的执行指令。
可选地,所述测试装置还包括:
获取模块704,在生成对所述目标操作对象模拟用户操作的执行指令之后,获取基于所述执行指令的执行结果;
判断模块705,判断所述执行结果是否符合预设结果。
可选地,所述测试装置还可以包括:
测试报告生成模块706,根据对执行结果的判断结果生成测试报告。
可选地,确定图形用户界面中对应操作步骤的目标操作对象,可以包括:
对操作步骤对应的图形用户界面进行截图;
基于截图确定图形用户界面中对应操作步骤的目标操作对象。
可选地,基于截图确定图形用户界面中对应操作步骤的目标操作对象,可以包括:
定位截图中对应操作步骤的目标区域,目标区域包括选项卡、文本框、按钮中的至少一种;
基于截图中对应操作步骤的目标区域,确定图形用户界面中对应操作步骤的目标操作对象。
可选地,定位所述截图中对应所述操作步骤的目标区域,包括:
定位所述截图中的至少一个目标区域;
识别各所述目标区域包含的文本信息;
比较各所述目标区域包含的文本信息与所述操作步骤,确定所述截图中对应所述操作步骤的目标区域。
利用本说明书实施例提供的测试装置,可以对带有图形用户界面的电子设备进行测试,快速建立自动化测试进程。
基于同一发明构思,本说明书实施例还提供一种电子设备,包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:
对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
确定所述图形用户界面中对应所述操作步骤的目标操作对象;
生成对所述目标操作对象模拟用户操作的执行指令。
其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。
基于同一个发明构思,本说明书实施例还提供一种计算机可读存储介质,包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:
对关于图形用户界面的测试信息进行解析,得到待测试的至少一个操作步骤;
确定所述图形用户界面中对应所述操作步骤的目标操作对象;
生成对所述目标操作对象模拟用户操作的执行指令。
图8为本说明书实施例提供的一种设备的硬件结构示意图,所述硬件结构如下所示。
如图8所示,该设备可以包括:输入设备800、处理器801、输出设备802、存储器803和至少一个通信总线804。通信总线804用于实现元件之间的通信连接。存储器803可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器803中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述处理器801例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器801通过有线或无线连接耦合到上述输入设备800和输出设备802。
可选的,上述输入设备800可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备802可以包括显示器、音响等输出设备。
在本实施例中,该设备的处理器包括用于执行各设备中数据处理装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图9为本申请的一个实施例提供的设备的硬件结构示意图。图9是对图8在实现过程中的一个具体的实施例。如图9所示,本实施例的设备可以包括处理器901以及存储器902。
处理器901执行存储器902所存放的计算机程序代码,实现上述实施例中图2所示的方法。
存储器902被配置为存储各种类型的数据以支持在设备的操作。这些数据的示例包括用于在设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器902可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,处理器901设置在处理组件900中。该设备还可以包括:通信组件903,电源组件904,多媒体组件905,音频组件906,输入/输出接口907和/或传感器组件908。设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
处理组件900通常控制设备的整体操作。处理组件900可以包括一个或多个处理器901来执行指令,以完成上述图2所示方法的全部或部分步骤。此外,处理组件900可以包括一个或多个模块,便于处理组件900和其他组件之间的交互。例如,处理组件900可以包括多媒体模块,以方便多媒体组件905和处理组件900之间的交互。
电源组件904为设备的各种组件提供电力。电源组件904可以包括电源管理系统,一个或多个电源,及其他与为设备生成、管理和分配电力相关联的组件。
多媒体组件905包括在设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
音频组件906被配置为输出和/或输入音频信号。例如,音频组件906包括一个麦克风(MIC),当设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器902或经由通信组件903发送。在一些实施例中,音频组件906还包括一个扬声器,用于输出音频信号。
输入/输出接口907为处理组件900和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件908包括一个或多个传感器,用于为设备提供各个方面的状态评估。例如,传感器组件908可以检测到设备的打开/关闭状态,组件的相对定位,用户与设备接触的存在或不存在。传感器组件908可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与设备间的距离。在一些实施例中,该传感器组件908还可以包括摄像头等。
通信组件903被配置为便于设备和其他设备之间有线或无线方式的通信。设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得设备可以登录GPRS网络,通过互联网与服务器建立通信。
由上可知,在图9对应实施例中所涉及的通信组件903、音频组件906以及输入/输出接口907、传感器组件908均可以作为图8实施例中的输入设备的实现方式。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。