本申請涉及自動化控制,尤其涉及一種腳本生成與執(zhí)行方法、設備、存儲介質及程序產品。
背景技術:
1、隨著移動互聯(lián)網(wǎng)的迅猛發(fā)展,終端上的移動應用程序已經成為人們生活中不可或缺的一部分。無論是針對移動應用程序進行自動化測試或是利用移動應用程序模擬用戶的操作行為,均需要借助于自動化腳本來提升效率。
2、現(xiàn)有技術中,無論是自動化腳本的生成階段,還是自動化腳本的應用階段,均依賴于對頁面控件樹進行遍歷以定位到待執(zhí)行操作對應的頁面控件,從而針對定位到的頁面控件進行相應的操作。
3、一方面,頁面控件樹中的層級通常是較多且較為復雜的,這就導致了每次利用自動化腳本進行自動化操作時需要頻繁地對頁面控件樹進行遍歷,效率較低,另一方面,有些頁面的頁面控件樹中存在控件id(identity?document,標識)缺失的情況,從而導致無法較為準確地遍歷到待執(zhí)行操作對應的頁面控件,從而導致最終生成的自動化腳本的準確度較低。
4、基于以上兩方面,現(xiàn)有技術無法較為高效地生成自動化腳本,且生成的自動化腳本的準確度較低。
技術實現(xiàn)思路
1、本申請的多個方面提供一種腳本生成與執(zhí)行方法、設備、存儲介質及程序產品,用以較為高效且準確地生成自動化腳本。
2、本申請實施例提供一種腳本生成方法,包括:獲取針對目標應用的目標任務的多個交互操作的描述信息,以及,基于所述多個交互操作的描述信息控制所述目標應用模擬執(zhí)行所述多個交互操作產生的多個初始頁面;對所述多個初始頁面進行截圖,得到所述多個交互操作各自對應的頁面截圖;按照所述多個交互操作的執(zhí)行順序,依次將所述多個交互操作的描述信息與所述多個交互操作各自對應的頁面截圖輸入至控件識別模型,以根據(jù)任一交互操作的描述信息中的動作描述信息,從所述任一交互操作對應的頁面截圖中的多個控件中識別所述任一交互操作針對的目標控件;根據(jù)所述多個交互操作的描述信息、所述執(zhí)行順序以及所述多個交互操作各自針對的目標控件,生成目標腳本;所述目標腳本用于:根據(jù)所述多個交互操作的描述信息控制所述目標應用按照所述執(zhí)行順序依次對所述多個交互操作各自針對的目標控件執(zhí)行所述多個交互操作以完成所述目標任務。
3、可選地,獲取針對目標應用的目標任務的多個交互操作的描述信息,包括:向用戶提供所述目標應用的任務配置界面,以供所述用戶對所述目標任務進行配置;響應所述用戶的配置操作,確定所述目標任務的多個交互操作的描述信息;或者,將歷史目標任務中的多個歷史交互操作的歷史描述信息,作為所述多個交互操作的描述信息;所述歷史目標任務為針對歷史版本的目標應用執(zhí)行的任務。
4、可選地,所述任一交互操作的動作描述信息用于描述所述任一交互操作的操作類型,包括:動作描述文本和/或動作描述圖標;根據(jù)任一交互操作的描述信息中的動作描述信息,從所述任一交互操作對應的頁面截圖中的多個控件中識別所述任一交互操作針對的目標控件,包括:提取所述任一交互操作的動作描述信息對應的第一特征信息,以及,所述任一交互操作對應的頁面截圖的多個截圖區(qū)域各自對應的第二特征信息;所述多個截圖區(qū)域分別展示有所述多個控件;任一個截圖區(qū)域對應的第二特征信息用于表征所述截圖區(qū)域展示的控件;計算所述第一特征信息與所述多個截圖區(qū)域各自對應的第二特征信息之間的特征相似度;將所述多個截圖區(qū)域中的特征相似度符合預設條件的截圖區(qū)域,作為目標區(qū)域;將所述目標區(qū)域中展示的控件作為所述任一交互操作針對的目標控件。
5、可選地,所述控件識別模型預先學習到針對不同頁面截圖的區(qū)域分割能力;提取所述任一交互操作對應的頁面截圖的多個截圖區(qū)域各自對應的第二特征信息,包括:利用所述區(qū)域分割能力,將所述任一交互操作對應的頁面截圖分割為所述多個控件對應的所述多個截圖區(qū)域;提取所述多個截圖區(qū)域各自對應的第二特征信息。
6、可選地,根據(jù)所述多個交互操作的描述信息、所述執(zhí)行順序以及所述多個交互操作各自針對的目標控件,生成目標腳本,包括:根據(jù)所述多個交互操作的描述信息以及所述多個交互操作各自針對的目標控件,生成多個操作指令,任一個操作指令用于控制所述目標應用對任一個目標控件執(zhí)行對應的交互操作;根據(jù)所述執(zhí)行順序,將所述多個操作指令整合為所述目標腳本。
7、可選地,還包括:獲取第一樣本頁面截圖、樣本交互操作的樣本動作描述信息以及標注有樣本控件的第二樣本頁面截圖;將所述第一樣本頁面截圖以及所述樣本動作描述信息輸入至預設的控件識別網(wǎng)絡中,在所述第二樣本頁面截圖的監(jiān)督下,以所述控件識別網(wǎng)絡的損失函數(shù)收斂至目標范圍為目標,利用所述第一樣本頁面截圖和所述樣本動作描述信息對所述控件識別網(wǎng)絡進行訓練,得到所述控件識別模型;其中,所述損失函數(shù)用于計算所述控件識別網(wǎng)絡識別出的所述樣本交互操作在所述樣本頁面截圖中針對的候選控件與所述樣本控件的誤差。
8、本申請實施例還提供一種腳本執(zhí)行方法,適用于目標應用,包括:獲取目標腳本;所述目標腳本根據(jù)所述腳本生成方法生成;對所述目標腳本進行解析,得到針對所述目標應用的目標任務的多個交互操作的描述信息、執(zhí)行順序以及各自針對的目標控件;根據(jù)所述多個交互操作的描述信息,按照所述執(zhí)行順序依次對所述多個交互操作各自針對的目標控件執(zhí)行所述多個交互操作以完成所述目標任務。
9、本申請實施例還提供一種電子設備,包括:存儲器和處理器;其中,所述存儲器用于:存儲一個或多個計算機指令;所述處理器用于執(zhí)行所述一個或多個計算機指令,以用于:執(zhí)行所述腳本生成方法或腳本執(zhí)行方法中的步驟。
10、本申請實施例還提供一種計算機可讀存儲介質,當所述計算機程序被處理器執(zhí)行時,致使所述處理器能夠實現(xiàn)所述腳本生成方法或腳本執(zhí)行方法中的步驟。
11、本申請實施例還提供一種計算機程序產品,包括計算機程序/指令,當所述計算機程序/指令被處理器執(zhí)行時,致使所述處理器能夠實現(xiàn)所述腳本生成方法或腳本執(zhí)行方法中任一項所述方法中的步驟。
12、在本實施例中,可獲取多個交互操作的描述信息和基于多個交互操作的描述信息控制目標應用模擬執(zhí)行多個交互操作產生的多個頁面;對多個頁面進行截圖得到多個交互操作對應的頁面截圖;按照多個交互操作的執(zhí)行順序將多個交互操作的描述信息與多個交互操作對應的頁面截圖輸入至控件識別模型,以根據(jù)任一交互操作的描述信息中的動作描述信息,從任一交互操作對應的頁面截圖中的多個控件中識別任一交互操作針對的目標控件;根據(jù)多個交互操作的描述信息、執(zhí)行順序和多個交互操作針對的目標控件,生成目標腳本。通過這種方式,無需依賴頁面控件樹,可較為高效且準確地生成自動化腳本。
1.一種腳本生成方法,其特征在于,包括:
2.根據(jù)權利要求1所述的方法,其特征在于,獲取針對目標應用的目標任務的多個交互操作的描述信息,包括:
3.根據(jù)權利要求1所述的方法,其特征在于,所述任一交互操作的動作描述信息用于描述所述任一交互操作的操作類型,包括:動作描述文本和/或動作描述圖標;
4.根據(jù)權利要求3所述的方法,其特征在于,所述控件識別模型預先學習到針對不同頁面截圖的區(qū)域分割能力;提取所述任一交互操作對應的頁面截圖的多個截圖區(qū)域各自對應的第二特征信息,包括:
5.根據(jù)權利要求1-4任一項所述的方法,其特征在于,根據(jù)所述多個交互操作的描述信息、所述執(zhí)行順序以及所述多個交互操作各自針對的目標控件,生成目標腳本,包括:
6.根據(jù)權利要求1-4任一項所述的方法,其特征在于,還包括:
7.一種腳本執(zhí)行方法,其特征在于,適用于目標應用,包括:
8.一種電子設備,其特征在于,包括:存儲器和處理器;其中,所述存儲器用于:存儲一個或多個計算機指令;所述處理器用于執(zhí)行所述一個或多個計算機指令,以用于:執(zhí)行權利要求1-6或權利要求7中任一項所述方法中的步驟。
9.一種計算機可讀存儲介質,其特征在于,當所述計算機程序被處理器執(zhí)行時,致使所述處理器能夠實現(xiàn)權利要求1-6或權利要求7中任一項所述方法中的步驟。
10.一種計算機程序產品,其特征在于,包括計算機程序/指令,當所述計算機程序/指令被處理器執(zhí)行時,致使所述處理器能夠實現(xiàn)權利要求1-6或權利要求7中任一項所述方法中的步驟。