界面可操作節點識別方法、應用測試方法、裝置及系統的制作方法
【專利摘要】本發明實施例提供一種界面可操作節點識別方法、應用測試方法、裝置及系統,其中界面可操作節點識別方法包括:確定當前應用界面中的所有節點;根據節點的屬性及類型,從所述所有節點中確定有效節點;從所述有效節點中確定可交互層;遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;將所述目標節點作為所述當前應用界面的可操作節點集合。本發明實施例提供的界面可操作節點識別方法,可對當前應用界面中具有操作可能性的節點進行識別,為后續應用的兼容性測試提供測試基礎。
【專利說明】
界面可操作節點識別方法、應用測試方法、裝置及系統
技術領域
[0001]本發明涉及數據處理技術領域,具體涉及一種界面可操作節點識別方法、應用測試方法、裝置及系統。
【背景技術】
[0002]隨著安卓、1S等智能操作系統的發展,裝載智能操作系統的智能終端的種類越來越多,以裝載安卓操作系統的智能手機為例,其機型就已達上千款,且新開發的機型還在逐步的增多;由于不同種類的智能終端所使用的硬件和軟件都不一樣,因此在應用開發時,需要測試應用在主流的智能終端上能否正常的運行,也就是進行應用的兼容性測試。
[0003]以手游應用為例,隨著智能手機的種類越來越多,手游在開發過程中和上市之前需要進行兼容性測試,以驗證手游在主流智能手機上能否正常的運行,手游的開發引擎如Cocos2d_x 引擎等。
[0004]應用兼容性測試的原理主要是,通過點擊應用中的節點,節點如UI(UserInterface,用戶界面)控件等,收集應用對被點擊節點的響應結果來生成兼容性測試報告。
[0005]為提升應用兼容性測試的效率和精度,本發明的發明人考慮通過識別當前應用界面中可被操作的節點,來進行后續的節點點擊操作;然而,目前的技術僅能夠識別應用所有的節點,而無法對當前應用界面中可被操作的節點進行識別,因此如何提供一種界面可操作節點識別方法,以對當前應用界面中可被操作的節點進行識別,為后續應用的兼容性測試提供測試基礎,成為了本領域技術人員需要考慮的問題。
【發明內容】
[0006]有鑒于此,本發明實施例提供一種界面可操作節點識別方法、應用測試方法、裝置及系統,以對當前應用界面中可被操作的節點進行識別,為后續應用的兼容性測試提供測試基礎。
[0007]為實現上述目的,本發明實施例提供如下技術方案:
[0008]—種界面可操作節點識別方法,包括:
[0009]確定當前應用界面中的所有節點;
[0010]根據節點的屬性及類型,從所述所有節點中確定有效節點;
[0011]從所述有效節點中確定可交互層;
[0012]遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;
[0013]將所述目標節點作為所述當前應用界面的可操作節點集合。
[0014]本發明實施例還提供一種應用測試方法,基于上述所述的界面可操作節點識別方法,所述應用測試方法包括:
[0015]獲取當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點;
[0016]為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合;
[0017]根據賦值后的可操作節點集合,確定目標操作節點;
[0018]操作所述目標操作節點。
[0019]本發明實施例還提供一種界面可操作節點識別裝置,包括:
[0020]所有節點確定模塊,用于確定當前應用界面中的所有節點;
[0021]有效節點確定模塊,用于根據節點的屬性及類型,從所述所有節點中確定有效節占.V,
[0022]可交互層確定模塊,用于從所述有效節點中確定可交互層;
[0023]目標節點確定模塊,用于遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;
[0024]可操作節點集合確定模塊,用于將所述目標節點作為所述當前應用界面的可操作節點集合。
[0025]本發明實施例還提供一種應用測試裝置,基于上述所述的界面可操作節點識別裝置,所述應用測試裝置包括:
[0026]可操作節點集合獲取模塊,用于獲取當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點;
[0027]權重賦值模塊,用于為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合;
[0028]目標操作節點確定模塊,用于根據賦值后的可操作節點集合,確定目標操作節點;
[0029]操作模塊,用于操作所述目標操作節點。
[0030]本發明實施例還提供一種應用測試系統,包括:測試控制設備和應用設備;
[0031]其中,所述測試控制設備,用于向所述應用設備發送獲取當前應用界面的可操作節點集合的請求,接收所述應用設備發送的當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點;為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合;根據賦值后的可操作節點集合,確定目標操作節點;操作所述目標操作節點;
[0032]所述應用設備,用于接收所述測試控制設備發送的獲取當前應用界面的可操作節點集合的請求;確定當前應用界面中的所有節點;根據節點的屬性及類型,從所述所有節點中確定有效節點;從所述有效節點中確定可交互層;遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;將所述目標節點作為所述當前應用界面的可操作節點集合;向所述測試控制設備反饋所述可操作節點集合。
[0033]基于上述技術方案,本發明實施例提供的界面可操作節點識別方法包括:確定當前應用界面中的所有節點;根據節點的屬性及類型,從所述所有節點中確定有效節點;從所述有效節點中確定可交互層;遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;從而將所述目標節點作為所述當前應用界面的可操作節點集合,識別出當前應用界面的可操作節點。可以看出,本發明實施例提供的界面可操作節點識別方法,可對當前應用界面中的所有節點進行識別處理,從而得出當前應用界面中具有操作可能性的節點,基于所識別出的當前應用界面中具有操作可能性的節點,后續進行的應用兼容性測試在進行節點點擊操作時,將更有針對性,使得后續應用的兼容性測試能夠較為順利的進行。本發明實施例提供的界面可操作節點識別方法,可對當前應用界面中具有操作可能性的節點進行識別,為后續應用的兼容性測試提供測試基礎。
【附圖說明】
[0034]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0035]圖1為本發明實施例提供的界面可操作節點識別方法的流程圖;
[0036]圖2為應用界面中節點的示意圖;
[0037]圖3為本發明實施例提供的確定當前應用界面中的所有節點的方法流程圖;
[0038]圖4為本發明實施例提供的從所有節點中確定有效節點的方法流程圖;
[0039]圖5為Cocos2d_x手游一個應用界面的可操作節點集合;
[0040]圖6為本發明實施例提供的界面可操作節點識別方法的另一流程圖;
[0041]圖7為彈出框的示意圖;
[0042]圖8為本發明實施例提供的應用測試方法的流程圖;
[0043]圖9為本發明實施例提供的應用測試方法的另一流程圖;
[0044]圖10為本發明實施例提供的應用測試方法的再一流程圖;
[0045]圖11為本發明實施例提供的界面可操作節點識別裝置的結構框圖;
[0046]圖12為本發明實施例提供的有效節點確定模塊的結構框圖;
[0047]圖13為本發明實施例提供的可交互層確定模塊的結構框圖;
[0048]圖14為本發明實施例提供的目標節點確定模塊的結構框圖;
[0049]圖15為本發明實施例提供的所有節點確定模塊的結構框圖;
[0050]圖16為本發明實施例提供的應用測試裝置的結構框圖;
[0051 ]圖17為本發明實施例提供的權重賦值模塊的結構框圖;
[0052]圖18為本發明實施例提供的目標操作節點確定模塊的結構框圖;
[0053]圖19為本發明實施例提供的應用測試裝置的另一結構框圖;
[0054]圖20為本發明實施例提供的應用測試系統的結構框圖。
【具體實施方式】
[0055]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0056]圖1為本發明實施例提供的界面可操作節點識別方法的流程圖,該方法可應用于裝載有待測試應用的應用設備中,應用設備如智能終端或為開發應用而設置的具有數據能力的設備等;具體流程可由應用設備中裝載的SDK(Software Development Kit,軟件開發工具包)執行,SDK可與待測試應用打包時一起編譯,如SDK可與C0C0S2d-x手游打包時一起編譯;
[0057]參照圖1,本發明實施例提供的界面可操作節點識別方法可以包括:
[0058]步驟SlOO、確定當前應用界面中的所有節點;
[0059]可選的節點可以認為是UI控件的底層表示,應用界面中的節點主要包括:場景(scene),層(layer),精靈(sprite),菜單(menu),菜單項(menultem),粒子系統(particlesystem)等;
[0060]圖2示出了應用界面中節點的示意圖,如圖2所示,當前應用界面中的節點為一種樹狀的層級結構,節點之下還可以具有子節點,如場景節點的下一層級節點為層,層節點的下一層級節點為精靈,菜單,粒子系統等,菜單節點的下一層級節點為菜單項等。
[0061 ]步驟SI 10、根據節點的屬性及類型,從所述所有節點中確定有效節點;
[0062]可選的,本發明實施例可定義無效節點的節點屬性,及無效節點的節點類型,基于所定義的無效節點的節點屬性及節點類型,從所述所有節點中確定出無效節點,進而從所述所有節點中去除無效節點,得到有效節點;
[0063]無效節點的節點屬性及節點類型可根據應用的類型和開發引擎定義,并不固定,本發明實施例可根據實際待測試應用情況調整對無效節點的節點屬性及節點類型的定義。
[0064]步驟S120、從所述有效節點中確定可交互層;
[0065]可選的,本發明實施例可定義可交互層的節點類型,基于所定義的可交互層的節點類型,從有效節點中確定出可交互層;可交互層的節點類型可根據應用的類型和開發引擎定義,并不固定,本發明實施例可根據實際待測試應用情況調整對可交互層的節點類型的定義。
[0066]步驟S130、遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;
[0067]可選的,本發明實施例可定義具有操作可能性的子節點的屬性及類型,基于所定義的具有操作可能性的子節點的屬性及類型,從可交互層的子節點中確定出具有操作可能性的目標節點;
[0068]具有操作可能性的子節點的屬性及類型,可根據應用的類型和開發引擎定義,并不固定,本發明實施例可根據實際待測試應用情況調整對具有操作可能性的子節點的節點屬性及類型的定義;
[0069]目標節點是指可交互層的子節點中具有操作可能性的節點,具有操作可能性的節點如具有100%操作可能性的可操作節點;另一方面,目標節點可以包含具有100%操作可能性的可操作節點,和,操作可能性雖然未達到100%但達到設定百分比值的節點。
[0070]步驟S140、將所述目標節點作為所述當前應用界面的可操作節點集合。
[0071]所確定的目標節點的數量為多個,將該多個目標節點集合起來可作為當前應用界面的可操作節點集合。
[0072]本發明實施例提供的界面可操作節點識別方法包括:確定當前應用界面中的所有節點;根據節點的屬性及類型,從所述所有節點中確定有效節點;從所述有效節點中確定可交互層;遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;從而將所述目標節點作為所述當前應用界面的可操作節點集合,識別出當前應用界面的可操作節點。
[0073]可以看出,本發明實施例提供的界面可操作節點識別方法,可對當前應用界面中的所有節點進行識別處理,從而得出當前應用界面中具有操作可能性的節點,基于所識別出的當前應用界面中具有操作可能性的節點,后續進行的應用兼容性測試在進行節點點擊操作時,將更有針對性,使得后續應用的兼容性測試能夠較為順利的進行。本發明實施例提供的界面可操作節點識別方法,可對當前應用界面中具有操作可能性的節點進行識別,為后續應用的兼容性測試提供測試基礎。
[0074]可選的,下面以C0C0S2d-x引擎開發的應用為例(如C0C0S2d-x手游),對本發明實施例提供的界面可操作節點識別方法進行說明;
[0075]C0C0S2d-x等應用引擎提供了一個導演類,導演類可關聯所有的應用界面的場景,本發明實施例可通過該導演類確定當前應用界面的場景,進而通過當前應用界面的場景所屬的節點層級結構,遍歷當前應用界面中的所有節點,確定出當前應用界面的所有節點;
[0076]對應的,圖3示出了本發明實施例提供的確定當前應用界面中的所有節點的方法流程圖,參照圖3,該方法可以包括:
[0077]步驟S200、根據導演類關聯的所有的應用界面的場景,確定與所述當前應用界面對應的場景;
[0078]步驟S210、遍歷所確定的場景所關聯的節點層級結構,確定當前應用界面的所有節點。
[0079]可選的,在C0C0S2d-x引擎情況下,本發明實施例在確定所有節點中的有效節點時,定義無效節點的確定規則,以無效節點的確定規則確定出所有節點中的無效節點后,將所有節點中的無效節點去除,則可得到有效節點;
[0080]無效節點的確定規則可以是定義了無效節點的屬性和類型,無效節點的節點屬性如節點的可見性,激活狀態等,無效節點的類型可以是圖2所示的各類的節點類型中定義的一種或多種;具體的,本發明實施例可定義如下無效節點的確定規則,當節點滿足下述的任一條,則確定節點無效;
[0081 ] 1、節點的屬性是不可見的;
[0082]2、節點的類型是Menu、MenuItem或UIWidget(UI窗 P 小部件),且isEnable為false;
[0083]如果節點暫時是無效的,則可以設置isEnable(使能信息)為false(假),比如應用界面中的彈出框在UI控件中是存在的,但i sEnab I e被設置為f a I s e。
[0084]3、沒有子節點。
[0085]基于此,圖4示出了本發明實施例提供的從所有節點中確定有效節點的方法流程圖,參照圖4,該方法可以包括:
[0086]步驟S300、從所述所有節點中確定無效節點,無效節點為節點的屬性是不可見的節點,和/或,節點的類型是Menu、MenuItem或UIWidget,且isEnable為false的節點,和/或,沒有子節點的節點;
[0087]步驟S310、從所述所有節點中去除所述無效節點,得到有效節點。
[0088]可選的,在從有效節點中確定可交互層時,本發明實施例可定義可交互層的確定規則,可交互層的確定規則可以是定義了可交互層的節點類型;具體的,當滿足下述任一條時,則確定有效節點為可交互層;
[0089]1、節點的類型是UIWidget或Layer,且isTouchEnabled(觸摸使能信息)為true(真);
[°09°] 2、Layer下包含非CCLayer(布景層類)節點。
[0091]可選的,具有操作可能性的目標節點可以是可交互層的子節點中的可操作節點(如可點擊節點),可操作節點表示的是具有100%操作可能性的節點,其必然能夠被執行點擊等操作;
[0092]本發明實施例可定義可操作節點的確定規則,可操作節點的確定規則可以是定義了可操作節點的屬性及類型;具體的,本發明實施例可將可交互層的子節點中節點屬性是可見和激活,且節點類型是But ton (按鈕)、或CCContr ο I But ton (CCContr ο I But ton是Cocos2d_x新封裝的UI,類似OC的UI Button)、或CCScaIe9Sprite(CCScale9Sprite對象是一種CCSprite對象的變形)的子節點確定為可操作節點;所確定的可操作節點可設置Button 標識;
[0093]可選的,具有操作可能性的目標節點除了包含可操作節點外,還可以包含潛在的可操作節點;潛在的可操作節點是指操作可能性低于100%,但操作可能性達到設定百分比值,不排除可能被執行點擊等操作的節點,如圖片或者文字類型的節點,在某些應用界面中圖片或者文字類型的節點被設置為了可點擊,但某些應用界面中圖片或者文字類型的節點僅是圖片或文字的表達;
[0094]本發明實施例可定義潛在的可操作節點的確定規則,潛在的可操作節點的確定規則可以是定義了潛在的可操作節點的屬性及類型;具體的,本發明實施例可將可交互層的子節點中節點屬性是可見和激活,且節點類型是圖片或文字的子節點確定為潛在的可操作節點;所確定的潛在的可操作節點可以設置IMG、TXT或者OTHER等標識。
[0095]可選的,在確定出可操作節點和潛在的可操作節點后,本發明實施例可將可操作節點和潛在的可操作節點確定為當前應用界面的可操作節點集合;圖5示出了C0C0S2d-x手游一個應用界面的可操作節點集合,可參照,以圖5所示可操作節點集合,可以看出當前應用界面的可操作節點集合為樹狀的控件樹結構。
[0096]優選的,以對C0C0S2d-x手游的界面可操作節點識別為應用,圖6示出了本發明實施例提供的界面可操作節點識別方法的另一流程圖,參照圖6,該方法可以包括:
[0097]步驟S400、根據導演類關聯的所有的應用界面的場景,確定與當前應用界面對應的場景;
[0098]步驟S410、遍歷所確定的場景所關聯的節點層級結構,確定當前應用界面的所有節點;
[0099]步驟S420、從所述所有節點中確定無效節點,無效節點為節點的屬性是不可見的節點,和/或,節點的類型是Menu、MenuItem或UIWidget,且isEnable為false的節點,和/或,沒有子節點的節點;
[0100]步驟S430、從所述所有節點中去除所述無效節點,得到有效節點;
[0101]步驟S440、從所述有效節點中確定可交互層,可交互層為所述有效節點中節點的類型是UIWidget或Layer,且isTouchEnabled為true的節點,或,所述有效節點中包含非CCLayer節點的 Layer;
[0102]步驟S450、遍歷所述可交互層下的子節點,將可交互層的子節點中節點屬性是可見和激活,且節點類型是Button、或CCContro IButton、或CCScale9Sprite的子節點確定為可操作節點;將可交互層的子節點中節點屬性是可見和激活,且節點類型是圖片或文字的子節點確定為潛在的可操作節點;
[0103]步驟S460、以所述可操作節點和所述潛在的可操作節點構建可操作節點集合。
[0104]可選的,本發明實施例可提取可操作節點的節點名,潛在的可操作節點的節點名,將可操作節點的節點名和潛在的可操作節點的節點名相集合,構建出可操作節點集合;
[0105]進一步,所得到的可操作節點集合可以列表的形式存在;可選的,本發明實施例可設置可操作節點列表,以所述可操作節點和所述潛在的可操作節點構建可操作節點列表,從而以可操作節點列表表示所述可操作節點集合。
[0106]在得到可操作節點集合后,本發明實施例可根據所述可操作節點集合進行應用兼容性測試。為便于說明本發明實施例提供的應用兼容性測試與現有兼容性測試的區別,下面先簡介現有應用兼容性測試的過程。
[0107]現有技術中,應用兼容性測試是先確定應用所有的UI控件,然后編寫記錄有各控件點擊順序的腳本,進而通過執行該腳本來依序的點擊應用中的UI控件,通過點擊UI控件后應用的響應結果來獲得兼容性測試報告,達到應用的兼容性測試目的;
[0108]然而在執行腳本的過程中存在彈出框的情況,彈出框如圖7所示,而彈出框這一控件并未在腳本記錄的控件點擊順序中,由于彈出框將覆蓋部分的控件內容,將可能導致腳本原先記錄的下一需點擊的控件被彈出框覆蓋,導致腳本永遠無法執行對下一需點擊控件的點擊,使得應用的兼容性測試存在異常,無法順利執行。
[0109]基于現有應用兼容性測試的問題,本發明實施例可在任一時刻進行應用兼容性測試時,均需基于上文提供的界面可操作節點識別方法,確定出當前應用界面的可操作節點集合,然后決策當前應該操作該可操作節點集合中的哪一節點(即控件),從而操作決策出的節點,進而基于應用的響應結果,得到應用兼容性測試報告;由于可操作節點集合中的各節點均是具有操作可能性的,因此基于該可操作節點集合所決策的需操作節點,其能被操作的可能性極大,提升了應用兼容性測試順利執行的可能。
[0110]對應的,圖8示出了本發明實施例提供的應用測試方法的流程圖,該方法可基于上文描述的界面可操作節點識別方法;本發明實施例提供的應用測試方法可應用于測試控制設備(如PC),測試控制設備可與裝載有待測試應用的應用設備相通信,通過向裝載有待測試應用的應用設備發送測試指令,實現應用的兼容性測試;
[0111]可選的,如果裝載有待測試應用的應用設備的數據處理能力足夠強(如具有多個數據處理核心),則本發明實施例提供的應用測試方法也可應用于裝載有待測試應用的應用設備;
[0112]參照圖8,本發明實施例提供的應用測試方法可以包括:
[0113]步驟S500、獲取當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點;
[0114]可選的,測試控制設備可向裝載有待測試應用的應用設備,發送可操作節點集合的請求;應用設備可基于上文所述的界面可操作節點識別方法(具體過程詳見上文對應部分,此處不再贅述),識別出當前應用界面的可操作節點集合,并反饋給測試控制設備。
[0115]步驟S510、為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合;
[0116]本發明實施例可根據節點的類型,節點已操作次數,節點的渲染順序為節點賦予第一權重值;第一權重值僅表示由節點的類型,節點已操作次數,節點的渲染順序為節點所確定的這一類權重值,并不是對具體權重數值的定義。
[0117]步驟S520、根據賦值后的可操作節點集合,確定目標操作節點;
[0118]可選的,本發明實施例可根據賦值后的可操作節點集合中的各節點的權重值,確定目標操作節點;
[0119]優選的,為使得應用的兼容性測試與用戶希望操作的節點相貼合,本發明還可設置用戶定義的希望操作節點集合,將賦值后的可操作節點集合和所述希望操作節點集合相結合后,以結合后的集合中的節點權重值,確定目標操作節點。
[0120]步驟S530、操作所述目標操作節點。
[0121 ]可選的,測試控制設備在確定了目標操作節點后,可操作所述目標操作節點。
[0122]可選的,如果操作目標操作節點后,發生應用崩潰,無響應等異常情況,則可確定測試異常,上報異常情況,并重新拉起應用測試;如果操作目標操作節點后,應用正常運行并反饋了響應結果,則可就與響應結果相應的應用界面(下一當前應用界面),以圖8方法再次進行應用測試,依此循環,則可得出對不同的目標操作節點進行操作后的響應結果,給出綜合的兼容性測試報告。
[0123]由于本發明實施例提供的應用測試方法,可基于當前應用界面的可操作節點集合選擇需操作的目標操作節點,而可操作節點集合表示有所述當前應用界面具有操作可能性的節點,因此所選擇的目標操作節點可被執行點擊等操作的可能性極大(包含了所選擇的目標操作節點為彈出框的情況),提升了應用兼容性測試順利執行的可能性。
[0124]可選的,在為所述可操作節點集合中的節點賦予第一權重值時,本發明實施例可根據節點的類型,節點已操作次數,節點的渲染順序進行;
[0125]具體的,本發明實施例可定義各節點類型相應的類型權重,從而為可操作節點集合中的各節點賦予與節點類型相應的類型權重;如Button類型節點的類型權重最高(對應上文描述的可操作節點),類型權重其次的為頂G和TXT類型節點(對應上文描述的潛在的可操作節點),類型權重再次的為其他類型節點;具體節點類型相應的具體類型權重,可根據實際情況定義;
[0126]本發明實施例可定義節點的次數權重,隨著節點的已操作次數的增多,節點的次數權重隨之減小;如某一節點的次數權重為10,當該節點被點擊一次時,則節點的次數權重由10減小為9;
[0127]本發明實施例可定義節點的渲染權重,節點的渲染順序越靠前則渲染權重越大,節點的渲染順序越靠后則渲染權重越小;渲染順序越靠前越有可能是彈出框;
[0128]因此,本發明實施例對于可操作節點集合中的各節點,可根據節點類型確定類型權重,根據節點已操作次數確定次數權重,根據節點的渲染順序確定渲染權重;結合節點的類型權重,次數權重和渲染權重確定為節點賦予的第一權重值;可選的,本發明實施例可直接將節點的類型權重,次數權重和渲染權重相加,作為節點的第一權重值,顯然也不排除其他的計算方式。
[0129]優選的,當前應用界面的可操作節點集合可與用戶定義的希望操作節點集合相結合,以使得最終確定的目標操作節點與用戶希望的操作更為貼近,從而使得應用的兼容性測試與用戶希望相貼合。
[0130]對應的,圖9示出了本發明實施例提供的應用測試方法的另一流程圖,參照圖9,該方法可以包括:
[0131]步驟S600、獲取當前應用界面的可操作節點集合,所述可操作節點集合表示有所述當前應用界面具有操作可能性的節點;
[0132]步驟S610、為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合;
[0133]為可操作節點集合中的節點賦予第一權重值的具體方式可參照上述相應部分;
[0134]可選的,本發明實施例還可設置黑名單節點,在為所述可操作節點集合中的節點賦予第一權重值時,可從賦值后的可操作節點集合或者賦值前的可操作節點集合中過濾掉黑名單節點。
[0135]步驟S620、將賦值后的可操作節點集合,與預設置的希望操作節點集合相合并,確定待操作節點集合;
[0136]希望操作節點集合為用戶定義的希望進行操作的節點的集合,其具體內容主要是用戶定義的希望操作的節點的信息,及用戶為希望操作的節點定義的第二權重值;第二權重值僅表示用戶為希望操作的節點所定義的權重值,并不指代特定的權重數值;
[0137]希望操作節點集合的預置方式可以為:通過待測試應用的SDK獲取待測試應用的預設應用界面的UI控件樹(即預設應用界面的UI控件樹包含有該預設應用界面的所有節點),及UI控件樹中的UI控件在該預設應用界面中的位置(即節點在預設應用界面中的位置);進而從所獲取的UI控件樹中選取希望操作的UI控件(即從預設應用界面的所有節點中選取希望操作的節點),希望操作的UI控件的數量可以為至少一個;再對所選取的UI控件設置測試規則(即對所選取的希望操作的節點定義第二權重值),以形成希望操作節點集合;
[0138]可見,本發明實施例可通過待測試應用的SDK獲取待測試應用的預設應用界面的所有節點;從所述預設應用界面的所有節點中選取希望操作的節點;對所選取的希望操作的各節點定義第二權重值,形成希望操作節點集合。
[0139]可選的,將賦值后的可操作節點集合,與預設置的希望操作節點集合相合并的具體過程可以為:將賦值后的可操作節點集合和所述希望操作節點集合中相同的節點進行統一,并設置統一的節點的權重為相應的第二權重值,同時保留賦值后的可操作節點集合與所述希望操作節點集合中的不同節點,保留各不同節點的原權重值;
[0140]保留不同節點的原權重值是指,對于賦值后的操作節點集合與所述系統操作節點集合中的不同節點,如果節點屬于賦值后的操作節點集合,則節點保留原第一權重值,如果節點屬于希望操作節點集合,則節點保留原第二權重值;
[0141]例如:賦值后的可操作節點集合具有A和B兩個節點,且A的第一權重值為a,B的第一權重值為bl;而希望操作節點集合具有B和C兩個節點,節點B的第二權重值為b2,節點C的第二權重值為c ;
[0142]在將賦值后的可操作節點集合和希望操作節點集合合并時,可統一兩個集合中均有的節點B,僅保留一個B,同時以第二權重值b2定義節點B的權重;對于兩個集合中不同的節點A和節點C可均保留原信息,即保留節點A且權重值不變為a,保留節點C且權重不變為c,進而確定出包括A(權重為a)、B(權重為b2)和C(權重為c)的待操作節點集合;
[0143]可選的,預設置的希望操作節點集合可先過濾掉黑名單節點后,再與賦值后的可操作節點集合相合并。
[0144]步驟S630、根據待操作節點集合中節點的權重值,確定目標操作節點;
[0145]可選的,本發明實施例可以權重值的大小對待操作節點集合中的節點進行排序,權重值越大,則節點排序越考前,權重值越小,則節點排序越靠后,從而根據節點的排序順序,確定排序順序符合預定條件的節點為目標操作節點,如確定排序順序為第一的節點為目標操作節點(即確定權重值最大的節點為目標操作節點);
[0146]可選的,本發明實施例對于待操作節點集合中的各節點,可確定節點權重值與待操作節點集合的總權重值的權重比值,總權重值為集合中各節點的權重值之和,從而以所確定的節點的權重比值作為節點被確定為目標操作節點的概率,從而以各節點被確定為目標操作節點的概率,隨機從待操作節點集合中確定出目標操作節點。
[0147]步驟S640、操作所述目標操作節點。
[0148]如果操作目標操作節點后,發生應用崩潰,無響應等異常情況,則可確定測試異常,上報異常情況,并重新拉起應用測試;如果操作目標操作節點后,應用正常運行并反饋了響應結果,則可就與響應結果相應的應用界面(下一當前應用界面),以圖9方法再次進行應用測試,依此循環,則可得出對不同的目標操作節點進行操作后的響應結果,給出綜合的兼容性測試報告。
[0149]可選的,操作目標操作節點的過程可以是:確定目標操作節點的節點名稱,以所述節點名稱確定相應的virtual render,以所述virtual render確定相應的bounding box ;根據所述bounding box獲取目標操作節點的縮放比例;根據所述縮放比例計算目標操作節點的大小,將所述大小轉化為世界坐標,將所述世界坐標轉換為應用設備的屏幕坐標;
[0150]在得到目標操作節點的屏幕坐標后,本發明實施例可以所述屏幕坐標的中心點作為操作位置,從而實現對目標操作節點的操作;
[0151]可選的,針對屏幕的點擊等操作事件,本發明實施例可通過C0C0S2d-x提供的系統接口handleTouchesBegin、handleTouchesMove和handleTouchesEnd,在引擎層處理屏幕點擊等操作事件。
[0152]優選的,圖10出了本發明實施例提供的應用測試方法的再一流程圖,參照圖10,該方法可以包括:
[0153]步驟S700、獲取當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點;
[0154]步驟S710、對于可操作節點集合中的各節點,根據節點類型確定類型權重,根據節點已操作次數確定次數權重,根據節點的渲染順序確定渲染權重;
[0155]步驟S720、對于可操作節點集合中的各節點,結合節點的類型權重,次數權重和渲染權重確定為節點賦予的第一權重值,得到賦值后的可操作節點集合;
[0156]步驟S730、調取預置的希望操作節點集合,所述希望操作節點集合表示預置的希望操作的節點,及為希望操作的節點定義的第二權重值;
[0157]步驟S740、將賦值后的可操作節點集合與預置的希望操作節點集合中相同的節點進行統一,設置統一后的節點的權重為相應的第二權重值,保留所述賦值后的可操作節點集合與所述希望操作節點集合中的不同節點,并保留不同節點的原權重值,得到待操作節點集合;
[0158]步驟S750、對于待操作節點集合中的各節點,計算節點權重值與待操作節點集合的總權重值的權重比值,以所確定的節點的權重比值作為節點被確定為目標操作節點的概率,以各節點被確定為目標操作節點的概率,隨機從待操作節點集合中確定出目標操作節占.V,
[0159]步驟S760、操作所述目標操作節點。
[0160]本發明實施例提供的應用測試方法可獲取當前應用界面的可操作節點集合,并為可操作節點集合中的節點賦予權重值,進而將賦予了權重值的可操作節點集合與預置的希望操作節點集合進行合并,得到待操作節點集合,從而以待操作節點集合中各節點的權重值,隨機的從待操作節點集合中選取目標操作節點,以便對目標操作節點進行操作,實現應用的兼容性測試,提升應用兼容性測試順利執行的可能性。
[0161]可選的,在確定當前應用界面的可操作節點集合后,本發明實施例也可基于當前應用界面的可操作節點集合編寫腳本,通過腳本中記錄的節點操作順序,來實現節點的操作,達成應用的兼容性測試;而不限于上文所述的決策當前應該操作可操作節點集合,或者待操作節點集合中的哪一節點的方式。
[0162]下面對本發明實施例提供的界面可操作節點識別裝置進行介紹,下文描述的界面可操作節點識別裝置,可與上文描述的界面可操作節點識別方法相互對應參照。
[0163]圖11為本發明實施例提供的界面可操作節點識別裝置的結構框圖,該裝置可應用于裝載有待測試應用的應用設備,應用設備如智能終端或為開發應用而設置的具有數據能力的設備等;
[0164]參照圖11,本發明實施例提供的界面可操作節點識別裝置可以包括:
[0165]所有節點確定模塊100,用于確定當前應用界面中的所有節點;
[0166]有效節點確定模塊110,用于根據節點的屬性及類型,從所述所有節點中確定有效節點;
[0167]可交互層確定模塊120,用于從所述有效節點中確定可交互層;
[0168]目標節點確定模塊130,用于遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;
[0169]可操作節點集合確定模塊140,用于將所述目標節點作為所述當前應用界面的可操作節點集合。
[0170]可選的,圖12示出了本發明實施例提供的有效節點確定模塊110的一種可選結構,參照圖12,該有效節點確定模塊110可以包括:
[0171]無效節點確定單元111,用于根據預定義的無效節點的節點屬性及節點類型,從所述所有節點中確定出無效節點;
[0172]去除單元112,用于從所述所有節點中去除無效節點,得到有效節點。
[0173]可選的,在以C0C0S2d-x引擎開發的應用情況下,無效節點確定單元111具體可用于,從所述所有節點中確定無效節點,無效節點為節點的屬性是不可見的節點,和/或,節點的類型是Menu、MenuItem或UIWidget,且isEnable為false的節點,和/或,沒有子節點的節點。
[0174]可選的,圖13示出了本發明實施例提供的可交互層確定模塊120的一種可選結構,參照圖13,可交互層確定模塊120可以包括:
[0175]可交互層確定執行單元121,用于根據預定義的可交互層的節點類型,從所述有效節點中確定出可交互層。
[0176]可選的,在以C0C0S2d-x引擎開發的應用情況下,可交互層確定執行單元121具體可用于,從所述有效節點中確定出可交互層,可交互層為節點的類型是UIWidget或層Layer,且 isTouchEnabIed為 true 的節點。
[0177]可選的,圖14示出了本發明實施例提供的目標節點確定模塊130的一種可選結構,參照圖14,目標節點確定模塊130可以包括:
[0178]目標節點確定執行單元131,用于根據預定義的具有操作可能性的子節點的屬性及類型,從可交互層的子節點中確定出具有操作可能性的目標節點。
[0179]可選的,在以C0C0S2d-x引擎開發的應用情況下,目標節點確定執行單元131具體可用于,從可交互層的子節點中確定具有100%操作可能性的可操作節點,所述可操作節點為可交互層的子節點中節點屬性是可見和激活,且節點類型是B u 11 O η、或CCControIButton、或CCScale9Sprite的子節點;
[0180]及,從可交互層的子節點中確定潛在的可操作節點,所述潛在的可操作節點為可交互層的子節點中節點屬性是可見和激活,且節點類型是圖片或文字的子節點。
[0181]可選的,在以C0C0S2d-x引擎開發的應用情況下,圖15示出了本發明實施例提供的所有節點確定模塊100的一種可選結構,參照圖15,所有節點確定模塊100可以包括:
[0182]場景確定單元101,用于根據導演類關聯的所有的應用界面的場景,確定與所述當前應用界面對應的場景;
[0183]節點遍歷單元102,用于遍歷所確定的場景所關聯的節點層級結構,確定當前應用界面的所有節點。
[0184]下面對本發明實施例提供的應用測試裝置進行介紹,下文描述的應用測試裝置可與上文描述的應用測試方法相互對應參照。
[0185]圖16為本發明實施例提供的應用測試裝置的結構框圖,本發明實施例提供的應用測試裝置可基于上文所述的界面可操作節點識別裝置,本發明實施例提供的應用測試裝置可應用于測試控制設備,測試控制設備可與裝載有待測試應用的應用設備相通信,通過向裝載有待測試應用的應用設備發送測試指令,實現應用的兼容性測試;
[0186]參照圖16,本發明實施例提供的應用測試裝置可以包括:
[0187]可操作節點集合獲取模塊200,用于獲取當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點;
[0188]權重賦值模塊210,用于為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合;
[0189]目標操作節點確定模塊220,用于根據賦值后的可操作節點集合,確定目標操作節占.V,
[0190]操作模塊230,用于操作所述目標操作節點。
[0191]可選的,圖17示出了本發明實施例提供的權重賦值模塊210的一種可選結構,參照圖17,權重賦值模塊210可以包括:
[0192]賦值執行單元211,用于對于所述可操作節點集合中的各節點,根據節點的類型,節點已操作次數,節點的渲染順序為節點賦予第一權重值。
[0193]可選的,賦值執行單元211具體可用于,對于可操作節點集合中的各節點,根據預定義的各節點類型相應的類型權重,為節點賦予與節點類型相應的類型權重;對于可操作節點集合中的各節點,根據節點已操作次數,為節點賦予次數權重,其中隨著節點的已操作次數增多,節點的次數權重隨之減小;對于可操作節點集合中的各節點,根據節點的渲染順序,為節點賦予渲染權重,其中,節點的渲染順序越靠前則渲染權重越大,節點的渲染順序越靠后則渲染權重越小;對于可操作節點集合中的各節點,結合節點的類型權重,次數權重和渲染權重確定為節點賦予的第一權重值。
[0194]可選的,圖18示出了本發明實施例提供的目標操作節點確定模塊220的一種可選結構,參照圖18,目標操作節點確定模塊220可以包括:
[0195]合并單元221,用于將賦值后的可操作節點集合,與預設置的希望操作節點集合相合并,確定待操作節點集合;所述希望操作節點集合表示希望操作的節點的信息,及為希望操作的節點定義的第二權重值;
[0196]目標選取單元222,用于根據待操作節點集合中節點的權重值,確定目標操作節點。
[0197]可選的,合并單元221具體可用于,將賦值后的可操作節點集合和所述希望操作節點集合中相同的節點進行統一,并設置統一的節點的權重為相應的第二權重值,及保留賦值后的可操作節點集合與所述希望操作節點集合中的不同節點,保留各不同節點的原權重值,得到待操作節點集合。
[0198]可選的,目標選取單元222具體可用于,對于所述待操作節點集合中的各節點,確定節點權重值與待操作節點集合的總權重值的權重比值;對于所述待操作節點集合中的各節點,以所確定的節點的權重比值作為節點被確定為目標操作節點的概率;以各節點被確定為目標操作節點的概率,隨機從所述待操作節點集合中確定出目標操作節點。
[0199]可選的,圖19示出了本發明實施例提供的應用測試裝置的另一結構框圖,結合圖16和圖19所示,該應用測試裝置還可以包括:
[0200]異常處理模塊240,用于如果操作目標操作節點后,應用異常,則確定測試異常,上報異常情況,并重新拉起應用測試;
[0201 ]循環觸發模塊250,用于如果操作目標操作節點后,應用正常運行并反饋了響應結果,則對下一當前應用界面進行應用測試。
[0202]下面對本發明實施例提供的應用測試系統進行介紹,下文描述的應用測試系統可與上文描述的界面可操作節點識別方法,及應用測試方法相互對應參照。
[0203]圖20為本發明實施例提供的應用測試系統的結構框圖,參照圖20,應用測試系統可以包括:測試控制設備10和應用設備20;
[0204]測試控制設備10,用于向所述應用設備發送獲取當前應用界面的可操作節點集合的請求,接收所述應用設備發送的當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點;為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合;根據賦值后的可操作節點集合,確定目標操作節點;操作所述目標操作節點;
[0205]應用設備20,用于接收所述測試控制設備發送的獲取當前應用界面的可操作節點集合的請求;確定當前應用界面中的所有節點;根據節點的屬性及類型,從所述所有節點中確定有效節點;從所述有效節點中確定可交互層;遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;將所述目標節點作為所述當前應用界面的可操作節點集合;向所述測試控制設備反饋所述可操作節點
口 O
[0206]本發明實施例可對當前應用界面中具有操作可能性的節點進行識別,使得進行應用兼容性測試時,所選取的操作節點可被執行點擊等操作的可能性極大,提升了應用兼容性測試順利執行的可能性。
[0207]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
[0208]專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
[0209]結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(R0M)、電可編程R0M、電可擦除可編程R0M、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。
[0210]對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【主權項】
1.一種界面可操作節點識別方法,其特征在于,包括: 確定當前應用界面中的所有節點; 根據節點的屬性及類型,從所述所有節點中確定有效節點; 從所述有效節點中確定可交互層; 遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點; 將所述目標節點作為所述當前應用界面的可操作節點集合。2.根據權利要求1所述的界面可操作節點識別方法,其特征在于,所述根據節點的屬性及類型,從所述所有節點中確定有效節點包括: 根據預定義的無效節點的節點屬性及節點類型,從所述所有節點中確定出無效節點; 從所述所有節點中去除無效節點,得到有效節點; 所述從所述有效節點中確定可交互層包括: 根據預定義的可交互層的節點類型,從所述有效節點中確定出可交互層。3.根據權利要求1所述的界面可操作節點識別方法,其特征在于,所述根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點包括: 根據預定義的具有操作可能性的子節點的屬性及類型,從可交互層的子節點中確定出具有操作可能性的目標節點。4.根據權利要求1所述的界面可操作節點識別方法,其特征在于,所述確定當前應用界面中的所有節點包括: 根據導演類關聯的所有的應用界面的場景,確定與所述當前應用界面對應的場景; 遍歷所確定的場景所關聯的節點層級結構,確定當前應用界面的所有節點。5.根據權利要求2所述的界面可操作節點識別方法,其特征在于,所述根據預定義的無效節點的節點屬性及節點類型,從所述所有節點中確定出無效節點包括: 從所述所有節點中確定無效節點,無效節點為節點的屬性是不可見的節點,和/或,節點的類型是菜單Menu、菜單項Menu Item或UI窗口小部件UIWidge t,且使能信息isEnable為假false的節點,和/或,沒有子節點的節點。6.根據權利要求2所述的界面可操作節點識別方法,其特征在于,所述根據預定義的可交互層的節點類型,從所述有效節點中確定出可交互層包括: 從所述有效節點中確定出可交互層,可交互層為節點的類型是UIWidget或層Layer,且觸摸使能信息isTouchEnabled為真true的節點。7.根據權利要求3所述的界面可操作節點識別方法,其特征在于,所述根據預定義的具有操作可能性的子節點的屬性及類型,從可交互層的子節點中確定出具有操作可能性的目標節點包括: 從可交互層的子節點中確定具有100%操作可能性的可操作節點,所述可操作節點為可交互層的子節點中節點屬性是可見和激活,且節點類型是Button、或CCControlButton、或CCScale9Sprite的子節點; 及,從可交互層的子節點中確定潛在的可操作節點,所述潛在的可操作節點為可交互層的子節點中節點屬性是可見和激活,且節點類型是圖片或文字的子節點。8.—種應用測試方法,其特征在于,基于權利要求1-7任一項所述的界面可操作節點識別方法,所述應用測試方法包括: 獲取當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點; 為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合; 根據賦值后的可操作節點集合,確定目標操作節點; 操作所述目標操作節點。9.根據權利要求8所述的應用測試方法,其特征在于,所述為所述可操作節點集合中的節點賦予第一權重值包括: 對于所述可操作節點集合中的各節點,根據節點的類型,節點已操作次數,節點的渲染順序為節點賦予第一權重值。10.根據權利要求9所述的應用測試方法,其特征在于,所述對于所述可操作節點集合中的各節點,根據節點的類型,節點已操作次數,節點的渲染順序為節點賦予第一權重值包括: 對于可操作節點集合中的各節點,根據預定義的各節點類型相應的類型權重,為節點賦予與節點類型相應的類型權重; 對于可操作節點集合中的各節點,根據節點已操作次數,為節點賦予次數權重,其中隨著節點的已操作次數增多,節點的次數權重隨之減小; 對于可操作節點集合中的各節點,根據節點的渲染順序,為節點賦予渲染權重,其中,節點的渲染順序越靠前則渲染權重越大,節點的渲染順序越靠后則渲染權重越小; 對于可操作節點集合中的各節點,結合節點的類型權重,次數權重和渲染權重確定為節點賦予的第一權重值。11.根據權利要求8-10任一項所述應用測試方法,其特征在于,所述根據賦值后的可操作節點集合,確定目標操作節點包括: 將賦值后的可操作節點集合,與預設置的希望操作節點集合相合并,確定待操作節點集合;所述希望操作節點集合表示希望操作的節點的信息,及為希望操作的節點定義的第二權重值; 根據待操作節點集合中節點的權重值,確定目標操作節點。12.根據權利要求11所述的應用測試方法,其特征在于,所述希望操作節點集合的設置過程包括: 通過待測試應用的SDK獲取待測試應用的預設應用界面的所有節點; 從所述預設應用界面的所有節點中選取希望操作的節點; 對所選取的希望操作的各節點定義第二權重值,形成希望操作節點集合。13.根據權利要求11所述的應用測試方法,其特征在于,所述將賦值后的可操作節點集合,與預設置的希望操作節點集合相合并,確定待操作節點集合包括: 將賦值后的可操作節點集合和所述希望操作節點集合中相同的節點進行統一,并設置統一的節點的權重為相應的第二權重值,及保留賦值后的可操作節點集合與所述希望操作節點集合中的不同節點,保留各不同節點的原權重值,得到待操作節點集合。14.根據權利要求13所述的應用測試方法,其特征在于,所述根據待操作節點集合中節點的權重值,確定目標操作節點包括: 對于所述待操作節點集合中的各節點,確定節點權重值與待操作節點集合的總權重值的權重比值; 對于所述待操作節點集合中的各節點,以所確定的節點的權重比值作為節點被確定為目標操作節點的概率; 以各節點被確定為目標操作節點的概率,隨機從所述待操作節點集合中確定出目標操作節點。15.根據權利要求8所述的應用測試方法,其特征在于,還包括: 如果操作目標操作節點后,應用異常,則確定測試異常,上報異常情況,并重新拉起應用測試; 如果操作目標操作節點后,應用正常運行并反饋了響應結果,則對下一當前應用界面進行應用測試。16.一種界面可操作節點識別裝置,其特征在于,包括: 所有節點確定模塊,用于確定當前應用界面中的所有節點; 有效節點確定模塊,用于根據節點的屬性及類型,從所述所有節點中確定有效節點; 可交互層確定模塊,用于從所述有效節點中確定可交互層; 目標節點確定模塊,用于遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點; 可操作節點集合確定模塊,用于將所述目標節點作為所述當前應用界面的可操作節點隹A口 O17.根據權利要求16所述的界面可操作節點識別裝置,其特征在于,所述有效節點確定模塊包括: 無效節點確定單元,用于根據預定義的無效節點的節點屬性及節點類型,從所述所有節點中確定出無效節點; 去除單元,用于從所述所有節點中去除無效節點,得到有效節點; 所述可交互層確定模塊包括: 可交互層確定執行單元,用于根據預定義的可交互層的節點類型,從所述有效節點中確定出可交互層。18.根據權利要求16所述的界面可操作節點識別裝置,其特征在于,所述目標節點確定豐吳塊包括: 目標節點確定執行單元,用于根據預定義的具有操作可能性的子節點的屬性及類型,從可交互層的子節點中確定出具有操作可能性的目標節點。19.根據權利要求16-18任一項所述的界面可操作節點識別裝置,其特征在于,所述所有節點確定模塊包括: 場景確定單元,用于根據導演類關聯的所有的應用界面的場景,確定與所述當前應用界面對應的場景; 節點遍歷單元,用于遍歷所確定的場景所關聯的節點層級結構,確定當前應用界面的所有節點。20.—種應用測試裝置,其特征在于,基于權利要求16-19任一項所述的界面可操作節點識別裝置,所述應用測試裝置包括: 可操作節點集合獲取模塊,用于獲取當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點; 權重賦值模塊,用于為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合; 目標操作節點確定模塊,用于根據賦值后的可操作節點集合,確定目標操作節點; 操作模塊,用于操作所述目標操作節點。21.根據權利要求20所述的應用測試裝置,其特征在于,所述權重賦值模塊包括: 賦值執行單元,用于對于所述可操作節點集合中的各節點,根據節點的類型,節點已操作次數,節點的渲染順序為節點賦予第一權重值。22.根據權利要求20或21所述的應用測試裝置,其特征在于,所述目標操作節點確定模塊包括: 合并單元,用于將賦值后的可操作節點集合,與預設置的希望操作節點集合相合并,確定待操作節點集合;所述希望操作節點集合表示希望操作的節點的信息,及為希望操作的節點定義的第二權重值; 目標選取單元,用于根據待操作節點集合中節點的權重值,確定目標操作節點。23.一種應用測試系統,其特征在于,包括:測試控制設備和應用設備; 其中,所述測試控制設備,用于向所述應用設備發送獲取當前應用界面的可操作節點集合的請求,接收所述應用設備發送的當前應用界面的可操作節點集合,所述可操作節點集合表示所述當前應用界面具有操作可能性的節點;為所述可操作節點集合中的節點賦予第一權重值,得到賦值后的可操作節點集合;根據賦值后的可操作節點集合,確定目標操作節點;操作所述目標操作節點; 所述應用設備,用于接收所述測試控制設備發送的獲取當前應用界面的可操作節點集合的請求;確定當前應用界面中的所有節點;根據節點的屬性及類型,從所述所有節點中確定有效節點;從所述有效節點中確定可交互層;遍歷所述可交互層的子節點,根據子節點的屬性及類型,從所述可交互層的子節點中選取具有操作可能性的目標節點;將所述目標節點作為所述當前應用界面的可操作節點集合;向所述測試控制設備反饋所述可操作節點集入口 ο
【文檔編號】G06F11/36GK105988933SQ201610067809
【公開日】2016年10月5日
【申請日】2016年1月29日
【發明人】方亮, 荊彥青, 孫大偉, 許敏華, 楊君, 張偉
【申請人】騰訊科技(深圳)有限公司