《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于Selenium的应用巡检自动化云服务
基于Selenium的应用巡检自动化云服务
2015《电子技术应用》智能电网增刊
汪 明1,马思硕2,赵宇亮1,朱洪斌1
(1.国家电网公司信息通信分公司,北京 100761;2.国网北京市电力公司 信息通信分公司,北京 100071)
摘要: 为了提升运维工作的精益化水平,国家电网公司的信息系统运维工作分为业务应用运维和系统平台运维,目前采用人工巡检的方式对业务应用进行每日定期巡检,但效率低,容易产生漏检。本文提出一套基于Selenium的应用巡检自动化系统,通过与云计算和移动互联网结合,对Web方式的业务应用实现了自动化巡检,极大提升了每日巡检的效率,提高了巡检工作的可靠性。
Abstract:
Key words :

  汪  明1,马思硕2,赵宇亮1,朱洪斌1

  (1.国家电网公司信息通信分公司,北京 100761;2.国网北京市电力公司 信息通信分公司,北京 100071)

  摘  要: 为了提升运维工作的精益化水平,国家电网公司的信息系统运维工作分为业务应用运维和系统平台运维,目前采用人工巡检的方式对业务应用进行每日定期巡检,但效率低,容易产生漏检。本文提出一套基于Selenium的应用巡检自动化系统,通过与云计算移动互联网结合,对Web方式的业务应用实现了自动化巡检,极大提升了每日巡检的效率,提高了巡检工作的可靠性。

  关键词: Selenium;自动化应用巡检;云计算;移动互联网

1 信息系统应用巡检背景

  随着国家电网公司信息化建设进程的不断加快,国家电网公司的信息系统部署模式逐步由两级部署转变为集中部署或一级部署,而运维模式也逐渐向一级运维模式转变,信通公司承接的一级运维系统数量也越来越多,这对信息系统运维工作的精益化水平提出了更高的要求。目前信息系统运维工作已经分为业务应用运维和系统平台运维两大部分,而业务应用运维直接服务于用户,其安全、可靠、稳定的运行将为用户带来更加快捷、高效、优质的服务。由于采用一级运维,业务应用的故障将直接影响大量用户,具有影响范围广,运维难度大等特点。

  信通公司采用了业务应用人工巡检的方式,对一级运维信息系统进行每日多次巡检,但是由于系统规模大、应用功能多,巡检工作占用大量的人力资源和时间资源。每次巡检都是大规模的重复性劳动,人工巡检会因注意力下降等因素发生误操作,造成巡检结果的偏差。自动化的巡检方式通过采用机器自动巡检,提高了巡检效率,节省了人力成本,并且通过预先设计的脚本,提高了巡检的准确率。而结合云计算和移动互联网的概念,通过搭建云,提高了系统的扩充性和稳定性,采用移动端查看的功能,方便了巡检人员第一时间了解系统应用的运行状况。

2 信息系统应用巡检技术现状

  目前国内外的信息系统应用巡检主要采用的是定期检查Web应用,检测其各项功能是否正常,与Web应用测试的功能类似。而Web应用巡检不关注Web应用测试中的功能测试、性能测试、兼容性测试以及安全性测试。因此,信息系统应用巡检自动化工具可以借鉴Web应用测试的相关技术,将应用巡检自动化系统的研究分成三部分内容:设计自动化巡检工具,搭建自动化巡检框架,生成自动化巡检的测试脚本。

  本文通过对以上三部分的研究、实现与具体应用,形成了基于Selenium的应用巡检自动化系统,实现了对Web应用的自动化巡检,提高了巡检效率和准确性,节省了成本。

3 应用巡检自动化系统的实现方法

  应用巡检自动化系统能实现对Web应用的自动化巡检,按照预先设计的脚本对Web应用进行逐项测试,最终形成测试报告,并发送到服务器。用户可以采用登录服务器,或者移动端登录的方式进行读取,由此提升了巡检工作的效率。按照上述思路,本文从设计自动化巡检工具、搭建自动化巡检框架、生成脚本三方面对应用巡检自动化系统进行了独立开发和实现。

  3.1 自动化巡检工具Selenium

  Selenium是一款用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Firefox、Chrome等。该工具的主要功能包括:测试浏览器端应用的兼容性、系统功能。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks公司专门为Web应用程序编写的一个验收测试工具。

  Selenium主要的好处有以下两点:

  (1)通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。

  (2)Selenium的核心,也称browser bot,是用JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot负责执行从测试脚本接收到的命令,测试脚本支持编程语言编写。

  鉴于以上特性,本研究采用Selenium自动化巡检工具作为应用巡检自动化工具的巡检模块。

  3.2 自动化巡检框架Robot Framework

  自动化功能测试框架有利于编写测试脚本和获得测试报告。Robot Framework是一款python编写的功能自动化测试框架,由Nokia Siemens Networks开发并提供支持。其具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试。主要用于轮次很多的验收测试和验收测试驱动开发。

  本研究采用了Robot Framework作为应用巡检自动化系统的框架,其优良特性如表1。

004.jpg

  3.3  生成脚本

  目前国际上采用的测试脚本用例生成方法主要有Capture/Replay方法、HTML分析法、源代码分析法以及User-Session法。每种方法各有优缺点,而为了达到最高的脚本用例生成效率,借助Robot Framework的优良特性,本研究采用了本文编辑的方式进行手动编写。

  以打开12306进行余票查询功能为例,测试用例:“查询2015年6月2日从北京到西安的火车余票”,具体的脚本如表2所示。

005.jpg

  测试报告如图1所示。

001.jpg

4 界面设计

  为了提高系统的可用性,本文对系统界面进行了设计。本系统分为客户端和服务器端,客户端是用户借助应用巡检自动化系统,按照预先编写好的脚本进行巡检测试,并按照配置路径发送巡检报告。服务器端可以按照特定的查询条件进行巡检报告查询,通过对比一段时间的巡检报告,可以对Web应用在一定时间段内的稳定性进行分析,并预测未来可能出现的故障。

  4.1 客户端

  在客户端,用户可以进行配置、巡检、定时以及查看报告等操作,具体的界面如图3~图5所示。

002.jpg

  4.2  服务器端

  在服务器端,用户可以按照系统名称、报告提交人员所在的省份和城市、检测功能点总数、通过检测的功能点数目、通过率、报告提交时间、报告提交人员的姓名等关键字进行查询。具体界面如图6所示。

003.jpg

5  效益分析

  当前的应用巡检采用人工巡检的方式,存在效率低下和不可靠的问题。以协同办公应用巡检为例,每天在上班前和下班后进行两次应用巡检。每次均需半个小时左右。由各个项目组现场巡检形成报告,之后再由总部汇总。这样很难避免人员疏忽造成的漏检问题。而自动化应用巡检系统从时效性和准确性两方面大幅度提升了应用巡检的效率和可靠性。

  5.1 时效性分析

  采用应用巡检自动化系统,对协同办公系统进行巡检,大概需要2 min左右,而且可以随着机器性能的提升进一步缩减巡检时间。与原来巡检大概需要半小时左右相比,效率提升了15倍左右。

  5.2 可靠性分析

  采用应用巡检自动化系统,由于是使用机器按照脚本进行逐一巡检,所以准确率能够达到100%。

6 展望及结语

  通过测试,现有的自动化应用巡检系统已经能够较好的实现自动化应用巡检功能,而借助当前云计算和移动互联网的相关技术,未来将在现有系统的基础上在云计算平台上进行重新架构,并开发移动端APP,方便巡检人员远端查看巡检报告。通过与这两项技术的深度结合,可以极大地拓展自动化应用巡检系统的典型应用场景,方便将该系统推广到更多网省公司,进一步提升巡检工作的效率和可靠性。

参考文献

  [1]WIEGERS K, BEATTY J. Software Requirements[M]. 北京. 机械工业出版社,2013.

  [2]SCHACH S R. Object-oriented and classical software engineering(Fifth Edition)[M]. 北京. 机械工业出版社,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),北京: 机械工业出版社,2003.


此内容为AET网站原创,未经授权禁止转载。