《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于Selenium的應(yīng)用巡檢自動(dòng)化云服務(wù)
基于Selenium的應(yīng)用巡檢自動(dòng)化云服務(wù)
2015《電子技術(shù)應(yīng)用》智能電網(wǎng)增刊
汪 明1,馬思碩2,趙宇亮1,朱洪斌1
(1.國家電網(wǎng)公司信息通信分公司,北京 100761;2.國網(wǎng)北京市電力公司 信息通信分公司,北京 100071)
摘要: 為了提升運(yùn)維工作的精益化水平,國家電網(wǎng)公司的信息系統(tǒng)運(yùn)維工作分為業(yè)務(wù)應(yīng)用運(yùn)維和系統(tǒng)平臺運(yùn)維,目前采用人工巡檢的方式對業(yè)務(wù)應(yīng)用進(jìn)行每日定期巡檢,但效率低,容易產(chǎn)生漏檢。本文提出一套基于Selenium的應(yīng)用巡檢自動(dòng)化系統(tǒng),通過與云計(jì)算和移動(dòng)互聯(lián)網(wǎng)結(jié)合,對Web方式的業(yè)務(wù)應(yīng)用實(shí)現(xiàn)了自動(dòng)化巡檢,極大提升了每日巡檢的效率,提高了巡檢工作的可靠性。
Abstract:
Key words :

  汪  明1,馬思碩2,趙宇亮1,朱洪斌1

  (1.國家電網(wǎng)公司信息通信分公司,北京 100761;2.國網(wǎng)北京市電力公司 信息通信分公司,北京 100071)

  摘  要: 為了提升運(yùn)維工作的精益化水平,國家電網(wǎng)公司的信息系統(tǒng)運(yùn)維工作分為業(yè)務(wù)應(yīng)用運(yùn)維和系統(tǒng)平臺運(yùn)維,目前采用人工巡檢的方式對業(yè)務(wù)應(yīng)用進(jìn)行每日定期巡檢,但效率低,容易產(chǎn)生漏檢。本文提出一套基于Selenium的應(yīng)用巡檢自動(dòng)化系統(tǒng),通過與云計(jì)算移動(dòng)互聯(lián)網(wǎng)結(jié)合,對Web方式的業(yè)務(wù)應(yīng)用實(shí)現(xiàn)了自動(dòng)化巡檢,極大提升了每日巡檢的效率,提高了巡檢工作的可靠性。

  關(guān)鍵詞: Selenium;自動(dòng)化應(yīng)用巡檢;云計(jì)算;移動(dòng)互聯(lián)網(wǎng)

1 信息系統(tǒng)應(yīng)用巡檢背景

  隨著國家電網(wǎng)公司信息化建設(shè)進(jìn)程的不斷加快,國家電網(wǎng)公司的信息系統(tǒng)部署模式逐步由兩級部署轉(zhuǎn)變?yōu)榧胁渴鸹蛞患壊渴?,而運(yùn)維模式也逐漸向一級運(yùn)維模式轉(zhuǎn)變,信通公司承接的一級運(yùn)維系統(tǒng)數(shù)量也越來越多,這對信息系統(tǒng)運(yùn)維工作的精益化水平提出了更高的要求。目前信息系統(tǒng)運(yùn)維工作已經(jīng)分為業(yè)務(wù)應(yīng)用運(yùn)維和系統(tǒng)平臺運(yùn)維兩大部分,而業(yè)務(wù)應(yīng)用運(yùn)維直接服務(wù)于用戶,其安全、可靠、穩(wěn)定的運(yùn)行將為用戶帶來更加快捷、高效、優(yōu)質(zhì)的服務(wù)。由于采用一級運(yùn)維,業(yè)務(wù)應(yīng)用的故障將直接影響大量用戶,具有影響范圍廣,運(yùn)維難度大等特點(diǎn)。

  信通公司采用了業(yè)務(wù)應(yīng)用人工巡檢的方式,對一級運(yùn)維信息系統(tǒng)進(jìn)行每日多次巡檢,但是由于系統(tǒng)規(guī)模大、應(yīng)用功能多,巡檢工作占用大量的人力資源和時(shí)間資源。每次巡檢都是大規(guī)模的重復(fù)性勞動(dòng),人工巡檢會因注意力下降等因素發(fā)生誤操作,造成巡檢結(jié)果的偏差。自動(dòng)化的巡檢方式通過采用機(jī)器自動(dòng)巡檢,提高了巡檢效率,節(jié)省了人力成本,并且通過預(yù)先設(shè)計(jì)的腳本,提高了巡檢的準(zhǔn)確率。而結(jié)合云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的概念,通過搭建云,提高了系統(tǒng)的擴(kuò)充性和穩(wěn)定性,采用移動(dòng)端查看的功能,方便了巡檢人員第一時(shí)間了解系統(tǒng)應(yīng)用的運(yùn)行狀況。

2 信息系統(tǒng)應(yīng)用巡檢技術(shù)現(xiàn)狀

  目前國內(nèi)外的信息系統(tǒng)應(yīng)用巡檢主要采用的是定期檢查Web應(yīng)用,檢測其各項(xiàng)功能是否正常,與Web應(yīng)用測試的功能類似。而Web應(yīng)用巡檢不關(guān)注Web應(yīng)用測試中的功能測試、性能測試、兼容性測試以及安全性測試。因此,信息系統(tǒng)應(yīng)用巡檢自動(dòng)化工具可以借鑒Web應(yīng)用測試的相關(guān)技術(shù),將應(yīng)用巡檢自動(dòng)化系統(tǒng)的研究分成三部分內(nèi)容:設(shè)計(jì)自動(dòng)化巡檢工具,搭建自動(dòng)化巡檢框架,生成自動(dòng)化巡檢的測試腳本。

  本文通過對以上三部分的研究、實(shí)現(xiàn)與具體應(yīng)用,形成了基于Selenium的應(yīng)用巡檢自動(dòng)化系統(tǒng),實(shí)現(xiàn)了對Web應(yīng)用的自動(dòng)化巡檢,提高了巡檢效率和準(zhǔn)確性,節(jié)省了成本。

3 應(yīng)用巡檢自動(dòng)化系統(tǒng)的實(shí)現(xiàn)方法

  應(yīng)用巡檢自動(dòng)化系統(tǒng)能實(shí)現(xiàn)對Web應(yīng)用的自動(dòng)化巡檢,按照預(yù)先設(shè)計(jì)的腳本對Web應(yīng)用進(jìn)行逐項(xiàng)測試,最終形成測試報(bào)告,并發(fā)送到服務(wù)器。用戶可以采用登錄服務(wù)器,或者移動(dòng)端登錄的方式進(jìn)行讀取,由此提升了巡檢工作的效率。按照上述思路,本文從設(shè)計(jì)自動(dòng)化巡檢工具、搭建自動(dòng)化巡檢框架、生成腳本三方面對應(yīng)用巡檢自動(dòng)化系統(tǒng)進(jìn)行了獨(dú)立開發(fā)和實(shí)現(xiàn)。

  3.1 自動(dòng)化巡檢工具Selenium

  Selenium是一款用于Web應(yīng)用程序測試的工具。Selenium測試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE、Firefox、Chrome等。該工具的主要功能包括:測試瀏覽器端應(yīng)用的兼容性、系統(tǒng)功能。支持自動(dòng)錄制動(dòng)作和自動(dòng)生成 .Net、Java、Perl等不同語言的測試腳本。Selenium 是ThoughtWorks公司專門為Web應(yīng)用程序編寫的一個(gè)驗(yàn)收測試工具。

  Selenium主要的好處有以下兩點(diǎn):

 ?。?)通過編寫模仿用戶操作的 Selenium 測試腳本,可以從終端用戶的角度來測試應(yīng)用程序。通過在不同瀏覽器中運(yùn)行測試,更容易發(fā)現(xiàn)瀏覽器的不兼容性。

 ?。?)Selenium的核心,也稱browser bot,是用JavaScript 編寫的。這使得測試腳本可以在受支持的瀏覽器中運(yùn)行。browser bot負(fù)責(zé)執(zhí)行從測試腳本接收到的命令,測試腳本支持編程語言編寫。

  鑒于以上特性,本研究采用Selenium自動(dòng)化巡檢工具作為應(yīng)用巡檢自動(dòng)化工具的巡檢模塊。

  3.2 自動(dòng)化巡檢框架Robot Framework

  自動(dòng)化功能測試框架有利于編寫測試腳本和獲得測試報(bào)告。Robot Framework是一款python編寫的功能自動(dòng)化測試框架,由Nokia Siemens Networks開發(fā)并提供支持。其具備良好的可擴(kuò)展性,支持關(guān)鍵字驅(qū)動(dòng),可以同時(shí)測試多種類型的客戶端或者接口,可以進(jìn)行分布式測試。主要用于輪次很多的驗(yàn)收測試和驗(yàn)收測試驅(qū)動(dòng)開發(fā)。

  本研究采用了Robot Framework作為應(yīng)用巡檢自動(dòng)化系統(tǒng)的框架,其優(yōu)良特性如表1。

004.jpg

  3.3  生成腳本

  目前國際上采用的測試腳本用例生成方法主要有Capture/Replay方法、HTML分析法、源代碼分析法以及User-Session法。每種方法各有優(yōu)缺點(diǎn),而為了達(dá)到最高的腳本用例生成效率,借助Robot Framework的優(yōu)良特性,本研究采用了本文編輯的方式進(jìn)行手動(dòng)編寫。

  以打開12306進(jìn)行余票查詢功能為例,測試用例:“查詢2015年6月2日從北京到西安的火車余票”,具體的腳本如表2所示。

005.jpg

  測試報(bào)告如圖1所示。

001.jpg

4 界面設(shè)計(jì)

  為了提高系統(tǒng)的可用性,本文對系統(tǒng)界面進(jìn)行了設(shè)計(jì)。本系統(tǒng)分為客戶端和服務(wù)器端,客戶端是用戶借助應(yīng)用巡檢自動(dòng)化系統(tǒng),按照預(yù)先編寫好的腳本進(jìn)行巡檢測試,并按照配置路徑發(fā)送巡檢報(bào)告。服務(wù)器端可以按照特定的查詢條件進(jìn)行巡檢報(bào)告查詢,通過對比一段時(shí)間的巡檢報(bào)告,可以對Web應(yīng)用在一定時(shí)間段內(nèi)的穩(wěn)定性進(jìn)行分析,并預(yù)測未來可能出現(xiàn)的故障。

  4.1 客戶端

  在客戶端,用戶可以進(jìn)行配置、巡檢、定時(shí)以及查看報(bào)告等操作,具體的界面如圖3~圖5所示。

002.jpg

  4.2  服務(wù)器端

  在服務(wù)器端,用戶可以按照系統(tǒng)名稱、報(bào)告提交人員所在的省份和城市、檢測功能點(diǎn)總數(shù)、通過檢測的功能點(diǎn)數(shù)目、通過率、報(bào)告提交時(shí)間、報(bào)告提交人員的姓名等關(guān)鍵字進(jìn)行查詢。具體界面如圖6所示。

003.jpg

5  效益分析

  當(dāng)前的應(yīng)用巡檢采用人工巡檢的方式,存在效率低下和不可靠的問題。以協(xié)同辦公應(yīng)用巡檢為例,每天在上班前和下班后進(jìn)行兩次應(yīng)用巡檢。每次均需半個(gè)小時(shí)左右。由各個(gè)項(xiàng)目組現(xiàn)場巡檢形成報(bào)告,之后再由總部匯總。這樣很難避免人員疏忽造成的漏檢問題。而自動(dòng)化應(yīng)用巡檢系統(tǒng)從時(shí)效性和準(zhǔn)確性兩方面大幅度提升了應(yīng)用巡檢的效率和可靠性。

  5.1 時(shí)效性分析

  采用應(yīng)用巡檢自動(dòng)化系統(tǒng),對協(xié)同辦公系統(tǒng)進(jìn)行巡檢,大概需要2 min左右,而且可以隨著機(jī)器性能的提升進(jìn)一步縮減巡檢時(shí)間。與原來巡檢大概需要半小時(shí)左右相比,效率提升了15倍左右。

  5.2 可靠性分析

  采用應(yīng)用巡檢自動(dòng)化系統(tǒng),由于是使用機(jī)器按照腳本進(jìn)行逐一巡檢,所以準(zhǔn)確率能夠達(dá)到100%。

6 展望及結(jié)語

  通過測試,現(xiàn)有的自動(dòng)化應(yīng)用巡檢系統(tǒng)已經(jīng)能夠較好的實(shí)現(xiàn)自動(dòng)化應(yīng)用巡檢功能,而借助當(dāng)前云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的相關(guān)技術(shù),未來將在現(xiàn)有系統(tǒng)的基礎(chǔ)上在云計(jì)算平臺上進(jìn)行重新架構(gòu),并開發(fā)移動(dòng)端APP,方便巡檢人員遠(yuǎn)端查看巡檢報(bào)告。通過與這兩項(xiàng)技術(shù)的深度結(jié)合,可以極大地拓展自動(dòng)化應(yīng)用巡檢系統(tǒng)的典型應(yīng)用場景,方便將該系統(tǒng)推廣到更多網(wǎng)省公司,進(jìn)一步提升巡檢工作的效率和可靠性。

參考文獻(xiàn)

  [1]WIEGERS K, BEATTY J. Software Requirements[M]. 北京. 機(jī)械工業(yè)出版社,2013.

  [2]SCHACH S R. Object-oriented and classical software engineering(Fifth Edition)[M]. 北京. 機(jī)械工業(yè)出版社,2006.

  [3]LARMAN C. Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development(Fifth Edition)[M]. New York:Addison Wesley Professional,2006.

  [4]SOMMERVILLE I.Software engineering(6th Edition),北京: 機(jī)械工業(yè)出版社,2003.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。