记录gui数据的方法和系统的制作方法

文档序号:8395793阅读:348来源:国知局
记录gui数据的方法和系统的制作方法
【技术领域】
[0001]本发明涉及记录图形用户界面(⑶I)数据的系统。
【背景技术】
[0002]计算机系统通常运行诸如应用程序或系统软件的软件,所述软件使得能够通过一个或多个图形用户界面(GUI)与用户交互。当这样的软件出现问题时,如果解析器可以观察与出现该问题相关的用户与GUI的交互,对问题的解决一般更有效。形成难题的环境的程序的GUI窗口和用户交互对解决该难题是有用的或必要的。
[0003]用于提供这样的环境的GUI信息的一个解决方案包括用户创建问题和通过屏幕截图捕获GUI状态,然后屏幕截图用于诊断过程。然而,该过程是耗时的,可能不会导致相关数据被捕获。另一个解决方案包括记录该问题的⑶〗环境的视频。然而,视频记录需要额外的设备,通常导致产生较大视频文件而难以在网络上传输。而且,GUI的屏幕截图和视频两者可能导致无意中提供机密数据或敏感数据。

【发明内容】

[0004]本发明的一个方面提供用于记录计算机程序的图形用户界面(GUI)数据的装置,该装置包括布置为执行以下操作的一个或多个处理器:监控与程序的GUI相关联的事件队列;识别限定程序的GUI窗口的事件队列上的第一消息;将表示窗口的数据记录在与该程序相关联的日志中;识别在进一步的消息中限定的窗口的净变化;以及将表示窗口的被识别的净变化的数据记录在日志中。
[0005]本发明的实施例提供在预先确定的GUI交互的解析度下的精确重建。这帮助相关GUI交互的观察人员能够迅速理解从而能够进行例如对用户问题的更快诊断。GUI模拟易于理解,因为其模拟真实GUI交互。GUI交互数据是在无需收集所需的用户交互的情况下自动采集的。GUI日志数据可以实时收集,因此不需要用户重建给定难题。无需让被监控的程序连接仪器、增加代码或重写代码。GUI日志文件相对紧凑,易于高效传输或存储。
[0006]表示窗口的数据可以包括窗口的序列化。表示窗口净变化的数据可以包括窗口变化的序列化。表示窗口或窗口净变化的数据可以从事件队列上相应的被识别消息得到。事件队列上的一个或多个消息可以限定到程序GUI的窗口的用户输入。与在事件队列上识别的所述或每个进一步的消息相关联的数据的记录可以根据预先确定的记录周期触发。记录周期可以由时间或消息数据内容或消息数据量确定。一个或多个预先确定的数据集可以从日志中忽略或在日志中编写。记录的数据可以包括XML。事件队列可以包括操作系统(OS)事件队列或应用程序事件队列。
[0007]该装置可以进一步可操作为识别所选应用程序的日志文件;和将来自日志文件条目的记录⑶I活动显示为应用程序⑶I的模拟。
[0008]本发明的另一个方面提供用于记录计算机程序的图形用户界面(GUI)数据的方法,该方法包括步骤:监控与程序的GUI相关联的事件队列;识别限定程序GUI的窗口的事件队列上的第一消息;将表示窗口的数据记录在与该程序相关联的日志中;识别限定窗口的一个或多个更新的事件队列上的进一步消息;识别在进一步的消息中限定的窗口的净变化;以及将表示窗口的经识别的净变化的数据记录在日志中。
[0009]本发明的进一步方面提供用于记录计算机程序的GUI数据的计算机程序产品,计算机程序产品包括具有其中体现计算机可读程序代码的计算机可读存储介质,计算机可读程序代码被配置为:监控与程序的GUI相关联的事件队列;识别限定程序的GUI的窗口的事件队列上的第一消息;将表示窗口的数据记录在与该程序相关联的日志中;识别限定窗口的一个或多个更新的事件队列上的进一步消息;识别在进一步的消息中限定的窗口的净变化;以及将表示窗口的被识别的净变化的数据记录在日志中。
【附图说明】
[0010]现在将参考下列附图通过实例描述本发明的实施例,在附图中:
[0011]图1是包括计算机、显示器、键盘和鼠标的计算机系统的示意性表示;
[0012]图2是在图1的计算机上运行的包括⑶I日志记录应用程序和⑶I模拟应用程序的软件的示意性表示;
[0013]图3是由图2的⑶I日志记录应用程序记录的⑶I日志数据的示意性表示;
[0014]图4是示出当创建图3的日志时由图2的⑶I日志记录应用程序执行的过程的流程图;
[0015]图5是示出当创建图3的日志时由图2的⑶I日志记录应用程序执行的进一步处理的流程图;
[0016]图6是示出当模拟来自图3的日志文件中记录的数据的应用程序GUI的活动时由图2的GUI模拟应用程序执行的处理的流程图。
【具体实施方式】
[0017]参考图1,计算机系统101包括具有连接的显示器105、键盘107和鼠标109的计算机103。计算机103运行布置为通过显示器105提供基于窗口的图形用户界面(⑶1)113的操作系统(OS) 111。键盘107和鼠标109能够使用户通过输入或修改数据和控制⑶I 113的元素与OS 111和一个或多个应用程序(未示出)交互。这样的交互可以导致GUI 113在显示的窗口或数据方面的改变。
[0018]参考图2,计算机103运行用户应用程序201和⑶I日志记录(logging)应用程序203。用户应用程序201布置为能够通过⑶I 113与用户交互,以便响应于经由键盘107和鼠标109的用户输入能够打开和控制⑶I窗口 113以及通过用户应用程序201输入和修改数据。在本实施例中,OS 111具有基于消息的事件驱动架构,并且包括⑶I事件队列205。⑶I事件队列205是由OS 111提供的,布置为一方面管理通过⑶I 113在用户和OS 111之间的通信和另一方面管理用户应用程序201。通信是基于发送人放置在GUI事件队列205上和通过预定接收机从GUI事件队列205读取的相关消息。放置在GUI事件队列205上的消息类型和其相关数据的实例如下:
[0019]打开窗口:尺寸、颜色、布局、按钮、字段、和数据;
[0020]修改窗口:调整大小、增加/移除/修改显示数据;
[0021]关闭窗口 ;
[0022]键盘输入;和
[0023]鼠标输入。
[0024]⑶I日志记录应用程序203被布置为听或监控涉及诸如用户应用程序201的所选应用程序的消息的GUI事件队列205。响应于放置在GUI事件队列205上或来自用户应用程序201的消息,⑶I日志记录应用程序203布置为记录表示⑶I日志数据文件207中的那些消息的数据。在给定消息表示新窗口的情况中,⑶I日志记录应用程序203布置为将表示新窗口的数据存储在GUI日志数据文件207中对应的条目下。在本实施例中,存储在⑶I日志数据文件207中的数据包括新窗口消息的序列化。在⑶I事件队列205上识别的一组消息或随后的消息表示现有窗口的修改、更新或用户输入,⑶I日志记录应用程序203布置为确定由随后的消息表示的窗口的净变化。GUI日志记录应用程序203布置为保存表示预先确定的记录周期窗口的净变化的数据。在本实施例中,记录周期是基于时间的,包括五秒周期。换句话说,如上所述,通过识别那些消息表示的相关窗口的净变化,修改在给定记录周期内GUI事件队列205上识别的现有Gn窗口的所有消息被压缩。然后,表示净变化或增量的数据存储在与指示相关记录周期相关联的GUI日志数据文件207中的对应的条目下。
[0025]参考图3,在本实施例中⑶I日志记录应用程序203布置为为正被监测的每个应用程序创建⑶I日志数据文件207。而且,记录由被监测的应用程序打开的每个窗口的离散数据集。在图3的实例中,⑶I日志数据文件207包括三个数据集301、302、303,指示用户应用程序201已经打开了三个窗口 113。每个数据集301、302、303包括一系列条目,如上所述一系列条目包括初始条目、表示新近打开的窗口,随后是表示源自所监测的应用程序201的输出或通过键盘1
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1