本發(fā)明涉及操作系統(tǒng)測試技術領域,特別涉及一種基于Jenkins的操作系統(tǒng)自動化測試方法及系統(tǒng)。
背景技術:
當今,企業(yè)要想在越發(fā)激烈的市場競爭中取得一定市場份額,關鍵在于確保能夠快速連續(xù)地向客戶交付產(chǎn)品。而在產(chǎn)品的研發(fā)過程中,為了確保產(chǎn)品的質量,企業(yè)的產(chǎn)品測試人員需要對產(chǎn)品進行測試,直到檢驗無誤后方可交付產(chǎn)品。
在傳統(tǒng)的操作系統(tǒng)測試過程中,測試人員需要在將操作系統(tǒng)安裝完成后通過手動開啟下一步的系統(tǒng)測試過程,這種通過人工啟動測試的方式無疑會增大測試人力投入以及測試時間成本,這樣會增加操作系統(tǒng)的整體研發(fā)時間,延后了操作系統(tǒng)的交付時間,不利于提升企業(yè)產(chǎn)品在市場中的競爭力。
綜上所述可以看出,如何進一步縮短操作系統(tǒng)的整體研發(fā)時間是目前有待解決的問題。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于Jenkins的操作系統(tǒng)自動化測試方法及系統(tǒng),進一步縮短了操作系統(tǒng)的整體研發(fā)時間。其具體方案如下:
一種基于Jenkins的操作系統(tǒng)自動化測試方法,包括:
預先在服務端搭建Jenkins測試工具和robot framework框架;
獲取目標測試端中的操作系統(tǒng)實時安裝信息;
當所述操作系統(tǒng)實時安裝信息顯示對應的操作系統(tǒng)已在所述目標測試端完成安裝,則通過運行由所述Jenkins測試工具構建的測試任務,來調用預先由所述服務端編寫的腳本文件,以執(zhí)行預先由所述robot framework框架中的Ride工具所編寫的測試用例,得到相應的操作系統(tǒng)測試結果。
優(yōu)選的,所述Jenkins測試工具構建所述測試任務的過程,包括:
獲取用戶終端在通過URL訪問所述服務端的過程中向所述Jenkins測試工具發(fā)送的任務構建指令;
利用所述任務構建指令控制所述Jenkins測試工具構建所述測試任務。
優(yōu)選的,所述用戶終端為所述Jenkins測試工具的Web界面。
優(yōu)選的,所述腳本文件為shell腳本。
優(yōu)選的,所述操作系統(tǒng)自動化測試方法,還包括:
從所述操作系統(tǒng)測試結果中提取關鍵信息,以生成相應的測試報告。
優(yōu)選的,所述操作系統(tǒng)自動化測試方法,還包括:
在所述用戶終端上對所述測試報告進行顯示。
本發(fā)明還公開了一種基于Jenkins的操作系統(tǒng)自動化測試系統(tǒng),包括:
測試環(huán)境搭建模塊,用于預先在服務端搭建Jenkins測試工具和robot framework框架;
信息實時獲取模塊,用于獲取目標測試端中的操作系統(tǒng)實時安裝信息;
測試模塊,用于當所述操作系統(tǒng)實時安裝信息顯示對應的操作系統(tǒng)已在所述目標測試端完成安裝,則通過運行由所述Jenkins測試工具構建的測試任務,來調用預先由所述服務端編寫的腳本文件,以執(zhí)行預先由所述robot framework框架中的Ride工具所編寫的測試用例,得到相應的操作系統(tǒng)測試結果。
優(yōu)選的,所述操作系統(tǒng)自動化測試系統(tǒng),還包括:
指令獲取模塊,用于獲取用戶終端在通過URL訪問所述服務端的過程中向所述Jenkins測試工具發(fā)送的任務構建指令;
任務創(chuàng)建模塊,用于利用所述任務構建指令控制所述Jenkins測試工具構建所述測試任務。
優(yōu)選的,所述用戶終端為所述Jenkins測試工具的Web界面。
優(yōu)選的,所述操作系統(tǒng)自動化測試系統(tǒng),還包括:
報告生成模塊,用于從所述操作系統(tǒng)測試結果中提取關鍵信息,以生成相應的測試報告。
本發(fā)明中,基于Jenkins的操作系統(tǒng)自動化測試方法,包括:預先在服務端搭建Jenkins測試工具和robot framework框架;獲取目標測試端中的操作系統(tǒng)實時安裝信息;當操作系統(tǒng)實時安裝信息顯示對應的操作系統(tǒng)已在目標測試端完成安裝,則通過運行由Jenkins測試工具構建的測試任務,來調用預先由服務端編寫的腳本文件,以執(zhí)行預先由robot framework框架中的Ride工具所編寫的測試用例,得到相應的操作系統(tǒng)測試結果??梢?,本發(fā)明預先在服務端搭建了Jenkins測試工具和robot framework框架,當操作系統(tǒng)在目標測試端完成安裝后,則通過運行由Jenkins測試工具構建的測試任務來調用預先由服務端編寫的腳本文件,由此可執(zhí)行預先由robot framework框架中的Ride工具所編寫的測試用例,從而得到相應的操作系統(tǒng)測試結果,綜上可知,本發(fā)明中,操作系統(tǒng)安裝完畢這一事件將作為運行上述測試任務的觸發(fā)事件,也即,本發(fā)明中一旦監(jiān)測到操作系統(tǒng)已安裝完畢,則通過運行由Jenkins測試工具構建的測試任務來實現(xiàn)對操作系統(tǒng)自動化測試,從而避免了人工啟動測試程序的情況,由此縮短了操作系統(tǒng)的測試時間,進而縮短了操作系統(tǒng)的整體研發(fā)時間。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種基于Jenkins的操作系統(tǒng)自動化測試方法流程圖;
圖2為本發(fā)明實施例公開的一種基于Jenkins的操作系統(tǒng)自動化測試系統(tǒng)結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種基于Jenkins的操作系統(tǒng)自動化測試方法,參見圖1所示,該方法包括:
步驟S11:預先在服務端搭建Jenkins測試工具和robot framework框架。
步驟S12:獲取目標測試端中的操作系統(tǒng)實時安裝信息。
其中,上述操作系統(tǒng)實時安裝信息中包括了操作系統(tǒng)的實時安裝進度信息,通過對獲得的操作系統(tǒng)實時安裝信息進行實時信息提取和分析,可以得知當前目標測試端中操作系統(tǒng)的具體的安裝進度。
步驟S13:當操作系統(tǒng)實時安裝信息顯示對應的操作系統(tǒng)已在目標測試端完成安裝,則通過運行由Jenkins測試工具構建的測試任務,來調用預先由服務端編寫的腳本文件,以執(zhí)行預先由robot framework框架中的Ride工具所編寫的測試用例,得到相應的操作系統(tǒng)測試結果。
也即,一旦根據(jù)操作系統(tǒng)實時安裝信息得知目標測試端上的操作系統(tǒng)已安裝完畢,則利用該操作系統(tǒng)安裝完畢這一事件觸發(fā)運行上述測試任務,以對目標測試端中已經(jīng)安裝好的操作系統(tǒng)進行自動化測試。
需要說明的是,上述Jenkins測試工具是基于Java語言開發(fā)的一種持續(xù)集成工具,上述robot framework框架是一款基于Python語言編寫的功能自動化測試框架。
本發(fā)明實施例中,基于Jenkins的操作系統(tǒng)自動化測試方法,包括:預先在服務端搭建Jenkins測試工具和robot framework框架;獲取目標測試端中的操作系統(tǒng)實時安裝信息;當操作系統(tǒng)實時安裝信息顯示對應的操作系統(tǒng)已在目標測試端完成安裝,則通過運行由Jenkins測試工具構建的測試任務,來調用預先由服務端編寫的腳本文件,以執(zhí)行預先由robot framework框架中的Ride工具所編寫的測試用例,得到相應的操作系統(tǒng)測試結果??梢?,本發(fā)明實施例預先在服務端搭建了Jenkins測試工具和robot framework框架,當操作系統(tǒng)在目標測試端完成安裝后,則通過運行由Jenkins測試工具構建的測試任務來調用預先由服務端編寫的腳本文件,由此可執(zhí)行預先由robot framework框架中的Ride工具所編寫的測試用例,從而得到相應的操作系統(tǒng)測試結果,綜上可知,本發(fā)明實施例中,操作系統(tǒng)安裝完畢這一事件將作為運行上述測試任務的觸發(fā)事件,也即,本發(fā)明實施例中一旦監(jiān)測到操作系統(tǒng)已安裝完畢,則通過運行由Jenkins測試工具構建的測試任務來實現(xiàn)對操作系統(tǒng)自動化測試,從而避免了人工啟動測試程序的情況,由此縮短了操作系統(tǒng)的測試時間,進而縮短了操作系統(tǒng)的整體研發(fā)時間。
本發(fā)明實施例公開了一種具體的基于Jenkins的操作系統(tǒng)自動化測試方法,相對于上一實施例,本實施例對技術方案作了進一步的說明和優(yōu)化。具體的:
上一實施例步驟S13中,測試任務是由Jenkins測試工具進行構建的,其中,Jenkins測試工具構建測試任務的過程,具體包括:獲取用戶終端在通過URL訪問服務端的過程中向Jenkins測試工具發(fā)送的任務構建指令,然后利用任務構建指令控制Jenkins測試工具構建測試任務。
具體的,上述用戶終端為Jenkins測試工具的Web界面。
另外,上一實施例步驟S13中,通過運行上述測試任務,可以調用預先由服務器端編寫的腳本文件,其中,這里的腳本文件具體可為shell腳本。
進一步的,本實施例中的操作系統(tǒng)自動化測試方法,還可以包括:從操作系統(tǒng)測試結果中提取關鍵信息,以生成相應的測試報告。
另外,本實施例中的操作系統(tǒng)自動化測試方法,還可以進一步包括:在上述用戶終端上對測試報告進行顯示。
相應的,本發(fā)明實施例還公開了一種基于Jenkins的操作系統(tǒng)自動化測試系統(tǒng),參見圖2所示,該系統(tǒng)包括:
測試環(huán)境搭建模塊21,用于預先在服務端搭建Jenkins測試工具和robot framework框架;
信息實時獲取模塊22,用于獲取目標測試端中的操作系統(tǒng)實時安裝信息;
測試模塊23,用于當操作系統(tǒng)實時安裝信息顯示對應的操作系統(tǒng)已在目標測試端完成安裝,則通過運行由Jenkins測試工具構建的測試任務,來調用預先由服務端編寫的腳本文件,以執(zhí)行預先由robot framework框架中的Ride工具所編寫的測試用例,得到相應的操作系統(tǒng)測試結果。
可見,本發(fā)明實施例預先在服務端搭建了Jenkins測試工具和robot framework框架,當操作系統(tǒng)在目標測試端完成安裝后,則通過運行由Jenkins測試工具構建的測試任務來調用預先由服務端編寫的腳本文件,由此可執(zhí)行預先由robot framework框架中的Ride工具所編寫的測試用例,從而得到相應的操作系統(tǒng)測試結果,綜上可知,本發(fā)明實施例中,操作系統(tǒng)安裝完畢這一事件將作為運行上述測試任務的觸發(fā)事件,也即,本發(fā)明實施例中一旦監(jiān)測到操作系統(tǒng)已安裝完畢,則通過運行由Jenkins測試工具構建的測試任務來實現(xiàn)對操作系統(tǒng)自動化測試,從而避免了人工啟動測試程序的情況,由此縮短了操作系統(tǒng)的測試時間,進而縮短了操作系統(tǒng)的整體研發(fā)時間。
進一步的,本實施例中的操作系統(tǒng)自動化測試系統(tǒng),還可以包括指令獲取模塊和任務創(chuàng)建模塊,其中,
指令獲取模塊,用于獲取用戶終端在通過URL訪問服務端的過程中向Jenkins測試工具發(fā)送的任務構建指令;
任務創(chuàng)建模塊,用于利用任務構建指令控制Jenkins測試工具構建測試任務。
其中,上述用戶終端可以為Jenkins測試工具的Web界面。
本實施例中,操作系統(tǒng)自動化測試系統(tǒng),還可進一步包括:
報告生成模塊,用于從操作系統(tǒng)測試結果中提取關鍵信息,以生成相應的測試報告。另外,上述報告生成模塊可將上述測試報告發(fā)送至上述用戶終端,以在用戶終端上對測試報告進行顯示。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種基于Jenkins的操作系統(tǒng)自動化測試方法及系統(tǒng)進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。