專利名稱:一種遠程多設(shè)備情況的自動化測試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種自動化測試方法,尤其涉及一種遠程多設(shè)備情況的自動化測試方法。
背景技術(shù):
人們對于軟件產(chǎn)品質(zhì)量和可靠性不斷提高的要求,以及人力成本的逐年攀升,都迫切要求公司具有既能節(jié)約成本又能保證測試質(zhì)量的測試方法。尤其是當(dāng)測試穩(wěn)定性和性能時,當(dāng)測試環(huán)境中存在多個設(shè)備,更甚者當(dāng)多個設(shè)備都不在實驗室,而是在不同的地方,比如在其他機房、室外、或路邊電線桿上時,如何能節(jié)約人力、時間、簡化測試流程又保證測試結(jié)果的正確性,是當(dāng)前技術(shù)人員所面臨的主要問題。當(dāng)前測試人員手動進行檢查的操作,通常需要以下幾個步驟:1、遠程登陸到每一個測試設(shè)備;2、手動輸入uptime、cpu、free、ps、ifconfig、ping等操作命令,并把檢查結(jié)果復(fù)制到本地;3、在檢查結(jié)果中篩選出需要的數(shù)據(jù);4、發(fā)送報告給相關(guān)人員。上述方法不僅需要大量時間,還不能保證篩查數(shù)據(jù)的準(zhǔn)確性。
發(fā)明內(nèi)容
針對上述存在的問題,本發(fā)明的目的是提供一種遠程多設(shè)備情況的自動化測試方法,以提高當(dāng)多個待測試設(shè)備不在實驗室內(nèi)時的測試精度,節(jié)約人力物力,簡化測試流程。本發(fā)明的目的是通過下述技術(shù)方案實現(xiàn)的:一種遠程多設(shè)備情況的自動化測試方法,其中,包括下列步驟:獲取一臺為Linux操作系統(tǒng)并支持發(fā)送郵件的PC機;獲取每臺測試設(shè)備的IP地址;在所述PC機上設(shè)一存儲塊,在所述存儲塊中存放包括所述每臺測試設(shè)備的IP地址和操作命令在內(nèi)的所有運行信息;通過SHELL腳本運行所述存儲塊中信息,實現(xiàn)循環(huán)每個所述IP地址,調(diào)用TCL/Expect腳本SSH到每個所述IP地址,并將登陸密碼、登陸超時時間及所述操作命令作為參數(shù)返回至所述Expect腳本中;所述Expect腳本登陸到所述每臺測試設(shè)備將所述操作命令輸入,并將測試結(jié)果保存在本地的日志文件中。上述遠程設(shè)備情況的自動化測試方法,其中,所述運行信息還包括接收測試結(jié)果的各個電郵地址。上述遠程設(shè)備情況的自動化測試方法,其中,在最后一個步驟中,同時將測試結(jié)果數(shù)據(jù)通過所述PC機的郵件自動發(fā)送給相關(guān)人員。上述遠程設(shè)備情況的自動化測試方法,其中,在最后一個步驟中,使用腳本根據(jù)關(guān)鍵字將所述日志文件中重點數(shù)據(jù)抽取出來保存。上述遠程設(shè)備情況的自動化測試方法,其中,還包括:設(shè)置在每天固定時間開始執(zhí)行所述SHELL腳本。與已有技術(shù)相比,本發(fā)明的有益效果在于:本發(fā)明所提供的方法具有簡單易實現(xiàn)的優(yōu)點,能夠降低測試系統(tǒng)的開發(fā)成本,方便多個不同地點測試設(shè)備之間的聯(lián)合測試,具有良好的可用性。
圖1是本發(fā)明遠程多設(shè)備情況的自動化測試方法的流程示意框圖。
具體實施例方式下面結(jié)合原理圖和具體操作實施例對本發(fā)明作進一步說明。如圖1所示,在進行本發(fā)明時,需要提前知道所有測試設(shè)備的IP地址,并且需要一臺Iinux系統(tǒng)的PC機,該PC機需支持SHELL腳本TCL腳本,且支持發(fā)送郵件,通過TCL/Expect腳本實現(xiàn)SSH到遠程的設(shè)備和輸出結(jié)果的保存,通過SHELL腳本實現(xiàn)對設(shè)備命令的輸入,結(jié)果的篩選和整理。 在本發(fā)明的優(yōu)選實施例中,實現(xiàn)過程還包括:在PC機上設(shè)一存儲塊,在存儲塊中存放包括每臺測試設(shè)備的IP地址和操作命令在內(nèi)的所有運行信息,即將全部測試設(shè)備的IP地址、需要在測試設(shè)備上輸入的所有命令、測試結(jié)果要告知的所有人的Email地址以固定格式保存至一個文本文件。通過SHELL腳本運行存儲塊中信息,實現(xiàn)循環(huán)每個IP地址,調(diào)用TCL/Expect腳本SSH到每個IP地址,并將登陸密碼、登陸超時時間及在設(shè)備上需輸入的命令作為參數(shù)帶入到Expect腳本中。Expect腳本登陸到每個設(shè)備,輸入命令,并將結(jié)果保存在本地的expect, log文件中。使用SHELL腳本,根據(jù)關(guān)鍵字將expect, log文件中重點數(shù)據(jù)抽取出來保存,如當(dāng)輸入top命令時,會將至少十行的輸出結(jié)果都保存下來,但實際需要的只是第一行的總數(shù)據(jù),這就需要根據(jù)第一行的關(guān)鍵字,使用awk命令只將含有該關(guān)鍵字的行或者字段保存下來。期間可通過PING檢查設(shè)備的連通性,并通過腳本將PING后不通的結(jié)果保存到最終文本中。最后將篩選出來的最終數(shù)據(jù)文本通過PC機端的郵件發(fā)送給相關(guān)人員。執(zhí)行SHELL腳本前在linux PC機上使用crontab命令,設(shè)置在固定的時間開始執(zhí)行腳本,如可設(shè)置為每周一至周五的早上五點開始執(zhí)行腳本,這樣當(dāng)測試人員上班后,打開郵件即可看到所有設(shè)備的狀態(tài)及篩查出來的異常數(shù)據(jù)。本發(fā)明所提供的方法具有簡單易實現(xiàn)的優(yōu)點,能夠降低測試系統(tǒng)的開發(fā)成本,方便多個不同地點測試設(shè)備之間的聯(lián)合測試,具有良好的可用性。以上對本發(fā)明的具體實施例進行了詳細描述,但本發(fā)明并不限制于以上描述的具體實施例,其只是作為范例。對于本領(lǐng)域技術(shù)人員而言,任何等同修改和替代也都在本發(fā)明的范疇之中。因此,在不脫離本發(fā)明的精神和范圍下所作出的均等變換和修改,都應(yīng)涵蓋在本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種遠程多設(shè)備情況的自動化測試方法,其特征在于,包括下列步驟: 獲取一臺為Linux操作系統(tǒng)并支持發(fā)送郵件的PC機; 獲取每臺測試設(shè)備的IP地址; 在所述PC機上設(shè)一存儲塊,在所述存儲塊中存放包括所述每臺測試設(shè)備的IP地址和操作命令在內(nèi)的所有運行信息; 通過SHELL腳本運行所述存儲塊中信息,實現(xiàn)循環(huán)每個所述IP地址,調(diào)用TCL/Expect腳本SSH到每個所述IP地址,并將登陸密碼、登陸超時時間及所述操作命令作為參數(shù)返回至所述Expect腳本中; 所述Expect腳本登陸到所述每臺測試設(shè)備將所述操作命令輸入,并將測試結(jié)果保存在本地的日志文件中。
2.按權(quán)利要求1所述遠程多設(shè)備情況的自動化測試方法,其特征在于,所述運行信息還包括接收測試結(jié)果的各個電郵地址。
3.按權(quán)利要求2所述遠程多設(shè)備情況的自動化測試方法,其特征在于,在最后一個步驟中,同時將測試結(jié)果數(shù)據(jù)通過所述PC機的郵件自動發(fā)送給相關(guān)人員。
4.按權(quán)利要求1所述遠程多設(shè)備情況的自動化測試方法,其特征在于,在最后一個步驟中,使用腳本根據(jù)關(guān)鍵字將所述日志文件中重點數(shù)據(jù)抽取出來保存。
5.按權(quán)利要求1至4中任意一項所述遠程設(shè)備情況的自動化測試方法,其特征在于,還包括:設(shè)置在每天固定時間開始執(zhí)行所述SHELL腳本。
全文摘要
本發(fā)明公開了一種遠程多設(shè)備情況的自動化測試方法,包括下列步驟獲取一臺Linux操作系統(tǒng)PC機;獲取每臺測試設(shè)備的IP地址;在所述PC機上設(shè)一存儲塊,在所述存儲塊中存放包括所述每臺測試設(shè)備的IP地址和操作命令在內(nèi)的所有運行信息;通過SHELL腳本運行所述存儲塊中信息,實現(xiàn)循環(huán)每個所述IP地址,調(diào)用TCL/Expect腳本SSH到每個所述IP地址,并將登陸密碼、登陸超時時間及所述操作命令作為參數(shù)返回至所述Expect腳本中;所述Expect腳本登陸到所述每臺測試設(shè)備。本發(fā)明所提供的方法具有簡單易實現(xiàn)的優(yōu)點,能夠降低測試系統(tǒng)的開發(fā)成本,方便多個不同地點測試設(shè)備之間的聯(lián)合測試,具有良好的可用性。
文檔編號G06F11/36GK103092754SQ201310003920
公開日2013年5月8日 申請日期2013年1月7日 優(yōu)先權(quán)日2013年1月7日
發(fā)明者王淼 申請人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司