專利名稱:交互式軟件中的操作記錄與回放方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種操作記錄與回放方法,特別涉及交互式軟件中操作記錄與回放方法,屬于軟件技術(shù)領(lǐng)域。
背景技術(shù):
目前,各種交互式系統(tǒng)已廣泛使用,比如Windows、Linux、Web、集成開發(fā)環(huán)境(Integrated Development Environment, IDE)等。用戶只需要在圖形用戶界面(GraphicalUser Interface,簡稱⑶I)中進(jìn)行鼠標(biāo)點擊、鍵盤敲擊等動作即可以完成各種任務(wù)。然而,用戶在完成相同或相似的任務(wù)時往往會采取許多重復(fù)和相似的步驟。例如,開發(fā)人員在一臺新終端上配置項目環(huán)境時,需要不斷重復(fù)GUI窗口選擇、參數(shù)填寫等操作。再比如,測試人員在測試圖形界面時,往往需要反復(fù)點擊同一個界面元素。一方面,重復(fù)的操作導(dǎo)致效率降低;另一方面,對于復(fù)雜的操作流程,用戶可能會出現(xiàn)經(jīng)驗不足而不知所措的情況,需要 得到相應(yīng)的指導(dǎo)才能繼續(xù)操作流程。因此,本發(fā)明提出一種交互式軟件中的操作記錄與回放方法,能有效提高用戶操作的便捷性、降低重復(fù)操作負(fù)擔(dān)、減輕操作流程學(xué)習(xí)成本,在自動化測試、教育教學(xué)等軟件復(fù)用領(lǐng)域具有重大意義?,F(xiàn)有技術(shù)常使用記錄鼠標(biāo)坐標(biāo)位置的方法,如mouse-click=” 1024, 768 “、鍵盤字母等。當(dāng)面臨屏幕分辨率等環(huán)境改變時,記錄下的數(shù)據(jù)面臨“失效”,不能在新環(huán)境中正確回放。參考(http: //mydown, yesky. com/soft/utilitie/mousekey/136/464636. shtml)和(http: //www. onlinedown. net/softdown/290290 2. html)是現(xiàn)有技術(shù)通常只記錄鼠標(biāo)位置工具,兩個工具軟件它們都是記錄鼠標(biāo)位置,然后根據(jù)該位置進(jìn)行操作回放,然而卻不能適應(yīng)環(huán)境的變化。當(dāng)它們記錄下的序列拿到一個屏幕分辨率不同的機器上回放時,就會出錯。因為鼠標(biāo)位置這種底層信息不具有語義,不能夠適應(yīng)環(huán)境的變化。
發(fā)明內(nèi)容
本發(fā)明提供一種交互式軟件中用戶操作的記錄與回放方法。其核心是(1)在操作記錄時,收集圖形用戶界面所產(chǎn)生的事件信息,抽取事件語義形成可復(fù)用的操作序列;
(2)在操作序列復(fù)用時,根據(jù)操作序列定位圖形用戶界面對象并重新觸發(fā)相應(yīng)的圖形用戶界面事件,通過對操作序列的回放驅(qū)動操作流程自動完成。為了解決技術(shù)問題,本發(fā)明包含三部分內(nèi)容1.基于語義信息的操作記錄方法;2.基于特征定位的操作回放方法;3.基于參數(shù)值修改的交互式回放方法。具體方法如下一種交互式軟件中操作記錄和回放方法,其步驟包括I)記錄用戶開始執(zhí)行操作任務(wù)時在交互式軟件上的可回放語義信息操作,設(shè)定用戶操作事件、圖形用戶界面GUI事件與操作類型之間的對應(yīng)規(guī)則;1-1)根據(jù)用戶操作事件、GUI事件對應(yīng)的操作類型規(guī)則,記錄操作類型;1-2)記錄操作實施的⑶I對象、操作內(nèi)容和操作時間;2)記錄用戶完成任務(wù)的所有操作參數(shù),按照時間排序得到可回放操作序列,所述操作參數(shù)包括操作類型,GUI對象,操作內(nèi)容,操作時間;3)當(dāng)用戶完成任務(wù)后,根據(jù)特征相似技術(shù)確定GUI對象特征屬性,并基于特征閥值確定在不同用戶環(huán)境下,可回放操作序列中是否有可執(zhí)行操作回放的對象;4)對可執(zhí)行操作回放的對象,按照操作類型與事件之間的對應(yīng)規(guī)則對操作進(jìn)行回放。在操作回放的過程中,用戶可通過中斷回放,并增加新操作或者修改參數(shù)適應(yīng)新的交互過程。根據(jù)操作相關(guān)度匹配方法進(jìn)行參數(shù)替換與識別以修改參數(shù),其步驟包括I)給定一個用戶操作序列A1A2A3. . . An,對操作類型為可更改Modify的Ai的修改為Aj,其中是待匹配操作,Ai是執(zhí)行的第i個操作;
2) 與Ai的相關(guān)程度由順序相關(guān)度S,環(huán)境相關(guān)度O,操作和環(huán)境相關(guān)度m定義,根據(jù)操作Ai所記錄的UI特征和環(huán)境,賦予Ai —相關(guān)度基準(zhǔn)因子t及分別與S,O,m相關(guān)的調(diào)節(jié)因子 ct,3,Y,其中 a+3 + Y=l,0〈a〈l,0〈3〈l,0〈Y〈l;3)若s+o+m>t/2則Aj與Ai相關(guān);標(biāo)記出與Aj相關(guān)的Ak(i〈k ( n) ,Ak是用戶的操作;將Ak作為下一輪的Ap并返回3-2)繼續(xù)進(jìn)行運算,直到j(luò)=n ;4)把所有標(biāo)記過的Ak(i〈k<n)反饋給用戶,經(jīng)用戶示意后,修改所有相關(guān)操作。所述順序相關(guān)度s = l!i^I±^h”a所述環(huán)境相關(guān)度0=t*f3 ;操作和環(huán)境相
in-J +1).
關(guān)度m=t* y。所述操作類型包括選擇;焦點集中;文本編輯;展開;勾選;關(guān)閉;栓扣;所述用戶操作事件包括鼠標(biāo)左鍵單擊、鍵盤敲擊;鼠標(biāo)焦點集中、鍵盤焦點集中;鍵盤敲擊,GUI事件包括按鈕、菜單項、工具欄項、可以得到焦點的UI對象、文本編輯框、文本編輯域、樹、表、列表、組合框、勾選控件、窗口、栓扣控件。特征相似技術(shù)步驟為I)統(tǒng)計交互式系統(tǒng)中各個⑶I類的屬性;1-1)提取可以作為對象特征的屬性,可以得到各個GUI類的屬性匯總表;1-2)對于每個屬性,設(shè)定一個權(quán)值,代表該屬性有多少置信度去定位相應(yīng)的GUI對象;1-3)對于每個GUI類,設(shè)定特征閾值,用以決定GUI對象是否所需要的對象;2)定義操作回放入口根⑶I對象;3)計算特征得分以定位對象,用記錄下的信息和當(dāng)前面對的候選⑶I對象相比較,選擇那個屬性匹配得分最高的GUI對象作為需要定位的GUI對象。所述不同用戶環(huán)境包括,屏幕分辨率不同、屏幕分辨率不同、軟件版本不同、同一個軟件的用戶界面按照用戶自定義進(jìn)行不同界面設(shè)置的情況。所述可執(zhí)行操作回放的對象在GUI對象上執(zhí)行的操作是I)創(chuàng)建一個事件對象,并且把定位的對象作為其事件源;2)根據(jù)用戶操作事件與操作類型相互對應(yīng)規(guī)則,通過操作類型和GUI事件對象,確定事件對象的事件類型屬性;3)向交互式系統(tǒng)的事件管理機制發(fā)送此事件對象,從而通過事件的處理執(zhí)行來驅(qū)動操作流程的實施。交互式軟件包括Web、Windows、Linux和環(huán)境開發(fā)軟件IDE。所述根⑶I對象包括windows桌面、IDE主界面、WEB主頁面。本發(fā)明的有益效果本發(fā)明的方法提取出可回放的語義記錄,抽取時間語義形成可復(fù)用的操作序列,避免記錄重復(fù)和相似的操作,I)具有較高的空間利用率和時間效率。本發(fā)明提出的記錄和回放方法不僅可邊操作邊記錄,操作完成記錄也完成,而且可控制回放的速度。2)具有較高的回放正確性。適用于不同的用戶環(huán)境包括,如,屏幕分辨率不同、屏·幕分辨率不同、軟件版本不同、同一個軟件的用戶界面按照用戶自定義進(jìn)行不同界面設(shè)置的情況。3)可以遍修改邊回放。在操作回放的過程中,用戶可通過中斷回放,并增加新操作或者修改參數(shù)適應(yīng)新的交互過程4)本發(fā)明適用于軟件界面自動化測試、教育教學(xué)等操作復(fù)用場景,為可復(fù)用操作設(shè)定自動、快捷、可重復(fù)、有較高準(zhǔn)確性的記錄與回放方式。
圖I是本發(fā)明交互式軟件中的操作記錄與回放方法中操作記錄方法示意圖;圖2是本發(fā)明交互式軟件中的操作記錄與回放方法中操作序列示意圖;圖3a、3b、3c本發(fā)明交互式軟件中的操作記錄與回放方法在一軟件上進(jìn)行記錄回放的實施例;圖4是本發(fā)明交互式軟件中的操作記錄與回放方法中操作捕捉到操作回放基本示意圖;圖5是本發(fā)明交互式軟件中的操作記錄與回放方法步驟執(zhí)行示意圖。
具體實施例方式( I)基于語義信息的操作記錄方法以復(fù)用為目的所實施的操作記錄需滿足以下要求。
發(fā)明內(nèi)容
可回放的語義數(shù)據(jù)滿足,第一,必須準(zhǔn)確記錄軟件操作流程。準(zhǔn)確的標(biāo)準(zhǔn)是根據(jù)記錄下的操作信息能夠區(qū)分不同的操作,這也是操作記錄最基本的要求。第二,記錄的操作信息必須能夠完整、準(zhǔn)確地表達(dá)操作流程。一個操作所具備的相關(guān)屬性繁多,必須找出并記錄所有決定操作流程進(jìn)展的相關(guān)屬性。第三,記錄下的操作信息必須易于提取語義。語義是用戶理解操作流程、可復(fù)用操作單元抽取、在新環(huán)境進(jìn)行操作特化及實施的依據(jù)。第四,記錄下的操作信息要有利于操作流程回放的實施,以在環(huán)境條件變化導(dǎo)致圖形用戶界面的布局發(fā)生變化時仍然能保障操作回放的正確性。在交互式軟件中,用戶操作的本質(zhì)就是對交互式系統(tǒng)中的圖形用戶界面進(jìn)行鼠標(biāo)點擊、鍵盤敲擊等動作的過程。資料(Thomas Ostrand, Aaron Anodide, A VisualTest Development Environment for GUI Systems, Proceedings of the ACM SIGS0FTInternational Symposium on Software Testing and Analysis (ISSTA-98), volume23, 2of ACM Software Engineering Notes,1998. New York, ACM Press. pages82_92.)指出,交互式系統(tǒng)大都采用事件驅(qū)動機制與外界(用戶、操作系統(tǒng))進(jìn)行交互,因此可以在GUI上捕獲的信息進(jìn)行操作的記錄。然而,這種捕獲技術(shù)僅僅幫助捕獲到用戶事件,不能設(shè)置規(guī)則提取可復(fù)操作信息。因而綜合前面介紹的四個要求,為了以操作復(fù)用為目的實施操作記錄,所需要記錄的信息可參考([3]張弩云,基于動作的編程過程復(fù)用方法與技術(shù)研究,2010,北京大學(xué)博士研究生畢業(yè)論文)做詳細(xì)的說明操作的類型、操作所作用的界面元素、操作的內(nèi)容、操作的時間。設(shè)定用戶操作事件、圖形用戶界面GUI事件與操作類型相互對應(yīng)規(guī)則,具體分析如下,參見附圖1、2是本發(fā)明交互式軟件中的操作記錄與回放方法中操作記錄方法和操作序列示意圖。(a)操作的類型。操作的類型是指鼠標(biāo)和鍵盤對所有界面元素的所有操作的類型,例如文本輸入、按鈕點擊、復(fù)選框勾選等。操作的類型信息由具體交互式軟件的事件類型以及GUI對象而定。從事件到操作類型的映射需要依據(jù)一定的映射規(guī)則,該規(guī)則也與具體交互式軟件有關(guān)。本方法實現(xiàn)的映射規(guī)則如表I所示,事件類型分類可參見參考文件[3]張弩云,基于動作的編程過程復(fù)用方法與技術(shù)研究,2010,北京大學(xué)博士研究生畢業(yè)論文)。 (b)操作所作用的界面元素特征。界面元素即操作上下文,是指操作所實施的GUI對象,例如按鈕、文本輸入框、下拉列表等。操作的GUI對象可以從收集到的交互事件中的GUI對象直接提取。特別的,需要保存事件GUI對象的父對象,以確定該GUI對象所屬的作用范圍。 ( c )操作內(nèi)容。不是每個操作都對應(yīng)有操作內(nèi)容。操作類型是本文輸入、復(fù)選框勾選、代碼輸入等存在多種狀態(tài)的操作才具有操作內(nèi)容,如填寫的文本內(nèi)容、復(fù)選框的選擇和反選狀態(tài)等。而如窗口關(guān)閉、普通按鈕點擊等操作,由于對應(yīng)狀態(tài)只有一個,因而沒有操作內(nèi)容。操作內(nèi)容可以從事件所包含的事件內(nèi)容中直接提取。表I
權(quán)利要求
1.一種交互式軟件中操作記錄和回放方法,其步驟包括 1)記錄用戶開始執(zhí)行操作任務(wù)時在交互式軟件上的可回放語義信息操作,設(shè)定用戶操作事件、圖形用戶界面GUI事件與操作類型之間的對應(yīng)規(guī)則; 1-1)根據(jù)用戶操作事件、GUI事件對應(yīng)的操作類型規(guī)則,記錄操作類型; 1-2)記錄操作實施的GUI對象、操作內(nèi)容和操作時間; 2)記錄用戶完成任務(wù)的所有操作參數(shù),按照時間排序得到可回放操作序列,所述操作參數(shù)包括操作類型,GUI對象,操作內(nèi)容,操作時間; 3)當(dāng)用戶完成任務(wù)后,根據(jù)特征相似技術(shù)確定GUI對象特征屬性,并基于特征閥值確定在不同用戶環(huán)境下,可回放操作序列中是否有可執(zhí)行操作回放的對象; 4)對可執(zhí)行操作回放的對象,按照操作類型與事件之間的對應(yīng)規(guī)則對操作進(jìn)行回放。
2.如權(quán)利要求I所述的一種交互式軟件中操作記錄和回放方法,其特征在于,在操作回放的過程中,用戶可通過中斷回放,并增加新操作或者修改參數(shù)適應(yīng)新的交互過程。
3.如權(quán)利要求2所述的一種交互式軟件中操作記錄和回放方法,其特征在于,根據(jù)操作相關(guān)度匹配方法進(jìn)行參數(shù)替換與識別以修改參數(shù),其步驟包括 3-1)給定一個用戶操作序列A1A2A3. . . An,對操作類型為可更改Modifv的Ai的修改為Aj,其中是待匹配操作,Ai是執(zhí)行的第i個操作; 3-2) Aj與Ai的相關(guān)程度由順序相關(guān)度S,環(huán)境相關(guān)度O,操作和環(huán)境相關(guān)度m定義,根據(jù)操作Ai所記錄的UI特征和環(huán)境,賦予Ai —相關(guān)度基準(zhǔn)因子t及分別與S,O,m相關(guān)的調(diào)節(jié)因子 a , ¢, 其中 a+3 + Y=l,0〈a〈l,0〈3〈l,0〈Y〈l; 3-3)若s+o+m>t/2則Aj與Ai相關(guān);標(biāo)記出與Aj相關(guān)的Ak(i〈k ^ n) ,Ak是用戶的操作;將Ak作為下一輪的Ap并返回3-2)繼續(xù)進(jìn)行運算,直到j(luò)=n ; 3-4)把所有標(biāo)記過的Ak(i〈k ( n)反饋給用戶,經(jīng)用戶示意后,修改所有相關(guān)操作。
4.如權(quán)利要求3所述的一種交互式軟件中操作記錄和回放方法,其特征在于,所述順 序相關(guān)度5 = "所述環(huán)境相關(guān)度o=t*P ;操作和環(huán)境相關(guān)度m=t*Y。
.
5.如權(quán)利要求I所述的一種交互式軟件中操作記錄和回放方法,其特征在于,所述操作類型包括選擇;焦點集中;文本編輯;展開;勾選;關(guān)閉;栓扣;所述用戶操作事件包括鼠標(biāo)左鍵單擊、鍵盤敲擊;鼠標(biāo)焦點集中、鍵盤焦點集中;鍵盤敲擊,GUI事件包括按鈕、菜單項、工具欄項、可以得到焦點的n對象、文本編輯框、文本編輯域、樹、表、列表、組合框、勾選控件、窗口、栓扣控件。
6.如權(quán)利要求I所述的一種交互式軟件中操作記錄和回放方法,其特征在于,特征相似技術(shù)步驟為 1)統(tǒng)計交互式系統(tǒng)中各個GUI類的屬性; 1-1)提取可以作為對象特征的屬性,可以得到各個GUI類的屬性匯總表; 1-2)對于每個屬性,設(shè)定一個權(quán)值,代表該屬性有多少置信度去定位相應(yīng)的GUI對象; 1-3)對于每個GUI類,設(shè)定特征閾值,用以決定GUI對象是否所需要的對象; 2)定義操作回放入口根⑶I對象; 3)計算特征得分以定位對象,用記錄下的信息和當(dāng)前面對的候選GUI對象相比較,選擇那個屬性匹配得分最高的GUI對象作為需要定位的GUI對象。
7.如權(quán)利要求I所述的一種交互式軟件中操作記錄和回放方法,其特征在于,所述不同用戶環(huán)境包括,屏幕分辨率不同、屏幕分辨率不同、軟件版本不同、同一個軟件的用戶界面按照用戶自定義進(jìn)行不同界面設(shè)置的情況。
8.如權(quán)利要求I所述的一種交互式軟件中操作記錄和回放方法,其特征在于,所述可執(zhí)行操作回放的對象在GUI對象上執(zhí)行的操作是 1)創(chuàng)建一個事件對象,并且把定位的對象作為其事件源; 2)根據(jù)用戶操作事件與操作類型相互對應(yīng)規(guī)則,通過操作類型和GUI事件對象,確定事件對象的事件類型屬性; 3)向交互式系統(tǒng)的事件管理機制發(fā)送此事件對象,從而通過事件的處理執(zhí)行來驅(qū)動操作流程的實施。
9.如權(quán)利要求I所述的一種交互式軟件中操作記錄和回放方法,其特征在于,交互式軟件包括Web、Windows、Linux和環(huán)境開發(fā)軟件IDE。
10.如權(quán)利要求6所述的一種交互式軟件中操作記錄和回放方法,其特征在于,所述根⑶I對象包括windows桌面、IDE主界面、WEB主頁面。
全文摘要
本發(fā)明涉及交互式軟件中操作記錄和回放方法,1)記錄用戶開始執(zhí)行操作任務(wù)時在交互式軟件上的可回放語義信息操作,設(shè)定用戶操作事件、圖形用戶界面GUI事件與操作類型之間的對應(yīng)規(guī)則;2)記錄用戶完成任務(wù)的所有操作參數(shù),按照時間排序得到可回放操作序列;3)當(dāng)用戶完成任務(wù)后,根據(jù)特征相似技術(shù)確定GUI對象特征屬性,并基于特征閥值確定在不同用戶環(huán)境下,可回放操作序列中是否有可執(zhí)行操作回放的對象;4)對可執(zhí)行操作回放的對象,按照操作類型與事件之間的對應(yīng)規(guī)則對操作進(jìn)行回放。本發(fā)明的方法提取出可回放的語義記錄,抽取時間語義形成可復(fù)用的操作序列,具有較高的空間利用率和時間效率。
文檔編號G06F9/44GK102799428SQ20121021892
公開日2012年11月28日 申請日期2012年6月28日 優(yōu)先權(quán)日2012年6月28日
發(fā)明者黃罡, 張穎, 張弩云, 孫艷春 申請人:北京大學(xué)