我已经在名为 machineA 的 Windows 7 机器上安装了 jenkins 主节点和 testLink。我已经通过 Java Web Start (JNLP) 在名为 machineB 的 Windows Server 2003 上安装了 Ruby 1.8.7、watir 1.7.1、ci_reporter 1.8.4、测试单元 2.5.4、rake 10.0.3、jenkins 从节点。
该项目的目标是从 machineA 开始构建,之后,jenkins slave 将在 machineB 上执行 ruby 测试(使用 watir,因此使用 ie navigator)并在 machineA 上发送报告(由 testLink 读取)。
我在 jenkins 主节点上的作业配置(如 machineA):
restrict where this project can be run --> machineB
svn --> url --> svn://serverSVN/project/trunk
build --> invoke testlink --> testLink cfg --> TestLink Version --> testlink 1.9.3
Test Project Name --> my project
Test Plan Name --> my testPlan
Build Name --> watirTest-$BUILD_NUMBER
Custom Fields --> watir
testExecution --> Single Build Steps --> execute windows batch cmd --> rake test CI_REPORTS=results
results seeking strategy --> include pattern --> results/*.xml
key custom field --> watir
post-action-build --> publish junit reports --> results/*.xml
这是一个测试,我将以 2 种不同的方式执行(在 machineB 上的本地,在 machineA 上使用 Jenkins)。
require 'rubygems'
require 'watir'
require 'test/unit'
require 'ci/reporter/rake/test_unit_loader'
include Watir
class ModifierLocalisation < Test::Unit::TestCase
def test_me
ie = Watir::IE.new
ie.goto("http://ipMachine/shopA/")
assert(ie.text.include?("Identification"))
end
end
当我在本地机器B上执行测试时,测试通过了,所以这里是控制台输出:
** Invoke test (first_time)
** Execute test
E:/Ruby/bin/ruby.exe test/modifierLocalisation.rb
Loaded suite test/modifierLocalisation
Started
.
Finished in 2.140625 seconds.
1 tests, 1 assertions, 1 failures, 0 errors
但是当我在 machineA 上使用 jenkins 执行测试时,测试失败,(但报告被发送到 machineA 上的 testLink)所以这里是控制台输出:
** Invoke test (first_time)
** Execute test
E:/Ruby/bin/ruby.exe test/modifierLocalisation.rb
Loaded suite test/modifierLocalisation
Started
F
Finished in 2.140625 seconds.
1) Failure:
test_me(ModifierLocalisation) [test/modifierLocalisation.rb:14]:
<false> is not true.
1 tests, 1 assertions, 1 failures, 0 errors
rake aborted!
我认为当我在 machineA 上从 jenkins 执行测试时,Internet Explorer 无法启动,这就是测试失败的原因。
知道我能做什么吗?