本申請涉及計算機軟件,特別涉及一種界面元素的定位方法及裝置。
背景技術:
1、傳統的ui(user?interface,用戶界面)自動化測試方法主要依賴靜態的元素定位器,例如id(identifier,標識符)、xpath(xml?path?language,xml路徑語言)等來定位ui元素。然而,當ui界面發生變化時,這些定位器常常會失效,導致測試腳本無法正常執行,從而需要進行頻繁維護。
2、鑒于此,如何提供一種新的界面元素的定位方法,是本領域技術人員亟待解決的問題。
技術實現思路
1、本申請針對現有方式的缺點,提出一種界面元素的定位方法及裝置,用以解決現有技術中的當ui界面發生變化時,ui元素也可能發生調整,傳統的靜態的元素定位器可能失效,導致測試腳本無法正常執行,從而需要進行頻繁維護的問題。
2、第一方面,本申請實施例提供了一種界面元素的定位方法,包括:
3、獲取初次加載界面時的圖像并作為基準圖像,利用訓練后的元素定位模型對基準圖像的界面元素進行特征提取和記錄,將提取的界面元素作為基準界面元素;
4、獲取在應用運行或界面更新時的圖像并作為當前圖像,利用訓練后的元素定位模型對當前圖像的界面元素進行特征提取和記錄,將提取的界面元素作為當前界面元素;
5、如果確定當前界面元素的特征信息相對于基準界面元素的特征信息發生變化,則輸出識別結果;
6、根據識別結果,將基準界面元素的特征信息更新為當前界面元素的特征信息,并更新對應的測試腳本,以對界面元素進行定位。
7、在一個可能的實現方式中,如果確定當前界面元素的特征信息相對于基準界面元素的特征信息發生變化,則輸出識別結果,包括:
8、利用訓練后的元素定位模型的元素特征庫,將當前界面元素的特征信息和基準界面的特征信息進行對比分析,得到分析結果;其中,元素特征庫包括元素的特征信息和元素的變化模式;
9、通過訓練后的元素定位模型輸出置信度分數來確定分析結果的正確性;
10、如果置信度分數大于預設閾值,則確定分析結果正確,并輸出識別結果。
11、在一個可能的實現方式中,利用訓練后的元素定位模型的元素特征庫,將當前界面元素的特征信息和基準界面的特征信息進行對比分析,得到分析結果,包括:
12、利用訓練后的元素定位模型的元素特征庫,將當前界面元素的特征信息和基準界面元素的特征信息進行差異分析,得到分析結果;特征信息包括至少一項:屬性信息、布局信息、視覺特征和語義信息;
13、其中,屬性信息包括至少一項:標簽、元素id和類名;布局信息包括至少一項:相對位置、層級關系和路徑;視覺特征包括至少一項:字體、顏色、形狀、大小和樣式;語義信息包括文本內容。
14、在一個可能的實現方式中,還包括:
15、將訓練后的元素定位模型嵌入到自動化測試工具中,以用于測試運行時,動態識別和調整元素定位。
16、在一個可能的實現方式中,更新對應的測試腳本,包括:
17、生成測試報告;其中,測試報告包括:界面元素的特征信息變更前后的狀態、變更時間和變更頻率;
18、利用腳本更新工具,讀取并解析測試報告中的變更信息,調取對應的測試腳本進行更新;或,將當前界面元素的特征信息自動替換到測試腳本中對應的位置。
19、在一個可能的實現方式中,該方法還包括:
20、生成反饋數據集,反饋數據集包括標注的錯誤類型和輸入界面元素特征數據;
21、根據反饋數據集,重新訓練元素定位模型。
22、在一個可能的實現方式中,元素定位模型的訓練過程包括:
23、獲取來自電腦端和移動端的多界面圖像數據;
24、對多界面圖像數據進行特征提取,得到特征信息;其中,特征信息包括屬性信息、布局信息、視覺特征和語義信息;
25、對特征信息進行自動標注,并生成訓練所需的格式化數據集;
26、將格式化數據集輸入至卷積神經網絡模型中,學習并記錄元素的特征信息和元素的變化模式,并建立元素特征庫;
27、基于元素特征庫,調整卷積神經網絡模型,將訓練后的卷積神經網絡模型作為元素定位模型。
28、第二方面,本申請實施例提供了一種界面元素的定位裝置,包括:
29、第一獲取模塊,其配置為獲取初次加載界面時的圖像并作為基準圖像,利用訓練后的元素定位模型對基準圖像的界面元素進行特征提取和記錄,將提取的界面元素作為基準界面元素;
30、第二獲取模塊,其配置為獲取在應用運行或界面更新時的圖像并作為當前圖像,利用訓練后的元素定位模型對當前圖像的界面元素進行特征提取和記錄,將提取的界面元素作為當前界面元素;
31、輸出模塊,其配置為如果確定當前界面元素的特征信息相對于基準界面元素的特征信息發生變化,則輸出識別結果;
32、更新模塊,其配置為根據識別結果,將基準界面元素的特征信息更新為當前界面元素的特征信息,并更新對應的測試腳本,以對界面元素進行定位。
33、第三方面,本申請實施例提供了一種計算機可讀存儲介質,計算機可讀存儲介質上存儲有計算機程序指令,計算機程序指令被處理器執行時實現如上述任一的方法的步驟。
34、第四方面,本申請實施例提供了一種電子設備,包括存儲器和處理器,存儲器中存儲有可執行程序,處理器執行可執行程序以進行如上述任一的方法的步驟。
35、本申請實施例提供的界面元素的定位方法,可以動態識別和調整元素定位,通過獲取初次加載界面時的圖像并作為基準圖像,利用訓練后的元素定位模型對基準圖像進行特征提取和記錄,將提取的界面元素作為基準界面元素;獲取在應用運行或界面更新時的圖像并作為當前圖像,利用訓練后的元素定位模型對當前圖像進行特征提取和記錄,將提取的界面元素作為當前界面元素;如果確定當前界面元素的特征信息相對于基準界面元素的特征信息發生變化,則輸出識別結果;根據識別結果,將基準界面元素的特征信息更新為當前界面元素的特征信息,并更新對應的測試腳本,以對界面元素進行定位。可以實現在測試運行時,動態識別和調整元素定位,保證了測試腳本連續穩定,減少了因界面調整導致的頻繁維護需求,減少手動修改,顯著降低維護成本,提升了測試效率和系統穩定性。
1.一種界面元素的定位方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,如果確定所述當前界面元素的特征信息相對于所述基準界面元素的特征信息發生變化,則輸出識別結果,包括:
3.根據權利要求2所述的方法,其特征在于,利用訓練后的元素定位模型的元素特征庫,將所述當前界面元素的特征信息和所述基準界面的特征信息進行對比分析,得到分析結果,包括:
4.根據權利要求1所述的方法,其特征在于,所述方法還包括:
5.根據權利要求1所述的方法,其特征在于,所述更新對應的測試腳本,包括:
6.根據權利要求1所述的方法,其特征在于,所述方法還包括:
7.根據權利要求1至6任一所述的方法,其特征在于,所述元素定位模型的訓練過程包括:
8.一種界面元素的定位裝置,其特征在于,包括:
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序指令,所述計算機程序指令被處理器執行時實現如權利要求1至7任一所述的方法的步驟。
10.一種電子設備,包括存儲器和處理器,所述存儲器中存儲有可執行程序,所述處理器執行所述可執行程序以進行如權利要求1至7任一所述的方法的步驟。