本技術(shù)涉及自動(dòng)化測(cè)試,特別是涉及一種自動(dòng)化測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、軟件測(cè)試是一種評(píng)估軟件質(zhì)量的過(guò)程,它涉及到在受控的條件下運(yùn)行軟件,以檢查是否滿足預(yù)期的需求、規(guī)范和標(biāo)準(zhǔn)。軟件測(cè)試的目的是發(fā)現(xiàn)軟件中存在的錯(cuò)誤、缺陷或漏洞,并提供有關(guān)軟件功能、性能、可靠性和安全性的信息。軟件測(cè)試過(guò)程包括動(dòng)態(tài)測(cè)試,動(dòng)態(tài)測(cè)試是指在特定條件下運(yùn)行軟件以檢查其是否滿足預(yù)期的輸出和功能需求。
2、傳統(tǒng)的技術(shù)方案中,在進(jìn)行軟件的動(dòng)態(tài)測(cè)試時(shí),一般通過(guò)控制瀏覽器實(shí)現(xiàn)軟件的頁(yè)面測(cè)試,但是這種方式無(wú)法適用于一些較為復(fù)雜的測(cè)試場(chǎng)景,例如,當(dāng)頁(yè)面元素的位置為動(dòng)態(tài)時(shí),則無(wú)法實(shí)現(xiàn)測(cè)試,或者需要人工干預(yù)測(cè)試,影響測(cè)試效率。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種能夠同時(shí)兼顧ui自動(dòng)化測(cè)試與接口自動(dòng)化測(cè)試的自動(dòng)化測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
2、在第一方面,本公開(kāi)的實(shí)施例提供了一種自動(dòng)化測(cè)試方法,包括:
3、調(diào)用自動(dòng)化測(cè)試工具模擬用戶操作待測(cè)軟件,以向待測(cè)軟件的服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,其中,自動(dòng)化測(cè)試工具用于在待測(cè)軟件的頁(yè)面定位待操作對(duì)象并執(zhí)行相應(yīng)的操作,和/或?qū)⒋僮鲗?duì)象攜帶于數(shù)據(jù)請(qǐng)求中發(fā)送至待測(cè)軟件的服務(wù)器;
4、監(jiān)控待測(cè)軟件的服務(wù)器響應(yīng)于數(shù)據(jù)請(qǐng)求反饋的結(jié)果;
5、根據(jù)監(jiān)控結(jié)果生成待測(cè)軟件的測(cè)試結(jié)果。
6、在其中一些實(shí)施例中,自動(dòng)化測(cè)試工具包括第一對(duì)象類和第二對(duì)象類,第一對(duì)象類用于操作瀏覽器,第二對(duì)象類用于發(fā)送數(shù)據(jù)包,通過(guò)自動(dòng)化測(cè)試工具模擬用戶操作待測(cè)軟件,以向待測(cè)軟件的服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,包括:
7、通過(guò)第一對(duì)象類在待測(cè)軟件的頁(yè)面定位待操作對(duì)象并執(zhí)行相應(yīng)的操作,以向待測(cè)軟件的服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求;和/或
8、通過(guò)第二對(duì)象類將待操作對(duì)象攜帶于數(shù)據(jù)請(qǐng)求中發(fā)送至待測(cè)軟件的服務(wù)器,以向待測(cè)軟件的服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求。
9、在其中一些實(shí)施例中,自動(dòng)化測(cè)試方法還包括:
10、通過(guò)第一對(duì)象類在首次登錄用戶賬號(hào)時(shí),生成登錄信息;
11、通過(guò)第二對(duì)象類共享登錄信息;
12、通過(guò)第二對(duì)象類將待操作對(duì)象攜帶于數(shù)據(jù)請(qǐng)求中發(fā)送至待測(cè)軟件的服務(wù)器,包括:
13、通過(guò)第二對(duì)象類根據(jù)登錄信息模擬用戶在登錄狀態(tài)下將待操作對(duì)象攜帶于數(shù)據(jù)請(qǐng)求中發(fā)送至待測(cè)軟件的服務(wù)器。
14、在其中一些實(shí)施例中,自動(dòng)化測(cè)試方法還包括:
15、通過(guò)自動(dòng)化測(cè)試工具啟動(dòng)多個(gè)瀏覽器;
16、通過(guò)自動(dòng)化測(cè)試工具模擬用戶操作待測(cè)軟件,包括:
17、通過(guò)各個(gè)線程調(diào)用自動(dòng)化測(cè)試工具,以模擬用戶通過(guò)多個(gè)瀏覽器操作待測(cè)軟件,其中,各個(gè)線程分別用于操作不同的瀏覽器,以執(zhí)行不同的任務(wù);
18、自動(dòng)化測(cè)試方法還包括:
19、對(duì)各個(gè)線程的執(zhí)行情況進(jìn)行監(jiān)控,并根據(jù)監(jiān)控的執(zhí)行情況向其他線程發(fā)送通知信息,以通知其他線程開(kāi)始執(zhí)行對(duì)應(yīng)的任務(wù);
20、監(jiān)控待測(cè)軟件的服務(wù)器響應(yīng)于數(shù)據(jù)請(qǐng)求反饋的結(jié)果,包括:
21、監(jiān)控各個(gè)線程執(zhí)行過(guò)程中待測(cè)軟件的服務(wù)器響應(yīng)于數(shù)據(jù)請(qǐng)求反饋的結(jié)果。
22、在其中一些實(shí)施例中,任務(wù)為汽車結(jié)構(gòu)之間的失效模式與影響分析任務(wù),汽車結(jié)構(gòu)之間的失效模式與影響分析任務(wù)包括第一任務(wù)、第二任務(wù)以及第三任務(wù),第一任務(wù)包括第一結(jié)構(gòu)分別對(duì)第二結(jié)構(gòu)和第三結(jié)構(gòu)的影響分析任務(wù),第二任務(wù)包括第二結(jié)構(gòu)對(duì)第一結(jié)構(gòu)的影響分析任務(wù),第三任務(wù)包括第三結(jié)構(gòu)對(duì)第一結(jié)構(gòu)的影響分析任務(wù),各個(gè)線程包括第一線程、第二線程以及第三線程,分別用于執(zhí)行第一任務(wù)、第二任務(wù)以及第三任務(wù),對(duì)各個(gè)線程的執(zhí)行情況進(jìn)行監(jiān)控,并根據(jù)監(jiān)控的執(zhí)行情況向其他線程發(fā)送通知信息,以通知其他線程開(kāi)始執(zhí)行對(duì)應(yīng)的任務(wù),包括:
23、對(duì)第一線程的執(zhí)行情況進(jìn)行監(jiān)控,當(dāng)監(jiān)控到第一線程開(kāi)始執(zhí)行第一結(jié)構(gòu)對(duì)第二結(jié)構(gòu)的影響分析任務(wù)時(shí),向第二線程發(fā)送通知信息,以通知第二線程開(kāi)始執(zhí)行第二任務(wù);
24、當(dāng)監(jiān)控到第一線程開(kāi)始執(zhí)行第一結(jié)構(gòu)對(duì)第三結(jié)構(gòu)的影響分析任務(wù)時(shí),向第三線程發(fā)送通知信息,以通知第三線程開(kāi)始執(zhí)行第三任務(wù);
25、對(duì)第二線程的執(zhí)行情況進(jìn)行監(jiān)控,當(dāng)?shù)诙€程執(zhí)行完成時(shí),向第一線程發(fā)送通知信息;
26、對(duì)第三線程的執(zhí)行情況進(jìn)行監(jiān)控,當(dāng)?shù)谌€程執(zhí)行完成時(shí),向第一線程發(fā)送通知信息。
27、在其中一些實(shí)施例中,對(duì)第一線程的執(zhí)行情況進(jìn)行監(jiān)控,包括:
28、監(jiān)控第一線程發(fā)起的接口調(diào)用請(qǐng)求,接口調(diào)用請(qǐng)求用于請(qǐng)求執(zhí)行第一任務(wù);
29、當(dāng)接口調(diào)用請(qǐng)求為請(qǐng)求執(zhí)行第一結(jié)構(gòu)對(duì)第二結(jié)構(gòu)的影響分析任務(wù)時(shí),確定第一線程開(kāi)始執(zhí)行第一結(jié)構(gòu)對(duì)第二結(jié)構(gòu)的影響分析任務(wù);
30、當(dāng)接口調(diào)用請(qǐng)求為請(qǐng)求執(zhí)行第一結(jié)構(gòu)對(duì)第三結(jié)構(gòu)的影響分析任務(wù)時(shí),確定第一線程開(kāi)始執(zhí)行第一結(jié)構(gòu)對(duì)第三結(jié)構(gòu)的影響分析任務(wù)。
31、在其中一些實(shí)施例中,自動(dòng)化測(cè)試還包括:
32、監(jiān)測(cè)待測(cè)軟件的服務(wù)器上預(yù)先構(gòu)建的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)用于存儲(chǔ)汽車結(jié)構(gòu)的信息;
33、當(dāng)監(jiān)測(cè)到有新增結(jié)構(gòu)時(shí),創(chuàng)建新的線程執(zhí)行新增結(jié)構(gòu)與原有結(jié)構(gòu)之間的影響分析任務(wù)。
34、在第二方面,本公開(kāi)的實(shí)施例提供了一種自動(dòng)化測(cè)試裝置,包括:
35、調(diào)用模塊,用于調(diào)用自動(dòng)化測(cè)試工具模擬用戶操作待測(cè)軟件,以向待測(cè)軟件的服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,其中,自動(dòng)化測(cè)試工具用于在待測(cè)軟件的頁(yè)面定位待操作對(duì)象并執(zhí)行相應(yīng)的操作,和/或?qū)⒋僮鲗?duì)象攜帶于數(shù)據(jù)請(qǐng)求中發(fā)送至待測(cè)軟件的服務(wù)器;
36、監(jiān)控模塊,用于監(jiān)控待測(cè)軟件的服務(wù)器響應(yīng)于數(shù)據(jù)請(qǐng)求反饋的結(jié)果;
37、在第三方面,本公開(kāi)的實(shí)施例提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)第一方面本公開(kāi)的任一實(shí)施例中提供的自動(dòng)化測(cè)試方法的步驟。
38、在第四方面,本公開(kāi)的實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面本公開(kāi)的任一實(shí)施例中提供的自動(dòng)化測(cè)試方法的步驟。
39、上述自動(dòng)化測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì),調(diào)用自動(dòng)化測(cè)試工具模擬用戶操作待測(cè)軟件,以向待測(cè)軟件的服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,其中,自動(dòng)化測(cè)試工具用于在待測(cè)軟件的頁(yè)面定位待操作對(duì)象,并執(zhí)行相應(yīng)的操作,和/或?qū)⒋僮鲗?duì)象攜帶于數(shù)據(jù)請(qǐng)求中發(fā)送至待測(cè)軟件的服務(wù)器,監(jiān)控待測(cè)軟件的服務(wù)器響應(yīng)于數(shù)據(jù)請(qǐng)求反饋的結(jié)果,根據(jù)監(jiān)控結(jié)果生成待測(cè)軟件的測(cè)試結(jié)果。本技術(shù)通過(guò)調(diào)用自動(dòng)化測(cè)試工具,實(shí)現(xiàn)了將瀏覽器控制和數(shù)據(jù)包收發(fā)相結(jié)合,既能通過(guò)控制瀏覽器的方式即通過(guò)頁(yè)面元素定位的方式模擬用戶操作行為實(shí)現(xiàn)ui(user?interface,用戶界面)界面自動(dòng)化測(cè)試,又能通過(guò)數(shù)據(jù)包收發(fā)的方式模擬用戶的操作行為實(shí)現(xiàn)接口自動(dòng)化測(cè)試,使得本技術(shù)可以實(shí)現(xiàn)ui界面自動(dòng)化測(cè)試與接口自動(dòng)化測(cè)試相互結(jié)合,在一些無(wú)法定位頁(yè)面元素的場(chǎng)景下也能實(shí)現(xiàn)待測(cè)軟件的自動(dòng)化測(cè)試,使得一套測(cè)試用例可以測(cè)試更多更復(fù)雜的測(cè)試場(chǎng)景,擴(kuò)寬了測(cè)試的適用范圍,從而也提高了測(cè)試效率。