2

我是 ruby​​ 新手,无法在 ruby​​ v1.9.1 上使用简单的 watir 脚本与 IE 一起使用。我可以让它与 ruby​​ v1.8.6 一起工作

有没有人设法将 watir 与 Ruby v1.9.1 一起使用?

这是我正在使用的脚本

require 'watir'

browser = Watir::Browser.new
browser.goto 'http://www.ruby-lang.org/'

下面是我在 32 位 Windows XP SP3 和 32 位 Windows 7 上尝试过的两个版本的详细尝试。IE 8.0 在这两种情况下都是默认浏览器,我必须使用 IE,因为这是我的客户需要的。所有安装均来自http://rubyinstaller.org/downloads/

v1.8.6

  • ruby -v 给了我 ruby​​ 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]
  • RUBYOPT 环境变量设置为“rubygems”
  • 路径环境变量设置为包含 'c:\ruby186\bin' - 路径中没有其他版本
  • 使用 gem install watir 安装 watir
  • 宝石清单给了我
    • 主动支持 (2.3.8)
    • 建设者(2.1.2)
    • 普通人(1.6.5)
    • 消防员 (1.6.5)
    • 锄头 (2.6.1)
    • json_pure (1.4.3)
    • nokogiri (1.4.2.1 x86-mingw32)
    • 耙子 (0.8.7)
    • 红宝石锻造 (2.0.4)
    • s4t-utils (1.0.4)
    • 用户选择 (1.1.6.1)
    • 水 (1.6.5)
    • win32-api (1.4.6 x86-mingw32)
    • win32 进程 (0.6.2)
    • windows-api (0.4.0)
    • windows-pr (1​​.0.9)
    • xml-简单 (1.0.12)
SUCCESS


v1.9.1

  • ruby -v 给了我 ruby​​ 1.9.1p378(2010-01-10 修订版 26273)[i386-mingw32]
  • RUBYOPT 环境变量设置为“rubygems”
  • 路径环境变量设置为包含 'c:\ruby191\bin' - 路径中没有其他版本
  • 使用 gem install watir 安装 watir
  • 宝石清单给了我
    • 主动支持 (2.3.8)
    • 建设者(2.1.2)
    • 普通人(1.6.5)
    • 消防员 (1.6.5)
    • 锄头 (2.6.1)
    • json_pure (1.4.3)
    • nokogiri (1.4.2.1 x86-mingw32)
    • 耙子 (0.8.7)
    • 红宝石锻造 (2.0.4)
    • s4t-utils (1.0.4)
    • 用户选择 (1.1.6.1)
    • 水 (1.6.5)
    • win32-api (1.4.6 x86-mingw32)
    • win32 进程 (0.6.2)
    • windows-api (0.4.0)
    • windows-pr (1​​.0.9)
    • xml-简单 (1.0.12)
FAILURE : simplegoto.rb:58:in `<main>': undefined method `goto' for #<Watir::IE:0x16eaca0> (NoMethodError)  

提前感谢帕特

4

2 回答 2

3

据我所知,您使用的 Watir 版本仅适用于 1.8.6。

Vapir(watir 的更新分支 - 参见http://vapir.org)适用于所有最新版本的 ruby​​。

编辑:

或者更新到更新版本的 watir(这在 07/2010 中可能不是一个选项,但现在肯定是 2012 年的情况。watir 2.0.x 和 watir 3.0(在我更新这个答案时处于 RC 状态)支持Ruby 的最新版本(例如 1.9.2)

于 2010-07-15T13:47:58.403 回答
1

要允许 Watir(和 FireWatir)在 ruby​​ 1.9.2 上运行,请安装 devkit 并遵循此处列出的程序:GitHub 上的 Ruby Installer

gem uninstall win32-api
gem install win32-api --platform=ruby
于 2010-09-10T14:16:33.513 回答