環境構築不要で配布!ruby+seleniumのコードをexe化【chromedriver】
本エントリーは、Selenium/Appium Advent Calendar 2018 2日目エントリーです。
rubyのコードを配布するなら環境構築が必要
rubyで書いたコードを実行してもらうならrubyのインストールやらgemのインストールやら、
seleniumであればchrome driverの設置やpathを通すなど、相手の環境で設定することが必須です。
この環境構築が結構めんどくさいので、手順を説明するってよりは遠隔で操作して設定してあげたりします。
windowsならruby + selenium webdriverも環境設定は15分で終わる
exe化すれば環境構築が要らない!コマンドラインの操作も要らない!ダブルクリックでそのまま実行!
windowsに限りますが、rbファイルをexe化してしまえば、コマンドラインの操作も要らずにダブルクリックだけで動作します。
今回はその方法を紹介します。フリーランスエンジニア必見かもしれません。
実装
まずはgoogle chromeをインストールしてください。chromdriver.exeがあっても本体のchromeがないと動きません。
ocraをインストール
rubyをexeかするocraをインストールします。
1 |
gem install ocra |
これで準備完了
ocraでexe化
単純なrbファイルなら以下のコマンドで同ディレクトリにexeファイルが保存されます。
1 |
ocra sample.rb |
ただ、seleniumなどのライブラリを使うとエラーが起きてしまうので以下のオプションをつけて実行しましょう。
1 |
ocra --add-all-core sample_selenium.rb |
ただし、selenium webdriverでchrome driverなどを使う場合はchrome driverの設置が必要になります。
その場合はchrome driverをコードと同ディレクトリなどに置いて、pathを書きましょう。
rbファイルの中に書きます。
1 2 |
Selenium::WebDriver::Chrome.driver_path="./chromedriver.exe" driver = Selenium::WebDriver.for :chrome |
これで先ほどのocraのコマンドを実行すれば、chromeが立ち上がって実行されます。
感動ですね!!環境構築要りませんよ!!