首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >违反watirspec运行safariwatir

违反watirspec运行safariwatir
EN

Stack Overflow用户
提问于 2011-08-08 10:41:54
回答 1查看 515关注 0票数 1

我正在按照safariwatir 自述文件的watirspec指令运行safariwatir。

代码语言:javascript
复制
$ git clone git://github.com/redsquirrel/safariwatir.git
Cloning into safariwatir...
...

$ cd safariwatir

$ git submodule update --init
Submodule 'spec/watirspec' (git://github.com/jarib/watirspec.git) registered for path 'spec/watirspec'
Cloning into spec/watirspec...
...
Submodule path 'spec/watirspec': checked out '4e080506694b079d08135e610716e5655f07183f'

因为我有rspec 2,所以我用spec spec替换了rspec spec

代码语言:javascript
复制
$ rspec spec
/Users/zeljko/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': /Users/zeljko/Documents/projekt/safariwatir/spec/watirspec/lib/server.rb:91: invalid multibyte char (US-ASCII) (SyntaxError)
...

正如贾里布在他的回答中所说的,safariwatir的watirspec指向和旧提交(第4季第8集从2009年开始),所以我已经更新了它,指向watir2分支的watirspec最新提交。

代码语言:javascript
复制
$ cd spec/watirspec && git pull origin watir2
From git://github.com/jarib/watirspec
 * branch            watir2     -> FETCH_HEAD
Updating 4e08050..fa27ccf
...

safariwatir的watirspec现在指向fa27ccf,但是rspec spec现在抱怨它找不到spec/implementation.rb文件。

代码语言:javascript
复制
$ rspec spec
/Users/zeljko/Documents/projekt/safariwatir/spec/watirspec/lib/runner.rb:58:in `load': no such file to load -- /Users/zeljko/Documents/projekt/safariwatir/spec/implementation.rb (LoadError)

我根据watirspec的说明并通过读取spec/implementation.rbwatir-webdriver速速 implementation.rb文件创建了watir-webdriver文件。

代码语言:javascript
复制
$LOAD_PATH.unshift("../lib")
require "safariwatir"

include Watir::Exception

WatirSpec.implementation do |imp|
  imp.name = :safariwatir
  imp.browser_class = Watir::Safari
end

最后,它起作用了:

代码语言:javascript
复制
$ rspec spec
...
Finished in 27.89 seconds
1005 examples, 997 failures

99%的失败是这样的:

代码语言:javascript
复制
  10) Browser#html returns the DOM of the page as an HTML string
     Failure/Error: browser.goto(WatirSpec.files + "/right_click.html")
     Appscript::CommandError:
       CommandError
            OSERROR: -609
            MESSAGE: Connection is invalid.
            COMMAND: app("/Applications/Safari.app").documents[1].URL.set("file:///Users/zeljko/Documents/projekt/safariwatir/spec/watirspec/html/right_click.html")
     # ./lib/safariwatir/scripter.rb:253:in `block in navigate_to'
     # ./lib/safariwatir/scripter.rb:697:in `page_load'
     # ./lib/safariwatir/scripter.rb:252:in `navigate_to'
     # ./lib/safariwatir.rb:960:in `goto'
     # ./spec/watirspec/browser_spec.rb:23:in `block (4 levels) in <top (required)>'

环境:

Mac 10.6.8,Safari 5.1。

代码语言:javascript
复制
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]

$ gem list
*** LOCAL GEMS ***
...
rspec (2.6.0)
...
rubygems-update (1.8.7)
...
safariwatir (0.4.0)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-08 10:51:52

您应该运行rspec spec (规范二进制文件似乎指向/Library/.中的非Ruby )。

编码问题是固定的这里 -所以safariwatir的watirspec子模块已经过时了。要么更新子模块,要么使用1.8.7来避免问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6980944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档