注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

STAF使用小结  

来自哎哟喂嘞   2011-07-22 16:43:36|  分类: 自动化测试 |举报 |字号 订阅

  下载LOFTER 我的照片书  |

由于最近开发平台的任务接触了STAF这个自动化测试框架,它是一个由IBM提供的,开源、跨平台、支持多语言的自动化测试框架,利用组件的概念实现模块复用和模块扩展性。

官方对其功能的描述包括:生成自动用例、搭建自动化测试环境、生成分布式负载、管理执行结果,总之就是很好很强大。

不过在开发过程中我们主要使用的是其分布式部署和负载的功能,通过基于xmlSTAX执行引擎调用STAF命令,本文也只涉及该方面的心得,其他功能还待日后慢慢体验实践。

关于部署

STAF有许多内建的service,它们应该是用C写的,像STAX这类基于java编写的service存在一个STAF版本与所在机器JVM版本的兼容性问题服务器上安装的JVM主要有Java HotSpot(TM) Server VMJava HotSpot(TM) 64-Bit Server VM两种类型,所以在其上安装STAF时也应该选择合适的版本,否则在启动基于JAVAservice时会报错,如Reason : Error constructing service, JSTAF, Result: Unable to connect to JVM未选择合适版本,在没有启用JAVA类型的service时,STAF可以连接,没有出错信息;但可能在由远程STAX调用返回结果时会出现问题,而且没有错误信息,不易于发现问题。

STAF之外的测试环境部署,可以借助STAF分布式的能力自动化完成,但目前STAF自身的安装还需要人工介入,这样对于测试环境经常变化的应用场景还是需要做额外的一些工作的。插句体外话,拥有自己的一个固定的测试环境是多么幸福的事啊。

关于日志

对于一个自动化系统来说,日志显得尤为重要,但STAF提供的LOG服务却相当不顺手,至少对本人来说。其最重要的不足是几乎不可读,需要调用STAF命令解析出一个结构化的数据,不便于处理。

最后我们采用在STAX<script>标签内调用pythonlogging模块自定义我们的日志,该模块类似于java中的log4j,实现了一个完整的日志系统。但由于该模块是在python2.3后加入的,stax3.4.5基于jython2.1(对应于python2.1),该版本还没有logging模块,import的时候会报错,幸好stax3.5.0基于jython2.5,故需要将stax版本从3.4.5更新到3.5.0就能方便的记录日志了。

另外,STAX方式优于javapython api方式的方面在于其实现了常用的串行和并行执行的逻辑,中间需要使用STAXGlobal变量,省去了在javapython中处理多线程的麻烦,减小了开发难度,也缩短了开发时间。但以xml方式编写脚本也实在不是一个轻松愉快的体验,总之,一切的工具都是为了为我所用。
  评论这张
 
阅读(1518)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016