在升级到当前的ruby和watir后,我试图运行一些watir测试用例。它们已经使用超过一年(无聊的管理优先级故事),但它们在经常运行时工作正常。
SCRIPT:
要求'watir'
要求'win32ole'
要求'yaml'
要求'test / unit'
要求'watir /断言'
要求'watir / testcase'
错误:
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:在`require'中:无法加载此类文件 - watir / assertions(LoadError)
来自C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in
require'
' 来自C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
from C:/Users/joe.p/Desktop/ruby_auto_test/libs/require_gems.rb:16:inrequire'
require' 来自smoke-test-1.rb:4:in''
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
RUBY& GEMS安装:
C:> ruby -v
ruby 1.9.3p0(2011-10-30)[i386-mingw32]
C:>宝石列表
*本地宝石*
可寻址(2.2.8)
bigdecimal(1.1.0)
建设者(3.0.0)
子进程(0.3.3)
commonwatir(3.0.0)
ffi(1.0.11,1.0.9 x86-mingw32)
锄头(3.0.6)
io-console(0.3)
json(1.5.4)
libwebsocket(0.1.3)
minitest(2.5.1)
multi_json(1.3.6)
nokogiri(1.5.5 x86-mingw32)
耙(0.9.2.2)
rautomation(0.7.2)
rdoc(3.9.4)
rubygems-update(1.8.24)
rubyzip(0.9.9)
s4t-utils(1.0.4)
selenium-webdriver(2.24.0)
测试单元(2.5.1)
用户选择(1.1.6.1)
watir(3.0.0)
watir-classic(3.0.0)
watir-webdriver(0.6.1)
win32-api(1.4.8 x86-mingw32)
win32-process(0.6.5)
windows-api(0.4.1)
windows-pr(1.2.1)
xml-simple(1.1.1)
答案 0 :(得分:4)
需要Watir :: TestCase
Watir :: TestCase已经转移到watir-classic,所以你需要改变
require 'test/unit'
require 'watir/assertions'
require 'watir/testcase'
到
require 'watir-classic/testcase'
您不需要测试/单元或watir /断言,因为它是由watir / testcase自动完成的。
Ruby 1.9.3上的Watir :: TestCase
我尝试运行Watir :: TestCase示例(http://wtr.rubyforge.org/rdoc/1.6.5/classes/Watir/TestCase.html),但由于缺少方法'add_assertion'和'而失败add_failure”。在较新版本的Test / Unit中可能不推荐使用这些方法(请参阅http://apidock.com/ruby/Test/Unit/Assertions/add_assertion)。
最快的解决方案可能是安装test / unit v1.2.3(在Ruby 1.8.7中)。然后需要特定版本(在要求watir-classic / testcase之前):
gem "test-unit", "1.2.3"
require "test/unit"
require 'watir'
require 'watir-classic/testcase'
或者,您可以看到是否有人知道测试/单元比解决错误更好。虽然不确定Watir :: TestCase是如何支持的。