本技術(shù)涉及計算機,具體涉及一種軟件測試方法、裝置、電子設(shè)備和計算機存儲介質(zhì)。
背景技術(shù):
1、顯示設(shè)備(比如,餐飲行業(yè)中的電視叫號屏)的點擊模式通常包括按鍵點擊模式和焦點點擊模式,所謂按鍵點擊模式也就是常用的觸摸屏點擊模式,所謂焦點點擊模式也就是常用的電視遙控器點擊模式。
2、目前,對于按鍵點擊模式的顯示設(shè)備,采用常規(guī)的ui(user?interface,用戶界面)自動化指令即可實現(xiàn)ui自動化,而常規(guī)的ui自動化指令對于焦點點擊模式的顯示設(shè)備并不適用,導(dǎo)致目前主要還是依靠人工對焦點點擊模式的顯示設(shè)備中的軟件進行測試,然而人工測試不僅成本高,而且效率低下。
3、因此,如何提高運行在顯示設(shè)備中的軟件的測試效率是目前亟需解決的問題。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供一種軟件測試方法,以提高運行在顯示設(shè)備中的軟件的測試效率。
2、本技術(shù)實施例提供一種軟件測試方法,包括:獲取被測試軟件的第一頁面中的元素,作為第一頁面元素,所述被測試軟件運行在可被遙控板遙控的顯示設(shè)備中;判斷所述第一頁面元素中是否存在需要執(zhí)行焦點事件的指定測試元素;如果所述第一頁面元素中存在所述指定測試元素,則獲得針對所述指定測試元素所需執(zhí)行的第一指定焦點事件的信息,作為第一指定焦點事件信息;根據(jù)所述第一指定焦點事件信息,模擬遙控板向所述顯示設(shè)備發(fā)出用于指示所述被測試軟件針對所述指定測試元素執(zhí)行所述第一指定焦點事件的執(zhí)行指令,以使所述被測試軟件執(zhí)行針對所述指定測試元素的所述第一指定焦點事件;獲得所述顯示設(shè)備返回的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的執(zhí)行結(jié)果;根據(jù)所述執(zhí)行結(jié)果和預(yù)先設(shè)置的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果,獲得所述執(zhí)行結(jié)果是否符合所述預(yù)期結(jié)果的測試結(jié)果。
3、可選的,所述執(zhí)行指令采用如下方式生成:
4、獲得所述顯示設(shè)備的設(shè)備標(biāo)識信息以及所述第一指定事件信息對應(yīng)的參數(shù)信息;
5、將所述設(shè)備標(biāo)識信息以及所述參數(shù)信息寫入預(yù)設(shè)的執(zhí)行指令模版中,獲得所述執(zhí)行指令。
6、可選的,所述預(yù)先設(shè)置的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果采用如下方式獲得:
7、將所述執(zhí)行指令傳入預(yù)設(shè)的子進程庫中進行指令執(zhí)行,獲得指令執(zhí)行結(jié)果,作為所述預(yù)先設(shè)置的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果。
8、可選的,還包括:
9、獲取被測試軟件的第二頁面中的元素,作為第二頁面元素;所述第二頁面元素是所述被測試軟件執(zhí)行針對所述指定測試元素的所述第一指定焦點事件之后進入的頁面上的元素,或者,所述第二頁面元素是所述被測試軟件響應(yīng)于訂單處理端執(zhí)行下單操作后在所述被測試軟件的第二頁面中展示的元素。
10、從訂單處理端獲得頁面元素,作為第三頁面元素;
11、判斷所述第二頁面元素與所述第三頁面元素是否一致;
12、若是,則獲得所述執(zhí)行結(jié)果符合所述預(yù)期結(jié)果的測試結(jié)果;
13、若否,則獲得所述執(zhí)行結(jié)果不符合所述預(yù)期結(jié)果的測試結(jié)果。
14、可選的,所述根據(jù)所述執(zhí)行結(jié)果和預(yù)先設(shè)置的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果,獲得所述執(zhí)行結(jié)果是否符合所述預(yù)期結(jié)果的測試結(jié)果,包括:
15、如果所述執(zhí)行結(jié)果與所述預(yù)期結(jié)果一致,則獲得所述執(zhí)行結(jié)果符合所述預(yù)期結(jié)果的測試結(jié)果;
16、如果所述執(zhí)行結(jié)果與所述預(yù)期結(jié)果不一致,則獲得所述執(zhí)行結(jié)果不符合所述預(yù)期結(jié)果的測試結(jié)果。
17、可選的,所述獲取被測試軟件的第一頁面中的元素,包括:獲取被測試軟件的第一頁面對應(yīng)的元素列表,作為第一頁面元素列表,其中,針對所述第一頁面元素列表中的每個元素均設(shè)置有用于表示元素是否支持執(zhí)行焦點事件的焦點事件支持標(biāo)簽;
18、所述判斷所述第一頁面元素中是否存在需要執(zhí)行焦點事件的指定測試元素,包括:
19、遍歷所述第一頁面元素列表中的元素,獲得焦點事件支持標(biāo)簽用于表示元素支持執(zhí)行焦點事件的元素,作為焦點事件支持元素;
20、獲得所述焦點事件支持元素的元素特征,作為焦點事件支持元素特征;
21、獲得所述指定測試元素的元素特征,作為指定測試元素特征;
22、根據(jù)所述焦點事件支持元素特征和所述指定測試元素特征,判斷所述焦點事件支持元素中是否存在所述指定測試元素。
23、可選的,所述焦點事件支持元素特征包括所述焦點事件支持元素在所述第一頁面中的展示信息,所述指定測試元素特征包括所述指定測試元素在所述指定測試元素所屬頁面中的展示信息;
24、所述根據(jù)所述焦點事件支持元素特征和所述指定測試元素特征,判斷所述焦點事件支持元素中是否存在所述指定測試元素,包括:
25、判斷所述焦點事件支持元素在所述第一頁面中的展示信息與所述指定測試元素在所述指定測試元素所屬頁面中的展示信息是否相同,如果是,則確定所述焦點事件支持元素中存在所述指定測試元素,否則,確定所述焦點事件支持元素中不存在所述指定測試元素。
26、可選的,所述獲得針對所述指定測試元素所需執(zhí)行的第一指定焦點事件的信息,包括:
27、獲得為所述指定測試元素設(shè)置的焦點事件列表,作為指定焦點事件列表,所述指定焦點事件列表中記錄有針對所述指定測試元素設(shè)置的所有焦點事件的信息,在所述指定焦點事件列表中,為每個焦點事件的信息設(shè)置焦點事件執(zhí)行狀態(tài)信息,每個焦點事件對應(yīng)的焦點事件執(zhí)行狀態(tài)信息用于表示每個焦點事件在針對所述被測試軟件的當(dāng)前測試周期內(nèi)的執(zhí)行狀態(tài);
28、遍歷所述指定焦點事件列表中的每個焦點事件對應(yīng)的焦點事件執(zhí)行狀態(tài)信息,查找所述指定焦點事件列表中的所有焦點事件中焦點事件執(zhí)行狀態(tài)信息表示焦點事件在當(dāng)前測試周期內(nèi)處于待執(zhí)行狀態(tài)的焦點事件,作為待執(zhí)行焦點事件;
29、根據(jù)所述待執(zhí)行焦點事件的信息獲得所述第一指定焦點事件信息。
30、可選的,所述根據(jù)所述待執(zhí)行焦點事件的信息獲得所述第一指定焦點事件信息,包括:
31、如果所述待執(zhí)行焦點事件的數(shù)量為多個,則獲得每個待執(zhí)行焦點事件的測試優(yōu)先級標(biāo)簽;
32、根據(jù)每個待執(zhí)行焦點事件的測試優(yōu)先級標(biāo)簽,從多個待執(zhí)行焦點事件中選擇測試優(yōu)先級滿足預(yù)設(shè)測試優(yōu)先級條件的待執(zhí)行焦點事件作為所述第一指定焦點事件。
33、可選的,對于所述指定測試元素對應(yīng)的目標(biāo)焦點事件,所述目標(biāo)焦點事件的測試優(yōu)先級標(biāo)簽按照下述方式獲得:
34、獲得所述被測試軟件的應(yīng)用場景數(shù)據(jù);
35、獲得所述被測試軟件的與應(yīng)用場景關(guān)聯(lián)的軟件用途數(shù)據(jù);
36、獲得所述指定測試元素在所述指定測試元素所屬頁面中的元素用途數(shù)據(jù);
37、獲得針對所述指定測試元素執(zhí)行的所述目標(biāo)焦點事件的歷史執(zhí)行數(shù)據(jù);
38、將所述應(yīng)用場景數(shù)據(jù)、所述軟件用途數(shù)據(jù)、所述元素用途數(shù)據(jù)和所述歷史執(zhí)行數(shù)據(jù)輸入到用于獲得焦點事件的測試優(yōu)先級標(biāo)簽的測試優(yōu)先級預(yù)測模型中,獲得所述指定測試元素對應(yīng)的目標(biāo)焦點事件的測試優(yōu)先級標(biāo)簽。
39、可選的,所述獲得所述被測試軟件的應(yīng)用場景數(shù)據(jù),包括:
40、獲得所述顯示設(shè)備的使用主體的使用主體特征數(shù)據(jù);
41、獲得所述被測試軟件的輸出結(jié)果特征數(shù)據(jù);
42、將所述使用主體特征數(shù)據(jù)和所述輸出結(jié)果特征數(shù)據(jù)輸入到用于獲得應(yīng)用場景數(shù)據(jù)的應(yīng)用場景預(yù)測模型中,獲得所述被測試軟件的應(yīng)用場景數(shù)據(jù)。
43、可選的,所述獲得所述被測試軟件的與應(yīng)用場景關(guān)聯(lián)的軟件用途數(shù)據(jù),包括:將所述應(yīng)用場景數(shù)據(jù)和所述輸出結(jié)果特征數(shù)據(jù)輸入到用于獲得軟件用途數(shù)據(jù)的軟件用途預(yù)測模型中,獲得所述被測試軟件的與應(yīng)用場景關(guān)聯(lián)的軟件用途數(shù)據(jù)。
44、可選的,還包括:獲得所述指定測試元素所屬頁面的頁面元素列表,作為指定頁面元素列表,在所述指定頁面元素列表中,為每個頁面元素設(shè)置頁面元素用途標(biāo)簽,每個頁面元素的頁面元素用途標(biāo)簽用于表示每個頁面元素在所述指定測試元素所屬頁面中的用途;
45、所述獲得所述指定測試元素在所述指定測試元素所屬頁面中的元素用途數(shù)據(jù),包括:從所述指定頁面元素列表中獲得所述指定測試元素的頁面元素用途標(biāo)簽,作為所述指定測試元素在所述指定測試元素所屬頁面中的元素用途數(shù)據(jù)。
46、可選的,所述獲得針對所述指定測試元素執(zhí)行的所述目標(biāo)焦點事件的歷史執(zhí)行數(shù)據(jù),包括:
47、獲得在預(yù)設(shè)歷史時間段內(nèi)針對所述指定測試元素執(zhí)行的所述目標(biāo)焦點事件的歷史執(zhí)行次數(shù),作為目標(biāo)焦點事件歷史執(zhí)行次數(shù);
48、獲得在所述預(yù)設(shè)歷史時間段內(nèi)針對所述指定測試元素執(zhí)行的其他焦點事件的歷史執(zhí)行次數(shù),作為其他焦點事件歷史執(zhí)行次數(shù);
49、根據(jù)所述目標(biāo)焦點事件歷史執(zhí)行次數(shù)和所述其他焦點事件歷史執(zhí)行次數(shù),獲得所述目標(biāo)焦點事件在所述預(yù)設(shè)歷史時間段內(nèi)的執(zhí)行比重數(shù)據(jù),作為針對所述指定測試元素執(zhí)行的所述目標(biāo)焦點事件的歷史執(zhí)行數(shù)據(jù)。
50、本技術(shù)實施例還提供一種軟件測試方法,包括:響應(yīng)于檢測到被測試軟件的啟動操作,獲得所述被測試軟件的第一頁面中的元素,作為第一頁面元素,所述被測試軟件運行在可被遙控板遙控的顯示設(shè)備中;將所述第一頁面元素發(fā)送給服務(wù)端,以使所述服務(wù)端判斷所述第一頁面元素中是否存在需要執(zhí)行焦點事件的指定測試元素,并在所述第一頁面元素中存在所述指定測試元素時,獲得針對所述指定測試元素所需執(zhí)行的第一指定焦點事件的信息,作為第一指定焦點事件信息;獲得所述服務(wù)端返回的用于指示所述被測試軟件針對所述指定測試元素執(zhí)行所述第一指定焦點事件的執(zhí)行指令;基于所述執(zhí)行指令,執(zhí)行針對所述指定測試元素的所述第一指定焦點事件,獲得所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的執(zhí)行結(jié)果;將所述執(zhí)行結(jié)果發(fā)送給所述服務(wù)端,以使所述服務(wù)端根據(jù)所述執(zhí)行結(jié)果和預(yù)先設(shè)置的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果,獲得所述執(zhí)行結(jié)果是否符合所述預(yù)期結(jié)果的測試結(jié)果。
51、可選的,還包括:
52、響應(yīng)于訂單處理端的下單操作,展示第二頁面;
53、獲取第二頁面中的元素,作為第二頁面元素;
54、將所述第二頁面元素發(fā)送給所述服務(wù)端,以使所述服務(wù)端判斷所述第二頁面元素與第三頁面元素是否一致,所述第三頁面元素是所述服務(wù)端從所述訂單處理端獲得的頁面元素。
55、本技術(shù)實施例還提供一種軟件測試裝置,包括:
56、第一頁面元素獲取單元,用于獲取被測試軟件的第一頁面中的元素,作為第一頁面元素,所述被測試軟件運行在可被遙控板遙控的顯示設(shè)備中;
57、判斷單元,用于判斷所述第一頁面元素中是否存在需要執(zhí)行焦點事件的指定測試元素;
58、第一指定焦點事件信息獲得單元,用于如果所述第一頁面元素中存在所述指定測試元素,則獲得針對所述指定測試元素所需執(zhí)行的第一指定焦點事件的信息,作為第一指定焦點事件信息;
59、執(zhí)行指令發(fā)出單元,用于根據(jù)所述第一指定焦點事件信息,模擬遙控板向所述顯示設(shè)備發(fā)出用于指示所述被測試軟件針對所述指定測試元素執(zhí)行所述第一指定焦點事件的執(zhí)行指令,以使所述被測試軟件執(zhí)行針對所述指定測試元素的所述第一指定焦點事件;
60、執(zhí)行結(jié)果獲得單元,用于獲得所述顯示設(shè)備返回的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的執(zhí)行結(jié)果;
61、測試結(jié)果獲得單元,用于根據(jù)所述執(zhí)行結(jié)果和預(yù)先設(shè)置的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果,獲得所述執(zhí)行結(jié)果是否符合所述預(yù)期結(jié)果的測試結(jié)果。
62、本技術(shù)實施例還提供一種軟件測試裝置,包括:
63、第一頁面元素獲取單元,用于響應(yīng)于檢測到被測試軟件的啟動操作,獲得被測試軟件的第一頁面中的元素,作為第一頁面元素,所述被測試軟件運行在可被遙控板遙控的顯示設(shè)備中;
64、第一頁面元素發(fā)送單元,用于向服務(wù)端發(fā)送所述第一頁面元素,以使所述服務(wù)端判斷所述第一頁面元素中是否存在需要執(zhí)行焦點事件的指定測試元素,并在所述第一頁面元素中存在所述指定測試元素時,獲得針對所述指定測試元素所需執(zhí)行的第一指定焦點事件的信息,作為第一指定焦點事件信息;
65、執(zhí)行指令獲得單元,用于獲得服務(wù)端返回的用于指示所述被測試軟件針對所述指定測試元素執(zhí)行所述第一指定焦點事件的執(zhí)行指令;
66、執(zhí)行結(jié)果獲得單元,用于基于所述執(zhí)行指令,執(zhí)行針對所述指定測試元素的所述第一指定焦點事件,獲得所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的執(zhí)行結(jié)果;
67、執(zhí)行結(jié)果發(fā)送單元,用于將所述執(zhí)行結(jié)果發(fā)送給服務(wù)端以使所述服務(wù)端根據(jù)所述執(zhí)行結(jié)果和預(yù)先設(shè)置的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果,獲得所述執(zhí)行結(jié)果是否符合所述預(yù)期結(jié)果的測試結(jié)果。
68、本技術(shù)還提供一種電子設(shè)備,所述電子設(shè)備包括處理器和存儲器;所述存儲器中存儲有計算機程序,所述處理器運行所述計算機程序后,執(zhí)行上述方法。
69、本技術(shù)還提供一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器運行后,執(zhí)行上述方法。
70、與現(xiàn)有技術(shù)相比,本技術(shù)實施例具有以下優(yōu)點:
71、本技術(shù)實施例提供一種軟件測試方法,包括:獲取被測試軟件的第一頁面中的元素,作為第一頁面元素,所述被測試軟件運行在可被遙控板遙控的顯示設(shè)備中;判斷所述第一頁面元素中是否存在需要執(zhí)行焦點事件的指定測試元素;如果所述第一頁面元素中存在所述指定測試元素,則獲得針對所述指定測試元素所需執(zhí)行的第一指定焦點事件的信息,作為第一指定焦點事件信息;根據(jù)所述第一指定焦點事件信息,模擬遙控板向所述顯示設(shè)備發(fā)出用于指示所述被測試軟件針對所述指定測試元素執(zhí)行所述第一指定焦點事件的執(zhí)行指令,以使所述被測試軟件執(zhí)行針對所述指定測試元素的所述第一指定焦點事件;獲得所述顯示設(shè)備返回的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的執(zhí)行結(jié)果;根據(jù)所述執(zhí)行結(jié)果和預(yù)先設(shè)置的所述被測試軟件執(zhí)行針對所述指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果,獲得所述執(zhí)行結(jié)果是否符合所述預(yù)期結(jié)果的測試結(jié)果。
72、本技術(shù)實施例所述軟件測試方法在獲得被測試軟件的第一頁面中的元素之后,判斷被測試軟件的第一頁面元素中是否存在需要執(zhí)行焦點事件的指定測試元素,并在第一頁面元素中存在指定測試元素時,獲得指定測試元素所需執(zhí)行的第一指定焦點事件信息,然后,根據(jù)第一指定焦點事件信息,模擬遙控板向顯示設(shè)備發(fā)出用于指示被測試軟件針對指定測試元素執(zhí)行第一指定焦點事件的執(zhí)行指令,以使被測試軟件執(zhí)行第一指定焦點事件,之后,獲得顯示設(shè)備返回的被測試軟件的執(zhí)行結(jié)果,最后,根據(jù)執(zhí)行結(jié)果和預(yù)先設(shè)置的被測試軟件執(zhí)行針對指定測試元素的指定焦點事件后所獲得的預(yù)期結(jié)果,獲得執(zhí)行結(jié)果是否符合預(yù)期結(jié)果的測試結(jié)果。該軟件測試方法中,被測軟件運行在顯示設(shè)備中,通過該軟件測試方法對軟件進行測試以提高運行在顯示設(shè)備中的軟件的測試效率。