控件的ui測試方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)(Internet Technology,IT)領(lǐng)域,具體涉及一種控件的 UI (User Interface,用戶界面)測試方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著軟件的開發(fā)周期不斷縮短,自動化測試已逐步成為軟件測試的發(fā)展趨勢。當 前,業(yè)界的自動化測試系統(tǒng)只能對控件等軟件的文字、ID(Identity,身份標識)等文本類 信息實現(xiàn)自動化驗證,對于控件的UI顯示是否正確、是否錯位等問題無法驗證。因此,本領(lǐng) 域技術(shù)人員迫切需要解決的技術(shù)問題是,提出一種控件的UI測試方法,以對顯示的控件的 UI進行測試,以快速的查找出顯示效果是否存在差異。
【發(fā)明內(nèi)容】
[0003] 有鑒于此,本發(fā)明實施例提供一種控件的UI測試方法及系統(tǒng),能夠?qū)崿F(xiàn)對控件的 UI的自動化驗證,以測試UI的顯示效果。
[0004] 本發(fā)明實施例提供的控件的用戶界面UI測試方法,包括:對第一終端顯示的UI進 行圖像截取以得到目標圖片,以及對第二終端顯示的UI進行圖像截取以得到源圖片;計算 目標圖片和源圖片的顏色直方圖,并根據(jù)兩個顏色直方圖計算目標圖片和源圖片的像素值 的巴氏距離;在巴氏距離大于預(yù)定閾值時,獲取所述目標圖片上多個突變像素點的位置和 第一像素值,及源圖片上所述位置處的像素點的第二像素值,其中突變像素點為UI的輪廓 上的像素點;計算多個第一像素值和多個第二像素值的差值的方差或標準差,并在方差或 標準差為零時判定控件在第一終端上顯示的UI和在第二終端上顯示的UI相匹配。
[0005] 其中,所述對第一終端顯示的UI進行圖像截取以得到目標圖片的步驟包括:解析 第一終端的顯示界面以得到UI在顯示界面上的坐標信息;對第一終端的顯示界面上的與 坐標信息對應(yīng)的區(qū)域進行圖像截取以得到目標圖片。
[0006] 其中,所述對第一終端顯示的UI進行圖像截取以得到目標圖片的步驟包括:通過 鼠標在第一終端的顯示界面上框選控件的UI ;對顯示界面上的被框選區(qū)域進行圖像截取 以得到目標圖片。
[0007] 其中,所述對第二終端顯示的UI進行圖像截取以得到源圖片的步驟包括:獲取目 標圖片對應(yīng)的測試代碼,并驗證測試代碼中包含UI在第一終端的顯示界面上的坐標信息 還是相對位置信息;若包含坐標信息,則對第二終端的顯示界面上的與坐標信息對應(yīng)的區(qū) 域進行圖像截取以得到源圖片;若包含相對位置信息,則對第二終端的顯示界面上的對與 相對位置信息對應(yīng)的區(qū)域進行圖像截取以得到源圖片。
[0008] 其中,通過以下關(guān)系式得到所述巴氏距離,
[0010] Psd表示巴氏距離,χ i表示第i個像素點在源圖片的顏色直方圖的概率,y i表示第 i個像素點在目標圖片的顏色直方圖的概率。
[0011] 本發(fā)明實施例提供的控件的用戶界面UI測試系統(tǒng),包括:截圖模塊,用于對第一 終端顯示的UI進行圖像截取以得到目標圖片,及對第二終端顯示的UI進行圖像截取以得 到源圖片;第一計算模塊,用于計算目標圖片的顏色直方圖和源圖片的顏色直方圖;第二 計算模塊,用于根據(jù)兩個顏色直方圖計算目標圖片和源圖片的像素值的巴氏距離;比較模 塊,用于比較巴氏距離是否大于預(yù)定閾值;獲取模塊,用于在比較模塊比較得到巴氏距離大 于預(yù)定閾值時,獲取目標圖片上多個突變像素點的位置和第一像素值,及源圖片上該位置 處的像素點的第二像素值,突變像素點為UI的輪廓上的像素點;第三計算模塊,用于計算 多個第一像素值和多個第二像素值的差值的方差或標準差,在方差或標準差為零時表示控 件在第一終端上顯示的UI和在第二終端上顯示的UI相匹配。
[0012] 其中,截圖模塊用于解析第一終端的顯示界面以得到UI在顯示界面上的坐標信 息,并對第一終端的顯示界面上的與坐標信息對應(yīng)的區(qū)域進行圖像截取以得到目標圖片。
[0013] 其中,截圖模塊用于根據(jù)鼠標在第一終端的顯示界面上框選的UI,對第一終端的 顯示界面上的被框選區(qū)域進行圖像截取以得到目標圖片。
[0014] 其中,截圖模塊用于獲取目標圖片對應(yīng)的測試代碼,并驗證測試代碼中包含UI在 第一終端的顯示界面上的坐標信息還是相對位置信息;若包含坐標信息,則截圖模塊對第 二終端的顯示界面上的與坐標信息對應(yīng)的區(qū)域進行圖像截取以得到源圖片;若包含相對位 置信息,則截圖模塊對第二終端的顯示界面上的對與相對位置信息對應(yīng)的區(qū)域進行圖像截 取以得到源圖片。
[0015] 其中,第二計算模塊通過以下關(guān)系式得到所述巴氏距離,
[0017] Psd表示巴氏距離,X i表示第i個像素點在源圖片的顏色直方圖的概率,y i表示第 i個像素點在目標圖片的顏色直方圖的概率。
[0018] 本發(fā)明實施例的控件的UI測試方法及系統(tǒng),采用顏色直方圖和采集突變像素點 相結(jié)合的方式對目標圖片和源圖片所顯示的UI的相似度進行測試,從而實現(xiàn)對UI的自動 化驗證,以測試UI的顯示效果。
【附圖說明】
[0019] 圖1是本發(fā)明的控件的UI測試方法一實施例的流程示意圖;
[0020] 圖2是本發(fā)明的控件的UI測試系統(tǒng)一實施例的原理框示意圖;
[0021] 圖3是本發(fā)明的控件的UI測試系統(tǒng)一實施例的硬件結(jié)構(gòu)示意圖。
【具體實施方式】
[0022] 本發(fā)明實施例控件的UI測試方法用于驗證控件的UI的顯示效果是否與軟件開發(fā) 所預(yù)期的相匹配,具體可以理解為驗證控件的UI在不同終端上的顯示效果是否相同,即該 控件在不同終端上所顯示的UI是否存在差異。本發(fā)明實施例的測試方法采用顏色直方圖 和采集突變像素點相結(jié)合的方式對目標圖片和源圖片所顯示的UI的相似度進行測試,從 而實現(xiàn)對UI的自動化驗證,以測試UI的顯示效果。
[0023] 本發(fā)明實施例可以預(yù)先編程測試軟件并將該測試軟件存儲于包括但不限于 PC(Personal Computer,個人計算機或電腦)機的服務(wù)器(測試用設(shè)備)中,通過該測試軟 件自動監(jiān)測當前進程,并在當前進程完成后根據(jù)預(yù)設(shè)的程序指令觸發(fā)執(zhí)行下一進程,實現(xiàn) 對UI的自動測試。
[0024] 另外,本發(fā)明實施例可以預(yù)先將測試所需的控件(軟件)的備份(鏡像文件)存儲 于預(yù)先構(gòu)建的云數(shù)據(jù)中心的虛擬機中,測試過程中根據(jù)預(yù)先編程的測試軟件發(fā)出的指令從 云數(shù)據(jù)中心的虛擬機中提取出當前近程所需的數(shù)據(jù),且將測試結(jié)果上傳至該云數(shù)據(jù)中心。
[0025] 下面結(jié)合圖1所示實施例的測試方法,對本發(fā)明所提供的示例性的實施例的技術(shù) 方案進行清楚、完整地描述。如圖1所示,本實施例的控件的UI測試方法包括以下:
[0026] Sll :對第一終端顯示的UI進行圖像截取以得到目標圖片,以及對第二終端顯示 的UI進行圖像截取以得到源圖片。
[0027] S12:計算目標圖片和源圖片的顏色直方圖,并根據(jù)兩個顏色直方圖計算目標圖片 和源圖片的像素值的巴氏距離。
[0028] 兩個顏色直方圖對應(yīng)表示目標圖片和源圖片的顏色特征,其描述不同色彩在整幅 目標圖片和源圖片中所占的比例,并不包含每種