System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開的實施例大體上涉及計算機,并且更具體地涉及一種用于修復針對用戶界面(ui)的方法、裝置、計算設備集群、計算機可讀存儲介質以及計算機程序產品。
技術介紹
1、ui自動化測試技術是指通過模擬用戶與應用進行交互的過程對應用的用戶界面進行測試的一種自動化測試方法。ui自動化測試技術可以確保應用在用戶界面方面的功能和穩定性達到預期水平。在對應用的開發中,ui自動化測試技術已經成為非常重要且不可或缺的組成部分。
2、ui自動化測試技術能夠測試用戶界面的準確性(諸如,元素的位置、尺寸、顏色、字體等)和響應時間。除此之外,ui自動化測試技術還能夠測試用戶界面的交互性和用戶體驗(諸如,易用性、可靠性、效率等)。這些對于用戶界面而言都是非常關鍵的因素,直接影響應用的質量和用戶對應用的滿意度。
3、ui自動化測試技術有助于發現用戶界面中的潛在錯誤和缺陷。通過使用針對用戶界面的自動化測試工具,測試工程師可以快速地對用戶界面進行不同的測試,并且能夠在每次代碼更改之后快速重新運行測試腳本。這樣可以提高測試的效率,同時也能夠保證測試的準確性和一致性。
技術實現思路
1、根據本公開的一些實施例,提供了一種用于修復針對用戶界面的測試腳本的方法、裝置、計算設備集群、計算機可讀存儲介質以及計算機程序產品。
2、在本公開的第一方面,提供了一種用于修復針對用戶界面的測試腳本的方法。該方法包括如果確定測試腳本運行失敗,獲取測試腳本運行失敗時的用戶界面的失敗文檔對象模型dom樹。該方法
3、在一些實施例中,可以從失敗報錯日志提取失敗報錯信息,其中失敗報錯信息指示測試腳本運行失敗的原因,并且確定差異dom樹中的引起測試腳本運行失敗的失敗dom節點。此外,還可以將失敗報錯信息與失敗dom節點相關聯。如此,能夠對失敗報錯日志執行數據清洗,從而能夠清洗掉不必要或無用的數據,使得提高失敗分析效率和報錯數據質量,減輕噪音數據的干擾,同時優化存儲空間,進而增加失敗分析的準確性。確定差異dom樹中的引起測試腳本運行失敗的失敗dom節點有助于判斷ui測試腳本運行失敗時報錯發生的位置。
4、在一些實施例中,可以基于失敗報錯信息來確定測試腳本運行失敗時的失敗報錯,并且可以確定差異dom樹中的差異dom節點是否與失敗報錯相對應,其中差異dom節點指示失敗dom樹與對應的基線dom樹之間的差異。如此,可以在失敗報錯信息的幫助下確定差異dom樹中的差異dom節點是否是失敗dom節點,而不用遍歷樹中的所有節點,使得提高了時間效率降低了計算成本。
5、在一些實施例中,如果確定差異dom樹中的差異dom節點與失敗報錯相對應,可以將差異dom節點確定為失敗dom節點,并且如果確定差異dom樹中的差異dom節點與失敗報錯不對應,可以確定差異dom樹中的差異dom節點的預定閾值范圍內的dom節點是否與失敗報錯相對應。如此,在差異dom樹中的差異dom節點不是dom節點的情況下,繼續進行小范圍的搜索,可以更快地確定失敗dom節點,從而幫助判斷失敗報錯的發生位置。
6、在一些實施例中,如果確定差異dom樹中的差異dom節點的預定閾值范圍內的dom節點與失敗報錯相對應,可以將該dom節點確定為失敗dom節點,并且如果確定差異dom樹中的差異dom節點的預定閾值范圍內的dom節點與失敗報錯不對應,可以指示對測試腳本的修復失敗。如此,如果繼續下去,可能還是無法找到失敗dom節點,將會浪費時間和計算資源。因此,可以停止分析并指示ui測試腳本的修復失敗。
7、在一些實施例中,可以確定失敗dom節點的dom類型,并且可以基于所確定的dom類型,確定在行為樹中是否存在與失敗dom節點的dom類型相對應的針對測試腳本的處理方案,其中行為樹包括用于修復測試腳本的多個處理方案,多個處理方案中的每個處理方案包括用于修復測試腳本的多個修復方案。如此,通過失敗dom節點的dom類型,能夠在層次結構清晰的先驗知識庫中尋求針對這一dom類型的處理方案。
8、在一些實施例中,如果確定在行為樹中不存在與失敗dom節點的dom類型相對應的處理方案,可以指示對測試腳本的修復失敗,并且可以向行為樹添加與dom節點的dom類型相對應的處理方案。如此,如果先前建立的先驗知識庫中沒有針對這一dom類型的處理方案,將會添加這樣的處理方案,以便之后處理相同或相似的情況。
9、在一些實施例中,如果確定在行為樹中存在與失敗dom節點的dom類型相對應的處理方案,可以基于與失敗dom節點相關聯的失敗報錯信息來確定在行為樹中是否存在針對測試腳本的修復方案。為了進一步地找到針對ui測試腳本的修復方案,基于與失敗dom節點相關聯的失敗報錯信息在先驗知識庫進行搜索。如此,可以準確地判斷先驗知識庫中是否存在針對ui測試腳本的修復方案。
10、在一些實施例中,如果確定在行為樹中不存在針對測試腳本的修復方案,可以指示對測試腳本的修復失敗,并且向行為樹添加與失敗報錯信息相對應的修復方案。在一些實施例中,如果確定在行為樹中存在針對測試腳本的修復方案,基于該修復方案執行對測試腳本的修復以獲得修復測試腳本。如此,可以準確地定位失敗報錯的位置,并且更好地匹配相對應的修復方案,進而提高修復質量。
11、在一些實施例中,如果執行對測試腳本的修復失敗,可以檢查與執行對測試腳本的修復相關聯的執行功能。如果確定執行功能正常,可以確定對測試腳本的修復失敗,并且如果確定執行功能異常,利用另一執行機重新執行對測試腳本的修復。如此,可以確定是否是執行硬件的問題而導致對測試腳本的修復失敗。
12、在一些實施例中,如果對測試腳本的修復成功,可以獲取測試腳本運行成功時的成功dom樹,并且可以將成功dom樹更新到基線dom樹的數據庫中。此外,可以指示對測試腳本的修復成功。如此,在經修復的ui測試腳本運行成功時的ui頁面的成功dom樹將作為新的基線dom樹被保存,以用于之后的比較。
13、在一些實施例中,如果確定失敗dom樹與對應的基線dom樹相同,基于失敗報錯日志來生成針對用戶界面的修復測試腳本。如此,如果在將失敗dom樹與對應的基線dom樹進行比較之后未發現不同,可以基于失敗報錯日志尋求針對ui測試腳本的修復方案。
14、根據本公開的第二方面,提供了一種用于修復針對用戶界面的測試腳本的裝置。該裝置包括獲取模塊,被配置為如果確定測試腳本運行失敗,獲取測試腳本運行失敗時的用戶界面的失敗文檔對象模型(dom)樹。該裝置還包括比較模塊,被配置為確定失敗dom樹與對應的基線dom樹之間的差異d本文檔來自技高網...
【技術保護點】
1.一種用于修復針對用戶界面的測試腳本的方法,包括:
2.根據權利要求1所述的方法,還包括:
3.根據權利要求2所述的方法,其中確定所述失敗DOM節點包括:
4.根據權利要求3所述的方法,其中確定所述失敗DOM節點還包括:
5.根據權利要求4所述的方法,其中確定所述失敗DOM節點還包括:
6.根據權利要求2所述的方法,生成針對所述用戶界面的修復測試腳本包括:
7.根據權利要求6所述的方法,還包括:
8.根據權利要求6所述的方法,還包括:
9.根據權利要求8所述的方法,還包括:
10.根據權利要求8所述的方法,還包括:
11.根據權利要求10所述的方法,還包括:
12.根據權利要求10所述的方法,還包括:
13.根據權利要求1所述的方法,其中所述差異DOM樹通過將所述失敗DOM樹與所述對應的基線DOM樹進行比較而被確定,所述方法還包括:
14.一種用于修復針對用戶界面的測試腳本的裝置,包括:
15.一種計算設備集群,
16.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有指令,所述指令在被計算設備執行時,使得所述計算設備執行根據權利要求1至13中任一項所述的方法。
17.一種計算機程序產品,其特征在于,所述計算機程序產品包括指令,所述指令在被計算設備執行時,使得所述計算設備執行根據權利要求1至13中任一項所述的方法。
...【技術特征摘要】
1.一種用于修復針對用戶界面的測試腳本的方法,包括:
2.根據權利要求1所述的方法,還包括:
3.根據權利要求2所述的方法,其中確定所述失敗dom節點包括:
4.根據權利要求3所述的方法,其中確定所述失敗dom節點還包括:
5.根據權利要求4所述的方法,其中確定所述失敗dom節點還包括:
6.根據權利要求2所述的方法,生成針對所述用戶界面的修復測試腳本包括:
7.根據權利要求6所述的方法,還包括:
8.根據權利要求6所述的方法,還包括:
9.根據權利要求8所述的方法,還包括:
10.根據權利要求8所述的方法,還包括:
11.根據權利要求10所述的方法,還包括:
12.根據權利要求10所述的方法,還包括:
13.根據權利...
【專利技術屬性】
技術研發人員:張翔,張志鵬,楊凱,
申請(專利權)人:華為云計算技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。