圖形界面語義描述系統及其建立方法和操作路徑生成方法與流程
2023-10-23 16:51:32 5

本發明涉及智能控制領域,特別涉及一種圖形界面語義描述系統及其建立方法和操作路徑生成方法。
背景技術:
在信息技術和工業自動化相結合的領域,實現具有人工智慧的自動化生產和測試是近年來發展的熱點之一,用智能機械化操作替代人工操作的智能自動化控制是一個發展趨勢;另外,一些綜合性強、構成複雜的產品,如飛機、汽車、輪船等,在投入使用之前,需要進行大量的功能模擬、性能測試和結果分析,而工業機器人廣泛的應用於自動化生產和測試過程中,其不僅可以減輕勞動強度,提高勞動生產率、降低勞動成本,而且對提高產品的質量,改善勞動環境有很重要的意義。
然而,對複雜產品的智能自動化測試必然與計算機軟體的自動化操作密不可分。這是因為,工業生產過程中對自動化設備的人機互動操作和測試就是通過軟體執行一系列操作,如響應命令、響應異常、記錄異常狀態等;通過軟體系統自動規劃操作路徑,再將軟體系統發出的指令傳導至機械裝置(常見的如機械臂)輔助自動完成操作。另外,計算機軟體的自動化操作還用於遠程交互中,如遠程操作、遠程培訓和遠程協助。獲取遠程設備上的圖像在本地進行分析,根據操作命令(可以是本地設定的命令、也可以是遠程設備傳達的命令)規劃好操作路徑傳送到遠程設備上,遠程設備的後臺程序(如具有模擬滑鼠、鍵盤等操作的一些程序)按照路逕自動進行操作。
因此,在具有圖形圖像的人機界面的軟體自動化測試(操作)過程中,特別解決的關鍵問題是分析軟體界面特徵和構成,建立起軟體圖形界面的表述和描述模型,根據測試需求產生控制命令,生成操作路徑。界面特徵通常用屏幕位圖、api解析界面元素、圖像識別等方式表示。屏幕位圖方式產生的數據量大,特別是支持多任務同時運行的視窗應用軟體,其圖形用戶界面的靈活多變,難以通過位圖比較分析,因而測試結果可靠性低。api解析界面元素的方法依賴於源程序、開發和調試環境,通用性較差。隨著圖像分析與識別技術發展和cpu、gpu性能的大幅度,基於此的圖形界面方法具有較高的可靠性,而且不依賴於待分析軟體程序原始碼、開發和調試環境。
圖形界面的描述方法的建模,現有的方法一般是採用樹狀結構的描述模型。將待分析對象中的內容按種類進行劃分,不同種類對應於一棵子樹,子樹中記錄所有的信息以便於查找,如專利申請號201410452282.9《一種基於自動化測試平臺的測試需求自動分析方法》中提到的trm模型,就是以樹狀的結構記錄待測試產品的相關信息如名稱、版本號等。由於視窗軟體的各界面之間都是有聯繫的,這種聯繫可以是雙向也可以是單向,因此樹狀結構不能反應各子樹之間的聯繫,也不能完全滿足需求。有的方法採用有限狀態機fsm表示,圖形界面的內容表現形式作為狀態節點,對軟體的輸入輸出作為狀態轉移的事件,這類方法會因界面內容變化多樣,而產生狀態爆炸的問題。還有的方法採用event-flow事件流的綜合方式,同時解決軟體界面描述和測試用例的生成問題,該類方法還是難以解決因事件數量增加而模型空間急劇增大的問題。
技術實現要素:
針對以上出現的問題,本發明提出了一種不依賴待分析軟體程序原始碼、開發和調試環境,僅僅基於待分析軟體的圖形界面,對待分析軟體整體進行語義描述的語義描述系統建立方法
為了實現上述發明目的,本發明提供了以下技術方案:
一種圖像界面語義描述系統建立方法,包含如下步驟:
包括採集所有界面圖像信息的步驟;應注意的是,本文中提到的所有界面均指待分析軟體的所有窗口界面;在一些實施例中,待分析軟體系統的窗口界面可能是全部以頁面的形式或者一部分是窗口界面,一部分是頁面的方式展現,應聲明的是,本發明中提到界面時,界面同時包含窗口界面、頁面的含義。
包括採集各個界面靜態屬性信息的步驟;
包括採集各個界面中可以觸發操作的標識的圖像信息的步驟;
包括採集可執行操作的步驟;
包括將可執行操作與觸發該操作的標識進行對應的步驟。
其中,各個採集步驟可以是自動採集也可以是人工手動採集,或者自動採集和人工採集相結合,比如,各個界面的圖像信息完全可以實現自動採集,而各個界面中出發操作的標識,可以採用自動採集加人工校正的方式進行採集;而可執行操作,既可以是通過數據導入的方式進行採集,也可以依靠人工進行輸入校正;而將可執行操作和標識進行對應的步驟,優選採用人工操作的方式實現,以提高正確率;但是不排除可以採用相應算法自動完成對應操作。
進一步的,還包括從可執行操作中提取界面之間的跳轉關係並記錄的步驟,如上所述,各個界面之間的跳轉,當然既包含窗口界面之間的跳轉,也包含頁面之間的跳轉,或者窗口界面和頁面之間的跳轉;跳轉包括通過連結或按鈕打開新的界面,也包括通過按鈕或者圖標標識進行相應操作關閉相應界面。
進一步的,所述界面的靜態屬性信息包括界面的制約屬性,制約屬性為真是,說明該界面為模態界面,反之,則說明該界面為非模態界面;眾所周知的是,所謂模態界面指,用戶想要操作其他界面時,必須關閉該界面,常見的視窗作業系統中,大多數彈出式對話框均為模態對話框,即,當其存在時,用戶無法操作同一軟體系統中的其他界面。
同時,靜態屬性信息還包括界面的id號、界面包含的文字以及界面包含的按鈕中的一項或多項。
進一步的,標識包括按鈕標識、文本標識、菜單標識、滾條標識中一種或多種。
本發明同時提供一種基於圖形界面語義描述待分析軟體系統整體架構的描述系統,包括,視圖模塊及操作模塊;其中,
所述視圖模塊包括待操作對象(待分析軟體)中所有界面的圖像信息以及各個界面中可以觸發操作的標識信息,一些實施例中,視圖模塊也可以包括各個界面中不會觸發操作的其他信息,比如僅僅起到展示或者其他作用的圖片信息、文本信息、色彩信息等;
所述操作模塊包括待操作對象中所有的可執行操作的信息;所述可執行操作信息與觸發該操作的標識一一對應,相應的,各個可執行操作,也根據觸發該操作的標識所在的界面的不同而分組;一般的,將同一界面中,所有可以觸發的可執行操作分為操作組,為了方便管理可對各個可執行操作以及操作組進行編號或者採用其他標識方法進行表示區分;進一步的,視圖模塊中存儲有各個界面的可跳轉關係;而相應的,在操作模塊中,由於各個可執行操作按照觸發標識的歸屬也進行了對應分組,因此,操作模塊中也可以存儲有各個操作組的跳轉關係,理所當然的,操作組的跳轉關係和各個操作組對應的界面的跳轉關係完全相同;可以將界面之間的跳轉關係定位為第一跳轉關係,而將操作組之間的跳轉關係定義為第二跳轉關係;則第一跳轉關係和第二跳轉關係之間為對應的。
綜上,本系統採用兩層關係模型來描述待分析軟體(待操作軟體、待操作對象)的具有視窗風格的軟體圖形界面,兩層模型具體指是視圖模塊構成的視圖層以及操作模塊構成的操作層;通過建立該兩層模型全面的描述了整個待分析軟體的框架結構,形成待處理軟體界面圖像的一個語義網絡圖;其中,視圖層(視圖模塊)描述了待處理軟體各頁面(窗口界面)之間的跳轉關係,操作層則描述了待處理軟體各頁面(窗口界面)種包含的各種操作標識(如圖標、圖畫、按鈕、滑條、文本框)的屬性以及他們所觸發的操作,該操作比如可以是,不同窗口界面或者頁面的跳轉,跳出、界面或者頁面的放大、縮小、關閉、移動;當然操作也包括對受控機械設備發出指令;簡而言之,視圖層和操作層通過按按鈕集合和頁面間的從屬關係產生聯繫,這是生成路徑的數據基礎。
在上述內容的基礎上,本發明同時提供一種應用上述圖形界面語義描述系統自動產生對軟體的操作路徑的生成方法,包括,
接收目標控制指令,根據目標控制指令確定目標界面;如該目標控制指令可以是向受軟體系統控制的機械設備發出某一特定指令;當目標控制指令確定後,可自圖形界面語義描述系統中的操作模塊中尋找該特定指令,進而尋找到視圖模塊中觸發該特定指令的界面;該界面即為目標界面。
基於圖像識別當前界面;當前界面可能是一個也可能是多個;通過圖像採集,並將採集到的圖像和視圖模塊中預存的各個界面的信息進行對比,獲取當前界面信息;
根據當前存在的各個界面的制約屬性選擇起始界面,理所當然的,如果當前界面中存在制約屬性為真的界面,其一定是起始界面,因為制約屬性為真意味著,該界面的存在會阻止其他界面被操作;而若當前界面中不存在制約屬性為真的界面時,根據預定規則或者隨機選擇起始界面;該預訂規則比如可以是,比較各個界面展現的完整度,完整度最高的界面定位起始界面;該預訂規則比如還可以是,比較各個當前界面的展現面積,將面積較大的界面定位起始界面等等;
根據路徑算法生成自起始界面跳轉至目標界面的路徑,路徑算法如可以是dijkstra算法、遺傳算法、蟻群算法、郭濤算法、sk算法,可以根據上述算法中的一個或多個結合各個界面之間的跳轉關係計算路徑。
根據各個界面中的標識和可執行操作的對應關係生成操作路徑。
一些實施例中,在識別界面的步驟中,基於tf‐idf進行識別,具體包括,
對樣本中圖標、文字tf‐idf值權值進行設定;
採集待識別界面圖像;
提取界面中圖標、文字tf‐idf值;
根據特徵對界面進行劃分。這是由於,通常軟體運行的結果或者狀態主要在視窗界面或者頁面顯示,視窗頁面內的指示符號信息不是固定不變的,但是視圖頁面的基本框架、組成結構、標識卻是不變或者可預測的,通過上述的頁面識別分類方式,不但能識別視圖頁面窗口的分類,還能確定頁面內的變化內容。因此對圖形界面的軟體測試結果和分析是完備的,不會導致界面顯示的信息丟失。
進一步的,當從起始界面到目標界面的路徑有多條時,根據路徑計算算法選擇最優路徑。
進一步的,一些情況下,在路徑生成後,如果僅僅根據產生的路徑進行操作,在操作路徑不固定或存在多步操作時,由於同時存在多個當前界面,且當前界面有時會有大小的變化或者意外遮擋的情況,造成原有規劃路徑無法順利執行,此時,需要每進行一步操作後對頁面重新分析規劃下一步路徑;即,在從起始界面到目標界面進行跳轉的過程中,每執行一步操作,均檢測當前界面是否與生成的規劃中路徑界面符合,如果不符合則重新規劃路徑。
與現有技術相比,本發明的有益效果:本發明提供的圖形界面語義描述系統及其建立方法和操作路徑生成方法,給出了一種採用兩層關係模型描述軟體架構的系統,其採用了更適合視窗風格的軟體圖形界面的場景語義對軟體系統進行描述,相較於常規的單層語義網絡模型在同一層中用不同關係詞(如包含關係、屬於關係等)來描述場景中實體元素之間聯繫的方式,本發明提供的雙層架構便於劃分和推斷場景中包含實體種類和實體之間的關係。
同時,本發明提供的兩層關係模型也優於具有圖形化界面的軟體自動化測試中常規採用的有限狀態機和事件流方法,這是因為基於兩層關係模型的語義圖是以視圖頁面為主要節點,而視圖頁面的數量和表現形式通常是不變的。這樣就大大簡化了語義圖中節點的數量,可有效避免狀態爆炸。
由於對視窗風格軟體的圖形界面進行語義描述的最終目的是實現自動規劃操作路徑,從而實現自動化的對被描述軟體系統進行操作(測試),而本發明提供的兩層模型可以很方便地將頁面(相當於實體)之間的關係、操作按鈕(實體的成份)和頁面之間的關係表達出來,進而產生適應於兩層模型的軟體操作路徑的生成方法;即,依靠本發明提供的兩層架構,可以非常容易的根據操作目標在視圖層生成頁面路徑,再通過頁路徑映射生成操作路徑。
附圖說明:
圖1為本發明提供語義描述系統具體應用示意圖。
圖2為本發明提供的圖形界面語義描述系統示例圖。
圖3為視圖模塊結構示例圖。
圖4為操作模塊中可執行操作分組示意圖。
圖5為應用本發明提供的系統產生路徑示意圖。
圖6為本發明中提供的操作路徑生成及按照路徑操作示例圖。
圖7為以平衡機測量軟體為例採集的視圖模塊結構圖。
圖8為以平衡機測量軟體為例的語義描述系統產生路徑示例。
圖9a至圖9g為圖8產生的路徑涉及到的界面展示。
具體實施方式
下面結合附圖及具體實施例對本發明作進一步的詳細描述。但不應將此理解為本發明上述主題的範圍僅限於以下的實施例,凡基於本發明內容所實現的技術均屬於本發明的範圍。
實施例1:本實施例提供一種圖像界面語義描述系統建立方法,包含如下步驟:
s110:採集所有界面圖像信息。應注意的是,本文中提到的所有界面均指待分析軟體的所有窗口界面;在一些實施例中,待分析軟體系統的窗口界面可能是全部以頁面的形式或者一部分是窗口界面,一部分是頁面的方式展現,應聲明的是,本發明中提到界面時,界面同時包含窗口界面、頁面的含義。
s120:採集各個界面靜態屬性信息。所述界面的靜態屬性信息包括界面的制約屬性,制約屬性為真是,說明該界面為模態界面,反之,則說明該界面為非模態界面;眾所周知的是,所謂模態界面指,用戶想要操作其他界面時,必須關閉該界面,常見的視窗作業系統中,大多數彈出式對話框均為模態對話框,即,當其存在時,用戶無法操作同一軟體系統中的其他界面。同時,靜態屬性信息還包括界面的id號、界面的包含的文字以及界面包含的按鈕中的一項或多項。
s130:採集各個界面中可以觸發操作的標識的圖像信息;標識包括按鈕標識、文本標識、菜單標識、滾條標識中一種或多種。
s140:採集可執行操作。可執行操作比如可以是頁面關閉、打開、隱藏、擴大、縮小、輸入參數、發出指令、產生事件響應等任何軟體常見的操作;應注意的是,以上各個採集步驟可以是自動採集也可以是人工手動採集,或者自動採集和人工採集相結合,比如,各個界面的圖像信息完全可以實現自動採集,而各個界面中出發操作的標識,可以採用自動採集加人工校正的方式進行採集;而可執行操作,既可以是通過數據導入的方式進行採集,也可以依靠人工進行輸入校正;而將可執行操作和標識進行對應的步驟,優選採用人工操作的方式實現,以提高正確率;但是不排除可以採用相應算法自動完成對應操作。
s150:將可執行操作與觸發該操作的標識進行對應。進一步的,在將可執行操作與觸發該操作的標識進行對應後,一方面還包括步驟s151:從可執行操作中提取界面之間的跳轉關係並記錄;各個界面之間的跳轉,當然既包含窗口界面之間的跳轉,也包含頁面之間的跳轉,或者窗口界面和頁面之間的跳轉;跳轉包括通過連結或按鈕打開新的界面,也包括通過按鈕或者圖標標識進行相應操作關閉相應界面;而相應的,還包括步驟s152:將各個可執行操作按照觸發標識的界面歸屬進行分組形成操作組,即每個界面都對應一個其可執行操作組成的操作組。理所當然的,操作組的跳轉關係和各個操作組對應的界面的跳轉關係完全相同;可以將界面之間的跳轉關係定位為第一跳轉關係,而將操作組之間的跳轉關係定義為第二跳轉關係;則第一跳轉關係和第二跳轉關係之間為對應的。
實施例2:本實施例則提供一種圖形界面語義描述系統,其包括視圖模塊(視圖層)及操作模塊(操作層);其中,
所述視圖模塊包括待操作對象(待分析軟體)中所有界面的圖像信息以及各個界面中可以觸發操作的標識信息,一些實施例中,視圖模塊也可以包括各個界面中不會觸發操作的其他信息,比如僅僅起到展示或者其他作用的圖片信息、文本信息、色彩信息等;而操作模塊包括待操作對象中所有的可執行操作的信息;所述可執行操作信息與觸發該操作的標識一一對應,相應的,各個可執行操作,也根據觸發該操作的標識所在的界面的不同而分組;一般的,將同一界面中,所有可以觸發的可執行操作分為操作組,為了方便管理可對各個可執行操作以及操作組進行編號或者採用其他標識方法進行表示區分;進一步的,視圖模塊中存儲有各個界面的可跳轉關係;而相應的,在操作模塊中,由於各個可執行操作按照觸發標識的歸屬也進行了對應分組,因此,操作模塊中也可以存儲有各個操作組的跳轉關係,理所當然的,操作組的跳轉關係和各個操作組對應的界面的跳轉關係完全相同;可以將界面之間的跳轉關係定位為第一跳轉關係,而將操作組之間的跳轉關係定義為第二跳轉關係;則第一跳轉關係和第二跳轉關係之間為對應的。
具體的,如圖3所示,視層模塊(視圖層)主要描述軟體界面圖像的靜態信息,將每個界面視為一個pagenode,具體示例中,每個pagenode包含的信息比如可以如表1所示:
表1
本示例中,pagenode描述子包含頁面信息和關聯信息兩類信息。頁面信息包含了頁面的基本屬性和圖文元素。每個頁面有唯一的id編號供區分。比如,在windows系統下,軟體視窗界面都是以文檔窗口、對話框等為基礎。就對話框而言,有模態和非模態之分,而模態對話框往往會制約其他所有的頁面,若需操作其他頁面,必須先關閉模態對話框。用isrestrained來描述頁面的制約屬性。image表示該界面包含的圖標集合,這些圖標既可以是可操作項,也可以是非操作項。一個頁面中包含了多條文本信息text。每條文本信息text包含character,color,isboder屬性。character用來描述頁面上的靜態文本內容,color描述文本的顏色、isboder表示文字外圍是否含有邊框。在對一幅圖像進行分析並檢測該圖像包含哪些頁面時,需要通過概率的方法利用這些信息決策。關聯信息是與操作層關聯元素的頁內相關信息belongbuttons。操作路徑的生成需要從視圖層映射到操作層,則視圖層與操作層的關係需要有所體現。因此belongbuttons用於描述一個頁面中存在的所有可操作按鈕的集合,建立視圖層和操作層之間的聯繫。
與之對應的,如圖4所示,操作模塊(操作層)內的每一個元素記為optionnode,同一個頁面內所有可操作按鈕組成一個按鈕集合optionset,操作層主要描述軟體的可操作性信息,optionnode和optionset的描述子如表2和表3所示。
表2optionnode描述子
表3optionset的描述子
如表2所示,optionnode包含兩類信息,可操作的按鈕信息(data)以及與下級菜單中按鈕的關聯信息(nextbuttons)。可操作項分為兩種圖標按鈕和文本按鈕。對於一個可操作項而言,需要知道它的操作方式operatestyle,按鈕屬性ishidden。對於文本按鈕這類可操作項而言,除操作方式和按鈕屬性之外還需要知道它的組成文字character、文本顏色color和文字的邊框信息isborder。操作方式一般有很多種,具體根據軟體的設計方式確定。以windows作業系統為例,軟體界面中的一個菜單項可能會有子菜單,而子項是不會直接顯示在當前軟體界面圖像中的,稱這種特點為隱藏屬性。ishidden就用來描述該屬性。操作按鈕會出現兩種情況,如果含有子菜單,還停留在當前頁面,否則會跳轉到其他頁面。linkpage就是用來記錄操作按鈕後的跳轉頁面。與下級菜單中按鈕的關聯信息nextbuttons。由於按鈕存在隱藏屬性,生成路徑的過程需要知道具有該屬性的按鈕的上一級是哪個按鈕,因此不具有隱藏屬性的按鈕的optionset中需要記錄與之相關聯的有隱藏屬性的按鈕集合信息。如表3所示,optionset包含兩類信息,所屬頁面編號(pageid)和按鈕集合相關信息(pnodes)。pageid描述這一按鈕集合位於視圖層的哪一個頁面上。pnodes描述這一按鈕集合的所有信息,通過pnodes可以知道該頁面所有具有隱藏屬性的按鈕及每一個按鈕的data和nextbuttons信息。
圖2給出了本發明提供的語義描述系統的視圖模塊示例圖,如圖所示,視圖模塊包含了待分析軟體的所有界面的基於圖形的信息page1、page2、page3;而操作模塊中則包含了各個界面中可以觸發的可執行操作,如界面page1中可觸發的可執行操作包括op11、op12、......、op1n;界面page2中可觸發的可執行操作包括op21、op22、......、op2m;界面page3中可觸發的可執行操作包括op31、op32;而界面page2和界面page3為可互相跳轉的關係,將這種可互相跳轉的關係定義為da(p2,p3),而與之對應的是,界面page2隻能單向跳轉至界面page1,將這種跳轉關係記為sa(p2,p1),其中p1表示page1,p2表示page2,p3表示page3;而可執行操作和對應的界面之間的聯繫用in(p1,b1)來定義,其中,b1表示可執行操作op11;與此同時,圖4則給出了將操作層中各個可執行操作按照所屬界面進行分組示例。
綜上,本系統採用兩層關係模型來描述待分析軟體(待操作軟體、待操作對象)的具有視窗風格的軟體圖形界面,兩層模型具體指是視圖模塊構成的視圖層以及操作模塊構成的操作層;通過建立該兩層模型全面的描述了整個待分析軟體的框架結構,形成待處理軟體界面圖像的一個語義網絡圖;其中,視圖層(視圖模塊)描述了待處理軟體各頁面(窗口界面)之間的跳轉關係,操作層則描述了待處理軟體各頁面(窗口界面)種包含的各種操作標識(如圖標、圖畫、按鈕、滑條、文本框)的屬性以及他們所觸發的操作,該操作比如可以是,不同窗口界面或者頁面的跳轉,跳出、界面或者頁面的放大、縮小、關閉、移動;當然操作也包括對受控機械設備發出指令;簡而言之,視圖層和操作層通過按按鈕集合和頁面間的從屬關係產生聯繫,這是生成路徑的數據基礎。
實施例3:本實施例則提供一種應用實施例2提供的系統產生自動操作路徑的方法,其步驟包括,
s210:接收目標控制指令,根據目標控制指令確定目標界面;如該目標控制指令可以是向受軟體系統控制的機械設備發出某一特定指令;當目標控制指令確定後,可自圖形界面語義描述系統中的操作模塊中尋找該特定指令,進而尋找到視圖模塊中觸發該特定指令的界面;該界面即為目標界面。
s220:基於圖像識別當前界面;當前界面可能是一個也可能是多個;通過圖像採集,並將採集到的圖像和視圖模塊中預存的各個界面的信息進行對比,獲取當前界面信息;
s230:根據當前存在的各個界面的制約屬性選擇起始界面,理所當然的,如果當前界面中存在制約屬性為真的界面,其一定是起始界面,因為制約屬性為真意味著,該界面的存在會阻止其他界面被操作;而若當前界面中不存在制約屬性為真的界面時,根據預定規則或者隨機選擇起始界面;該預訂規則比如可以是,比較各個界面展現的完整度,完整度最高的界面定位起始界面;該預訂規則比如還可以是,比較各個當前界面的展現面積,將面積較大的界面定位起始界面等等;
s240:根據路徑算法生成自起始界面跳轉至目標界面的路徑,路徑算法如可以是dijkstra算法、遺傳算法、蟻群算法、郭濤算法、sk算法,可以根據上述算法中的一個或多個結合各個界面之間的跳轉關係計算路徑。
s250:結合各個界面中的標識和可執行操作的對應關係生成操作路徑。
圖5給出了生成的路徑的具體示例,首先確定目標界面是pn8,而當前界面是pn9,根據各個界面之間的跳轉關係,尋找pn8跳轉至pn9的路徑為pn8→pn1→pn2→pn4→pn8;繼而根據界面中可執行操作的歸屬關係以及跳轉執行方式,確定操作層的操作路徑為op91→op13→op22→op45→op81。
根據特徵對界面進行劃分。這是由於,通常軟體運行的結果或者狀態主要在視窗界面或者頁面顯示,視窗頁面內的指示符號信息不是固定不變的,但是視圖頁面的基本框架、組成結構、標識卻是不變或者可預測的,通過上述的頁面識別分類方式,不但能識別視圖頁面窗口的分類,還能確定頁面內的變化內容。因此對圖形界面的軟體測試結果和分析是完備的,不會導致界面顯示的信息丟失。
而在具體應用上述規劃的路徑執行自動測試時,其應用原理如圖1、圖6所示,將目標控制指令(操作目的)輸入至圖形界面語義描述系統,系統按照上述步驟,利用圖像識別系統自動識別屏幕上界面圖文信息,並進一步的自動生成操作路徑,系統按照該步驟控制待測試軟體(實施例中的待分析軟體系統)。待測試軟體根據指令控制自動化機械裝置或者其他後臺程序。
當從起始界面到目標界面的路徑有多條時,根據路徑計算算法選擇最優路徑。而一些情況下,在路徑生成後,如果僅僅根據產生的路徑進行操作,在操作路徑不固定或存在多步操作時,由於同時存在多個當前界面,且當前界面有時會有大小的變化或者意外遮擋的情況,造成原有規劃路徑無法順利執行,此時,需要每進行一步操作後對頁面重新分析規劃下一步路徑;即,在從起始界面到目標界面進行跳轉的過程中,每執行一步操作,均檢測當前界面是否與生成的規劃中路徑界面符合,如果不符合則重新規劃路徑。
實施例4:具體實施例中,在識別界面的步驟中,採用基於tf‐idf的方式對界面進行識別劃分,具體包括,
對樣本中圖標、文字tf‐idf值權值進行設定;
採集待識別界面圖像;
提取界面中圖標、文字tf‐idf值;tf是詞頻,表示特徵詞在單個樣本中出現的頻率。idf是逆向文本頻率,指該特徵詞出現在樣本庫樣本中的頻率。設樣本庫為s={s1,s2,s3,…,sn},n是樣本庫中樣本的數量。特徵詞集合為f={f1,f2,f3,…,fm},m是特徵詞的個數,則特徵詞fi在某一樣本中的tf-idf權值由式計算獲得。
tf-idf(fi)=tf(fi)×idf(fi)(1)
式中num(fi|st)表示fi在樣本st中出現的次數,num(st)表示樣本st中所有的文本總數。式中d(fi)表示樣本中含有特徵詞fi的樣本個數,分母加1是為了避免分母為0的情況。
藉助tf-idf的思想,給定圖標tf-idf值的含義及計算方法。tf解釋為圖標的區域頻率,表示某一圖標在頁面上的所有圖標中出現的頻率。idf解釋為逆圖標區域頻率,表示頁面圖像集合中含有某一圖標的不同頁面的個數。圖標的tf-idf值由式獲得。
tf-idf(ik,j)=tf(ik,j)×idf(ik)=tf(ik,j)×log(n/df(ik))(4)
式中tf(ik,j)表示第k個圖標在界面j中出現的頻率,n表示界面總個數,df(ik)表示包含第k個圖標的頁面個數。由於特徵圖標一定在某界面中,因此df(ik)一定大於0;應注意的是,公式(1)、公式(4)中「tf-idf」為一個整體,其中的連字符「-」不是減號,同理,本文中出現的「tf-idf」均為表示一個整體,而非tf減去idf。
樣本中圖標和文字的tf-idf值設定。根據雙層模型中視圖層記錄的靜態信息,分別設定每個頁面節點中圖標和文字的tf-idf值,可由式(1)和式(4)計算獲得;在待分類頁面的圖標和文字被識別之後,該待分類頁面中文字和圖標的tf-idf值同樣由式(1)和式(4)計算獲得。
根據特徵進行頁面分類。在獲得樣本和待分類頁面的圖標和文字的tf-idf特徵之後,分別計算樣本和待分類頁面之間的歐式距離,距離越小,待分類頁面屬於該類樣本的可能性就越大。根據實驗設定相應的閾值,如果距離小於這個值,則認為圖像中存在這些類別的頁面。
實施例5:如圖7、圖8、圖9a至圖9g所示,本實施例以平衡機測量軟體為例展示了應用本發明提供的語義描述系統的具體應用;其中圖7展示了應用實施例1的方法採集的視圖模塊結構圖,圖中展示了平衡機測量軟體部分界面的跳轉關係。而圖8則給出了起始頁面為「添加自定義頁面尺寸」,目標界面為「轉子參數設置」的操作路徑圖,以及具體操作路徑。圖9a至圖9g為圖8產生的路徑涉及到的界面展示,其中,圖9a為起始界面「添加自定義頁面尺寸」,圖9b為「添加編輯自定義頁面尺寸」界面,圖9c為「自定義頁面大小」界面,圖9d為「列印布局」界面,圖9e為「列印」界面,圖9f為「平衡機測量主界面」,圖9g為目標界面「轉子參數設置」。