本申請涉及車輛,具體涉及一種基于pytest架構(gòu)的測試方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、相關(guān)pytest框架的自動化測試方式是從外連的用例倉庫中,獲取測試用例的實例進(jìn)行測試,需要從眾多測試用例中確定出指定的測試用例,無法快速獲取指定的測試用例以滿足測試需求。
2、此外,針對測試用例和測試結(jié)果缺乏管理,無法直觀地提供給用戶相應(yīng)的測試用例及其測試結(jié)果。
技術(shù)實現(xiàn)思路
1、鑒于上述問題,本申請?zhí)峁┝艘环N基于pytest架構(gòu)的測試方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì),用于快速獲取指定的測試用例進(jìn)行測試,并在展示層顯示相應(yīng)的測試結(jié)果。
2、根據(jù)本申請一個方面,提供了一種基于pytest架構(gòu)的測試方法,所述測試方法應(yīng)用于管理模塊,所述管理模塊包括pytest執(zhí)行引擎、匹配引擎、同步單元、編輯單元;所述測試方法包括:響應(yīng)于展示層下發(fā)的測試指令,控制所述pytest執(zhí)行引擎從數(shù)據(jù)庫中獲取所述測試指令指定的測試用例的目標(biāo)路徑,以使所述pytest執(zhí)行引擎基于所述目標(biāo)路徑獲取所述指定的測試用例;其中,所述數(shù)據(jù)庫、所述管理模塊、所述展示層皆隸屬于同一程序,所述數(shù)據(jù)庫中測試用例的路徑是通過所述匹配引擎添加的;所述測試指令攜帶有用戶標(biāo)識;所述編輯單元用于響應(yīng)所述展示層下發(fā)的修改指令,對所述數(shù)據(jù)庫中的測試用例進(jìn)行修改,并將修改后的測試用例傳輸至所述同步單元,以使所述同步單元將所述修改后的測試用例同步至外連的用例倉庫;控制所述pytest執(zhí)行引擎基于所述指定的測試用例進(jìn)行測試,并控制所述pytest執(zhí)行引擎將測試結(jié)果與所述用戶標(biāo)識、所述目標(biāo)路徑綁定,存儲至所述數(shù)據(jù)庫,并對所述用戶標(biāo)識對應(yīng)的用戶開放訪問權(quán)限,以在所述展示層顯示所述數(shù)據(jù)庫中的測試結(jié)果。
3、在一種可選的方式中,所述測試方法還包括:控制所述同步單元從外連的用例倉庫中獲取原始測試用例,以使所述匹配引擎確定出符合預(yù)設(shè)匹配規(guī)則的目標(biāo)測試用例,并將所述目標(biāo)測試用例存儲至所述數(shù)據(jù)庫。
4、在一種可選的方式中,所述測試方法還包括:響應(yīng)于所述展示層下發(fā)的修改指令,控制所述編輯單元對所述數(shù)據(jù)庫中的測試用例進(jìn)行修改,并調(diào)用所述同步單元將修改后的測試用例上傳至所述用例倉庫。
5、在一種可選的方式中,控制所述pytest執(zhí)行引擎基于所述指定的測試用例進(jìn)行測試,并將測試結(jié)果存儲至所述數(shù)據(jù)庫,包括:控制所述pytest執(zhí)行引擎執(zhí)行測試函數(shù),以基于所述指定的測試用例進(jìn)行測試;若測試完成,則控制所述pytest執(zhí)行引擎執(zhí)行第一鉤子函數(shù),以捕獲相應(yīng)輸出流中的測試結(jié)果存儲至所述數(shù)據(jù)庫,并將所述測試結(jié)果對應(yīng)的測試報告發(fā)送至所述展示層,以使所述展示層顯示所述測試報告;其中,所述測試報告是基于所述測試結(jié)果和所述測試結(jié)果的相關(guān)數(shù)據(jù)生成的報告。
6、在一種可選的方式中,所述測試方法還包括:控制所述pytest執(zhí)行引擎執(zhí)行配置文件中的依賴項,以初始化連接所述數(shù)據(jù)庫,并控制所述pytest執(zhí)行引擎調(diào)用添加函數(shù),以添加用戶標(biāo)識;控制所述pytest執(zhí)行引擎執(zhí)行第二鉤子函數(shù),以創(chuàng)建所述指定的測試用例對應(yīng)的輸出流和緩沖區(qū)。
7、在一種可選的方式中,所述測試方法還包括:若檢測到所述緩沖區(qū)中所述指定的測試用例的日志信息,則控制所述pytest執(zhí)行引擎執(zhí)行第三鉤子函數(shù),以將所述緩沖區(qū)中的日志信息存儲至所述指定的測試用例的屬性中,并清空所述緩沖區(qū)。
8、根據(jù)本申請另一方面,提供了一種基于pytest架構(gòu)的測試系統(tǒng),所述測試系統(tǒng)包括管理模塊、數(shù)據(jù)庫、展示層,所述管理模塊包括pytest執(zhí)行引擎、匹配引擎、同步單元、編輯單元;所述pytest執(zhí)行引擎用于從所述數(shù)據(jù)庫中獲取所述測試指令指定的測試用例的目標(biāo)路徑,并基于所述目標(biāo)路徑獲取所述指定的測試用例;其中,所述數(shù)據(jù)庫中測試用例的路徑是通過所述匹配引擎添加的,所述測試指令攜帶有用戶標(biāo)識;所述pytest執(zhí)行引擎還用于基于所述指定的測試用例進(jìn)行測試,并將測試結(jié)果與所述用戶標(biāo)識、所述目標(biāo)路徑綁定,存儲至所述數(shù)據(jù)庫,以在所述展示層顯示所述數(shù)據(jù)庫中的測試結(jié)果;所述編輯單元,用于響應(yīng)于所述展示層下發(fā)的修改指令,對所述數(shù)據(jù)庫中的測試用例進(jìn)行修改,并將修改后的測試用例傳輸至所述同步單元;所述同步單元,用于從外連的用例倉庫中獲取原始測試用例,并用于將所述編輯單元修改后的測試用例同步至所述用例倉庫。
9、根據(jù)本申請一個方面,提供了一種電子設(shè)備,包括:控制器;存儲器,用于存儲一個或多個程序,當(dāng)一個或多個程序被所述控制器執(zhí)行時,以執(zhí)行上述的測試方法。
10、根據(jù)本申請一個方面,還提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)可讀指令,當(dāng)所述計算機(jī)可讀指令被計算機(jī)的處理器執(zhí)行時,使計算機(jī)執(zhí)行上述的測試方法。
11、根據(jù)本申請一個方面,還提供了一種計算機(jī)程序產(chǎn)品或計算機(jī)程序,該計算機(jī)程序產(chǎn)品或計算機(jī)程序包括計算機(jī)指令,該計算機(jī)指令存儲在計算機(jī)可讀存儲介質(zhì)中。計算機(jī)設(shè)備的處理器從計算機(jī)可讀存儲介質(zhì)讀取該計算機(jī)指令,處理器執(zhí)行該計算機(jī)指令,使得該計算機(jī)設(shè)備執(zhí)行上述的測試方法。
12、本申請通過pytest架構(gòu)構(gòu)建出相應(yīng)的測試程序,包括管理模塊,數(shù)據(jù)庫和展示層。用戶通過展示層不僅可以下發(fā)測試指令,還能直觀地知曉測試結(jié)果。同時,管理模塊中的pytest執(zhí)行引擎可基于本地數(shù)據(jù)庫中存儲的目標(biāo)路徑,快速獲取指定的測試用例進(jìn)行測試,并將測試結(jié)果存儲至數(shù)據(jù)庫,方便對測試用例和測試結(jié)果進(jìn)行統(tǒng)一管理。其中,管理模塊中的匹配引擎可靈活的添加測試用例的路徑,并不需要直接將測試用例的實例存儲至數(shù)據(jù)庫,從而實現(xiàn)了對測試用例的輕量化管理。
13、上述說明僅是本申請技術(shù)方案的概述,為了能夠更清楚了解本申請技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本申請上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本申請的具體實施方式。
1.一種基于pytest架構(gòu)的測試方法,其特征在于,所述測試方法應(yīng)用于管理模塊,所述管理模塊包括pytest執(zhí)行引擎、匹配引擎、同步單元、編輯單元;所述測試方法包括:
2.根據(jù)權(quán)利要求1所述的測試方法,其特征在于,所述測試方法還包括:
3.根據(jù)權(quán)利要求2所述的測試方法,其特征在于,所述測試方法還包括:
4.根據(jù)權(quán)利要求1所述的測試方法,其特征在于,控制所述pytest執(zhí)行引擎基于所述指定的測試用例進(jìn)行測試,并將測試結(jié)果存儲至所述數(shù)據(jù)庫,包括:
5.根據(jù)權(quán)利要求1至4中任一項所述的測試方法,其特征在于,所述測試方法還包括:
6.根據(jù)權(quán)利要求5所述的測試方法,其特征在于,所述測試方法還包括:
7.一種基于pytest架構(gòu)的測試系統(tǒng),其特征在于,所述測試系統(tǒng)包括管理模塊、數(shù)據(jù)庫、展示層,所述管理模塊包括pytest執(zhí)行引擎、匹配引擎、同步單元、編輯單元;
8.一種電子設(shè)備,其特征在于,包括:
9.一種計算機(jī)可讀存儲介質(zhì),其特征在于,其上存儲有計算機(jī)可讀指令,當(dāng)計算機(jī)可讀指令被計算機(jī)的處理器執(zhí)行時,使計算機(jī)執(zhí)行權(quán)利要求1至6中任一項所述的測試方法。
10.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,其特征在于,該計算機(jī)程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至6中任一項所述的測試方法。