読者です 読者をやめる 読者になる 読者になる

Ruby with Selenium(その1)

ruby selenium

Ruby with Selenium(その1)

VB6.0とかいうイケてない言語で書かれたイケてないシステムを解析という仕事に疲れ、プログラミング能力が下がったような気がするので、洗練されたモダンな言語(Ruby)と戯れる。

SeleniumRubyから呼び出し、画面テスト自動化のサンプルを作成する。

Rubyインストール

諸事情でmacクリーンインストールしたため、再度Rubyのインストールから

【参考】Macで作るRails環境構築手順

Command Line Tools

macで開発するときはCommand Line Tools をインストールするのが基本。Xcodeに含まれているけど、Xcodeは要らないので単体でインストールする。

CommandLineTools

Homebrew

mac用のパッケージ管理ツールを導入する。 Homebrewは何かと使いやすい

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

rbenv

rubyのverion管理をしたいので、rbenvを導入する。

 $ brew update
 $ brew install rbenv ruby-build
 $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
 $ source ~/.bash_profile

ruby

rvenvを利用して最新のrubyをインストールする

$ ruby -v # デフォルトのrubyが表示されることを確認
ruby 2.0.0p481 (2014-05-08 revision 45883)[universal.x86_64-darwin14]
$ rbenv install -l # インストールできるversionの一覧
$ rbenv install 2.3.1 # 最新の安定版を選択
$ rbenv rehash
$ rbenv global 2.3.1 # 上で指定した2.3.1を入力
$ ruby -v # 2.3.1が表示されることを確認
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin14]

selenium

本題のseleniumのインストール。

selenium-webdriver

gemを用意する。gemコマンド便利すぎ。

$ gem install selenium-webdriver

chromedriver

chromeで利用する場合はchromedriverなるものが必要とのこと。専用サイトからダウンロードし、pathが通るディレクトリに配置する。

$ pwd
/usr/bin
$ ls -l chromedriver
-rwxr-xr-x@ 1 -----  wheel  12784436  1 31  2014 chromedriver

お試し

動作確認を行う。以下の仕様をRubyで実装 * AmazonのTOPページに遷移し、検索ボックスに"7010onCajon"を入力し、実行する * 遷移後の画面のスクリーンショットを撮る

ソースファイル

#!/usr/bin/ruby
require 'selenium-webdriver'
# chrome用のWebDriver
driver = Selenium::WebDriver.for :chrome
# AmazonのTOPページに遷移し、検索ボックスに"7010onCajon"を入力し、実行する
driver.navigate.to 'https://www.amazon.co.jp'
element = driver.find_element(:id => "twotabsearchtextbox")
element.clear
element.send_keys("7010onCajon")
element.submit
# スクリーンショットを撮る
driver.save_screenshot('./example4amazon.png')
# 終了
driver.quit

画面遷移

コマンドを実行すると、ブラウザ(Chrome)が立ち上がって、動作します。

exaple4amazon

以上。気が向いたらその2、その3をやります。