关于云计算上的自动化测试,下面是关于云计算中测试的解决方案:
首先要面临的一件令人头疼的事是如果使用现在版本稳定开源且功能强大的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之外的测试产品的问题。