1.一種應(yīng)用用戶(hù)界面的遍歷測(cè)試裝置,其特征在于,所述應(yīng)用用戶(hù)界面的遍歷測(cè)試裝置包括:
獲取模塊,用于獲取當(dāng)前目標(biāo)用戶(hù)界面的控件樹(shù),所述控件樹(shù)至少包括當(dāng)前目標(biāo)用戶(hù)界面上顯示的所有控件的相關(guān)信息;
遍歷模塊,用于根據(jù)所述相關(guān)信息,對(duì)當(dāng)前目標(biāo)用戶(hù)界面上顯示的各控件進(jìn)行遍歷,并生成當(dāng)前目標(biāo)用戶(hù)界面上可發(fā)生的若干用戶(hù)動(dòng)作;
模擬模塊,用于模擬執(zhí)行所述用戶(hù)動(dòng)作,并對(duì)模擬執(zhí)行所述用戶(hù)動(dòng)作后所對(duì)應(yīng)的第一用戶(hù)界面進(jìn)行截圖;
任務(wù)棧模塊,用于當(dāng)所述第一用戶(hù)界面中存在與當(dāng)前目標(biāo)用戶(hù)界面不同的若干第二用戶(hù)界面時(shí),將所述第二用戶(hù)界面加入任務(wù)棧中;
所述獲取模塊還用于:獲取所述任務(wù)棧的棧頂所對(duì)應(yīng)的用戶(hù)界面,并將該用戶(hù)界面作為當(dāng)前目標(biāo)用戶(hù)界面,其中,所述獲取模塊直至所述任務(wù)棧為空或滿(mǎn)足預(yù)置停止條件時(shí)停止獲取。
2.如權(quán)利要求1所述的應(yīng)用用戶(hù)界面的遍歷測(cè)試裝置,其特征在于,所述相關(guān)信息至少包括當(dāng)前用戶(hù)界面上顯示的所有控件的層次結(jié)構(gòu)信息、單個(gè)控件的屬性及屬性值;
所述遍歷模塊包括:
遍歷單元,用于根據(jù)所述層次結(jié)構(gòu)信息,對(duì)當(dāng)前目標(biāo)用戶(hù)界面上顯示的各控件進(jìn)行遍歷,并在遍歷控件時(shí),根據(jù)該控件的屬性及屬性值,判斷通過(guò)該控件是否可發(fā)生用戶(hù)動(dòng)作;
生成單元,用于若通過(guò)該控件可發(fā)生用戶(hù)動(dòng)作,則根據(jù)該控件的屬性及屬性值,或者還根據(jù)與該控件相關(guān)的其他相關(guān)控件的屬性及屬性值,生成通過(guò)該控件可發(fā)生的用戶(hù)動(dòng)作。
3.如權(quán)利要求2所述的應(yīng)用用戶(hù)界面的遍歷測(cè)試裝置,其特征在于,所述遍歷單元具體用于:
根據(jù)該控件的屬性及屬性值,判斷該控件是否具有可點(diǎn)擊屬性且可點(diǎn)擊屬性值為真,若是,則確定通過(guò)該控件可發(fā)生用戶(hù)動(dòng)作,其中,若該控件與其他控件存在關(guān)聯(lián)關(guān)系,則確定通過(guò)該控件可發(fā)生復(fù)合用戶(hù)動(dòng)作,若該控件與其他控件不存在關(guān)聯(lián)關(guān)系,則確定通過(guò)該控件可發(fā)生單一用戶(hù)動(dòng)作;
所述生成單元具體用于:
若通過(guò)該控件可發(fā)生復(fù)合用戶(hù)動(dòng)作,則根據(jù)該控件的屬性及屬性值,以及根據(jù)與該控件相關(guān)聯(lián)的其他相關(guān)控件的屬性及屬性值,生成通過(guò)該控件可發(fā)生的復(fù)合用戶(hù)動(dòng)作;或,
若通過(guò)該控件可發(fā)生單一用戶(hù)動(dòng)作,則根據(jù)該控件的屬性及屬性值,生成通過(guò)該控件可發(fā)生的單一用戶(hù)動(dòng)作。
4.如權(quán)利要求1-3中任一項(xiàng)所述的應(yīng)用用戶(hù)界面的遍歷測(cè)試裝置,其特征在于,所述應(yīng)用用戶(hù)界面的遍歷測(cè)試裝置還包括:
預(yù)處理模塊,用于解析待測(cè)試應(yīng)用程序安裝包中的應(yīng)用配置文件,以獲取該待測(cè)試應(yīng)用程序的安裝啟動(dòng)信息;根據(jù)所述安裝啟動(dòng)信息,安裝并啟動(dòng)該待測(cè)試應(yīng)用程序。
5.如權(quán)利要求4所述的應(yīng)用用戶(hù)界面的遍歷測(cè)試裝置,其特征在于,所述模擬模塊還用于:
按照各用戶(hù)界面之間的層級(jí)關(guān)系,保存對(duì)應(yīng)用戶(hù)界面的截圖,并在遍歷測(cè)試結(jié)束后將保存的截圖發(fā)送至外部設(shè)備進(jìn)行處理。
6.一種應(yīng)用用戶(hù)界面的遍歷測(cè)試方法,其特征在于,所述應(yīng)用用戶(hù)界面的遍歷測(cè)試方法包括步驟:
S1、獲取當(dāng)前目標(biāo)用戶(hù)界面的控件樹(shù),所述控件樹(shù)至少包括當(dāng)前目標(biāo)用戶(hù)界面上顯示的所有控件的相關(guān)信息;
S2、根據(jù)所述相關(guān)信息,對(duì)當(dāng)前目標(biāo)用戶(hù)界面上顯示的各控件進(jìn)行遍歷,并生成當(dāng)前目標(biāo)用戶(hù)界面上可發(fā)生的若干用戶(hù)動(dòng)作;
S3、模擬執(zhí)行所述用戶(hù)動(dòng)作,并對(duì)模擬執(zhí)行所述用戶(hù)動(dòng)作后所對(duì)應(yīng)的第一用戶(hù)界面進(jìn)行截圖;
S4、當(dāng)所述第一用戶(hù)界面中存在與當(dāng)前目標(biāo)用戶(hù)界面不同的若干第二用戶(hù)界面時(shí),將所述第二用戶(hù)界面加入任務(wù)棧中;
S5、獲取所述任務(wù)棧的棧頂所對(duì)應(yīng)的用戶(hù)界面,并將該用戶(hù)界面作為當(dāng)前目標(biāo)用戶(hù)界面,執(zhí)行步驟S1-S5,直至所述任務(wù)棧為空或滿(mǎn)足預(yù)置停止條件時(shí)退出。
7.如權(quán)利要求6所述的應(yīng)用用戶(hù)界面的遍歷測(cè)試方法,其特征在于,所述相關(guān)信息至少包括當(dāng)前用戶(hù)界面上顯示的所有控件的層次結(jié)構(gòu)信息、單個(gè)控件的屬性及屬性值;
所述根據(jù)所述相關(guān)信息,對(duì)當(dāng)前目標(biāo)用戶(hù)界面上顯示的各控件進(jìn)行遍歷,并生成當(dāng)前目標(biāo)用戶(hù)界面上可發(fā)生的若干用戶(hù)動(dòng)作包括:
根據(jù)所述層次結(jié)構(gòu)信息,對(duì)當(dāng)前目標(biāo)用戶(hù)界面上顯示的各控件進(jìn)行遍歷,并在遍歷控件時(shí),根據(jù)該控件的屬性及屬性值,判斷通過(guò)該控件是否可發(fā)生用戶(hù)動(dòng)作;
若通過(guò)該控件可發(fā)生用戶(hù)動(dòng)作,則根據(jù)該控件的屬性及屬性值,或者還根據(jù)與該控件相關(guān)的其他相關(guān)控件的屬性及屬性值,生成通過(guò)該控件可發(fā)生的用戶(hù)動(dòng)作。
8.如權(quán)利要求7所述的應(yīng)用用戶(hù)界面的遍歷測(cè)試方法,其特征在于,所述根據(jù)該控件的屬性及屬性值,判斷通過(guò)該控件是否可發(fā)生用戶(hù)動(dòng)作包括:
根據(jù)該控件的屬性及屬性值,判斷該控件是否具有可點(diǎn)擊屬性且可點(diǎn)擊屬性值為真,若是,則確定通過(guò)該控件可發(fā)生用戶(hù)動(dòng)作,其中,若該控件與其他控件存在關(guān)聯(lián)關(guān)系,則確定通過(guò)該控件可發(fā)生復(fù)合用戶(hù)動(dòng)作,若該控件與其他控件不存在關(guān)聯(lián)關(guān)系,則確定通過(guò)該控件可發(fā)生單一用戶(hù)動(dòng)作;
所述若通過(guò)該控件可發(fā)生用戶(hù)動(dòng)作,則根據(jù)該控件的屬性及屬性值,或者還根據(jù)與該控件相關(guān)的其他相關(guān)控件的屬性及屬性值,生成通過(guò)該控件可發(fā)生的用戶(hù)動(dòng)作包括:
若通過(guò)該控件可發(fā)生復(fù)合用戶(hù)動(dòng)作,則根據(jù)該控件的屬性及屬性值,以及根據(jù)與該控件相關(guān)聯(lián)的其他相關(guān)控件的屬性及屬性值,生成通過(guò)該控件可發(fā)生的復(fù)合用戶(hù)動(dòng)作;或,
若通過(guò)該控件可發(fā)生單一用戶(hù)動(dòng)作,則根據(jù)該控件的屬性及屬性值,生成通過(guò)該控件可發(fā)生的單一用戶(hù)動(dòng)作。
9.如權(quán)利要求6-8中任一項(xiàng)所述的應(yīng)用用戶(hù)界面的遍歷測(cè)試方法,其特征在于,所述獲取當(dāng)前目標(biāo)用戶(hù)界面的控件樹(shù)之前包括步驟:
解析待測(cè)試應(yīng)用程序安裝包中的應(yīng)用配置文件,以獲取該待測(cè)試應(yīng)用程序的安裝啟動(dòng)信息;
根據(jù)所述安裝啟動(dòng)信息,安裝并啟動(dòng)該待測(cè)試應(yīng)用程序。
10.如權(quán)利要求9所述的應(yīng)用用戶(hù)界面的遍歷測(cè)試方法,其特征在于,所述應(yīng)用用戶(hù)界面的遍歷測(cè)試方法還包括:
按照各用戶(hù)界面之間的層級(jí)關(guān)系,保存對(duì)應(yīng)用戶(hù)界面的截圖,并在遍歷測(cè)試結(jié)束后將保存的截圖發(fā)送至外部設(shè)備進(jìn)行處理。