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

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

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

  摘  要: 為了提升運(yùn)維工作的精益化水平,,國(guó)家電網(wǎng)公司的信息系統(tǒng)運(yùn)維工作分為業(yè)務(wù)應(yīng)用運(yùn)維和系統(tǒng)平臺(tái)運(yùn)維,,目前采用人工巡檢的方式對(duì)業(yè)務(wù)應(yīng)用進(jìn)行每日定期巡檢,但效率低,,容易產(chǎn)生漏檢,。本文提出一套基于Selenium的應(yīng)用巡檢自動(dòng)化系統(tǒng),通過(guò)與云計(jì)算移動(dòng)互聯(lián)網(wǎng)結(jié)合,,對(duì)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)用巡檢背景

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

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

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

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

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

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

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

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

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

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

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

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

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

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

004.jpg

  3.3  生成腳本

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

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

005.jpg

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

001.jpg

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

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

  4.1 客戶端

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

002.jpg

  4.2  服務(wù)器端

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

003.jpg

5  效益分析

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

  5.1 時(shí)效性分析

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

  5.2 可靠性分析

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

6 展望及結(jié)語(yǔ)

  通過(guò)測(cè)試,,現(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ù),,未來(lái)將在現(xiàn)有系統(tǒng)的基礎(chǔ)上在云計(jì)算平臺(tái)上進(jìn)行重新架構(gòu),,并開(kāi)發(fā)移動(dòng)端APP,方便巡檢人員遠(yuǎn)端查看巡檢報(bào)告,。通過(guò)與這兩項(xiàng)技術(shù)的深度結(jié)合,,可以極大地拓展自動(dòng)化應(yīng)用巡檢系統(tǒng)的典型應(yīng)用場(chǎ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)載,。