本技術(shù)涉及數(shù)據(jù)處理與金融科技領(lǐng)域,尤其涉及腳本處理方法、裝置、計算機設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在當前的軟件開發(fā)與測試領(lǐng)域,尤其是在保險服務(wù)系統(tǒng)這類高度依賴用戶交互與界面展示的應(yīng)用中,ui(用戶界面)自動化測試作為保障軟件質(zhì)量的重要手段之一,扮演著至關(guān)重要的角色。傳統(tǒng)上,ui自動化測試依賴于測試人員手動編寫和執(zhí)行測試腳本,以模擬用戶操作并驗證系統(tǒng)功能的正確性。然而,隨著保險服務(wù)系統(tǒng)功能的不斷擴展與版本的快速迭代,用戶界面的頻繁變更成為了一個不可忽視的挑戰(zhàn)。
2、測試腳本的維護成本隨著系統(tǒng)復(fù)雜度的增加而急劇上升。在保險服務(wù)系統(tǒng)中,由于功能模塊的眾多和界面元素的繁雜,測試腳本的數(shù)量往往呈現(xiàn)指數(shù)級增長。每當保險服務(wù)系統(tǒng)的界面元素發(fā)生變更時,測試人員需要耗費大量時間和精力去逐一檢查和更新相關(guān)腳本,以確保其能夠繼續(xù)正確執(zhí)行。這種手工維護的方式不僅效率低下,而且容易出錯,特別是在面對大規(guī)模的系統(tǒng)更新時,其維護成本更是難以承受。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例的目的在于提出一種腳本處理方法、裝置、計算機設(shè)備及存儲介質(zhì),以解決現(xiàn)有的保險服務(wù)系統(tǒng)的界面元素發(fā)生變更時,測試人員需要耗費大量時間和精力去逐一檢查和更新相關(guān)腳本,這種手工維護的方式不僅效率低下,而且容易出錯,以及維護成本高的技術(shù)問題。
2、為了解決上述技術(shù)問題,本技術(shù)實施例提供一種腳本處理方法,采用了如下所述的技術(shù)方案:
3、在執(zhí)行與目標頁面對應(yīng)的測試腳本的過程中,判斷是否捕獲到元素交互異常;
4、若是,停止執(zhí)行所述測試腳本,并在所述目標頁面中確定出與所述元素交互異常對應(yīng)的指定元素;
5、獲取與所述指定元素對應(yīng)的上下文信息;
6、基于預(yù)設(shè)的定位策略對所述上下文信息進行元素定位處理,得到所述目標頁面上與所述指定元素對應(yīng)的目標更新元素;
7、基于所述目標更新元素對所述指定元素進行替換處理;
8、判斷是否捕獲到其他異常;
9、若未捕獲到其他異常,則繼續(xù)執(zhí)行所述測試腳本。
10、進一步的,所述基于預(yù)設(shè)的定位策略對所述上下文信息進行元素定位處理,得到所述目標頁面上與所述指定元素對應(yīng)的目標更新元素的步驟,具體包括:
11、獲取預(yù)設(shè)的屬性定位策略與圖像定位策略;
12、確定所述屬性定位策略的第一優(yōu)先級,以及確定所述圖像定位策略的第二優(yōu)先級;
13、若所述第一優(yōu)先級高于所述第二優(yōu)先級,則從所述上下文信息中提取所述指定元素的上下級關(guān)系信息;
14、基于預(yù)設(shè)的定位技術(shù)與所述上下級關(guān)系信息進行元素定位處理,得到對應(yīng)的第一元素定位結(jié)果;
15、若所述第一元素定位結(jié)果為定位失敗,對所述目標頁面進行頁面信息解析,并判斷是否檢測到與所述指定元素對應(yīng)的可識別屬性;
16、若是,獲取所述可識別屬性,并基于所述可識別屬性進行元素定位處理得到對應(yīng)的第二元素定位結(jié)果;
17、若所述第二元素定位結(jié)果為定位成功,獲取與所述第二元素定位結(jié)果對應(yīng)的目標元素,并將所述目標元素作為所述目標更新元素。
18、進一步的,在所述基于所述可識別屬性進行元素定位處理得到對應(yīng)的第二元素定位結(jié)果的步驟之后,還包括:
19、若所述第二元素定位結(jié)果為定位失敗,則從所述上下文信息中獲取所述目標頁面的截圖信息;
20、基于預(yù)設(shè)的圖像處理庫對所述截圖信息進行處理,提取出與所述指定元素對應(yīng)的指定圖像信息;
21、調(diào)用預(yù)設(shè)的按鈕圖像庫;
22、從所述按鈕圖像庫中篩選出與所述指定圖像信息匹配的目標按鈕圖像信息;
23、基于所述目標按鈕圖像信息生成所述目標頁面上與所述指定元素對應(yīng)的所述目標更新元素。
24、進一步的,在所述判斷是否捕獲到其他異常的步驟之后,還包括:
25、若捕獲到其他異常,則判斷所述其他異常是否為頁面白屏;
26、若所述其他異常為頁面白屏,獲取與所述目標頁面對應(yīng)的網(wǎng)絡(luò)請求的響應(yīng)碼,并判斷所述響應(yīng)碼是否為目標響應(yīng)碼;
27、若所述響應(yīng)碼不為目標響應(yīng)碼,獲取預(yù)設(shè)的重試次數(shù)與重試間隔;
28、基于所述重試次數(shù)與重試間隔對所述目標頁面進行重試處理,直至所述目標頁面加載成功;
29、在所述目標頁面加載成功后,繼續(xù)執(zhí)行所述測試腳本。
30、進一步的,在所述判斷是否捕獲到其他異常的步驟之后,還包括:
31、若捕獲到其他異常,則判斷所述其他異常是否為彈框;
32、若所述其他異常為彈框,則獲取與所述彈框?qū)?yīng)的彈框類型;
33、獲取與所述彈框類型對應(yīng)的目標處理方法;
34、基于所述目標處理方法對所述彈框進行關(guān)閉處理;
35、在所述彈框被成功關(guān)閉后,繼續(xù)執(zhí)行所述測試腳本。
36、進一步的,在所述繼續(xù)執(zhí)行所述測試腳本的步驟之后,還包括:
37、在所述測試腳本執(zhí)行完畢后,獲取對應(yīng)的腳本測試結(jié)果;
38、對所述腳本測試結(jié)果進行驗證處理,得到對應(yīng)的驗證數(shù)據(jù);
39、基于所述腳本測試結(jié)果與所述驗證數(shù)據(jù)生成與所述測試腳本對應(yīng)的測試報告;
40、對所述測試報告進行存儲處理。
41、進一步的,在所述繼續(xù)執(zhí)行所述測試腳本的步驟之后,還包括:
42、基于預(yù)設(shè)的時間周期獲取所述測試腳本在測試執(zhí)行過程中產(chǎn)生的處理數(shù)據(jù);
43、對所述處理數(shù)據(jù)進行數(shù)據(jù)分析,得到對應(yīng)的數(shù)據(jù)分析結(jié)果;
44、基于所述數(shù)據(jù)分析結(jié)果對所述測試腳本進行優(yōu)化處理,得到優(yōu)化后的目標測試腳本;
45、使用所述目標測試腳本對所述測試腳本進行更新處理。
46、為了解決上述技術(shù)問題,本技術(shù)實施例還提供一種腳本處理裝置,采用了如下所述的技術(shù)方案:
47、第一判斷模塊,用于在執(zhí)行與目標頁面對應(yīng)的測試腳本的過程中,判斷是否捕獲到元素交互異常;
48、確定模塊,用于若是,停止執(zhí)行所述測試腳本,并在所述目標頁面中確定出與所述元素交互異常對應(yīng)的指定元素;
49、第一獲取模塊,用于獲取與所述指定元素對應(yīng)的上下文信息;
50、定位模塊,用于基于預(yù)設(shè)的定位策略對所述上下文信息進行元素定位處理,得到所述目標頁面上與所述指定元素對應(yīng)的目標更新元素;
51、替換模塊,用于基于所述目標更新元素對所述指定元素進行替換處理;
52、第二判斷模塊,用于判斷是否捕獲到其他異常;
53、第一執(zhí)行模塊,用于若未捕獲到其他異常,則繼續(xù)執(zhí)行所述測試腳本。
54、為了解決上述技術(shù)問題,本技術(shù)實施例還提供一種計算機設(shè)備,采用了如下所述的技術(shù)方案:
55、在執(zhí)行與目標頁面對應(yīng)的測試腳本的過程中,判斷是否捕獲到元素交互異常;
56、若是,停止執(zhí)行所述測試腳本,并在所述目標頁面中確定出與所述元素交互異常對應(yīng)的指定元素;
57、獲取與所述指定元素對應(yīng)的上下文信息;
58、基于預(yù)設(shè)的定位策略對所述上下文信息進行元素定位處理,得到所述目標頁面上與所述指定元素對應(yīng)的目標更新元素;
59、基于所述目標更新元素對所述指定元素進行替換處理;
60、判斷是否捕獲到其他異常;
61、若未捕獲到其他異常,則繼續(xù)執(zhí)行所述測試腳本。
62、為了解決上述技術(shù)問題,本技術(shù)實施例還提供一種計算機可讀存儲介質(zhì),采用了如下所述的技術(shù)方案:
63、在執(zhí)行與目標頁面對應(yīng)的測試腳本的過程中,判斷是否捕獲到元素交互異常;
64、若是,停止執(zhí)行所述測試腳本,并在所述目標頁面中確定出與所述元素交互異常對應(yīng)的指定元素;
65、獲取與所述指定元素對應(yīng)的上下文信息;
66、基于預(yù)設(shè)的定位策略對所述上下文信息進行元素定位處理,得到所述目標頁面上與所述指定元素對應(yīng)的目標更新元素;
67、基于所述目標更新元素對所述指定元素進行替換處理;
68、判斷是否捕獲到其他異常;
69、若未捕獲到其他異常,則繼續(xù)執(zhí)行所述測試腳本。
70、與現(xiàn)有技術(shù)相比,本技術(shù)實施例主要有以下有益效果:
71、本技術(shù)在執(zhí)行與目標頁面對應(yīng)的測試腳本的過程中,判斷是否捕獲到元素交互異常;若是,停止執(zhí)行所述測試腳本,并在所述目標頁面中確定出與所述元素交互異常對應(yīng)的指定元素;然后獲取與所述指定元素對應(yīng)的上下文信息;之后基于預(yù)設(shè)的定位策略對所述上下文信息進行元素定位處理,得到所述目標頁面上與所述指定元素對應(yīng)的目標更新元素;后續(xù)基于所述目標更新元素對所述指定元素進行替換處理;并判斷是否捕獲到其他異常;若未捕獲到其他異常,則繼續(xù)執(zhí)行所述測試腳本。本技術(shù)在執(zhí)行與目標頁面對應(yīng)的測試腳本的過程中,如果捕獲到元素交互異常,則會停止執(zhí)行所述測試腳本,并在所述目標頁面中確定出與所述元素交互異常對應(yīng)的指定元素,然后獲取與所述指定元素對應(yīng)的上下文信息,并基于預(yù)設(shè)的定位策略對所述上下文信息進行元素定位處理,得到所述目標頁面上與所述指定元素對應(yīng)的目標更新元素,進而使用經(jīng)過定位策略進行元素定位處理得到的目標更新元素對指定元素進行相應(yīng)的替換處理,以實現(xiàn)自動處理目標頁面上出現(xiàn)的元素交互異常,從而有效確保與測試腳本對應(yīng)的測試流程的連續(xù)性和完整性。并且無需測試人員通過人工的方式進行異常修復(fù)處理,有效提高了測試腳本的測試效率與測試準確性,并且降低了測試腳本的維護成本。