🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

709閲覧

Ruby on Rails 速習実践ガイド Selenium Webdriverとはなんですか?

AtsushiMuraishi

総合スコア6

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/12/29 20:47

Ruby on Rails 速習実践ガイドという教科書を進めていてRspec のテストを実行したところchrome-helperというgemのサポートが終了しているため?別の方法でテストを実行しなければいけないのですが、この記事通りに進めたいのですが、「パスを Selenium Webdriver に教えてあげる」とはどういうことですか?
どこかのファイルにこのように書けばよいのでしょうか?それともファイルを作るのですか?初心者なのでよくわかりません。よろしくお願いいたします。

https://gist.github.com/upinetree/fb71a947cc100e7918b7b280485d620c

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

そのページによると、

plain

1# spec/spec_helper.rb 2require 'selenium-webdriver' 3Selenium::WebDriver::Chrome.driver_path = "/mnt/c/Program Files/chromedriver_win32/chromedriver.exe"

と書いてあるので、spec/spec_helper.rbに書けばいいのでは?

投稿2019/12/29 23:08

otn

総合スコア85886

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AtsushiMuraishi

2019/12/29 23:20

早速ご回答いただきありがとうございます。 私の環境ではPC/ローカルディスクC/ユーザー/user/デスクトップ/chromedriver_win32/chromedriver.exe となっているのですが、このまま日本語を含んだまま書いても大丈夫なのでしょうか?
otn

2019/12/29 23:56

その場所で駄目かどうか確認していませんが、日本語の含まれない場所に移動しましょう。 英数字(とパス名に使える半角記号)だけの場所に置いたほうが余計な心配をしなくていいです。 一般的には、空白も避けたほうがいいですが、このページの人は空白を含んだパスにしているので、この場合は大丈夫そうですね。
AtsushiMuraishi

2019/12/30 07:26

ご回答ありがとうございます。 日本語の含まれないようにしてみたんですが、エラーが出てしまいました。 おそらく僕の書き方が間違っているのでしょうがこの書き方でパスは通りませんか? ~エラー文~ Failure/Error: Selenium::WebDriver::Chrome.driver_path = "/c/chromedriver.exe" Selenium::WebDriver::Error::WebDriverError: not a file: "/c/chromedriver.exe" cドライブの直下にchromedriver.exeを置きました。 #spec_helperにこのように書きました。 require 'selenium-webdriver' Selenium::WebDriver::Chrome.driver_path = "/c/chromedriver.exe"
otn

2019/12/30 12:23 編集

Cドライブを /c/ と書くということは、MSYSとかmingwですかね? うーん。 それにしては、not a file という見慣れないエラーですが、環境を間違っていませんか? WSLなのかと思っていたのですが、違うのでしょうか?
AtsushiMuraishi

2019/12/30 12:38

はい、wslを使っています。 もしかしてこれはubuntuのターミナルを使って、windowsではなくubuntuの中に保存して、パスを指定しなければいけないということでしょうか?
otn

2019/12/30 12:42

WSLなら、/mnt/c/chromedriver.exe では? 参考サイトでも書いてあるのに何故/mntを削ったのでしょう?
AtsushiMuraishi

2019/12/30 12:59

ちゃんと記事通りにmntをつけてもエラーが出たため、外してみました。 ちなみにmntをつけるとえらの内容が少し変わり、 Got 0 failures and 2 other errors: 1.1) Failure/Error: visit login_path Selenium::WebDriver::Error::UnknownError: unknown error: Chrome failed to start: crashed (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) # #0 0x7fd7ebc5f479 <unknown> # ./spec/system/tasks_spec.rb:12:in `block (4 levels) in <top (required)>' 1.2) Failure/Error: Unable to infer file and line number from backtrace Selenium::WebDriver::Error::UnknownError: unknown error: Chrome failed to start: crashed (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) # #0 0x7fd7ebc5f479 <unknown> となります。
otn

2019/12/30 14:09

> ちゃんと記事通りにmntをつけてもエラーが出たため、外してみました。 考えずに修正するのはやめましょう。 > (unknown error: DevToolsActivePort file doesn't exist) ちゃんとchromedriverが動いて、エラーを出していますね。 WSL内でじゃなくてWindows用のChrromeを使う方針ですよね? それにしては、エラーメッセージ中の /usr/bin/google-chrome が変です。 WSLにもchromeをインストールしたんでしょうか?
otn

2019/12/31 06:33

WSLにRubyをインストールしてみましたが、すでにWindows側にインストール済みのChromeとchromedriverを使って、 Selenium::WebDriver::Chrome::Service.driver_path = "/mnt/c/my-path/chromedriver.exe" driver = Selenium::WebDriver.for :chrome driver.get("https://www.google.com") binding.irb でChromeが起動しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問