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

控件元素的識別方法和裝置的制造方法_3

文檔序號:9471298閱讀:來源:國知局
元素屬性與第二數(shù)據(jù)庫中存儲的控件元素屬性進(jìn)行匹配后發(fā)現(xiàn),第一數(shù)據(jù)庫中存儲的作為識別屬性的控件元素屬性,均無法在第二數(shù)據(jù)庫中匹配到對應(yīng)的控件元素屬性時,此時第一數(shù)據(jù)庫中存儲的作為識別屬性的控件元素屬性可能全部發(fā)生了變化。
[0114]在這種情況下,由于第一數(shù)據(jù)庫中存儲的所有控件元素屬性全部發(fā)生變化,測試終端基于控件元素屬性之間的相關(guān)性,已無法在測試頁面的源代碼中查找到這些控件元素屬性所隸屬的對象或者分層,此時測試終端無法對第一數(shù)據(jù)庫中存儲的控件元素屬性進(jìn)行更新。因此,當(dāng)?shù)谝粩?shù)據(jù)庫中存儲肚餓控件元素屬性全部發(fā)生變化后,測試終端可以向測試人員發(fā)送一個提示消息,以提示測試人員為待識別的控件元素重新設(shè)置識別屬性。
[0115]其中,該提示消息可以是向測試人員發(fā)送的提醒郵件、提醒短信或者其它類型的提示消息,在本實施例中不進(jìn)行特別限定。
[0116]以上描述的是識別屬性的自動更新機(jī)制。
[0117]通過以上描述的自動更新機(jī)制,可以周期性的對第一數(shù)據(jù)庫中存儲的作為識別屬性的控件元素屬性進(jìn)行更新。測試終端在運(yùn)行測試用例針對測試頁面進(jìn)行測試時,可以使用第一數(shù)據(jù)庫中存儲的更新后的控件元素屬性,在測試頁面中識別控件元素,然后基于識別出的控件元素逐一進(jìn)行測試。
[0118]在本實施例中,測試終端使用第一數(shù)據(jù)庫中存儲的更新后的控件元素屬性在測試頁面中識別控件元素時,可以基于預(yù)設(shè)的識別策略來完成。其中,該預(yù)設(shè)識別策略可以采用單一的識別策略,也可以采用組合的識別策略。
[0119]在實現(xiàn)時,可以提供如下的識別子策略:
[0120]子策略一:基于識別屬性中任一指定的控件元素屬性識別目標(biāo)控件元素。
[0121]例如,假設(shè)測試人員設(shè)置的識別屬性包括ID、Name、ClassName、Xpath、LinkText、TagName等控件元素屬性,測試人員可以在這些控件元素屬性中指定其中一個具有唯一"性的控件元素屬性作為識別屬性來識別目標(biāo)控件元素。在識別目標(biāo)控件元素時,可以在測試頁面的源代碼中基于該指定的控件元素屬性反向查找對應(yīng)的控件元素,當(dāng)基于該指定的控件元素屬性在測試頁面的源代碼中查找到唯一對應(yīng)的控件元素后,此時識別成功。
[0122]子策略二:基于識別屬性中指定的多個控件元素逐個識別目標(biāo)控件元素。
[0123]例如,假設(shè)測試人員設(shè)置的識別屬性包括ID、Name、ClassName、Xpath、LinkText、TagName等控件元素屬性,測試人員可以在這些控件元素屬性中指定多個具有唯一"性的控件元素屬性來識別目標(biāo)控件元素,當(dāng)其中的一個控件元素?zé)o法識別目標(biāo)控件元素時,再使用其它指定的指定控件元素繼續(xù)進(jìn)行識別,直到在測試頁面的源代碼中查找到唯一對應(yīng)的控件元素后,則識別成功。
[0124]子策略三:基于識別屬性中指定的多個控件元素的組合識別目標(biāo)控件元素。
[0125]例如,假設(shè)測試人員設(shè)置的識別屬性包括ID、Name、ClassName、Xpath、LinkText、TagName等控件元素屬性,測試人員可以在這些控件元素屬性中指定多個控件元素屬性,并對指定的該多個控件元素屬性進(jìn)行組合來識別目標(biāo)控件元素。在識別目標(biāo)控件元素時,可以在測試頁面的源代碼中基于該控件元素屬性的組合反向查找對應(yīng)的控件元素,當(dāng)基于該控件元素屬性的組合在測試頁面的源代碼中查找到唯一對應(yīng)的控件元素后,此時識別成功。
[0126]子策略四:基于識別屬性中指定的多個控件元素所創(chuàng)建的正則表達(dá)式識別目標(biāo)控件元素。
[0127]例如,假設(shè)測試人員設(shè)置的識別屬性包括ID、Name、ClassName、Xpath、LinkText、TagName等控件元素屬性,測試人員可以在這些控件元素屬性中指定多個控件元素屬性,并根據(jù)指定的該多個控件元素屬性來創(chuàng)建對應(yīng)的正則表達(dá)式,通過創(chuàng)建的正則表達(dá)式來識別目標(biāo)控件元素。在識別目標(biāo)控件元素時,可以在測試頁面的源代碼中基于該正則表達(dá)式反向查找對應(yīng)的控件元素,當(dāng)基于該正則表達(dá)式在測試頁面的源代碼中查找到唯一對應(yīng)的控件元素后,此時識別成功。
[0128]當(dāng)然,除了以上描述的子策略,在實際應(yīng)用中還可以包括其它類型的子策略,在本實施例中不再進(jìn)行一一限定。
[0129]在本實施例中,當(dāng)采用單一的識別策略時,上述預(yù)設(shè)識別策略可以包括上述識別子策略中的任意一種。在這種情況下,測試終端可以直接調(diào)用該識別子策略,利用第一數(shù)據(jù)庫中存儲的更新后的控件元素屬性識別目標(biāo)控件元素。當(dāng)采用組合的識別策略時,上述預(yù)設(shè)識別策略可以包括上述識別子策略中的多種的組合。在這種情況下,當(dāng)測試終端基于該識別子策略組合中的任一識別子策略在所述測試頁面中仍無法識別該目標(biāo)控件元素,則基于該識別子策略組合中的其它識別子策略在測試頁面中繼續(xù)識別該目標(biāo)控件元素,直到識別成功。
[0130]例如,假設(shè)上述識別子策略組合包括以上描述的子策略一至子策略四,假設(shè)測試人員設(shè)置的識別屬性包括ID、Name、ClassName、Xpath、LinkText、TagName等控件元素屬性,當(dāng)基于子策略一將ID作為識別屬性對目標(biāo)元素進(jìn)行識別后,如果識別失敗,則可以基于子策略二將Name,ClassName, Xpath, LinkText,TagName分別作為識別屬性繼續(xù)進(jìn)行識別,如果識別仍然失敗,還可以基于子策略三,對Name,ClassName, Xpath, LinkText,TagName進(jìn)行組合,然后基于該組合進(jìn)行識別,如果識別仍然失敗,還可以基于Name,ClassName, Xpath, LinkText,TagName創(chuàng)建正則表達(dá)式,繼續(xù)進(jìn)行識別。通過這種方式,可以提高目標(biāo)控件元素的識別成功率,從而降低由于控件元素?zé)o法識別而導(dǎo)致的測試用例執(zhí)行失敗的情況。其中,該子策略組合實例僅為示例性的,測試人員在針對子策略進(jìn)行組合時,具體的組合方式,測試人員可以根據(jù)實際的測試需求進(jìn)行設(shè)定,在本實施例中不再進(jìn)行詳述。
[0131]在本實施例中,當(dāng)基于上述預(yù)設(shè)識別策略,使用第一數(shù)據(jù)庫中存儲的更新后的識別屬性,在測試頁面中仍無法識別該目標(biāo)控件元素時,此時測試終端可以向測試人員發(fā)送一個提示消息,以提示測試人員為待識別的控件元素重新設(shè)置識別屬性。其中,該提示消息,可以是向測試人員發(fā)送的提醒郵件、提醒短信或者其它類型的提示消息,在本實施例中不進(jìn)行特別限定。
[0132]在以上實施例中,通過讀取目標(biāo)控件元素的識別屬性;所述識別屬性包括多個用于在測試頁面中識別所述目標(biāo)控件元素的控件元素屬性;并檢查所述目標(biāo)控件元素的識別屬性是否發(fā)生變化;當(dāng)所述目標(biāo)控件元素的識別屬性發(fā)生變化時,對所述識別屬性中發(fā)生變化的控件元素屬性進(jìn)行更新,然后基于預(yù)設(shè)識別策略使用更新后的所述識別屬性在所述測試頁面中識別所述目標(biāo)控件元素,可以實現(xiàn)當(dāng)測試頁面中的控件元素屬性發(fā)生變化時,自動的對發(fā)生變化的控件元素屬性自動進(jìn)行更新,從而在對測試頁面進(jìn)行測試時,即使測試頁面中的控件元素屬性發(fā)生變化,仍然能夠?qū)y試頁面中的控件元素進(jìn)行正常識別,可以提高測試的成功率,降低測試成本。
[0133]如圖2所示,圖2是根據(jù)一示例性實施例示出的另一種控件元素的識別方法,該控件元素的識別方法用于測試終端中,包括以下步驟:
[0134]在步驟201中,讀取目標(biāo)控件元素的識別屬性;所述識別屬性包括多個用于在測試頁面中識別所述目標(biāo)控件元素的控件元素屬性。
[0135]在步驟202中,周期性的采集所述測試頁面的控件元素屬性。
[0136]在步驟203中,將所述識別屬性中的控件元素屬性與采集到的所述測試頁面的控件元素屬性進(jìn)行匹配。
[0137]在步驟204中,當(dāng)所述識別屬性中的部分控件元素屬性無法在采集到的所述測試頁面的控件元素屬性中匹配到對應(yīng)的控件元素屬性時,確定所述目標(biāo)控件元素的識別屬性發(fā)生變化。
[0138]在步驟205中,當(dāng)所述目標(biāo)控件元素的識別屬性發(fā)生變化時,基于所述識別屬性中各控件元素屬性之間的相關(guān)性,獲取所述測試頁面的控件元素屬性中與所述部分控件元素屬性匹配的控件元素屬性。
[0139]在步驟206中,根據(jù)獲取到的所述測試頁面的控件元素屬性中與所述部分控件元素屬性匹配的控件元素屬性對所述部分控件元素進(jìn)行更新。
[0140]在步驟207中,基于預(yù)設(shè)識別策略使用更新后的所述識別屬性在所述測試頁面中識別所述目標(biāo)控件元素。
[0141]上述測試終端可以包括用于對測試頁面進(jìn)行測試的終端設(shè)備。其中,該終端設(shè)備可以是移動終端設(shè)備,也可以服務(wù)器。例如,該測試終端可以是測試人員用于對測試頁面進(jìn)行測試的PC終端,或者是用于對測試頁面進(jìn)行測試的測試服務(wù)器。當(dāng)然,在實際的應(yīng)用中,上述測試終端也可以是其它類型的專用測試設(shè)備,在本公開中不進(jìn)行特別限定。
[0142]在本實施例中,測試人員在對測試頁面進(jìn)行測試之前,可以預(yù)先編輯用于對測試頁面進(jìn)行測試的測試用例,并為測試頁面中的控件元素分別設(shè)置對應(yīng)的識別屬性。
[0143]其中,該識別屬性中可以包括多個用于在測試頁面中識別該控件元素的控件元素屬性。例如,測試人員在設(shè)置識別屬性時,可以從被測試頁面中需要識別的控件元素的控件元素屬性中,指定多個控件元素屬性作為識別屬性,然后將該識別屬性預(yù)先存儲到第一數(shù)據(jù)庫中。
[0144]其中,該第一數(shù)據(jù)庫用于存儲識別屬性。在第一數(shù)據(jù)庫中可以保存多個控件元素的識別屬性。當(dāng)然,在實現(xiàn)時,識別屬性也可以通過其他方式進(jìn)行存儲,比如保存到excel、腳本或者其它可以存儲的設(shè)備中,在本實施例中不進(jìn)行特別限定。
[0145]當(dāng)測試終端開始對測試頁面進(jìn)行測試時,可以運(yùn)行測試人員預(yù)先編輯完成的測試用例,讀取第一數(shù)據(jù)庫中存儲的識別屬性,來識別測試頁面中的控件元素,然后針對識別出的控件元素逐個進(jìn)行測試。
[0146]然而,在實際應(yīng)用中,測試頁面中的控件元素的控件元素屬性可能會發(fā)生變化,一旦第一數(shù)據(jù)庫中存儲的作為識別屬性的控件元素屬性發(fā)生變化,測試終端在運(yùn)行測試用例,對測試頁面進(jìn)行控件元素識別時,就可能會造成元素?zé)o法識別而導(dǎo)致測試用例執(zhí)行失敗的情況。
[0147]為避免出現(xiàn)這種情況,本公開引入一種識別屬性的自動更新機(jī)制,測試終端可以對識別屬性中的控件元素進(jìn)行周期性的檢查,一旦測試終端檢查出出識別屬性發(fā)生變化,可以立即對識別屬性中已經(jīng)發(fā)生變化的控件元素進(jìn)行更新,從而可以避免由于控件元素?zé)o法識別而導(dǎo)致的測試用例執(zhí)行失敗的情況。
[0148]以下對上述識別屬性的自動更新機(jī)制進(jìn)行詳細(xì)描述。
[0149]在本實施例中,對于第一數(shù)據(jù)庫中存儲的作為識別屬性的控件元素屬性,可以由測試終端進(jìn)行檢查,來確定第一數(shù)據(jù)中存儲的控件元素屬性是否發(fā)生變化。
[0150]其中,測試終端在確定第一數(shù)據(jù)中存儲的控件元素屬性是否發(fā)生變化時,可以通過可以周期性的采集測試頁面的控件元素屬性,并將第一數(shù)據(jù)庫中存儲的控件元素屬性與采集到的該測試頁面的控件元素屬性進(jìn)行匹配來實現(xiàn)。
[0151]例如,在實現(xiàn)時,測試終端可以運(yùn)行“爬蟲”等網(wǎng)頁內(nèi)容抓取工具來周期性的抓取測試頁面的源代碼,比如,可以設(shè)置一個抓取的間隔時長,并基于該間隔時長定時的進(jìn)行抓取。對于抓取到的源代碼,測試終端可以從中獲取該測試頁面中的dom節(jié)點,然后遍歷獲取到的dom節(jié)點,并臨時保存每個dom節(jié)點的控件元素屬性。比如,測試終端臨時保存的控件元素屬性可以包括 ID、Name、ClassName、Xpath、LinkText、TagName 等屬性值。
[0152]對于臨時保存的控件元素屬性,測試終端可以將其存儲到第二數(shù)據(jù)庫中。其中,第二數(shù)據(jù)庫中用于存儲臨時保存的控件元素屬性,即當(dāng)前測試頁面的控件元素屬性。
[0153]當(dāng)將臨時保存的控件元素屬性存儲到第二數(shù)據(jù)庫中后,此時測試終端可以將第一數(shù)據(jù)庫中存儲的控件元素屬性與第二數(shù)據(jù)庫中存儲的控件元素屬性進(jìn)行匹配,來確定第一數(shù)據(jù)庫中存儲的作為識別屬性的控件元素屬性是否已經(jīng)發(fā)生了變化。
[0154]當(dāng)?shù)谝粩?shù)據(jù)庫中存儲的控件元素屬性均能夠在第二數(shù)據(jù)庫中匹配到對應(yīng)的控件元素屬性時,則可以
當(dāng)前第3頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
辉南县| 德令哈市| 湖南省| 青河县| 平罗县| 庄河市| 繁昌县| 容城县| 新乐市| 金寨县| 喀什市| 顺平县| 兴宁市| 什邡市| 祁门县| 蓝田县| 淮阳县| 乌拉特前旗| 漠河县| 西充县| 阿巴嘎旗| 富蕴县| 申扎县| 宝山区| 濮阳县| 全椒县| 贞丰县| 陆河县| 台北县| 互助| 恩平市| 页游| 会泽县| 普安县| 依兰县| 元谋县| 砀山县| 满城县| 敦煌市| 河南省| 肇州县|