首页 > 新闻 > 国内 >

云计算平台做不了自动化测试?给你一套解决方案

2015-02-28 16:03:57   作者:   来源:比特网通信   评论:0  点击:


  云计算平台是最近各大公司都在火热研究的产品,各大公司在二次开发国外开源云计算平台,如:OpenNebula、Openstack、CloudStack、Eucalyptus等。同时在测试方向中,自动化测试也是悄然的改变这测试的方式,那么问题来了,自动化测试+云计算平台=?是否可做?可做多少?云计算中的虚拟机操作是否可做?记得刚接触云计算平台的时候,一个云计算平台领导说过结论性的话:云计算做不了自动化,心里一阵想法油然而生。

  那么在云计算平台中自动化测试给很多人带来了困扰,很多略懂一二自动化知识的人会果断认为云计算平台中不能执行自动化测试,否定云计算中自动化测试的重要性!其实不然。

  下面我就要提出一套云计算中的解决方案:

  首先要面临的一件令人头疼的事就是如果使用现在版本稳定开源且功能强大的selenium WebDriver来进行PC机中的web功能测试以及兼容性测试,那么根据selenium原理,它是只识别GUI中的Web页面对象,如果要操作windows对象,可以使用javascript中的DOM来实现对windows桌面的操作,然而云计算平台中往往出现在了两种混合方式:即嵌套在web页面端的虚拟机,并且测试中需要很多验证是需要操作嵌套在web页面中的虚拟机,操作的对象即位Web页面中的windows对象或者linux等等不同操作系统的对象,拿镜像为windows的虚拟机页面来说,首先分析定位对象的时候,虚拟机嵌套在网页中,属于web页面对象,但是虚拟机是作为整体web对象来出现的,(如:OpenNebula中的虚拟机点开之后是div下面的canvas对象,在canvas对象中,所有任何对象都是不能单独识别和操作)但是selenium中无法识别嵌套在web页面中的虚拟机,以及操作页面中的虚拟机中的各种命令行或者是windows对象,那么此时,很多人会否定自动化对这块的业务能力的处理操作。

  下面就是解决方案的重点:

  针对云计算平台,各种各样的对象出现在测试产品中:

  针对纯传统web页面对象,selenium实现GUI定位和操作;对于页面中嵌套的windows对象,使用sikuli这种图形定位识别完成自动化测试;对于纯正的windows对象,使用sikuli图形识别或者使用selenium中提供的执行javascript方式,通过javascript来完成。

  这样几种方式同时出现在一套自动化测试工具或者平台中,各种优势互补,就可以顺利的完成云计算平台带来的各种各样的虚拟机下的各种操作系统中各种输入或者点击以及验证事件!

  以上的文章献给正在云计算平台中做自动化测试框架或者做自动化测试方案的人,仅以解决云计算平台中类似网页中嵌套的虚拟机中各种操作以及类似介于web GUI和windows之外的测试产品的问题。

  PS:有人会提出使用坐标点识别的自动化测试框架完成对测试产品的自动化测试就可以完成上述产品中提出的云计算中网页中嵌套的虚拟机中的各种操作,但是坐标点解决方案在云测试中,各种尺寸的分辨率以及各种型号的电脑显示器以及各种操作系统平台,这种坐标点方式,就不能很好的完成跨操作系统、跨浏览器等测试了!只适合单机版的测试,和现在云测发展背道而驰!除非你愿意在每套脚本执行环境中重新定位验证一下坐标点,那么你的自动化测试脚本可不是一处编写,处处运行,而是处处编写,处处运行!工作量可想而知。

分享到: 收藏

专题