LoginSignup
3
2

More than 5 years have passed since last update.

「The RSpec Book」の「22. WebratとSeleniumを使ったブラウザの自動化」が本の通りでは動かないのの回避

Posted at

サンプルコードのautomated_browser/01/Gemfileには

group :development, :test do
  gem "rspec-rails", "2.0.0"
  gem "cucumber-rails", "0.3.2"
  gem "webrat", "0.7.2"
  gem "database_cleaner", "0.5.2"
  gem "selenium-client", "1.2.18"
end

とバージョン指定されていますが、このまま実行すると…

ERROR - Failed to start new browser session, shutdown browser and clear all session data
org.openqa.selenium.server.RemoteCommandException: timed out waiting for window 'null' to appear
  :
    at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
2012-05-15 15:45:13 +0900 selenium-client received failure from selenium server:
requested:
    cmd=getNewBrowserSession
    1=*firefox
    2=http://localhost:3001
    3=
    4=
received:
    "Failed to start new browser session: Error while launching browser"
    called from /Users/foobar/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/timeout.rb:68:in `timeout'

とか言われて動かない(-ω-)

Webratが内部にselenium-server.jarを持っていて、それを実行しているのだけど、試しに最新のselenium-serverをダウンロードし、直接実行しつつrake cucumberすると…

Exception in thread "main" java.net.BindException: Selenium is already running on port 4444. Or some other service is.
 :

などと言われるのだけど起動したselenium-server.jarを使って動く!

とりあえず、Webratの使用しているバージョンのselenium-server.jarを置き換えるという強引な手で回避。

cd ~/.rvm/gems/ruby-1.9.3-p194\@rspecbook/gems/webrat-0.7.2/vendor/
wget http://selenium.googlecode.com/files/selenium-server-standalone-2.21.0.jar
mv selenium-server.jar selenium-server.jar.ORG
ln -s selenium-server-standalone-2.21.0.jar selenium-server.jar
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2