欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

獲取控件的邏輯位置的方法及裝置制造方法

文檔序號:6485759閱讀:96來源:國知局
獲取控件的邏輯位置的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種獲取控件的邏輯位置的方法及裝置,屬于計算機【技術領域】。所述方法包括:獲取被測對象的界面內的控件的控件信息,根據所述控件信息建立所述界面內的控件之間的連接關系;根據所述連接關系生成所述界面內的控件的樹形結構;當獲取所述界面內待測控件的邏輯位置時,根據所述樹形結構獲取所述待測控件的邏輯位置。本發(fā)明還公開了一種獲取控件的邏輯位置的裝置,所述裝置包括:關聯模塊、生成模塊和第一獲取模塊。本發(fā)明通過根據繪制出的樹形結構直觀地獲取待測控件的邏輯位置,簡化了獲取待測控件的邏輯位置的操作,節(jié)省了大量的人力和時間,提高了獲取效率。
【專利說明】獲取控件的邏輯位置的方法及裝置
【技術領域】
[0001]本發(fā)明涉及計算機【技術領域】,特別涉及一種獲取控件的邏輯位置的方法及裝置?!颈尘凹夹g】
[0002]目前,自動化測試已越來越多地應用于測試領域,它不但節(jié)省了人力和時間,而且提高了測試效率。在為被測對象中的待測控件編寫測試腳本之前,測試人員需要獲取該待測控件在界面中的邏輯位置,以便根據該待測控件的邏輯位置編寫該待測控件的測試腳本。
[0003]現有技術通過Instruments自帶的UIAutomation工具獲取被測對象的界面內的控件的控件信息,并將該控件信息以文本形式存儲在Plist文件中,通過遍歷Plist文件即可獲知待測控件在界面中的邏輯位置,從而根據該邏輯位置編寫測試腳本。
[0004]在實現本發(fā)明的過程中,發(fā)明人發(fā)現現有技術至少存在以下缺點:
[0005]遍歷Plist文件中的控件信息獲知待測控件的邏輯位置,操作復雜,浪費了大量的人力和時間,效率較低。

【發(fā)明內容】

[0006]本發(fā)明實施例提供了一種獲取控件的邏輯位置的方法及裝置,以簡化獲取待測控件的邏輯位置的操作,提高獲取效率。所述技術方案如下:
[0007]—方面,提供了一種獲取控件的邏輯位置的方法,所述方法包括:
[0008]獲取被測對象的界面內的控件的控件信息,根據所述控件信息建立所述界面內的控件之間的連接關系;
[0009]根據所述連接關系生成所述界面內的控件的樹形結構;
[0010]當獲取所述界面內待測控件的邏輯位置時,根據所述樹形結構獲取所述待測控件的邏輯位置。
[0011]其中,獲取被測對象的界面內的控件的控件信息之前,還包括:
[0012]預先執(zhí)行腳本遍歷所述界面內的控件得到所述界面內的控件的控件信息;
[0013]按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件排列的原則,將得到的所述控件信息存儲在一個文件中。
[0014]具體地,獲取被測對象的界面內的控件的控件信息,根據所述控件信息建立所述界面內的控件之間的連接關系,包括:
[0015]從所述文件中順序讀取所述界面內的控件的控件信息,且依次將讀取的控件信息作為當前的控件信息,循環(huán)執(zhí)行以下步驟,直到所述文件中的控件信息讀取完畢:
[0016]根據所述當前的控件信息判斷對應的當前控件是否層級為I ;
[0017]如果是,則確定所述當前控件為根控件;
[0018]如果否,則在已讀取的控件信息中查找層級比所述當前控件的層級小I且位置最近的控件,將查找到的控件作為所述當前控件的父控件建立連接關系。[0019]進一步地,根據所述連接關系生成所述界面內的控件的樹形結構,包括:
[0020]根據所述連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制所述界面內的控件的樹形結構。
[0021]優(yōu)選地,根據所述樹形結構獲取所述待測控件的邏輯位置之后,還包括:
[0022]根據所述待測控件的邏輯位置確定根控件至所述待測控件的路徑,以用于對所述被測對象進行測試時所述待測控件的測試腳本的編寫。
[0023]另一方面,還提供了一種獲取控件的邏輯位置的裝置,所述裝置包括:
[0024]關聯模塊,用于獲取被測對象的界面內的控件的控件信息,根據所述控件信息建立所述界面內的控件之間的連接關系;
[0025]生成模塊,用于根據所述連接關系生成所述界面內的控件的樹形結構;
[0026]第一獲取模塊,用于當獲取所述界面內待測控件的邏輯位置時,根據所述樹形結構獲取所述待測控件的邏輯位置。
[0027]所述裝置還包括:
[0028]第二獲取模塊,用于預先執(zhí)行腳本遍歷所述界面內的控件得到所述界面內的控件的控件信息;
[0029]存儲模塊,用于按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件排列的原則,將得到的所述控件信息存儲在一個文件中。
[0030]所述關聯模塊包括:循環(huán)單元、判斷單元、第一關聯單元和第二關聯單元;
[0031]所述循環(huán)單元,用于從所述文件中順序讀取所述界面內的控件的控件信息,且依次將讀取的控件信息作為當前的控件信息,循環(huán)觸發(fā)所述判斷單元、第一關聯單元和第二關聯單元,直到所述文件中的控件信息讀取完畢:
[0032]所述判斷單元,用于根據所述當前的控件信息判斷對應的當前控件是否層級為I ;
[0033]所述第一關聯單元,用于當所述判斷單元判斷出當前的控件信息對應的當前控件層級為I時,確定所述當前控件為根控件;
[0034]所述第二關聯單元,用于當所述判斷單元判斷出當前的控件信息對應的當前控件層級不為I時,在已讀取的控件信息中查找層級比所述當前控件的層級小I且位置最近的控件,將查找到的控件作為所述當前控件的父控件建立連接關系。
[0035]所述生成模塊用于,根據所述連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制所述界面內的控件的樹形結構。
[0036]所述第一獲取模塊還用于,根據所述樹形結構獲取所述待測控件的邏輯位置之后,根據所述待測控件的邏輯位置確定根控件至所述待測控件的路徑,以用于對所述被測對象進行測試時所述待測控件的測試腳本的編寫。
[0037]本發(fā)明實施例提供的技術方案的有益效果是:
[0038]通過獲取被測對象的界面內的控件的控件信息,根據該控件信息建立界面內的控件之間的連接關系,并根據該連接關系生成界面內的控件的樹形結構,可根據該樹形結構直觀地獲取待測控件的邏輯位置,簡化了獲取待測控件的邏輯位置的操作,節(jié)省了大量的人力和時間,提聞了獲取效率。
[0039]通過根據連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制界面內的控件的樹形結構,可直觀地向用戶展現控件在界面中的邏輯位置,從而提聞獲取效率。
【專利附圖】

【附圖說明】
[0040]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0041]圖1是本發(fā)明實施例一提供的一種獲取控件的邏輯位置的方法流程圖;
[0042]圖2是本發(fā)明實施例二提供的一種獲取控件的邏輯位置的方法流程圖;
[0043]圖3是本發(fā)明實施例二提供的一種控件的層級關系示意圖;
[0044]圖4是本發(fā)明實施例二提供的一種控件信息的存儲結構示意圖;
[0045]圖5是本發(fā)明實施例二提供的一種控件信息的樹形結構示意圖;
[0046]圖6是本發(fā)明實施例三提供的一種獲取控件的邏輯位置的裝置的結構示意圖;
[0047]圖7是本發(fā)明實施例三提供的另一種獲取控件的邏輯位置的裝置的結構示意圖。
【具體實施方式】
[0048]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0049]本實施例涉及一種在被測對象的界面內獲取控件的邏輯位置的方法,所涉及的被測對象可以是任一具有Π界面的產品,包括但不限于硬件產品和軟件產品。所述硬件產品包括但不限于:手機、平板電腦、PDA (Personal Digital Assistant,個人數字助理)、播放器、服務器、計算機等;所述軟件產品包括但不限于:QQ、EXCEL和瀏覽器等。
[0050]另外,本發(fā)明的應用平臺包括但不限于IOS (iphone Operation System,蘋果操作系統)平臺,相應的,所述被測對象可以是基于IOS平臺開發(fā)出的應用程序,例如iphoneQQ> iphone 瀏覽器和 ipad QQMusicHD 等等。
[0051]實施例一
[0052]參見圖1,本實施例提供了一種獲取控件的邏輯位置的方法,該方法流程具體如下:
[0053]101:獲取被測對象的界面內的控件的控件信息,根據該控件信息建立界面內的控件之間的連接關系。
[0054]102:根據上述建立的連接關系生成界面內的控件的樹形結構。
[0055]103:當獲取界面內待測控件的邏輯位置時,根據上述生成的樹形結構獲取待測控件的邏輯位置。
[0056]其中,獲取被測對象的界面內的控件的控件信息之前,還包括:
[0057]預先執(zhí)行腳本遍歷界面內的控件得到界面內的控件的控件信息;
[0058]按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件排列的原則,將得到的控件信息存儲在一個文件中。
[0059]具體地,獲取被測對象的界面內的控件的控件信息,根據該控件信息建立界面內的控件之間的連接關系,包括:
[0060]從文件中順序讀取界面內的控件的控件信息,且依次將讀取的控件信息作為當前的控件信息,循環(huán)執(zhí)行以下步驟,直到文件中的控件信息讀取完畢:
[0061]根據當前的控件信息判斷對應的當前控件是否層級為I ;
[0062]如果是,則確定當前控件為根控件;
[0063]如果否,則在已讀取的控件信息中查找層級比當前控件的層級小I且位置最近的控件,將查找到的控件作為當前控件的父控件建立連接關系。
[0064]進一步地,根據上述建立的連接關系生成界面內的控件的樹形結構,包括:
[0065]根據上述建立的連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制界面內的控件的樹形結構。
[0066]優(yōu)選地,根據上述生成的樹形結構獲取待測控件的邏輯位置之后,還包括:
[0067]根據待測控件的邏輯位置確定根控件至待測控件的路徑,以用于對被測對象進行測試時待測控件的測試腳本的編寫。
[0068]本實施例提供的上述方法,通過獲取被測對象的界面內的控件的控件信息,根據該控件信息建立界面內的控件之間的連接關系,并根據該連接關系生成界面內的控件的樹形結構,可根據該樹形結構直觀地獲取待測控件的邏輯位置,簡化了獲取待測控件的邏輯位置的操作,節(jié)省了大量的人力和時間,提高了獲取效率。
[0069]通過根據連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制界面內的控件的樹形結構,可直觀地向用戶展現控件在界面中的邏輯位置,從而提聞獲取效率。
[0070]實施例二
[0071]參見圖2,本實施例提供了一種獲取控件的邏輯位置的方法,該方法流程具體如下:
[0072]201:預先執(zhí)行腳本遍歷被測對象的界面內的控件得到界面內的控件的控件信息。
[0073]本實施例將自動化測試中的測試對象稱為被測對象,通過運行預先編寫的被測對象的測試腳本,可對被測對象進行性能測試和壓力測試。被測對象可以包含一個或者多個界面,每一個界面可以包含一個或者多個控件,通常為多個控件。其中,控件是一種n(UserInterface,用戶界面)元素,為用戶提供單獨的互動操作。例如,所述被測對象是音樂播放器時,其包含的界面包括但不限于播放列表界面、歌詞顯示界面、歌曲搜索界面等等,當選定的界面是歌曲搜索界面時,該界面內的控件可以是文本框、按鈕和信息欄等等。
[0074]控件信息是控件的描述信息,包括控件的層級、類型和名稱。優(yōu)選地,控件信息還包括控件的值、控件在界面中的坐標以及長和寬等等。其中,控件的層級用來描述界面中控件的層次關系,層級越小,所述層級對應的控件在界面中的層次越高;層級越大,所述層級對應的控件在界面中的層次越低。具體地,以最小層級為I對控件的層級設置過程進行說明。參見圖3,假設界面中包含A、B、C、D、E和F這6個控件,所述控件之間的關系是A為根控件,B和C為A的子控件,D和E為B的子控件,F為C的子控件,則A的層級為1,B和C的層級為2,D、E和F的層級為3。
[0075]本實施例中,腳本是使用特定的描述語言、依據特定的格式編寫的可執(zhí)行文件。通過執(zhí)行預先編寫的腳本,即可得到界面內的控件的控件信息,此處不贅述。[0076]202:按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件排列的原則,將得到的控件信息存儲在一個文件中。
[0077]參見圖4,仍以上述A、B、C、D、E和F這6個控件為例對步驟202進行說明。具體地,遵循按照控件層級數由小到大的順序排列的原則,首先對A進行存儲,然后存儲A的子控件B,由于B包含子控件D和E,遵循子控件優(yōu)于同級控件排列的原則,優(yōu)先對B的子控件D和E進行存儲,由于D和E均未包含子控件,則對B的同級控件C進行存儲,最后存儲C的子控件F,因此,文件中控件信息的排列順序為ABDECF。
[0078]203:從文件中順序讀取界面內的控件的控件信息,根據該控件信息建立界面內的控件之間的連接關系。
[0079]本步驟具體包括:
[0080]從文件中順序讀取界面內的控件的控件信息,且依次將讀取的控件信息作為當前的控件信息,循環(huán)執(zhí)行以下步驟,直到文件中的控件信息讀取完畢:
[0081]根據當前的控件信息判斷對應的當前控件是否層級為I ;
[0082]如果是,則確定當前控件為根控件;
[0083]如果否,則在已讀取的控件信息中查找層級比當前控件的層級小I且位置最近的控件,將查找到的控件作為當前控件的父控件建立連接關系。
[0084]具體地,仍以上述A、B、C、D、E和F這6個控件為例進行說明,則控件信息的讀取順序為ABDECF,建立界面內的控件之間的連接關系的步驟如下:
[0085]①讀取A的控件信息中的層級,所述層級為1,則確定A為根控件;
[0086]②讀取B的控件信息中的層級,所述層級為2,且已讀取的控件中與B位置最近的控件是A,則判斷A的層級是否比B的層級小1,由于A的層級比B的層級小1,則確定A為B的父控件;
[0087]③讀取D的控件信息中的層級,所述層級為3,且已讀取的控件中與D位置最近的控件是B,則判斷B的層級是否比D的層級小1,由于B的層級比D的層級小1,則確定B為D的父控件;
[0088]④讀取E的控件信息中的層級,所述層級為3,且已讀取的控件中與E位置最近的控件是D,則判斷D的層級是否比E的層級小1,由于D的層級與E的層級相等,則獲取D的父控件B的層級,判斷B的層級是否比E的層級小1,由于B的層級比E的層級小1,則確定B為E的父控件;
[0089]⑤讀取C的控件信息中的層級,所述層級為2,且已讀取的控件中與C位置最近的控件是E,則判斷E的層級是否比C的層級小1,由于E的層級比C的層級大1,則獲取E的父控件B的層級,判斷B的層級是否比C的層級小1,由于B的層級與C的層級相等,則獲取B的父控件A的層級,判斷A的層級是否比C的層級小1,由于A的層級比C的層級小1,則確定A為E的父控件;
[0090]⑥讀取F的控件信息中的層級,所述層級為3,且已讀取的控件中與F位置最近的控件是C,則判斷C的層級是否比F的層級小1,由于C的層級比F的層級小1,則確定C為F的父控件;
[0091]根據上述6個步驟即可建立A、B、C、D、E和F之間的連接關系。
[0092]204:根據上述建立的連接關系生成界面內的控件的樹形結構。[0093]本實施例中,根據上述建立的連接關系生成界面內的控件的樹形結構包括:
[0094]根據上述建立的連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制界面內的控件的樹形結構。
[0095]參見圖5,仍以上述A、B、C、D、E和F這6個控件為例進行說明,根據步驟203中建立的連接關系,遵循按照控件層級數由小到大的順序繪制的原則,首先對A進行繪制,然后繪制A的子控件B,由于B包含子控件D和E,遵循子控件優(yōu)于同級控件繪制的原則,優(yōu)先對B的子控件D和E進行繪制,由于D和E均未包含子控件,則對B的同級控件C進行繪制,最后繪制C的子控件F,即完成界面內的控件的樹形結構的繪制。
[0096]進一步地,繪制樹形結構中的控件節(jié)點時,可以在該節(jié)點中列出該控件的部分或所有控件信息,用來標識該控件。優(yōu)選地,在所述節(jié)點中列出該控件的類型和名稱,根據該控件的類型和名稱即可唯一地標識該控件,以提高繪制效率。
[0097]本實施例中,生成的樹形結構以.png為后綴名進行存儲,一般默認存儲在腳本執(zhí)行程序的目錄下。優(yōu)選地,還可指定所述樹形結構的存儲路徑,以方便測試人員對該樹形結構進行查看。
[0098]205:當獲取界面內待測控件的邏輯位置時,根據上述生成的樹形結構獲取待測控件的邏輯位置。
[0099]本實施例中,邏輯位置是控件在界面中的位置,通過樹形結構可直觀地獲取到。
[0100]優(yōu)選地,根據上述生成的樹形結構獲取待測控件的邏輯位置之后,還包括:根據待測控件的邏輯位置確定根控件至待測控件的路徑,以用于對被測對象進行測試時待測控件的測試腳本的編寫。
[0101]仍以上述A、B、C、D、E和F這6個控件為例進行說明,假設E為待測控件,則通過樹形結構獲取E在界面中的邏輯位置,即可快速確定出A至E的路徑為A->B->E,從而根據該路徑編寫E的測試腳本。
[0102]本實施例提供的上述方法,通過獲取被測對象的界面內的控件的控件信息,根據該控件信息建立界面內的控件之間的連接關系,并根據該連接關系生成界面內的控件的樹形結構,可根據該樹形結構直觀地獲取待測控件的邏輯位置,簡化了獲取待測控件的邏輯位置的操作,節(jié)省了大量的人力和時間,提高了獲取效率。
[0103]通過根據連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制界面內的控件的樹形結構,可直觀地向用戶展現控件在界面中的邏輯位置,從而提聞獲取效率。
[0104]實施例三
[0105]參見圖6,本實施例提供了一種獲取控件的邏輯位置的裝置,該裝置包括:
[0106]關聯模塊601,用于獲取被測對象的界面內的控件的控件信息,根據該控件信息建立界面內的控件之間的連接關系;
[0107]生成模塊602,用于根據關聯模塊601建立的連接關系生成界面內的控件的樹形結構;
[0108]第一獲取模塊603,用于當獲取界面內待測控件的邏輯位置時,根據生成模塊602生成的樹形結構獲取待測控件的邏輯位置。
[0109]參見圖7,本實施例中,所述裝置還包括:[0110]第二獲取模塊604,用于預先執(zhí)行腳本遍歷界面內的控件得到界面內的控件的控件信息;
[0111]存儲模塊605,用于按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件排列的原則,將第二獲取模塊604得到的控件信息存儲在一個文件中。
[0112]參見圖7,本實施例中,關聯模塊601包括:循環(huán)單元601A、判斷單元601B、第一關聯單元601C和第二關聯單元601D ;
[0113]循環(huán)單元601A,用于從文件中順序讀取界面內的控件的控件信息,且依次將讀取的控件信息作為當前的控件信息,循環(huán)觸發(fā)判斷單元601B、第一關聯單元601C和第二關聯單元601D,直到文件中的控件信息讀取完畢:
[0114]判斷單元601B,用于根據當前的控件信息判斷對應的當前控件是否層級為I ;
[0115]第一關聯單元601C,用于當判斷單元601B判斷出當前的控件信息對應的當前控件層級為I時,確定當前控件為根控件;
[0116]第二關聯單元601D,用于當判斷單元601B判斷出當前的控件信息對應的當前控件層級不為I時,在已讀取的控件信息中查找層級比當前控件的層級小I且位置最近的控件,將查找到的控件作為當前控件的父控件建立連接關系。
[0117]本實施例中,生成模塊602用于,根據連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制界面內的控件的樹形結構。
[0118]本實施例中,第一獲取模塊603還用于,根據樹形結構獲取待測控件的邏輯位置之后,根據待測控件的邏輯位置確定根控件至待測控件的路徑,以用于對被測對象進行測試時待測控件的測試腳本的編寫。
[0119]本實施例提供的上述獲取控件的邏輯位置的裝置,可以執(zhí)行上述任一方法實施例中提供的獲取控件的邏輯位置的方法,具體過程詳見方法實施例中的描述,此處不贅述。
[0120]本實施例提供的獲取控件的邏輯位置的裝置,通過獲取被測對象的界面內的控件的控件信息,根據該控件信息建立界面內的控件之間的連接關系,并根據該連接關系生成界面內的控件的樹形結構,可根據該樹形結構直觀地獲取待測控件的邏輯位置,簡化了獲取待測控件的邏輯位置的操作,節(jié)省了大量的人力和時間,提高了獲取效率。
[0121]通過根據連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制界面內的控件的樹形結構,可直觀地向用戶展現控件在界面中的邏輯位置,從而提聞獲取效率。
[0122]需要說明的是:上述實施例提供的獲取控件的邏輯位置的裝置在獲取控件的邏輯位置時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的獲取控件的邏輯位置的裝置與獲取控件的邏輯位置的方法實施例屬于同一構思,其具體實現過程詳見方法實施例,這里不再贅述。
[0123]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0124]本發(fā)明實施例中的全部或部分步驟,可以利用軟件實現,相應的軟件程序可以存儲在可讀取的存儲介質中,如光盤或硬盤等。
[0125]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種獲取控件的邏輯位置的方法,其特征在于,所述方法包括: 獲取被測對象的界面內的控件的控件信息,根據所述控件信息建立所述界面內的控件之間的連接關系; 根據所述連接關系生成所述界面內的控件的樹形結構; 當獲取所述界面內待測控件的邏輯位置時,根據所述樹形結構獲取所述待測控件的邏輯位置。
2.根據權利要求1所述的方法,其特征在于,獲取被測對象的界面內的控件的控件信息之前,還包括: 預先執(zhí)行腳本遍歷所述界面內的控件得到所述界面內的控件的控件信息; 按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件排列的原則,將得到的所述控件信息存儲在一個文件中。
3.根據權利要求2所述的方法,其特征在于,獲取被測對象的界面內的控件的控件信息,根據所述控件信息建立所述界面內的控件之間的連接關系,包括: 從所述文件中順序讀取所述界面內的控件的控件信息,且依次將讀取的控件信息作為當前的控件信息,循環(huán)執(zhí)行以下步驟,直到所述文件中的控件信息讀取完畢: 根據所述當前的控件信息判斷對應的當前控件是否層級為I ; 如果是,則確定所述當前控件為根控件;` 如果否,則在已讀取的控件信息中查找層級比所述當前控件的層級小I且位置最近的控件,將查找到的控件作為所述當前控件的父控件建立連接關系。
4.根據權利要求1所述的方法,其特征在于,根據所述連接關系生成所述界面內的控件的樹形結構,包括: 根據所述連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制所述界面內的控件的樹形結構。
5.根據權利要求1所述的方法,其特征在于,根據所述樹形結構獲取所述待測控件的邏輯位置之后,還包括: 根據所述待測控件的邏輯位置確定根控件至所述待測控件的路徑,以用于對所述被測對象進行測試時所述待測控件的測試腳本的編寫。
6.一種獲取控件的邏輯位置的裝置,其特征在于,所述裝置包括: 關聯模塊,用于獲取被測對象的界面內的控件的控件信息,根據所述控件信息建立所述界面內的控件之間的連接關系; 生成模塊,用于根據所述關聯模塊建立的連接關系生成所述界面內的控件的樹形結構; 第一獲取模塊,用于當獲取所述界面內待測控件的邏輯位置時,根據所述生成模塊生成的樹形結構獲取所述待測控件的邏輯位置。
7.根據權利要求6所述的裝置,其特征在于,所述裝置還包括: 第二獲取模塊,用于預先執(zhí)行腳本遍歷所述界面內的控件得到所述界面內的控件的控件信息; 存儲模塊,用于按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件排列的原則,將所述第二獲取模塊得到的所述控件信息存儲在一個文件中。
8.根據權利要求7所述的裝置,其特征在于,所述關聯模塊包括:循環(huán)單元、判斷單元、第一關聯單元和第二關聯單元; 所述循環(huán)單元,用于從所述文件中順序讀取所述界面內的控件的控件信息,且依次將讀取的控件信息作為當前的控件信息,循環(huán)觸發(fā)所述判斷單元、第一關聯單元和第二關聯單元,直到所述文件中的控件信息讀取完畢: 所述判斷單元,用于根據所述當前的控件信息判斷對應的當前控件是否層級為I ; 所述第一關聯單元,用于當所述判斷單元判斷出當前的控件信息對應的當前控件層級為I時,確定所述當前控件為根控件; 所述第二關聯單元,用于當所述判斷單元判斷出當前的控件信息對應的當前控件層級不為I時,在已讀取的控件信息中查找層級比所述當前控件的層級小I且位置最近的控件,將查找到的控件作為所述當前控件的父控件建立連接關系。
9.根據權利要求6所述的裝置,其特征在于,所述生成模塊用于,根據所述連接關系,按照控件層級數由小到大的順序、且子控件優(yōu)于同級控件繪制的原則,繪制所述界面內的控件的樹形結構。
10.根據權利要求6所述的裝置,其特征在于,所述第一獲取模塊還用于,根據所述樹形結構獲取所述待測控件的邏輯位置之后,根據所述待測控件的邏輯位置確定根控件至所述待測控件的路徑,以用 于對所述被測對象進行測試時所述待測控件的測試腳本的編寫。
【文檔編號】G06F11/36GK103455414SQ201210180795
【公開日】2013年12月18日 申請日期:2012年6月4日 優(yōu)先權日:2012年6月4日
【發(fā)明者】楊海燕 申請人:騰訊科技(深圳)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大悟县| 丰都县| 贵溪市| 潼南县| 共和县| 富源县| 攀枝花市| 遵义县| 绥化市| 康马县| 阿拉善盟| 措勤县| 邻水| 延长县| 金坛市| 合山市| 务川| 织金县| 怀柔区| 深州市| 扶风县| 洪洞县| 公安县| 同仁县| 贵德县| 水城县| 长乐市| 鄢陵县| 湘乡市| 延津县| 新津县| 阿合奇县| 杭锦旗| 恩平市| 香河县| 双城市| 马鞍山市| 启东市| 东丰县| 大悟县| 泰顺县|