CN101399821B - 记录/重放系统、记录器/播放器、和方法 - Google Patents

记录/重放系统、记录器/播放器、和方法 Download PDF

Info

Publication number
CN101399821B
CN101399821B CN200710161329.6A CN200710161329A CN101399821B CN 101399821 B CN101399821 B CN 101399821B CN 200710161329 A CN200710161329 A CN 200710161329A CN 101399821 B CN101399821 B CN 101399821B
Authority
CN
China
Prior art keywords
client
request
user
record
weblication
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
Application number
CN200710161329.6A
Other languages
English (en)
Other versions
CN101399821A (zh
Inventor
郭朝阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200710161329.6A priority Critical patent/CN101399821B/zh
Priority to US12/238,150 priority patent/US8108490B2/en
Publication of CN101399821A publication Critical patent/CN101399821A/zh
Application granted granted Critical
Publication of CN101399821B publication Critical patent/CN101399821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing

Abstract

本发明提供了一种能够记录/重放基于web的用户步骤的系统,包括客户端和服务器,其中服务器包括:向客户端显示web界面的web应用程序装置,其中用户在web界面上的动作形成所述基于web的用户步骤;设置在web应用程序装置前端、用于记录所述基于web的用户步骤、并能够对所记录的用户步骤进行重放的记录器/播放器;存储记录器/播放器记录的基于web的用户步骤的存储装置。本发明还提供了相关服务器、记录器/播放器及方法。通过本发明,不需要任何其它安装程序的帮助就能在浏览器中记录和重放用户步骤,让用户步骤被其它用户所共享。

Description

记录/重放系统、记录器/播放器、和方法
技术领域
本发明涉及互联网应用领域,尤其涉及记录/重放基于web的用户步骤的系统、记录器/播放器和相关方法。
背景技术
目前,许多商业/个人应用程序是基于web的,例如WebSphere应用服务器的管理控制台、电子银行网站、B2C网站、Gmail等等。
基于web的应用程序具有很多功能,但大多数用户只使用其中的一部分功能。而且,在用户在基于web的应用程序中执行某些步骤以完成特定功能的过程中,用户发现,很多用户步骤都是重复性的。用户希望能在网站上自动进行这种重复步骤以提高效率,并能让其它用户容易地共享某些重复的步骤。
例如,在现有技术中,WebSphere管理员会经常打开/关闭javagc(垃圾收集)以收集与java堆有关的信息。
目前,管理员必须进行以下动作才能打开垃圾收集功能:
1)在WebSphere的管理控制台的登录页面上输入用户名和口令;
2)在WebSphere应用服务器管理控制台上,激活“服务器”链接,然后激活“应用服务器”链接;
3)在应用服务器页面,激活“服务器1”链接;
4)在服务器1页面,激活“java和过程管理”链接,然后激活“过程定义”的链接;
5)在过程定义页面,激活“java虚拟机”链接;
6)在iava虚拟机页面,激活“运行时”链接;
7)在运行时页面,选择“垃圾收集的详细信息”的复选框,然后激活确认按钮。
每次在打开垃圾收集时要执行的过程都是与上面一样的,因此严重浪费了时间,降低了效率。需要一种自动执行以上步骤的方法和装置。
目前,Websphere的管理员需要掌握Jacl/Jython编程语言的技能,这样,他们才能编写自动任务来自动执行上述步骤。因此,WebSphere的管理员希望能有一种“激活就记录”的解决方案来在浏览器上容易地记录所有步骤并进行重放。而且,他们不希望安装其它诸如LoadRunner的应用程序。
再举一个例子。在这个例子中,用户每个月都要登录到同一个B2C网站去买同一种IP卡。用户每次需要执行以下步骤:
1)在网站的登录页面上输入用户名/口令;
2)在首页上,激活“卡种类”链接;
3)在种类页面上,激活“电话卡”链接;
4)在电话卡页面上,激活用户想要购买的卡名的链接;
5)在卡页面上,激活“购买”链接;
6)在付费页面上,输入信用卡信息并激活“购买”按钮;
7)从结果界面找到详细的卡信息(帐号、口令等)。
用户希望有一种“激活就记录”的方案来为用户记录上面的步骤1)-5),从而每次用户购买卡时,只激活网页上的一个按钮就可以了,它将直接把用户引导到付费页面并让用户输入信用卡信息并给出结果。而且,用户不希望装载任何辅助工具,比如LoadRunner。
因此,现有技术中需要一种不需要任何其它安装程序的帮助就能在浏览器中记录和重放用户步骤的方法和装置。
另外,现有技术中还存在将记录的用户步骤让他人分享的需求。
在基于web的商业应用程序中有一些功能,具有许多复杂的重复性的步骤。
例如,在应用程序测试和部署阶段,部署的J2EE应用程序将会在诸如Websphere管理控制台的基于web的控制台上频繁访问相关的某些配置页面,并且反复重复执行某些步骤。
目前,Websphere的应用开发人员可以使用例如Jacl/Jython的脚本语言来为在基于web的管理控制台上执行的部署步骤开发自动部署脚本。并且,这些开发者希望Websphere的应用程序测试人员能够共享该脚本以便重复这些步骤。
如果这些开发者使这些记录的步骤能够容易地对其它用户共享从而其他人能够在没有任何诸如LoadRunner/RPT的辅助应用程序的帮助的情况下容易地重复这些步骤,这将是非常有利的。
发明内容
鉴于以上所述,本发明的一个目的是提供一种供终端普通用户使用的不需要任何其它安装程序的帮助就能在浏览器中记录和重放用户步骤的系统、记录器/播放器、和方法。
本发明的另一个目的是提供一种记录某些用户步骤以供其它用户共享的系统、记录器/播放器、和方法。
本发明提供了一种能够在服务器端记录/重放基于web的用户步骤的系统,包括客户端和服务器,其中服务器包括:向客户端显示web界面的web应用程序装置,其中用户在web界面上的动作形成所述基于web的用户步骤;设置在web应用程序装置前端、用于记录所述基于web的用户步骤、并能够对所记录的用户步骤进行重放的记录器/播放器;存储记录器/播放器记录的基于web的用户步骤的存储装置。
在本发明的一方面,记录器/播放器响应于第一事件而开始记录基于web的用户步骤,响应于第二事件而停止记录基于web的用户步骤。
在本发明的一方面,web应用程序装置使得在客户端显示的界面上包括开始记录按钮,所述第一事件是用户激活开始记录按钮。
在本发明的一方面,记录器/播放器接收到从客户端发送的由于第一事件而产生的请求之后,记录自从该请求之后从客户端发来的请求,直到接收到从客户端发送的由于第二事件而产生的请求为止;记录器/播放器还将从客户端发来的请求传送至web应用程序装置,并将web应用程序装置的响应与从客户端发来的请求相对应地记录。
在本发明的一方面,记录器/播放器接收到从客户端发送的由于第一事件而产生的请求之后,创建记录对象,将自从该请求之后从客户端发来的请求和相应的web应用程序装置的响应记录在记录对象中,当接收到从客户端发送的由于第二事件而产生的请求时,才将记录对象的内容以文件的形式记录到存储装置中。
在本发明的一方面,在记录器/播放器记录用户步骤结束后,web应用程序装置使得在客户端显示用于输入给所记录的一系列用户步骤所保存成的文件所起的名字的界面。
在本发明的一方面,web应用程序装置向客户端显示存储装置存储的以前所记录的用户步骤所保存成的文件的名字列表,响应于用户从显示的文件的名字列表中的选择,记录器/播放器从存储装置中与所选择的文件名对应的文件中依次取出存储的请求,将这些请求依次发送到web应用程序装置,将web应用程序装置的处理结果返回给客户端。
在本发明的一方面,记录器/播放器还将作为web应用程序装置的处理结果的响应和所述与所选择的文件名对应的文件中存储的响应进行比较,将表示该处理结果是否与用户所期望的相同的比较结果返回给客户端。
在本发明的一方面,响应于用户从显示的文件的名字列表中的选择,web应用程序装置先向客户端返回提示用户输入用户名和口令的界面,然后将用户在该界面上输入的用户名和口令和存储的与该选择的文件名对应的文件中保存的用户名和口令进行比较,只有在用户名和口令一致的情况下才为用户进行重放。
在本发明的一方面,第二事件根据如下不同情形而不同:a.web应用程序装置使得在客户端显示的界面上包括停止记录按钮,在这种情形下,所述第二事件是用户激活停止记录按钮;b.响应于用户激活开始记录按钮,web应用程序装置在客户端的显示界面上询问用户要记录下面要进行的多少个用户步骤,当用户所输入的个数的用户步骤结束时,向客户端返回界面,告知用户要记录的个数的用户步骤已记录完毕,询问用户是否想继续记录接下来的步骤,在这种情形下,所述第二事件是用户选择不继续记录接下来的步骤;c.响应于用户激活开始记录按钮,web应用程序装置在客户端显示询问界面,询问用户要记录从激活记录按钮之后多长时间内发生的所有用户步骤,当用户所输入的时间长度结束时,向客户端返回界面,告知用户所输入的时间长度已经结束,询问用户是否想继续记录接下来的步骤,在这种情形下,所述第二事件是用户选择不继续记录接下来的步骤;或d.响应于激活开始记录按钮,记录器/播放器开始记录接下来的用户步骤,响应于用户停顿达到预定时间间隔未执行任何用户步骤,web应用程序装置向客户端返回界面,询问用户是否希望就此保存目前所记录的用户步骤为一个文件,在这种情形下,所述第二事件是用户选择希望就此保存目前所记录的用户步骤为一个文件。
在本发明的一方面,web应用程序装置在向客户端显示记录器/播放器所记录的用户步骤所保存成的文件的名字列表时,将该名字列表按文件创建者的用户名或文件的类别进行分类显示,其中文件的类别可在输入为记录的用户步骤所保存成的文件所起的名字时由用户同时在界面上输入。
在本发明的一方面,web应用程序装置在向客户端显示记录器/播放器以前所记录的用户步骤所保存成的文件的名字列表时,按文件以前被重放的频率进行排序显示。
在本发明的一方面,web应用程序装置在客户端显示供用户查看已记录的用户步骤保存成的文件的界面,所述文件可在该界面上被用户编辑,并且若干所述已记录的用户步骤保存成的文件可在该界面上被合并为一个文件。
本发明还提供了一种记录器/播放器,其以插件的形式安装在服务器的web应用程序装置前端,并与存储装置耦合,用于向存储装置记录由用户在web界面上的动作形成的基于web的用户步骤,并能够对所记录的用户步骤进行重放,其包括:请求数据线,传输来自客户端的请求至web应用程序装置;响应数据线,传输来自web应用程序装置的响应至客户端;控制装置,分别耦接到请求数据线和响应数据线,具有开始记录触发端和停止记录触发端,当开始记录触发端输入第一事件触发时,开始记录请求数据线上的来自客户端的请求和响应数据线上的来自web应用程序装置的响应;当停止记录触发端输入第二事件触发时,停止记录请求数据线上的来自客户端的请求和响应数据线上的来自web应用程序装置的响应;其中控制装置还具有再现触发端,当再现触发端输入再现触发时,从存储装置中获取对应的所记录的用户步骤文件,将该文件中所记录的来自客户端的请求传至请求数据线,发往web应用程序装置。
在本发明的一方面,web应用程序装置使得在客户端显示的界面上包括开始记录按钮,所述第一事件是用户激活开始记录按钮;web应用程序装置使得在客户端显示的界面上包括停止记录按钮,所述第二事件是用户激活停止记录按钮。
在本发明的一方面,开始记录触发端输入第一事件触发后,创建记录对象,将从该第一事件触发之后从客户端发来的请求和相应的web应用程序装置的响应记录在记录对象中,当停止记录触发端输入第二事件触发时,才将记录对象的内容以文件的形式记录到存储装置中。
在本发明的一方面,还包括比较装置,当控制装置将与再现触发相对应的所记录的用户步骤文件中所记录的来自客户端的请求传至请求数据线并发往web应用程序装置之后,控制装置从响应数据线获取来自web应用程序装置的处理结果的响应,比较装置将该响应与所述相对应的所记录的用户步骤文件中所记录的响应进行比较,将表示该处理结果是否与用户所期望的相同的比较结果返回给客户端。
本发明还提供了一种记录基于web的用户步骤的服务器方法,包括:向客户端显示web界面,其中用户在web界面上的动作形成所述基于web的用户步骤;响应于用户在web界面上的动作,将由用户在web界面上的动作所形成的基于web的用户步骤在服务器端进行记录。
在本发明的一方面,向客户端显示以前所记录的用户步骤所保存成的文件的名字列表;响应于用户从显示的文件的名字列表中的选择,从所存储的与所选择的文件名对应的文件中依次取出存储的请求,对这些请求依次进行web应用程序处理,将web应用程序处理后的处理结果返回给客户端。
在本发明的一方面,使得在客户端显示的界面上包括开始记录按钮,响应于用户激活开始记录按钮而开始记录基于web的用户步骤;使得在客户端显示的界面上包括停止记录按钮,响应于用户激活停止记录按钮而停止记录基于web的用户步骤。
在本发明的一方面,服务器接收到从客户端发送的由于用户激活开始记录按钮而产生的请求之后,记录自从该请求之后从客户端发来的请求,并将自从该请求之后从客户端发来的请求传送至服务器端的web应用程序,将web应用程序的响应与所述从客户端发来的请求相对应地记录,直到接收到从客户端发送的由于用户激活停止记录按钮而产生的请求为止。
在本发明的一方面,将作为web应用程序处理后的处理结果的响应与服务器端存储的响应进行比较,将表示该处理结果是否与用户所期望的相同的比较结果返回给客户端。
通过上述技术,当用户激活网页中的开始记录按钮的时候,记录器/播放器就开始在服务器侧记录用户步骤,直到用户激活停止记录按钮、或者用户预先输入的个数的用户步骤已执行完毕、或者用户预先输入的时间段已经过去,等等。记录后,用户可以选择用户以前记录的用户步骤所保存成的文件中的任一个并激活重放按钮进行重放。这样,不需要任何其它安装程序的帮助就能在浏览器中记录和重放用户步骤并让其它用户共享,避免了重复性步骤的反复操作带来的低效率。
所记录的用户步骤打包成一个具有唯一名字的文件。用户可以编辑所记录的文件,并让其他人共享该文件,其他人可以在网页中容易地重放该文件中的用户步骤。
附图说明
图1是根据本发明的能够记录/重放基于web的用户步骤的系统的结构框图。
图2是显示了根据实施例1的记录器/播放器的一个示例性具体构造的能够记录/重放基于web的用户步骤的系统的结构框图。
图3是显示了根据实施例2的记录器/播放器的一个示例性具体构造的能够记录/重放基于web的用户步骤的系统的结构框图。
图4是根据实施例3的服务器系统示意图。
图5是显示了根据实施例3的记录器/播放器的一个示例性具体构造的能够记录/重放基于web的用户步骤的系统的结构框图。
图6是根据本发明一个实施例的记录用户步骤的流程图。
图7是根据本发明一个实施例的重放用户步骤的流程图。
具体实施方式
实施例1
图1是根据本发明的能够记录/重放基于web的用户步骤的系统的结构框图。图1所示的系统包括客户端(1)和服务器(2)。客户端可以是任意形式的能够启用web功能的客户端,图中示出了个人数字助理、移动电话和计算机三种形式,但不排除还可能存在其它形式。服务器(2)包括:web应用程序装置(22),其主要是模块化的web应用程序;记录器/播放器(21);存储有方案文件1……n(23)的存储装置(24),图中示出了3个方案文件,但还可能是其它数量。
在本发明中,记录器/播放器是作为一个独立的插件插到web应用程序装置(22)的前面的,因此可以单独作为一个产品销售。将本发明的记录器/播放器插件插入到通用的服务器中,并且将web应用程序装置(22)进行适当的改进,使其在客户端侧显示包括诸如开始记录按钮和停止记录按钮等的界面,就能实现本发明。
下面结合如前所述的垃圾收集的例子来阐述实施本发明的详细过程。
图1中的web应用程序装置(22)能够在客户端的界面上显示开始记录按钮和停止记录按钮,它们是简单的HTML按钮。它们比如可以设置在屏幕的左上方或右上方,并且不影响用户观看本实施例的垃圾收集界面的正常视野,用户通过这些按钮来请求服务器开始记录或结束记录用户步骤。用户要进行垃圾收集功能,首先要登录到WebSphere的管理控制台的登录页面上,这时在WebSphere的管理控制台的登录页面上出现提示,让用户输入用户名和口令。因为用户想要把整个一系列垃圾收集的步骤记录起来以便重放,从而为以后的垃圾收集提供便利,因此用户不急于填写用户名和口令,而是在页面上激活(比如用鼠标激活或者用键盘点中)开始记录按钮,此时客户端(1)就自动向服务器端的记录器/播放器(21)发送带有“开始记录”信息的请求(客户端自动有这种功能),这时记录器/播放器(21)就开始工作,开始准备记录用户在该客户端上接下来作出的用户步骤,此时它向客户端通过响应发送一个“准备好”信号,此时就准备开始记录该客户端接下来作出的用户步骤了,它创建记录对象,把它放在记录器/播放器(21)的内存中的记录表中。用户在基于web的应用程序上执行的步骤都对应于一个发送的请求,用户执行一个用户步骤,客户端就将相应的请求发送到记录器/播放器(21),记录器/播放器(21)就从记录表中取出记录对象,把该请求加到记录对象,如果再接到一个对应于用户步骤的请求,记录器/播放器(21)就再取出记录对象,把该请求再加到记录对象,同时把这些请求发送给web应用程序装置(22)进行处理,把处理后的结果(即web应用程序装置(22)的响应)也与其请求相对应地加到记录对象中,同时把该响应返回给客户端。具体地说:
1)用户张三在WebSphere的管理控制台的登录页面上输入用户名张三和口令abc,这时客户端向记录器/播放器(21)发出相应的请求,该请求中含有用户名张三和口令abc的信息,记录器/播放器(21)将该请求记录到记录对象中,然后记录器/播放器(21)将该请求发给web应用程序装置(22),将作为web应用程序装置(22)处理结果的响应代码序列也加到记录对象中,因此,在这一步中,记录到记录对象中的是:
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _POST/ibm/console/login.do HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/logout.doCookie:JSESSIONID=0000mhAZowlZCE2IIhhMDH4Qhx:-1;TJE=;TE3=Content-Type:application/x-www-form-urlencodedContent-Length:28username=admin&submit=Log+in--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=UTF-8Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 04:58:43 GMTServer:WebSphere Application Server/6.1
可以看出,所记录的内容包括两部分信息:一部分是客户端的请求,一部分是服务器的响应。在客户端的请求中含有用户名和口令信息。
作为web应用程序装置(22)的处理结果,web应用程序装置(22)在客户端的界面上显示一个首页,但该首页由三部分页面组成,客户端的浏览器发现该首页由三部分页面组成,所以自动进一步向服务器请求首页相关的三个子页面信息,以下是对三个子页面信息的请求和响应,记录器/播放器(21)也象上面所述的那样,把它们记录到记录对象中:
--客户端的请求_ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _GET/ibm/console/secure/isclite/tiles/bannerframe.jsp HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725 Firerox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/login.doCookie:JSESSIONID=0000rnhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=UTF-8Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 04:58:43 GMTServer:WebSphere Application Server/6.1
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ __ _ _ _ _ _ _ _GET/ibm/console/nsc.do HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/login.doCookie:JSESSIONID=0000rnhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 04:58:43 GMTServer:WebSphere Application Server/6.1
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _GET/ibm/console/navigation.do?wpageid=com.ibm.isclite.welcomeportlet.layoutElement.A&moduleRef=com.ibm.isclite.ISCAdminPortlet HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/login.doCookie:JSESSIONID=0000rnhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 04:58:43 GMTServer:WebSphere Application Server/6.1
2)然后用户张三在web应用程序装置(22)在客户端显示的界面上,即WebSphere应用服务器管理控制台界面上,激活“应用服务器”链接,这时客户端就向记录器/播放器(21)发出相应的请求,该请求含有张三所激活的“应用服务器”链接的URL(统一资源定位符)和这两个链接的相关参数,记录器/播放器(21)将该请求添加到记录对象中,然后记录器/播放器(21)再将该请求发给web应用程序装置(22),将作为web应用程序装置(22)处理结果的响应代码序列也加到记录对象中。因此,在这一步中,记录到记录对象中的以下请求和响应:
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _GET/ibm/console/navigatorCmd.do?forwardName=ApplicationServer.content.main HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/nsc.doCookie:JSESSIONID=0000rnhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=N0:C N1:E N2:CN3:C N4:C N5:C N6:C N7:C N8:C N9:C N10:C N11:C N12:C N13:C N14:C N15:C N16:C N17:CN18:C N19:C N20:C N21:C N22:C N23:C N24:C N25:C--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 04:58:43 GMTServer:WebSphere Application Server/6.1HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 05:15:41 GMTServer:WebSphere Application Server/6.1
其中,上述客户端请求中含有“应用服务器”链接的URL和参数信息。
3)然后用户张三在web应用程序装置(22)在客户端显示的界面上,即应用服务器页面上,激活“服务器1”链接,这时客户端就向记录器/播放器(21)发出相应的请求,该请求含有张三所激活的“服务器1”链接的URL(统一资源定位符)和该链接的相关参数,记录器/播放器(21)将该请求添加到记录对象中,然后记录器/播放器(21)再将该请求发给web应用程序装置(22),将作为web应用程序装置(22)处理结果的响应代码序列也加到记录对象中,因此,在这一步中,记录到记录对象中的是:
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _GET/ibm/console/applicationServerCollection.do?EditAction=true&contextId=cells%3AIBM-BAC3A901240Node01Cell%3Anodes%3AIBM-BAC3A901240Node01%3Aservers%3Aserver1&resourceUri=server.xml&perspective=tab.configuration HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/navigatorCmd.do?forwardName=ApplicationServer.content.mainCookie:JSESSIONID=0000rnhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=N0:C N1:E N2:CN3:C N4:C N5:C N6:C N7:C N8:C N9:C N10:C N11:C N12:C N13:C N14:C N15:C N16:CN17:C N18:C N19:C N20:C N21:C N22:C N23:C N24:C N25:C--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 05:18:02 GMTServer:WebSphere Application Server/6.1
其中记录的客户端的请求中含有“服务器1”链接的URL和参数信息。
4)然后用户张三在web应用程序装置(22)在客户端显示的界面上,即服务器1页面上,激活“过程定义”的链接,这时客户端就向记录器/播放器(21)发出相应的请求,该请求含有张三所激活的“过程定义”链接的URL和该链接的相关参数,记录器/播放器(21)将该请求添加到记录对象中,然后记录器/播放器(21)再将该请求发给web应用程序装置(22),将作为web应用程序装置(22)处理结果的响应代码序列也加到记录对象中,因此,在这一步中,记录到记录对象中的是:
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _GET/ibm/console/com.ibm.ws.console.servermanagement.forwardCmd.do?forwardName=ProcessDef.config.view&sfname=processDefinitions&lastPage=ApplicationServer.config.view&resourceUri=server.xml&parentRefId=ApplicationServer_1188209145281&serverRefId=Server_1188209145281&contextId=cells%3AIBM-BAC3A901240Node01Cell%3Anodes%3AIBM-BAC3A901240Node01%3Aservers%3Aserver1&perspective=tab.configuration HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/applicationServerCollection.do?EditAction=true&contextId=cells%3AIBM-BAC3A901240Node01Cell%3Anodes%3AIBM-BAC3A901240Node01%3Aservers%3Aserver1&resourceUri=server.xml&perspective=tab.configurationCookie:JSESSIONID=0000rnhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=N0:C N1:E N2:CN3:C N4:C N5:C N6:C N7:C N8:C N9:C N10:C N11:C N12:C N13:C N14:C N15:C N16:C N17:CN18:C N19:C N20:C N21:C N22:C N23:C N24:C N25:C--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 05:20:39 GMTServer:WebSphere Application Server/6.1
其中在所记录的请求中含有“过程定义”链接的URL和参数信息。
5)然后用户张三在web应用程序装置(22)在客户端显示的界面上,即过程定义页面上,激活“java虚拟机”链接,这时客户端就向记录器/播放器(21)发出相应的请求,该请求含有张三所激活的“java虚拟机”链接的URL和该链接的相关参数,记录器/播放器(21)将该请求添加到记录对象中,然后记录器/播放器(21)再将请求发给web应用程序装置(22),将作为web应用程序装置(22)处理结果的响应代码序列也加到记录对象中,因此,在这一步中,记录到记录对象中的是:
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _GET/ibm/console/com.ibm.ws.console.servermanagement.forwardCmd.do?forwardName=JavaVirtua1Machine.config.view&sfname=jvmEntries&lastPage=ProcessDef.config.view&resourceUri=server.xml&parentRefld=JavaProcessDef_1188209145281&contextId=cells%3AIBM-BAC3A901240Node01Cell%3Anodes%3AIBM-BAC3A901240Node01%3Aservers%3Aserver1&perspective=tab.configuration HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb23 12,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:htfp://9.186.117.207:9060/ibm/console/com.ibm.ws.console.servermanagement.forwardCmd.do?forwardName=ProcessDef.config.view&sfname=processDefinitions&lastPage=ApplicationServer.config.view&resourceUri=server.xml&parentRefld=ApplicationServer_1188209145281&serverRefld=Server_1188209145281&contextId=cells%3AIBM-BAC3A901240Node01Cell%3Anodes%3AIBM-BAC3A901240Node01%3Aservers%3Aserver1&perspective=tab.configurationCookie:JSESSIONID=0000rnhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=N0:C N1:E N2:CN3:C N4:C N5:C N6:C N7:C N8:C N9:C N10:C N11:C N12:C N13:C N14:C N15:C N16:CN17:C N18:C N19:C N20:C N21:C N22:C N23:C N24:C N25:C--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 05:22:25 GMTServer:WebSphere Application Server/6.1
其中所记录的客户端的请求包含“java虚拟机”链接的URL和参数。
6)然后用户张三在web应用程序装置(22)在客户端显示的界面上,即java虚拟机页面上,激活“运行时”链接,这时客户端就向记录器/播放器(21)发出相应的请求,该请求含有张三所激活的“运行时”链接的URL和该链接的相关参数,记录器/播放器(21)将该请求添加到记录对象中,然后记录器/播放器(21)再将该请求发给web应用程序装置(22),将作为web应用程序装置(22)处理结果的响应代码序列也加到记录对象中,因此,在这一步中,记录到记录对象中的是:
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ __ _ _ __ _ _ _ _ _ __ _GET/ibm/console/javaVirtualMachineDetail.do?EditAction=true&perspective=tab.runtimeHTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725 Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtmnl+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/com.ibm.ws.console.servermanagement.forwardCmd.do?forwardName=JavaVirtualMachine.config.view&sfname=jvmEntries&lastPage=ProcessDef.config.view&resourceUri=server.xml&parentRefId=JavaProcessDef_1188209145281&contextId=cells%3AIBM-BAC3A901240Node01Cell%3Anodes%3AIBM-BAC3A901240Node01%3Aservers%3Aserver1&perspective=tab.configurationCookie:JSESSIONID=0000mhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=N0:C N1:EN2:C N3:C N4:C N5:C N6:C N7:C N8:C N9:C N10:C N11:C N12:C N13:C N14:C N15:CN16:C N17:C N18:C N19:C N20:C N21:C N22:C N23:C N24:C N25:C--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ __ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 05:22:25 GMTServer:WebSphere Application Server/6.1
其中所记录的客户端请求含有“运行时”链接的URL和参数。
7)然后用户张三在web应用程序装置(22)在客户端显示的界面上,即运行时页面上,选择“垃圾收集的详细信息”的复选框,然后激活确认按钮,这时客户端就向记录器/播放器(21)发出相应的请求,该请求含有该确认按钮所对应的URL和参数,记录器/播放器(21)将该请求添加到记录对象中,然后记录器/播放器(21)再将该请求发给web应用程序装置(22),将作为web应用程序装置(22)处理结果的响应代码序列也加到记录对象中,因此,在这一步中,记录到记录对象中的是:
--客户端的请求_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ __  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _POST/ibm/console/javaVirtualMachineDetail.do HTTP/1.1Host:9.186.117.207:9060User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.8.1.6)Gecko/20070725Firefox/2.0.0.6Accept:application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Language:en-us,zh-cn;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveReferer:http://9.186.117.207:9060/ibm/console/javaVirtualMachineDetail.do?EditAction=true&perspective=tab.runtimeCookie:JSESSIONID=0000mhAZow1ZCE2IIhhMDH4Qhx:-1;TJE=;TE3=N0:C N1:E N2:C N3:CN4:C N5:C N6:C N7:C N8:C N9:C N10:C N11:C N12:C N13:C N14:C N15:C N16:C N17:C N18:CN19:C N20:C N21:C N22:C N23:C N24:C N25:CContent-Type:application/x-www-form-urlencodedContent-Length:58action=Edit&verboseModeGarbageCollectionRuntime=on&save=OK--服务器响应_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _HTTP/1.x 200 OKContent-Type:text/html;charset=ISO-8859-1Content-Language:en-USTransfer-Encoding:chunkedDate:Tue,28 Aug 2007 05:25:59 GMTServer:WebSphere Application Server/6.1
其中所记录的客户端请求包括该确认按钮所对应的URL和参数。
用户张三完成这七个步骤后,就完成了需要记录的垃圾收集过程,因此张三在web应用程序装置(22)在客户端显示的界面上激活停止记录按钮。这时,客户端(1)将向记录器/播放器(21)发送一个带有“停止记录”信息的请求,记录器/播放器(21)将停止写入,将记录对象中所记录的包含用户名、口令、各链接URL和参数等的客户端请求以及作为web应用程序装置(22)处理结果的各响应代码序列连同每个步骤的序号一起写到存储装置(24)内部的方案文件(23)中(也可以是数据库,为了统一,这里统称为方案文件)中。方案文件中,上述内容可以以明文形式记录。
在方案文件中,可以将以上七个步骤的序列号、上面所示的每一步记录的请求和响应相对应地记录。鉴于上面所示的每一步记录的请求和响应所分别包含的内容,方案文件包括以下信息:
1.基本用户信息,比如用于识别该方案文件的所有者的用户名和口令,如上面所述的张三和abc。
2.所有步骤的序号,例如ID号等。
3.每个步骤的信息。
其中,每个步骤的信息包括:
1.请求的URL。
2.请求的类型,例如GET、POST、HEAD等。
3.请求的参数和参数值。
4.响应的代码序列。
然后,web应用程序装置(22)向客户端返回用于输入给该方案文件所起的名字的界面,用户输入所起的名字到该界面,记录器/播放器(21)就连同该文件名字保存该方案文件,在本例中比如起名为garbage collection 1。web应用程序装置(22)将继续处理用户的请求。
图2是显示了记录器/播放器的一个示例性具体构造的能够记录/重放基于web的用户步骤的系统的结构框图。如图所示,记录器/播放器(21)包括:请求数据线(213),传输来自客户端的请求至web应用程序装置(22);响应数据线(214),传输来自web应用程序装置(22)的响应至客户端;控制装置(211),分别耦接到请求数据线(213)和响应数据线(214),具有开始记录触发端和停止记录触发端。当开始记录触发端没有事件触发时,控制装置(211)这一侧的装置是不工作的。这样,来自客户端的请求就通过请求数据线(213)直接送往了web应用程序装置(22),而来自web应用程序装置(22)的响应也直接送回了客户端(相当于没有记录功能)。当开始记录触发端输入第一事件触发(第一事件比如上面已提到的用户激活开始记录按钮,这时需要web应用程序装置(22)使得在客户端显示的界面上包括开始记录按钮;再比如说,第一事件可能是用户打开同一文件5次,或用户开机后10分钟,这可以由web应用程序装置(22)来规定,其通常是由web应用程序装置(22)反馈回来的,即web应用程序装置(22)已定义好了什么是第一事件,然后,web应用程序装置(22)从来自客户端的请求中进行判断,看是否满足了第一事件的条件,如果满足,则向控制装置(21)输入第一事件触发,但第一事件触发也有可能是服务器侧的管理员进行的手动触发,比如在控制装置(211)上有一个手动按钮)时,开始记录请求数据线(213)上的来自客户端的请求和响应数据线(214)上的来自web应用程序装置(22)的与该请求相对应的响应;当停止记录触发端输入第二事件触发(第二事件可能是上面一提到的用户激活停止记录按钮,这时需要web应用程序装置(22)使得在客户端显示的界面上包括停止记录按钮,但也有可能象实施例5、6等中记述的那样。例如,在实施例5中,响应于用户激活开始记录按钮,web应用程序装置(22)在客户端的显示界面上询问用户要记录下面要进行的多少个用户步骤,当用户所输入的个数的用户步骤结束时,向客户端返回界面,告知用户要记录的个数的用户步骤已记录完毕,询问用户是否想继续记录接下来的步骤,所述第二事件是用户选择不继续记录接下来的步骤)时,停止记录请求数据线(213)上的来自客户端的请求和响应数据线(214)上的来自web应用程序装置(22)的与该请求相对应的响应。也就是说,当在请求数据线(213)上有来自客户端的请求时,一旦开始记录触发端出现第一事件触发,请求数据线(213)上的来自客户端的请求在发往web应用程序装置(22)的同时流进控制装置(211),在控制装置(211)中进行记录,即记录到记录对象(2111),当在停止记录触发端出现第二事件触发时,就停止记录,将记录对象中记录有的请求和响应一并发给存储装置(24),在存储装置(24)中记录为方案文件。
此外,控制装置(211)还具有再现触发端,当再现触发端输入再现触发(再现触发一般也是由web应用程序装置(22)反馈回的。比如,用户在web应用程序装置(22)在客户端显示的界面上激活再现按钮,客户端发送相应的请求至web应用程序装置(22)。web应用程序装置(22)判断出是再现请求,因此向控制装置(211)输入一个再现触发。当然,该再现触发也可以借助于控制装置上的一个手动按钮手动完成)时,在该再现触发中含有用户要再现的文件名,控制装置(211)接收到包含该文件名的再现触发后,从存储装置(24)中获取与该文件名相对应的所记录的用户步骤文件,将该文件中所记录的来自客户端的请求传至请求数据线(213),发往web应用程序装置(22),然后web应用程序装置(22)的响应借助于响应数据线(214)直接发回客户端。另一方面,该响应也可以流入控制装置(211)中送往与其相连的比较装置(212),比较装置(212)将该响应和所述与所述文件名相对应的用户步骤文件中所记录的响应进行比较,将表示该处理结果是否与用户所期望的相同的比较结果返回给客户端(1)(在记录时往往记录的是一个理想的、期望的结果)。
此外,控制装置(211)还可包括鉴权装置(215)。再现触发端输入的再现触发还包括用户输入的用户名和口令。鉴权装置(215)将该再现触发中包含的用户输入的用户名和口令同与再现触发相对应的所记录的用户步骤文件中记录的用户名和口令进行比较,只有在用户名和口令一致的情况下才为用户进行重放。
图1中的客户端可以采用现有技术中任一种能够启动web功能的客户端,服务器部分相对于现有技术服务器的不同之处在于:首先,web应用程序装置(22)能够在客户端的界面上显示开始记录按钮和停止记录按钮等,并且有如后所述能够在客户端的界面上显示已记录解决方案的列表,让用户从中选择一个重放等等的扩展功能;另外,它在服务器的前端插入记录器/播放器(21),所有进入服务器的请求都经过记录器/播放器(21)中转才能达到web应用程序装置(22),所有web应用程序装置(22)的响应都要经过记录器/播放器(21)中转才能返回客户端,在中转的过程,记录器/播放器(21)起到向存储装置(24)记录请求和响应的作用,从而在服务器端记录了用户步骤,当用户需要重放时把这些用户步骤进行重放。其中记录器/播放器(21)和存储装置(24)是本发明特有的模块,它们可由本领域技术人员根据上述及下面详细描述的它们的功能借助于软件或硬件来实现。
图6是根据本发明记录用户步骤的详细流程图。过程从S101开始。在步骤S101,记录器/播放器(21)从客户端接收请求,检查请求头部。在步骤S102,记录器/播放器(21)取出该请求中的会话ID。在步骤S103,判断该请求中的头部是否包含“开始记录”标志。如果有,则进入步骤S104,为该会话ID创建记录对象,并且在步骤S105,将该(会话ID,记录对象)写到记录表中,然后过程进入步骤S113。如果在步骤S103中判断出不包含“开始记录”标志,则在步骤S106判断该头部是否包含“停止记录”标志,如果是,过程进入步骤S107。在步骤S107,取出与该会话ID绑定的记录对象。然后在步骤S108,将记录对象的内容写到方案文件中,然后过程继续到步骤S113。如果在步骤S106判断不包含“停止记录”标志,则进入步骤S109,在该步骤检查记录表。然后,在步骤S110判断该会话ID是否属于记录表。如果属于,在步骤S111取出与该会话ID绑定的记录对象。然后在步骤S112,将该请求加入记录对象,然后过程转到步骤S113。如果在步骤S110判断该会话ID不属于记录表,过程进入步骤S113,在该步骤在web容器中处理该请求。然后,在步骤S114,产生响应。在步骤S115,取出响应中的会话ID。在步骤S120,检查记录表。在步骤S121,判断该会话ID是否属于记录表。如果属于记录表,则在步骤S122取出与该会话ID绑定的记录对象。在步骤S123判断该记录对象是否包含上一个请求项的响应,如果是,则过程进入步骤S125。如果不是,则过程进入步骤S124,在步骤S124将该响应加入记录对象,然后过程进入步骤S125。如果在步骤S121判断出该会话ID不属于记录表,则过程直接进入步骤S125,在步骤S125将该响应发给客户端,然后过程返回步骤S101。
下面描述在服务器侧重放前面所记录的用户步骤的过程。首先,web应用程序装置(22)在客户端的界面上提供一个“浏览方案”按钮。用户一旦激活该按钮,web应用程序装置(22)就在该界面上显示存储装置(24)中存储的方案文件的名字列表。然后,用户就可以从该名字列表中选出一个方案文件的名字并激活重放按钮,记录器/播放器(21)接收到对应于用户选出方案文件的名字、并要求重放的请求时,记录器/播放器(21)按照该名字在服务器侧存储的方案文件(23)中找到对应的方案文件,从该方案文件中依次(依记录次序)取出所有请求和响应,将这些请求依次发往web应用程序装置(22)进行处理,将作为web应用程序装置(22)的处理结果的响应与从该方案文件取出的与该请求相对应的响应进行比较,该结果表示处理结果是否与用户所期望的结果(即当记录用户步骤时出现的处理结果)相同,因为由于在记录时和重放时的网络条件、web应用程序的可用性等有可能不同,导致可能出现不同的响应结果,因此很有必要将这个比较结果返回客户端以便用户判断此时重放时的条件是否与记录时的条件相同,并决定是否继续进行这次重放。因此,记录器/播放器(21)将这个比较结果连同web应用程序装置(22)的处理结果(即结果页面)一并返回给客户端(1)。
用户可以从任何种类的客户端(例如PC、移动电话、PDA)来重放用户步骤,因为重放机制主要是存在于服务器端的。
图7是根据本发明重放用户步骤的流程图。过程从步骤S201开始,在该步骤记录器/播放器(21)从客户端(1)接收请求。在步骤S202,记录器/播放器(21)判断该请求是否是对应于用户从方案文件列表选出方案文件名字、并激活重放按钮的请求。如果判断结果为是,在步骤S203从请求中取出方案文件名字。在步骤S204从与该取出的名字对应的方案文件中取出存储的各请求和响应。在步骤S205将取出的各请求依次发送到web容器,即web应用程序装置。在步骤S206从web应用程序装置获得响应。在步骤S207产生结果页面,然后进入步骤S209。当在步骤S202中记录器/播放器(21)判断出该请求不是对应于用户从方案文件列表选出方案文件名字、并激活重放按钮的请求,则在步骤S208处理该请求,然后进入步骤S209。在步骤S209,把结果页面以及方案文件中存储的响应与从web应用程序装置获得的响应比较产生的结果发送给客户端,并返回步骤S201。
web应用程序装置(22)还在客户端显示供用户查看已记录的用户步骤保存成的文件的界面,所述文件可在该界面上被用户编辑。用户可以在网页上浏览方案文件并编辑其或他人创建的任何方案文件。
实施例2
本发明的一个很重要的应用是在测试领域中的应用。在测试领域,通常测试用户关心的不是在每一步骤从web应用程序装置(22)发回什么响应,而是在测试结果与期望的是否相同,即在重放时将从存储装置存储的方案文件中取出的特定请求发送给web应用程序装置(22)后从web应用程序装置(22)发回的响应与在该方案文件中与该请求相对应地存储的响应的比较结果。比如,测试过程很漫长,用户可能想在下班时让机器进行一个测试而不想浪费时间去等待测试结果,而是想在第二天早上看测试结果。此时,用户对web应用程序装置(22)针对每一步骤的请求发回的响应并不关心,其关心的是每一步骤的响应与方案文件中与该步骤的请求相对应地存储的响应的比较结果。在实施例1中,在向客户端发回来自web应用程序装置(22)的响应的同时将该步骤的响应与方案文件中与该步骤的请求相对应地存储的响应的比较结果发回给客户端。这时用户已经下班了,因而看不到该比较结果。在实施例2中,作了一点改进。图3是显示了根据实施例2的记录器/播放器的一个示例性具体构造的能够记录/重放基于web的用户步骤的系统的结构框图。在实施例2中,在记录器/播放器(21)中增加了与比较装置(212)和控制装置(211)相连的结果存储装置(218),给记录器/播放器(21)增加了一个测试结果输出触发端,并且增加一条从控制装置(211)向客户端返回测试结果的反馈线(219)。当例如用户在由web应用程序装置(22)在客户端显示的界面上激活再现触发按钮时,web应用程序装置(22)接到来自客户端的响应请求,向控制装置(211)的再现触发端输入再现触发。控制装置(211)从存储装置(24)中获取对应的所记录的用户步骤文件,将该文件中所记录的来自客户端的请求传至请求数据线(213),发往web应用程序装置(22)。web应用程序装置(22)对该请求进行响应,将响应送入响应数据线(214)发回。这时用户已经下班了,因此看不到该响应,但该响应并不是用户所关心的。另一方面,控制装置(211)从响应数据线(214)获取响应,将其与所述方案文件中与该请求相对应地存储的响应一并发给比较装置(212)进行比较。比较装置(212)比较后将比较结果存储在结果存储装置(218)中。这时控制装置(211)不将该比较结果直接发回客户端,而是等待再现触发。当第二天早上用户上班时,激活界面上的测试结果显示按钮。web应用程序装置(22)接到来自客户端的相对应的请求后,向控制装置(211)的测试结果输出触发端输出测试结果输出触发。控制装置(211)然后从结果存储装置(218)调出相应的比较结果,即每一步骤的响应的比较结果列表,将该比较结果列表通过反馈线(219)返回给客户端。这样,用户无需等待漫长的测试执行过程而获得了测试结果。
实施例3
本发明可以广泛应用于商业软件的安装调试领域。目前市面上销售的一些商业软件,比如财务软件,其安装和调试需要专业人员的参与。但是,对于一些高复杂性的商业软件来说,懂得其安装和调试的专业人员少之又少,而这种软件一经销售,在每个购买厂家都要进行复杂的安装和调试。现有的技术人员的现状很难满足这一需求。实施例3主要针对这样一种情况。图4是根据实施例3的服务器系统示意图。图5是显示了根据实施例3的记录器/播放器的一个示例性具体构造的能够记录/重放基于web的用户步骤的系统的结构框图。在实施例1中,仅将记录器/播放器(21)作为一个插件,但在实施例3中,将记录器/播放器(21)和存储装置(24)合起来作为一个插件(1000)。图4的主服务器(1002)设置在商业软件产品的生产厂家,各子服务器(1003)设置在购买软件产品的厂家。主服务器和子服务器上都设有插槽(1001)。在出厂时,将插件(1000)插入主服务器(1002)的插槽(1001)中,由专业安装调试人员将安装调试所需的步骤按照上面描述过的方法记录到插件(1000)的存储装置(24)中。当在各购买厂家安装商业软件时,将插件(1000)插入购买厂家的子服务器(1003)的插槽(1001)。然后用户在子服务器上重放专业人员进行的安装调试的步骤就可以了,而无需专业人员的参与。具体作法与前面叙述的类似,即可以在与子服务器(1003)相对应的客户端上激活再现按钮,开始再现。插件(1000)中的记录器/播放器(21)将插件(1000)中的存储装置(24)中存储的专业人员记录好的安装调试步骤的请求一一发送给子服务器(1003)端的web应用程序装置(22),从而在无需专业人员参与的条件下完成再现。
实施例4
根据本发明的实施例4,在上述用户重放记录的用户步骤的过程中,当用户从方案文件名字列表中选出一个方案文件的名字并激活重放按钮时,记录器/播放器(21)不是马上执行按照该名字在服务器侧存储的方案文件(23)中寻找对应的方案文件以供播放的步骤,而是web应用程序装置(22)先向客户端返回界面,提示用户输入用户名和口令,只有当该用户名和口令正确时,即该输入的用户名和口令与该方案文件中所存储的用户名和口令(如上例中是张三和abc),即创建该要重放的方案文件的用户的用户名和口令一致时(在方案文件中存储有创建该方案文件的用户的用户名,前面已经说明过),才进行后续重放过程。通过这种方式,可以提高使用安全性,使按照本发明记录的用户步骤只能被记录该用户步骤的人希望与其共享的人进行共享,避免没有得到记录该用户步骤的人的授权的用户随意共享所述记录的用户步骤。
实施例4的其它环节与实施例1类似,故不在此赘述。
实施例5
另外,本发明也可以不采用实施例1中的以激活“开始记录”按钮为开始、以激活“停止记录”按钮为结束来决定记录的起点和终点的方式,而是采用在按下“开始记录”按钮之后记录用户选择数目个用户步骤的方式。
其具体过程如下:当用户激活客户端界面上显示的开始记录按钮之后,记录器/播放器(21)不是立即着手记录后续用户步骤,而是由web应用程序装置(22)向客户端返回询问界面,询问用户要记录下面要进行的多少个用户步骤,当用户输入想要记录的用户步骤数目后,记录器/播放器(21)开始记录与用户接下来执行的步骤相对应的发送来的请求、以及web应用程序装置(22)对该请求的响应。当用户所输入的个数的用户步骤结束,即已经记录了该数目个与用户步骤相应的请求和响应时,向客户端返回界面,告知用户要记录的个数的用户步骤已记录完毕,询问用户是否想继续记录接下来的步骤,如果用户想要再继续记录接下来的若干个步骤,该用户就再一次输入步骤数,记录器/播放器(21)再记录与接下来的这个数目的步骤相对应的请求和响应,直到用户在页面上表示不想再继续记录接下来的步骤为止。此时,用户在页面上选择不想再继续记录接下来的步骤相当于第二事件。此时把从用户激活开始记录按钮以来到现在共记录的所有用户步骤保存为一个方案文件(23)。
实施例5的其它环节与实施例1类似,故不在此赘述。
实施例6
根据实施例6,本发明可以不采用实施例1中的以激活“开始记录”按钮为开始、以激活“停止记录”按钮为结束来决定记录的起点和终点的方式,而是采用在按下“开始记录”按钮之后记录用户选定的一段时间内发生的所有用户步骤的方式。
其具体过程如下:当用户激活客户端界面上显示的开始记录按钮之后,记录器/播放器(21)不是立即着手记录后续用户步骤,而是由web应用程序装置(22)向客户端返回询问界面,询问用户要记录从按下开始记录按钮开始多长时间内发生的所有用户步骤,当用户输入期望的时间长度后,记录器/播放器(21)开始记录与用户接下来执行的步骤相对应的发送来的请求、以及web应用程序装置(22)对该请求的响应。当用户所输入的时间长度结束时,暂停记录用户步骤,向客户端返回界面,告知用户要记录的时间长度的用户步骤已记录完毕,询问用户是否想继续记录接下来的步骤以及如果想要继续记录的话还要记录多长时间的用户步骤。如果用户想要再继续记录一段时间的用户步骤,该用户就再一次输入时间长度,记录器/播放器(21)再记录与这段时间长度中发生的用户步骤相对应的请求和响应,直到用户在页面上表示不想再继续记录接下来的步骤为止。用户在页面上选择不想再继续记录接下来的步骤相当于第二事件。此时把从用户激活开始记录按钮以来到现在共记录的所有用户步骤保存为一个方案文件(23)。
实施例6的其它环节与实施例1类似,故不在此赘述。
实施例7
根据实施例7,本发明可以不采用实施例1中的以激活“开始记录”按钮为开始、以激活“停止记录”按钮为结束来决定记录的起点和终点的方式,而是采用用户激活“开始记录”按钮并执行用户步骤,如果用户此过程中停顿了预定时间间隔未执行用户步骤则向用户返回界面,询问用户是否希望就此保存目前所记录的用户步骤为一个方案文件的方式。
其具体过程如下:当用户激活客户端界面上显示的开始记录按钮之后,记录器/播放器(21)开始着手记录后续用户步骤,这时记录器/播放器(21)要计数从一个用户步骤发生到下一个用户步骤发生之间间隔的时间,如果用户停顿了预定时间未执行任何用户步骤,此时很有可能用户的步骤序列已经结束了,web应用程序装置(22)就向客户端返回界面,询问用户是否希望就此保存目前所记录的用户步骤为一个方案文件。用户在界面上选择希望就此保存目前所记录的用户步骤为一个方案文件相当于第二事件。当用户希望就此保存时,则记录器/播放器(21)把从用户激活开始记录按钮开始到目前所执行的所有用户步骤保存为一个方案文件。如果用户不希望就此保存,则继续为用户记录用户步骤,直到再次出现用户停顿了预定时间未执行任何用户步骤而需要再次询问,或者用户激活了停止记录按钮。
实施例7的其它环节与实施例1类似,故不在此赘述。
实施例8
在实施例8中,在重放用户步骤的过程中web应用程序装置(22)向客户端显示以前存储装置存储的名字列表时,将该名字分类显示。一种分类方法是按方案文件创建者(即记录该方案文件的用户)的用户名进行分类,一个用户创建的方案文件显示在同一类下;另一种分类方法是按方案文件的类别进行分类显示,其中方案文件的类别可在输入为方案文件所起的名字时由用户同时在界面上输入指定。该实施例在用户创建了大量方案文件时特别有效。在存在大量方案文件的条件下如果不分类显示而把大量信息全部推到用户面前让用户选择,不容易提高查找的效率。
实施例8的其它环节与实施例1类似,故不在此赘述。
实施例9
在实施例9中,在重放用户步骤的过程中web应用程序装置(22)向客户端显示以前存储装置所存储的方案文件的名字列表时,按方案文件在以前被重放的频率进行排序显示。该排序比如是从高到低排序。这种实施方式要求web应用程序装置(22)或记录器/播放器(21)有频率统计功能,能统计出每个方案文件被用户重放的次数。这种实施方式可以使用户一目了然地知道哪些方案文件的共享程度高、哪些方案文件的共享程度低。
实施例9的其它环节与实施例1类似,故不在此赘述。
实施例10
在本发明中,web应用程序装置(22)提供查看已创建的方案文件的界面,方案文件可在该界面上被用户编辑。在实施例10中,在编辑界面上,若干方案文件可被合并为一个方案文件。这样,当该合并后的方案文件被重放时,就按合并的顺序一个文件一个文件地依次重放。
实施例10的其它环节与实施例1类似,故不在此赘述。
实施例11
实施例11与实施例1的不同之处在于:在实施例11中,当记录器/播放器(21)接收到从客户端发送的由于用户激活开始记录按钮而产生的请求之后,只记录自从该请求之后从客户端发来的请求,而不用相对应地记录web应用程序装置(22)对该请求的响应。而在重放用户步骤时,响应于用户从显示的方案文件的名字列表中的选择,记录器/播放器(21)从与所选择的方案文件名对应的方案文件中依次取出存储的请求,将这些请求依次发送到web应用程序装置(22),将web应用程序装置(22)的处理结果返回给客户端(1)。因为在方案文件中没有存储与请求相对应的响应,因此不用也无法将作为web应用程序装置(22)的实际处理结果的响应与方案文件(23)存储的响应进行比较,也取消了将比较结果返回给客户端(1)的过程。实施例9虽然不能使用户知道实际重放用户步骤的结果是否与期望的相同,即与在记录用户步骤时的情形相同,但其同样也能够完成重放记录的用户步骤的动作。实施例2主要用于用户对响应之间的比较结果感兴趣而对响应本身不感兴趣的情况。实施例11主要用于用户对响应本身感兴趣而对响应之间的比较结果不感兴趣的情况。
应当理解,上述实施例是作为示例而不是穷尽的。本领域技术人员可以在不脱离本发明的精神和实质的情况下对上述实施例作出多种修改和变形。这些修改和变形都落入本发明权利要求的保护范围之内。

Claims (18)

1.一种能够在服务器端记录/重放基于web的用户步骤的系统,包括客户端(1)和服务器(2),其中服务器(2)包括:
向客户端显示web界面的web应用程序装置(22),其中用户在web界面上的动作形成所述基于web的用户步骤,所述基于web的用户步骤对应于客户端的请求;
设置在web应用程序装置(22)前端、用于记录所述客户端的请求、并能够对所记录的客户端的请求进行重放的记录器/播放器(21);
存储记录器/播放器(21)记录的客户端的请求的存储装置(24);
记录器/播放器(21)还将从客户端发来的请求传送至web应用程序装置(22),并将web应用程序装置(22)的响应与从客户端发来的请求相对应地记录,
其中记录器/播放器(21)还将作为web应用程序装置(22)的处理结果的响应和记录的响应进行比较,将表示该处理结果是否与用户所期望的相同的比较结果返回给客户端(1)。
2.根据权利要求1的系统,其中记录器/播放器(21)响应于第一事件而开始记录所述客户端的请求,响应于第二事件而停止记录所述客户端的请求。
3.根据权利要求2的系统,其中web应用程序装置(22)使得在客户端显示的界面上包括开始记录按钮,所述第一事件是用户激活开始记录按钮。
4.根据权利要求2的系统,其中记录器/播放器(21)接收到从客户端发送的由于第一事件而产生的请求之后,记录自从该请求之后从客户端发来的请求,直到接收到从客户端发送的由于第二事件而产生的请求为止。
5.根据权利要求4的系统,其中记录器/播放器(21)接收到从客户端发送的由于第一事件而产生的请求之后,创建记录对象,将自从该请求之后从客户端发来的请求和相应的web应用程序装置(22)的响应记录在记录对象中,当接收到从客户端发送的由于第二事件而产生的请求时,才将记录对象的内容以文件的形式记录到存储装置(24)中。
6.根据权利要求1的系统,其中在记录器/播放器(21)记录客户端的请求结束后,web应用程序装置(22)使得在客户端显示用于输入给所记录的客户端的请求所保存成的文件所起的名字的界面。
7.根据权利要求4的系统,其中web应用程序装置(22)向客户端显示存储装置(24)存储的以前所记录的客户端的请求所保存成的文件的名字列表,响应于用户从显示的文件的名字列表中的选择,记录器/播放器(21)从存储装置(24)中与所选择的文件名对应的文件中依次取出存储的请求,将这些请求依次发送到web应用程序装置(22),将web应用程序装置(22)的处理结果返回给客户端(1)。
8.根据权利要求7的系统,其中响应于用户从显示的文件的名字列表中的选择,web应用程序装置(22)先向客户端返回提示用户输入用户名和口令的界面,然后将用户在该界面上输入的用户名和口令和存储的与该选择的文件名对应的文件中保存的用户名和口令进行比较,只有在用户名和口令一致的情况下才为用户进行重放。
9.根据权利要求3的系统,其中第二事件根据如下不同情形而不同:
a.web应用程序装置(22)使得在客户端显示的界面上包括停止记录按钮,在这种情形下,所述第二事件是用户激活停止记录按钮;
b.响应于用户激活开始记录按钮,web应用程序装置(22)在客户端的显示界面上询问用户要记录下面要进行的多少个客户端的请求,当用户所输入的个数的客户端的请求结束时,向客户端返回界面,告知用户要记录的个数的客户端的请求已记录完毕,询问用户是否想继续记录接下来的客户端的请求,在这种情形下,所述第二事件是用户选择不继续记录接下来的客户端的请求;
c.响应于用户激活开始记录按钮,web应用程序装置(22)在客户端显示询问界面,询问用户要记录从激活记录按钮之后多长时间内发生的所有客户端的请求,当用户所输入的时间长度结束时,向客户端返回界面,告知用户所输入的时间长度已经结束,询问用户是否想继续记录接下来的客户端的请求,在这种情形下,所述第二事件是用户选择不继续记录接下来的客户端的请求;或
d.响应于激活开始记录按钮,记录器/播放器(21)开始记录接下来的客户端的请求,响应于用户停顿达到预定时间间隔未执行任何客户端的请求,web应用程序装置(22)向客户端返回界面,询问用户是否希望就此保存目前所记录的客户端的请求为一个文件,在这种情形下,所述第二事件是用户选择希望就此保存目前所记录的客户端的请求为一个文件。
10.根据权利要求7的系统,其中web应用程序装置(22)在向客户端显示记录器/播放器(21)所记录的客户端的请求所保存成的文件的名字列表时,将该名字列表按文件创建者的用户名或文件的类别进行分类显示,其中文件的类别可在输入为记录的客户端的请求所保存成的文件所起的名字时由用户同时在界面上输入。
11.根据权利要求7的系统,其中web应用程序装置(22)在向客户端显示记录器/播放器(21)以前所记录的客户端的请求所保存成的文件的名字列表时,按文件以前被重放的频率进行排序显示。
12.根据权利要求1的系统,其中web应用程序装置(22)在客户端显示供用户查看已记录的客户端的请求保存成的文件的界面,所述文件可在该界面上被用户编辑,并且若干所述已记录的客户端的请求保存成的文件可在该界面上被合并为一个文件。
13.一种记录器/播放器,其以插件的形式安装在服务器的web应用程序装置(22)前端,并与存储装置(24)耦合,用于向存储装置(24)记录由用户在web界面上的动作形成的客户端的请求,并能够对所记录的客户端的请求进行重放,其包括:
请求数据线(213),传输来自客户端的请求至web应用程序装置(22);
响应数据线(214),传输来自web应用程序装置(22)的响应至客户端;
控制装置(211),分别耦接到请求数据线(213)和响应数据线(214),具有开始记录触发端和停止记录触发端,当开始记录触发端输入第一事件触发时,开始记录请求数据线(213)上的来自客户端的请求和响应数据线(214)上的来自web应用程序装置(22)的响应;当停止记录触发端输入第二事件触发时,停止记录请求数据线(213)上的来自客户端的请求和响应数据线(214)上的来自web应用程序装置(22)的响应;
比较装置(212),当控制装置(211)将与再现触发相对应的所记录的客户端的请求的文件中所记录的来自客户端的请求传至请求数据线(213)并发往web应用程序装置(22)之后,控制装置(24)从响应数据线(214)获取来自web应用程序装置(22)的处理结果的响应,比较装置(212)将该响应与所述相对应的所记录的响应进行比较,将表示该处理结果是否与用户所期望的相同的比较结果返回给客户端(1),
其中控制装置(211)还具有再现触发端,当再现触发端输入再现触发时,从存储装置(24)中获取对应的所记录的客户端的请求的文件,将该文件中所记录的来自客户端的请求传至请求数据线(213),发往web应用程序装置(22)。
14.根据权利要求13的记录器/播放器,其中web应用程序装置(22)使得在客户端显示的界面上包括开始记录按钮,所述第一事件是用户激活开始记录按钮;web应用程序装置(22)使得在客户端显示的界面上包括停止记录按钮,所述第二事件是用户激活停止记录按钮。
15.根据权利要求13的记录器/播放器,其中开始记录触发端输入第一事件触发后,创建记录对象(2111),将从该第一事件触发之后从客户端发来的请求和相应的web应用程序装置(22)的响应记录在记录对象中,当停止记录触发端输入第二事件触发时,才将记录对象的内容以文件的形式记录到存储装置(24)中。
16.一种记录基于web的用户步骤的服务器方法,包括:
向客户端显示web界面,其中用户在web界面上的动作形成所述基于web的用户步骤,所述基于web的用户步骤对应于客户端的请求;
响应于用户在web界面上的动作,将由用户在web界面上的动作所形成的客户端的请求在服务器端进行记录;
其中服务器接收到从客户端发送的由于用户激活开始记录按钮而产生的请求之后,记录自从该请求之后从客户端发来的请求,并将自从该请求之后从客户端发来的请求传送至服务器端的web应用程序,将web应用程序的响应与所述从客户端发来的请求相对应地记录,直到接收到从客户端发送的由于用户激活停止记录按钮而产生的请求为止,
将作为web应用程序处理后的处理结果的响应与服务器端存储的响应进行比较,将表示该处理结果是否与用户所期望的相同的比较结果返回给客户端。
17.根据权利要求16的方法,该方法还包括:
向客户端显示以前所记录的客户端的请求所保存成的文件的名字列表;
响应于用户从显示的文件的名字列表中的选择,从所存储的与所选择的文件名对应的文件中依次取出存储的请求,对这些请求依次进行web应用程序处理,将web应用程序处理后的处理结果返回给客户端。
18.根据权利要求17的方法,该方法还包括:使得在客户端显示的界面上包括开始记录按钮,响应于用户激活开始记录按钮而开始记录客户端的请求;使得在客户端显示的界面上包括停止记录按钮,响应于用户激活停止记录按钮而停止记录客户端的请求。
CN200710161329.6A 2007-09-28 2007-09-28 记录/重放系统、记录器/播放器、和方法 Active CN101399821B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200710161329.6A CN101399821B (zh) 2007-09-28 2007-09-28 记录/重放系统、记录器/播放器、和方法
US12/238,150 US8108490B2 (en) 2007-09-28 2008-09-25 Record/replay of user-input instructions to a web application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710161329.6A CN101399821B (zh) 2007-09-28 2007-09-28 记录/重放系统、记录器/播放器、和方法

Publications (2)

Publication Number Publication Date
CN101399821A CN101399821A (zh) 2009-04-01
CN101399821B true CN101399821B (zh) 2015-05-06

Family

ID=40509616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710161329.6A Active CN101399821B (zh) 2007-09-28 2007-09-28 记录/重放系统、记录器/播放器、和方法

Country Status (2)

Country Link
US (1) US8108490B2 (zh)
CN (1) CN101399821B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002230735A1 (en) * 2000-12-11 2002-06-24 Phlair, Inc. System and method for detecting and reporting online activity using real-time content-based network monitoring
US9558097B2 (en) * 2007-11-13 2017-01-31 Red Hat, Inc. Automated recording and playback of application interactions
US8849944B2 (en) * 2007-11-27 2014-09-30 Red Hat, Inc. Multi-use application proxy
US7912927B2 (en) * 2008-03-26 2011-03-22 Microsoft Corporation Wait for ready state
US8196118B2 (en) * 2008-03-27 2012-06-05 Microsoft Corporation Event set recording
US9582292B2 (en) 2008-10-07 2017-02-28 Microsoft Technology Licensing, Llc. Merged tree-view UI objects
WO2010140160A2 (en) * 2009-06-05 2010-12-09 Hewlett-Packard Development Company, L. P. System and method for representing user interaction with a web service
US9009676B2 (en) * 2010-04-02 2015-04-14 International Business Machines Corporation Common recording and replaying performance test tool for a client-server environment
CN102467365A (zh) * 2010-10-29 2012-05-23 国际商业机器公司 提供帮助信息的方法和装置
EP2705441B1 (en) 2011-05-03 2018-04-18 EntIT Software LLC Automatic classification adjustment of recorded actions for automation script
US8806574B2 (en) 2011-10-05 2014-08-12 Hewlett-Packard Development Company, L.P. System and method for policy conformance in a web application
CN102662768B (zh) * 2012-03-31 2014-07-02 北京奇虎科技有限公司 浏览器窗口操作复现方法与装置
CN104021048B (zh) * 2012-03-31 2019-03-08 北京奇虎科技有限公司 浏览器窗口操作复现方法与装置
CN102841789B (zh) * 2012-06-29 2016-05-25 北京奇虎科技有限公司 一种对浏览器中的用户操作进行录制和回放的方法和装置
JP5961471B2 (ja) * 2012-07-27 2016-08-02 株式会社日立製作所 複数の情報システムおける出力比較方法
CN103905497B (zh) * 2012-12-27 2018-04-27 腾讯科技(深圳)有限公司 实现第三方应用业务网站登录的方法、装置及应用平台
KR102077505B1 (ko) * 2013-03-15 2020-04-07 삼성전자주식회사 전자장치의 웹 페이지 처리 방법 및 장치
US9813499B2 (en) * 2013-07-23 2017-11-07 Virtual Strongbox, Inc. Virtual storage system and method of sharing access to the virtual storage system for adding electronic documents
CN105683938A (zh) * 2013-10-30 2016-06-15 慧与发展有限责任合伙企业 记录应用测试
CN103902454A (zh) * 2014-04-08 2014-07-02 安一恒通(北京)科技有限公司 一种软件故障的定位方法和装置
CN106664285B (zh) * 2014-05-14 2020-06-16 英特尔公司 用于高级应用的基于事件的记录和重放
US10659566B1 (en) 2014-10-31 2020-05-19 Wells Fargo Bank, N.A. Demo recording utility
TWI554901B (zh) * 2015-11-24 2016-10-21 Online data input buffer automatic storage system and method
CN107844459A (zh) * 2016-09-20 2018-03-27 中国石油化工股份有限公司 统计分析方法及装置
CN108604204B (zh) * 2016-12-05 2021-10-19 谷歌有限责任公司 在网络环境中选择并分发在计算装置上执行的应用的记录
US10931780B2 (en) 2018-02-28 2021-02-23 International Business Machines Corporation Resource pre-caching and tenant workflow recognition using cloud audit records
CN110213312B (zh) * 2018-04-03 2021-10-29 腾讯科技(深圳)有限公司 一种用户现场展示的方法、相关装置及系统
CN113992503B (zh) * 2021-11-02 2024-03-19 迈普通信技术股份有限公司 系统事件回顾方法、网管系统、网管设备及存储介质
US11909807B2 (en) 2022-05-18 2024-02-20 Demostack, Inc. Local recording for demonstration of web-based software applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1347036A (zh) * 2000-10-11 2002-05-01 吴志铭 网页活动记录装置及网页活动记录播放装置
CN1378152A (zh) * 2001-04-03 2002-11-06 吴志铭 网页/活性文件的活动记录/记录播放装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535912B1 (en) * 1999-08-31 2003-03-18 Lucent Technologies Inc. Method for creating and playing back a smart bookmark that automatically retrieves a requested Web page through a plurality of intermediate Web pages
US7316033B2 (en) * 2002-11-25 2008-01-01 Music Public Broadcasting, Inc. Method of controlling recording of media
US7529798B2 (en) * 2003-03-18 2009-05-05 Intercall, Inc. System and method for record and playback of collaborative web browsing session
US7647631B2 (en) * 2003-12-10 2010-01-12 Hewlett-Packard Development Company Automated user interaction in application assessment
US7552199B2 (en) * 2005-09-22 2009-06-23 International Business Machines Corporation Method for automatic skill-gap evaluation
US8230002B2 (en) * 2007-01-18 2012-07-24 Oracle International Corporation Method and system for automatic setup in web-based applications
US7970857B2 (en) * 2007-05-18 2011-06-28 Red Hat, Inc. Method and an apparatus to record web transactions using a proxy server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1347036A (zh) * 2000-10-11 2002-05-01 吴志铭 网页活动记录装置及网页活动记录播放装置
CN1378152A (zh) * 2001-04-03 2002-11-06 吴志铭 网页/活性文件的活动记录/记录播放装置

Also Published As

Publication number Publication date
US8108490B2 (en) 2012-01-31
US20090089404A1 (en) 2009-04-02
CN101399821A (zh) 2009-04-01

Similar Documents

Publication Publication Date Title
CN101399821B (zh) 记录/重放系统、记录器/播放器、和方法
US9058429B2 (en) Usability testing tool
EP1264261B1 (en) Monitoring operation of and interaction with services provided over a network
US8306195B2 (en) Visual test automation tool for message-based applications, web applications and SOA systems
CN102033803B (zh) 跨浏览器测试web应用的方法和装置
US7992127B2 (en) Method and system of encapsulating web site transactions for computer-aided generation of web services
US7139978B2 (en) Recording user interaction with an application
US7099939B2 (en) HTTP transaction monitor with sequence replay capacity
US7912938B2 (en) Correlation of web service interactions in composite web services
US8306805B2 (en) Scenario generation method and scenario generation apparatus
US20080320509A1 (en) Quantitative Assessment of Marketing Strategies
Zaidman et al. Understanding Ajax applications by connecting client and server-side execution traces
CN101662484A (zh) 一种基于rfc1867规范的http协议的文件上传方法
JP5560180B2 (ja) 稼働ログ収集方法および装置
WO2023284505A1 (zh) 扫码支付的方法及装置
CN112256944A (zh) 基于JMeter的网站数据自动爬取方法
TWI308700B (zh)
CN113296653A (zh) 一种仿真交互模型构建方法、交互方法及相关设备
US20130019155A1 (en) Systems and methods for collecting multimedia form responses
CN114531345B (zh) 流量比对结果存储方法、装置、设备及存储介质
CN108255672A (zh) 数据校验的方法、装置和存储介质以及电子设备
CN112346991B (zh) 一种接口测试脚本的生成方法及装置
KR101948927B1 (ko) 협업 리그레이션 점검 장치
FR2809199A1 (fr) Procede pour la realisation de tests de performances d'equipements informatiques accessibles via un reseau de telecommunication
CN112667933A (zh) 数据处理方法、装置、电子设备及计算机存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant