我跟隨對watirspec運行safariwatir來自safariwatir readme的說明。對watirspec運行safariwatir
$ 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
:
$ 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)
...
由於jarib在他回答說,safariwatir的watirspec點老犯(4e08 2009年),所以我有更新它以指向watirspec的watir2分支中的最新提交。
$ 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
文件。
$ 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自述和閱讀watir,watir-webdriver和celerityimplementation.rb
文件的指導創建spec/implementation.rb
文件。
$LOAD_PATH.unshift("../lib")
require "safariwatir"
include Watir::Exception
WatirSpec.implementation do |imp|
imp.name = :safariwatir
imp.browser_class = Watir::Safari
end
最後,它的工作原理:失敗的
$ rspec spec
...
Finished in 27.89 seconds
1005 examples, 997 failures
99%是這樣的:
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 OS X 10.6.8和Safari 5.1。
$ 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)
這樣的問題讓我想知道Webdriver人離Safari支持多遠。雖然由於安全記錄不佳,我從未親自使用它(FF或Chrome會更好),但有成千上萬的用戶喝這種蘋果 - Koolaide,並且不能改變瀏覽器,因此測試人員,如果Mac用戶對我們很重要,我們需要進行測試。 –
我不認爲webdriver很快就會支持Safari。 –
任何特別讓你想到的事情?是硒人羣反對蘋果,或蘋果是他們通常無益的自我?或者是其他東西? –