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

應(yīng)用程序的測(cè)試方法及裝置與流程

文檔序號(hào):12801965閱讀:253來(lái)源:國(guó)知局
應(yīng)用程序的測(cè)試方法及裝置與流程

本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序的測(cè)試方法及裝置。



背景技術(shù):

傳統(tǒng)技術(shù)中,在對(duì)應(yīng)用程序進(jìn)行測(cè)試時(shí)(此處的應(yīng)用程序可以包括多個(gè)頁(yè)面,因此對(duì)應(yīng)用程序的測(cè)試即為對(duì)各個(gè)頁(yè)面的測(cè)試),通常不對(duì)當(dāng)前頁(yè)面與當(dāng)前頁(yè)面發(fā)生改變后的頁(yè)面或者跳轉(zhuǎn)后的頁(yè)面的相似度值進(jìn)行計(jì)算,也即不關(guān)心頁(yè)面發(fā)生改變或者跳轉(zhuǎn)之后頁(yè)面的變化情況,而在頁(yè)面變化比較大時(shí),有可能會(huì)出現(xiàn)頁(yè)面發(fā)生改變或者跳轉(zhuǎn)之后,無(wú)法返回至之前的頁(yè)面的情況,由此會(huì)導(dǎo)致無(wú)法對(duì)應(yīng)用程序的所有頁(yè)面進(jìn)行測(cè)試的問(wèn)題,這影響了對(duì)應(yīng)用程序測(cè)試的準(zhǔn)確性。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)描述了一種應(yīng)用程序的測(cè)試方法及裝置,可以提高對(duì)應(yīng)用程序測(cè)試的準(zhǔn)確性。

第一方面,提供了一種應(yīng)用程序的測(cè)試方法,該方法包括:

從應(yīng)用程序的至少一個(gè)頁(yè)面中選取第一頁(yè)面;

對(duì)所述第一頁(yè)面進(jìn)行測(cè)試,其中,對(duì)所述第一頁(yè)面進(jìn)行測(cè)試的步驟包括:

確定所述第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面;

計(jì)算所述第一頁(yè)面與所述第一目標(biāo)頁(yè)面的相似度值;

根據(jù)所述相似度值,確定是否中斷對(duì)所述第一頁(yè)面進(jìn)行測(cè)試的步驟;

若是,則中斷對(duì)所述第一頁(yè)面進(jìn)行測(cè)試的步驟,并在對(duì)所述至少一個(gè)頁(yè)面中的其它頁(yè)面測(cè)試完成后,繼續(xù)對(duì)所述第一頁(yè)面進(jìn)行測(cè)試;

根據(jù)對(duì)所述第一頁(yè)面進(jìn)行測(cè)試的步驟,對(duì)所述其它頁(yè)面進(jìn)行測(cè)試。

第二方面,提供了一種應(yīng)用程序的測(cè)試裝置,該裝置包括:

選取單元,用于從應(yīng)用程序的至少一個(gè)頁(yè)面中選取第一頁(yè)面;

測(cè)試單元,用于對(duì)所述選取單元選取的所述第一頁(yè)面進(jìn)行測(cè)試,其中,所述測(cè)試單元包括:

確定單元,用于確定所述第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面;

計(jì)算單元,用于計(jì)算所述第一頁(yè)面與所述確定單元確定的所述第一目標(biāo)頁(yè)面的相似度值;

所述確定單元,還用于根據(jù)所述計(jì)算單元計(jì)算的所述相似度值,確定是否中斷對(duì)所述第一頁(yè)面進(jìn)行測(cè)試的步驟;

處理單元,用于中斷對(duì)所述第一頁(yè)面進(jìn)行測(cè)試的步驟,并在對(duì)所述至少一個(gè)頁(yè)面中的其它頁(yè)面測(cè)試完成后,繼續(xù)對(duì)所述第一頁(yè)面進(jìn)行測(cè)試;

所述測(cè)試單元,還用于根據(jù)對(duì)所述第一頁(yè)面進(jìn)行測(cè)試的步驟,對(duì)所述其它頁(yè)面進(jìn)行測(cè)試。

本申請(qǐng)?zhí)峁┑膽?yīng)用程序的測(cè)試方法及裝置,在對(duì)應(yīng)用程序的某個(gè)頁(yè)面進(jìn)行測(cè)試時(shí),首先獲取與該頁(yè)面相關(guān)聯(lián)的頁(yè)面,并計(jì)算該頁(yè)面與相關(guān)聯(lián)的頁(yè)面的相似度值。之后根據(jù)相似度值,來(lái)確定是否中斷對(duì)該頁(yè)面的測(cè)試,若是,則中斷對(duì)該頁(yè)面的測(cè)試,并在應(yīng)用程序中的其它頁(yè)面測(cè)試完成之后,再繼續(xù)對(duì)該頁(yè)面進(jìn)行測(cè)試,以此來(lái)達(dá)到對(duì)應(yīng)用程序的所有頁(yè)面進(jìn)行測(cè)試的目的,這提高了應(yīng)用程序測(cè)試的準(zhǔn)確性。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。

圖1為本申請(qǐng)一種實(shí)施例提供的應(yīng)用程序的測(cè)試方法流程圖;

圖2為本申請(qǐng)另一種實(shí)施例提供的應(yīng)用程序的測(cè)試方法流程圖;

圖3為本申請(qǐng)一種實(shí)施例提供的應(yīng)用程序的測(cè)試裝置示意圖。

具體實(shí)施方式

下面結(jié)合附圖,對(duì)本發(fā)明的實(shí)施例進(jìn)行描述。

本申請(qǐng)實(shí)施例提供的應(yīng)用程序的測(cè)試方法及裝置適用于對(duì)包括多個(gè)頁(yè)面的應(yīng)用程序進(jìn)行測(cè)試的場(chǎng)景。上述頁(yè)面可以包括多個(gè)頁(yè)面元素,其中,每個(gè)頁(yè)面元素可以與頁(yè)面的文件對(duì)象模型(documentobjectmodel,dom)樹(shù)中的節(jié)點(diǎn)相對(duì)應(yīng)。本申請(qǐng)中,可以將與dom樹(shù)中的葉子節(jié)點(diǎn)相對(duì)應(yīng)的頁(yè)面元素稱為目標(biāo)頁(yè)面元素,當(dāng)頁(yè)面中有效的目標(biāo)頁(yè)面元素被觸發(fā)時(shí),可以使該頁(yè)面發(fā)生改變或者可以跳轉(zhuǎn)至其它頁(yè)面。需要說(shuō)明的是,本申請(qǐng)中的目標(biāo)頁(yè)面元素是指有效的頁(yè)面元素,其觸發(fā)方式可以包括:測(cè)試腳本觸發(fā),或者用戶點(diǎn)擊頁(yè)面中與目標(biāo)頁(yè)面元素相對(duì)應(yīng)的內(nèi)容觸發(fā),其中,頁(yè)面中與目標(biāo)頁(yè)面元素相對(duì)應(yīng)的內(nèi)容可以為圖片控件、音頻控件以及文本控件等,其可以采用可擴(kuò)展標(biāo)記語(yǔ)言(extensiblemarkuplanguage,xml)格式文檔表示。

圖1為本申請(qǐng)一種實(shí)施例提供的應(yīng)用程序的測(cè)試方法流程圖。所述方法的執(zhí)行主體可以為具有處理能力的設(shè)備:服務(wù)器或者系統(tǒng)或者裝置,如測(cè)試腳本,如圖1所示,所述方法具體可以包括:

步驟110,從應(yīng)用程序的至少一個(gè)頁(yè)面中選取第一頁(yè)面。

本申請(qǐng)的應(yīng)用程序可以包括至少一個(gè)頁(yè)面,其中,第一頁(yè)面可以為至少一個(gè)頁(yè)面中的任一頁(yè)面,如,可以為首頁(yè)頁(yè)面,也可以為其它頁(yè)面。

步驟120,對(duì)第一頁(yè)面進(jìn)行測(cè)試。

需要說(shuō)明的是,本申請(qǐng)中,對(duì)應(yīng)用程序進(jìn)行測(cè)試,就是對(duì)應(yīng)用程序的各個(gè)頁(yè)面一一進(jìn)行測(cè)試。

其中,對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟包括:

1201,確定第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面。

此處,第一目標(biāo)頁(yè)面可以是指第一頁(yè)面發(fā)生改變后的頁(yè)面,也可以是指跳轉(zhuǎn)至的其它頁(yè)面。

可選地,在執(zhí)行步驟1201之前,本申請(qǐng)的實(shí)施例還可以包括如下步驟:

步驟a,獲取第一頁(yè)面對(duì)應(yīng)的頁(yè)面元素集合。

在一個(gè)例子中,可以通過(guò)谷歌(google)公司的uiautomatorviewer工具來(lái)獲取頁(yè)面元素集合中的頁(yè)面元素。

其中,上述頁(yè)面元素集合中可以包括至少一個(gè)頁(yè)面元素,此處的頁(yè)面元素可以是指第一頁(yè)面對(duì)應(yīng)的源代碼中由xml標(biāo)簽標(biāo)識(shí)的代碼,或者包含在兩個(gè)相對(duì)應(yīng)的xml標(biāo)簽中的代碼等。在一個(gè)例子中,xml標(biāo)簽標(biāo)識(shí)的代碼可以舉例為:<mergeaaaaaa>,此處的“merge”即為xml標(biāo)簽;包含在兩個(gè)相對(duì)應(yīng)的xml標(biāo)簽中的代碼可以舉例為:

<mergeaaaaaa>

<bbbbbbbbbbb>

</merge>

上述“<merge>”和“</merge>”即為兩個(gè)相對(duì)應(yīng)的xml標(biāo)簽,而“<bbbbbbbbbbb>”即為包含在兩個(gè)相對(duì)應(yīng)的xml標(biāo)簽中的代碼。

當(dāng)然,在實(shí)際應(yīng)用中,頁(yè)面元素也可以不限于如上兩種形式,其還可以為其它的形式,只需其在第一頁(yè)面中對(duì)應(yīng)的內(nèi)容為xml格式的文檔,如:圖片控件、音頻控件以及文本控件等即可,本申請(qǐng)對(duì)此不作限定。

步驟b,從頁(yè)面元素集合中選取至少一個(gè)目標(biāo)頁(yè)面元素。

在一種實(shí)現(xiàn)方式中,可以結(jié)合第一頁(yè)面對(duì)應(yīng)的dom樹(shù)來(lái)選取目標(biāo)頁(yè)面元素,此處的dom樹(shù)由至少一個(gè)節(jié)點(diǎn)構(gòu)成,其中,節(jié)點(diǎn)的類型可以包括:根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)等。該dom樹(shù)的節(jié)點(diǎn)與頁(yè)面元素集合中的頁(yè)面元素一一對(duì)應(yīng),具體過(guò)程可以為:從dom樹(shù)的節(jié)點(diǎn)中選取至少一個(gè)葉子節(jié)點(diǎn),將選取的至少一個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的頁(yè)面元素作為至少一個(gè)目標(biāo)頁(yè)面元素。

在還執(zhí)行上述步驟a-步驟b的情況下,確定第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面的過(guò)程可以為:從至少一個(gè)目標(biāo)頁(yè)面元素中選取第一目標(biāo)頁(yè)面元素,將該第一目標(biāo)頁(yè)面元素對(duì)應(yīng)的頁(yè)面作為第一目標(biāo)頁(yè)面。此處,第一目標(biāo)頁(yè)面元素對(duì)應(yīng)的頁(yè)面可以是指:在第一目標(biāo)頁(yè)面元素被觸發(fā)時(shí),第一頁(yè)面發(fā)生改變后的頁(yè)面或者跳轉(zhuǎn)至的其它頁(yè)面。在一個(gè)例子中,當(dāng)用戶點(diǎn)擊第一頁(yè)面中與第一目標(biāo)頁(yè)面元素相對(duì)應(yīng)的內(nèi)容(如,上述圖片控件、音頻控件以及文本控件等)時(shí),該第一目標(biāo)頁(yè)面元素被觸發(fā),當(dāng)然也可能是由測(cè)試腳本觸發(fā)。

當(dāng)然,在實(shí)際應(yīng)用中,在執(zhí)行步驟1201之前,還可以先判斷第一頁(yè)面是否已經(jīng)發(fā)生了跳轉(zhuǎn),若未發(fā)生跳轉(zhuǎn),則確定第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面;若已經(jīng)發(fā)生了跳轉(zhuǎn),則確定跳轉(zhuǎn)后的新的頁(yè)面,并根據(jù)對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟,對(duì)新的頁(yè)面進(jìn)行測(cè)試,在對(duì)新的頁(yè)面測(cè)試完成后,再確定第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面。

步驟1202,計(jì)算第一頁(yè)面與第一目標(biāo)頁(yè)面的相似度值。

此處,可以是根據(jù)預(yù)設(shè)的算法,來(lái)計(jì)算第一頁(yè)面與第一目標(biāo)頁(yè)面的相似度值。如,根據(jù)漢明距離算法等,來(lái)計(jì)算第一頁(yè)面與第一目標(biāo)頁(yè)面的相似度值。其中,頁(yè)面之間相似度值的計(jì)算屬于傳統(tǒng)常規(guī)技術(shù),在此不復(fù)贅述。

步驟1203,根據(jù)相似度值,確定是否中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟。

具體地,可以判斷相似度值是否在預(yù)設(shè)的范圍內(nèi),若相似度值在預(yù)設(shè)的范圍內(nèi),則不中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟;若相似度值不在預(yù)設(shè)的范圍內(nèi),則中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟。

在一個(gè)例子中,預(yù)設(shè)的范圍可以設(shè)定為:[80%,100%],因?yàn)橄嗨贫戎底畲罂梢詾?00%,所以當(dāng)相似度值不在預(yù)設(shè)的范圍內(nèi),則該相似度值<80%。而容易理解的是,兩個(gè)頁(yè)面的相似度值越大,則該兩個(gè)頁(yè)面越相似;而兩個(gè)頁(yè)面的相似度值越小,則兩個(gè)頁(yè)面差別越大。結(jié)合實(shí)際可知,若兩個(gè)頁(yè)面差別比較大時(shí),也即頁(yè)面變化比較大時(shí),有可能會(huì)出現(xiàn)頁(yè)面發(fā)生改變或者跳轉(zhuǎn)之后,無(wú)法返回至之前的頁(yè)面的情況,由此就有可能會(huì)導(dǎo)致無(wú)法對(duì)應(yīng)用程序的所有頁(yè)面進(jìn)行測(cè)試的問(wèn)題,所以本申請(qǐng)對(duì)該種情況進(jìn)行了識(shí)別。當(dāng)然,在實(shí)際應(yīng)用中,上述預(yù)設(shè)的范圍的下限值80%也可以設(shè)定為其它值,如,75%等,本申請(qǐng)對(duì)此不作限定。

本申請(qǐng)中,頁(yè)面變化可以是指頁(yè)面布局的變化,如,xml標(biāo)簽的變化。

步驟1204,若否,則繼續(xù)對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟。

此處,繼續(xù)對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟是指繼續(xù)執(zhí)行上述步驟1201-步驟1203,也即重新確定與第一頁(yè)面相關(guān)聯(lián)的第二目標(biāo)頁(yè)面,此處的第二目標(biāo)頁(yè)面與上述第一目標(biāo)頁(yè)面的定義相同,即為與頁(yè)面元素集合中的第二目標(biāo)頁(yè)面元素相對(duì)應(yīng)的頁(yè)面。并計(jì)算第一頁(yè)面與第二目標(biāo)頁(yè)面的相似度值,之后根據(jù)相似度值來(lái)確定是否中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟;依次類推,直至中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟或者計(jì)算完成第一頁(yè)面與所有相關(guān)聯(lián)的目標(biāo)頁(yè)面的相似度值(也即計(jì)算完成第一頁(yè)面與頁(yè)面元素集合中所有的目標(biāo)頁(yè)面元素對(duì)應(yīng)的頁(yè)面的相似度值)。

步驟1205,若是,則中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟,并在對(duì)至少一個(gè)頁(yè)面中的其它頁(yè)面測(cè)試完成后,繼續(xù)對(duì)第一頁(yè)面進(jìn)行測(cè)試。

即當(dāng)確定相似度值不在預(yù)設(shè)的范圍內(nèi),則中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟。

需要說(shuō)明的是,在中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試之后,可以將第一目標(biāo)頁(yè)面元素標(biāo)記為有效元素,由此來(lái)縮減后續(xù)測(cè)試耗時(shí)。此外,還可以執(zhí)行壓棧的操作,以達(dá)到保留現(xiàn)場(chǎng)的作用。之后,在對(duì)至少一個(gè)頁(yè)面中的其它頁(yè)面測(cè)試完成之后,可以通過(guò)出棧操作,來(lái)恢復(fù)現(xiàn)場(chǎng),從而可以繼續(xù)對(duì)第一頁(yè)面進(jìn)行測(cè)試,由此來(lái)達(dá)到對(duì)應(yīng)用程序的所有頁(yè)面進(jìn)行測(cè)試的目的。

還需要說(shuō)明的是,在恢復(fù)現(xiàn)場(chǎng)之后,繼續(xù)對(duì)第一頁(yè)面進(jìn)行測(cè)試的過(guò)程可以為:確定第一頁(yè)面相關(guān)聯(lián)的其它目標(biāo)頁(yè)面,此處的其它目標(biāo)頁(yè)面與上述第一、二目標(biāo)頁(yè)面的定義相同,即為與頁(yè)面元素集合中另外的目標(biāo)頁(yè)面元素相對(duì)應(yīng)的頁(yè)面。并計(jì)算第一頁(yè)面與其它目標(biāo)頁(yè)面的相似度值,若相似度值在預(yù)設(shè)的范圍內(nèi),則繼續(xù)執(zhí)行上述步驟;而若相似度值不在預(yù)設(shè)的范圍內(nèi),則將目標(biāo)頁(yè)面相對(duì)應(yīng)的目標(biāo)頁(yè)面元素記錄為有效元素;直至計(jì)算完成第一頁(yè)面與所有相關(guān)聯(lián)的目標(biāo)頁(yè)面的相似度值。也即在恢復(fù)現(xiàn)場(chǎng)之后,不再中斷對(duì)第一頁(yè)面的測(cè)試過(guò)程,而只需記錄相應(yīng)的有效元素即可。

步驟130,根據(jù)對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟,對(duì)其它頁(yè)面進(jìn)行測(cè)試。

可以理解的是,上述第一頁(yè)面為應(yīng)用程序的任一頁(yè)面,其并沒(méi)有特殊性,因此,在對(duì)其它頁(yè)面進(jìn)行測(cè)試的過(guò)程中,也可能會(huì)出現(xiàn)測(cè)試中斷的情況,當(dāng)其它頁(yè)面的測(cè)試過(guò)程被中斷時(shí),也會(huì)執(zhí)行壓棧的操作,之后再通過(guò)恢復(fù)現(xiàn)場(chǎng),來(lái)繼續(xù)對(duì)其它頁(yè)面進(jìn)行測(cè)試。此處,因?yàn)闂S泻筮M(jìn)先出的特點(diǎn),因此,最先執(zhí)行的壓棧操作,往往最后被恢復(fù)。舉例來(lái)說(shuō),假設(shè)應(yīng)用程序有5個(gè)頁(yè)面,分別為:頁(yè)面1、頁(yè)面2、頁(yè)面3、頁(yè)面4以及頁(yè)面5,且在對(duì)該5個(gè)頁(yè)面依次進(jìn)行測(cè)試時(shí),測(cè)試頁(yè)面1和頁(yè)面3的過(guò)程先后發(fā)生了中斷,則在之后恢復(fù)現(xiàn)場(chǎng)時(shí),先恢復(fù)對(duì)頁(yè)面3的測(cè)試過(guò)程,之后再恢復(fù)對(duì)頁(yè)面1的測(cè)試過(guò)程。

綜上,本申請(qǐng)?jiān)趯?duì)應(yīng)用程序進(jìn)行測(cè)試的過(guò)程中,會(huì)對(duì)頁(yè)面發(fā)生改變之后或者跳轉(zhuǎn)之后,頁(yè)面的變化情況進(jìn)行識(shí)別,具體地,在對(duì)某個(gè)頁(yè)面測(cè)試的過(guò)程中,當(dāng)識(shí)別到頁(yè)面發(fā)生改變之后或者跳轉(zhuǎn)之后,頁(yè)面變化比較大時(shí),則中斷對(duì)該頁(yè)面的測(cè)試,而是執(zhí)行相應(yīng)的壓棧操作。之后在對(duì)應(yīng)用程序的其它頁(yè)面測(cè)試完成之后,通過(guò)出棧操作,來(lái)恢復(fù)現(xiàn)場(chǎng)的方式,來(lái)繼續(xù)對(duì)中斷的頁(yè)面進(jìn)行測(cè)試,由此來(lái)達(dá)到對(duì)應(yīng)用程序的所有頁(yè)面進(jìn)行測(cè)試的目的,從而提高了應(yīng)用程序測(cè)試的準(zhǔn)確性。

為了更清楚的說(shuō)明本申請(qǐng)的應(yīng)用程序的測(cè)試方法,以下將通過(guò)圖2來(lái)進(jìn)行進(jìn)一步的說(shuō)明。

圖2為本申請(qǐng)另一實(shí)施例提供的應(yīng)用程序的測(cè)試方法,如圖2所示,所述方法具體可以包括如下步驟:

步驟210,從應(yīng)用程序的至少一個(gè)頁(yè)面中選取第一頁(yè)面。

其中,第一頁(yè)面可以為至少一個(gè)頁(yè)面中的任一頁(yè)面,如,可以為首頁(yè)頁(yè)面,也可以為其它頁(yè)面。

步驟220,獲取第一頁(yè)面對(duì)應(yīng)的頁(yè)面元素集合。

在一個(gè)例子中,可以通過(guò)谷歌(google)公司的uiautomatorviewer工具來(lái)獲取頁(yè)面元素集合中的頁(yè)面元素。

步驟230,從頁(yè)面元素集合中選取至少一個(gè)目標(biāo)頁(yè)面元素。

在一種實(shí)現(xiàn)方式中,可以結(jié)合第一頁(yè)面對(duì)應(yīng)的dom樹(shù)來(lái)選取目標(biāo)頁(yè)面元素,此處的dom樹(shù)由至少一個(gè)節(jié)點(diǎn)構(gòu)成,其中,節(jié)點(diǎn)的類型可以包括:根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)等。該dom樹(shù)的節(jié)點(diǎn)與頁(yè)面元素集合中的頁(yè)面元素一一對(duì)應(yīng),具體過(guò)程可以為:從dom樹(shù)的節(jié)點(diǎn)中選取至少一個(gè)葉子節(jié)點(diǎn),將選取的至少一個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的頁(yè)面元素作為至少一個(gè)目標(biāo)頁(yè)面元素。

步驟240,判斷第一頁(yè)面是否已經(jīng)發(fā)生了跳轉(zhuǎn),若已經(jīng)發(fā)生了跳轉(zhuǎn),則跳轉(zhuǎn)到步驟220;若未發(fā)生跳轉(zhuǎn),則跳轉(zhuǎn)到步驟250。

上述判斷第一頁(yè)面是否已經(jīng)發(fā)生了跳轉(zhuǎn)的過(guò)程可以為:判斷是否進(jìn)入新的activity。

可以理解的是,在跳轉(zhuǎn)到步驟220之前,可以先確定跳轉(zhuǎn)到的新的頁(yè)面。之后在執(zhí)行步驟220時(shí),步驟220變更為:獲取新的頁(yè)面對(duì)應(yīng)的頁(yè)面元素集合。

步驟250,從至少一個(gè)目標(biāo)頁(yè)面元素中選取第一目標(biāo)頁(yè)面元素。

步驟260,點(diǎn)擊該第一目標(biāo)頁(yè)面元素。

此處,當(dāng)點(diǎn)擊該第一目標(biāo)頁(yè)面元素之后,就可以確定與該第一目標(biāo)頁(yè)面元素對(duì)應(yīng)的第一目標(biāo)頁(yè)面。此處的第一目標(biāo)頁(yè)面可以是指第一頁(yè)面發(fā)生改變后的頁(yè)面,也可以是指跳轉(zhuǎn)至的其它頁(yè)面。

步驟270,計(jì)算第一頁(yè)面與第一目標(biāo)頁(yè)面的相似度值。

此處,可以是根據(jù)漢明距離算法等,來(lái)計(jì)算第一頁(yè)面與第一目標(biāo)頁(yè)面的相似度值。

步驟280,判斷相似度值是否為100%,若是,則跳轉(zhuǎn)到步驟290,否則跳轉(zhuǎn)到步驟2110。

可以理解的是,當(dāng)?shù)谝豁?yè)面與第一目標(biāo)頁(yè)面的相似度值為100%時(shí),說(shuō)明第一頁(yè)面基本上沒(méi)有發(fā)生改變,也即能返回至第一頁(yè)面,因此可以不中斷第一頁(yè)面的測(cè)試過(guò)程。

步驟290,判斷至少一個(gè)目標(biāo)頁(yè)面元素是否全部點(diǎn)擊完成,若是,則跳轉(zhuǎn)到步驟2100;否則跳轉(zhuǎn)到步驟250。

此處,至少一個(gè)目標(biāo)頁(yè)面元素全部點(diǎn)擊完成可以理解為第一頁(yè)面的測(cè)試過(guò)程結(jié)束。

步驟2100,判斷棧中是否還有迭代沒(méi)有完成,若是,則返回上一層迭代,并跳轉(zhuǎn)到步驟250;否則結(jié)束。

此處,棧中的迭代可以是在中斷對(duì)某個(gè)頁(yè)面的測(cè)試時(shí)壓入的,返回上一層迭代是為了繼續(xù)對(duì)中斷的頁(yè)面進(jìn)行測(cè)試。

步驟2110,判斷相似度值是否小于80%,若是,則跳轉(zhuǎn)到步驟210;否則,跳轉(zhuǎn)到步驟290。

此處,在相似度值小于80%時(shí),跳轉(zhuǎn)到步驟210,是因?yàn)槿绻谝豁?yè)面與第一目標(biāo)頁(yè)面的相似度值小于80%,則說(shuō)明第一頁(yè)面的頁(yè)面變化比較大,有可能會(huì)導(dǎo)致不能返回至第一頁(yè)面的情況,所以需要中斷對(duì)第一頁(yè)面的測(cè)試,而開(kāi)始對(duì)應(yīng)用程序的其它頁(yè)面進(jìn)行測(cè)試。在對(duì)其它頁(yè)面測(cè)試完成后,在繼續(xù)對(duì)第一頁(yè)面進(jìn)行測(cè)試。因此,在跳轉(zhuǎn)到步驟210之后,步驟210變更為:從應(yīng)用程序的至少一個(gè)頁(yè)面中選取其它頁(yè)面。

可以理解的是,在跳轉(zhuǎn)至步驟210之前,可以先執(zhí)行壓棧的操作,以便于后續(xù)恢復(fù)現(xiàn)場(chǎng)。

與上述應(yīng)用程序的測(cè)試方法對(duì)應(yīng)地,本申請(qǐng)實(shí)施例還提供的一種應(yīng)用程序的測(cè)試裝置,如圖3所示,該裝置包括:

選取單元301,用于從應(yīng)用程序的至少一個(gè)頁(yè)面中選取第一頁(yè)面。

測(cè)試單元302,用于對(duì)選取單元301選取的第一頁(yè)面進(jìn)行測(cè)試,其中,測(cè)試單元302包括:

確定單元3021,用于確定第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面。

計(jì)算單元3022,用于計(jì)算第一頁(yè)面與確定單元3021確定的第一目標(biāo)頁(yè)面的相似度值。

確定單元3021,還用于根據(jù)計(jì)算單元3022計(jì)算的相似度值,確定是否中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟。

處理單元3023,用于中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟,并在對(duì)至少一個(gè)頁(yè)面中的其它頁(yè)面測(cè)試完成后,繼續(xù)對(duì)第一頁(yè)面進(jìn)行測(cè)試。

測(cè)試單元302,還用于根據(jù)對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟,對(duì)其它頁(yè)面進(jìn)行測(cè)試。

可選地,該裝置還可以包括:

獲取單元303,用于獲取第一頁(yè)面對(duì)應(yīng)的頁(yè)面元素集合。

選取單元301,還用于從獲取單元303獲取的頁(yè)面元素集合中選取至少一個(gè)目標(biāo)頁(yè)面元素。

選取單元301具體可以用于:

獲取第一頁(yè)面對(duì)應(yīng)的文件對(duì)象模型dom樹(shù),其中,dom樹(shù)的節(jié)點(diǎn)與頁(yè)面元素集合中的頁(yè)面元素一一對(duì)應(yīng);

從dom樹(shù)的節(jié)點(diǎn)中選取至少一個(gè)葉子節(jié)點(diǎn),將至少一個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的頁(yè)面元素作為至少一個(gè)目標(biāo)頁(yè)面元素。

確定單元3021具體可以用于:

從至少一個(gè)目標(biāo)頁(yè)面元素中選取第一目標(biāo)頁(yè)面元素,將第一目標(biāo)頁(yè)面元素對(duì)應(yīng)的頁(yè)面作為第一目標(biāo)頁(yè)面。

可選地,確定單元3021還可以具體用于:

判斷相似度值是否在預(yù)設(shè)的范圍內(nèi);

若相似度值不在預(yù)設(shè)的范圍內(nèi),則中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟;

若相似度值在預(yù)設(shè)的范圍內(nèi),則不中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟。

可選地,確定單元3021還可以具體用于:

判斷第一頁(yè)面是否已經(jīng)發(fā)生了跳轉(zhuǎn);

若未發(fā)生跳轉(zhuǎn),則確定第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面;

若已經(jīng)發(fā)生了跳轉(zhuǎn),則確定跳轉(zhuǎn)后的新的頁(yè)面;

根據(jù)對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟,對(duì)新的頁(yè)面進(jìn)行測(cè)試,在對(duì)新的頁(yè)面測(cè)試完成后,確定第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面。

本申請(qǐng)實(shí)施例裝置的各功能模塊的功能,可以通過(guò)上述方法實(shí)施例的各步驟來(lái)實(shí)現(xiàn),因此,本申請(qǐng)?zhí)峁┑难b置的具體工作過(guò)程,在此不復(fù)贅述。

本申請(qǐng)?zhí)峁┑膽?yīng)用程序的測(cè)試裝置,選取單元301從應(yīng)用程序的至少一個(gè)頁(yè)面中選取第一頁(yè)面。測(cè)試單元302對(duì)第一頁(yè)面進(jìn)行測(cè)試:確定單元3021,確定第一頁(yè)面相關(guān)聯(lián)的第一目標(biāo)頁(yè)面。計(jì)算單元3022計(jì)算第一頁(yè)面與第一目標(biāo)頁(yè)面的相似度值。確定單元3021根據(jù)相似度值,確定是否中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟。處理單元3023中斷對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟,并在對(duì)至少一個(gè)頁(yè)面中的其它頁(yè)面測(cè)試完成后,繼續(xù)對(duì)第一頁(yè)面進(jìn)行測(cè)試。測(cè)試單元302根據(jù)對(duì)第一頁(yè)面進(jìn)行測(cè)試的步驟,對(duì)其它頁(yè)面進(jìn)行測(cè)試。由此,可以提高應(yīng)用程序測(cè)試的準(zhǔn)確性。

本領(lǐng)域技術(shù)人員應(yīng)該可以意識(shí)到,在上述一個(gè)或多個(gè)示例中,本發(fā)明所描述的功能可以用硬件、軟件、固件或它們的任意組合來(lái)實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以將這些功能存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中或者作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼進(jìn)行傳輸。

以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的技術(shù)方案的基礎(chǔ)之上,所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包括在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
女性| 齐齐哈尔市| 湖口县| 辰溪县| 克拉玛依市| 高邮市| 泽普县| 大洼县| 眉山市| 胶南市| 永安市| 定襄县| 丹阳市| 峨眉山市| 青浦区| 樟树市| 定西市| 崇州市| 历史| 南阳市| 依安县| 郓城县| 涟源市| 邢台县| 芦溪县| 新兴县| 金寨县| 太白县| 县级市| 遂川县| 西盟| 神木县| 鲁山县| 镶黄旗| 罗田县| 潞西市| 韩城市| 伽师县| 金门县| 尼木县| 荆州市|