配置Ruby脚本以产生测试报告
由于昨天接到的Ruby脚本是用rake(据柱石说是类似java的ant)来运行测试的,我在本地跑了很多次也没找到它在测试运行完成后,是怎样处理测试报告的……,因为我尝试过N多方式去让脚本产生测试报告。后在Hudson的一个mailing list中找到的解决方案:使用ci_reporter自动将Ruby的测试报告转换成Junit风格的xml文件,然后Hudson可以直接读取Junit风格的xml文件,展示和记录测试结果,具体做法如下:
1. 安装ci_reporter:gem install ci_reporter
2. 修改Rakefile,增加以下几行
require ‘rubygems’
gem ‘ci_reporter’
require ‘ci/reporter/rake/test_unit’
3. 接下来可以通过ci_reporter来生成Junit风格的xml报告文件了,在运行rake命令的时候稍作修改即可:
rake ci:setup:testunit test
缺省情况下,会在test/reports目录下生成符合Junit风格的报告文件。
新建Hudson job 运行脚本
上一节已经找到了合适的方式Hudson上是用job来管理要运行的项目(对于测试来说,可以理解为测试工程)的,同样,作为一个Ruby的自动化测试,同样也会有工程或者项目的的概念,我们需要在Hudson中新建一个Job来对应我们要运行的Ruby工程,配置很简单跟普通的java项目配置基本一样,但是有几点需要注意:
1. 需要绑定这个任务到我们刚刚配置的client,因为如果不绑定的话,Hudson会根据机器的负载情况自动分配当前的任务到某个client或者master上,如果被分配到Linux的机器上,则脚本不能调用Win32程序来完成界面测试,具体做法如下:
在任务配置界面中,在如上图所示的下拉框中,选中刚刚已经配置好的client名称“GUI-TEST-NODE”
2. 要运行ruby脚本,使用的rake命令,因此这里我们需要将这个命令配置好,同时由于我们使用了ci_reporter,所以如上一节一样,我们稍微修改一下命令
rake ci:setup:testunit test –trace