LoginSignup
14
8

More than 5 years have passed since last update.

RubyとSeleniumによる自動テスト~環境構築~

Posted at

IE11での動作確認をすることを目的にSeleniumの環境構築をした際のメモです。
が、ついでにChromeの環境もいっしょに作ってみました。
まずは環境構築編。
RubyからSeleniumをキックできる環境構築まで。

SeleniumIDEの導入

  ※FireFoxのインストールは割愛します。

SeleniumIDEのインストール

FireFoxで以下にアクセスし、Selenium IDEをインストールする。
 https://addons.mozilla.org/ja/firefox/addon/selenium-ide/

Ruby環境

Ruby 2.3.1(2.3.3でも確認しました)
(RubygemsとDevKitの導入が必要?)

bundlerのインストール

gem install bundler

必要なGemのインストール

Gemfile
source "https://rubygems.org"
gem "selenium-webdriver"
gem "rspec"
gem "pry-byebug"

bundle install

WebDriverのダウンロード

ダウンロードサイト

FireFox/Chrome/Edge用ドライバ

上記ダウンロードサイトの「 Third Party Drivers, Bindings, and Plugins 」からダウンロードする。

IE用ドドライバ

上記ダウンロードサイトの「 The Internet Explorer Driver Server 」から32bit or 64bitをダウンロード
※ 64bitだとスクリプトの動作が極端に遅くなる現象が発生しました。
  64bit環境でも32bitの方を使うと解消されました。
  →参考Selenium の IE Driver で SendKeys したときに1文字ごとの入力が異様に遅い場合の対処
上記ファイルをダウンロードし、配置したフォルダにPathを通す。

IE11の環境設定

IE11の保護モードを有効にする

インターネットオプションセキュリティ タブから、

  • インターネット
  • ローカルイントラネット
  • 信頼済みサイト
  • 制限付きサイト

の4つ全てについて 保護モードを有効にする にチェックを入れます。

拡張保護モードを無効にする

同、 詳細設定 タブから、
拡張保護モードを有効にする のチェックを外します。

動作確認

動作確認用プログラム

seleniumtest.rb
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :firefox
# driver = Selenium::WebDriver.for :chrome
# driver = Selenium::WebDriver.for :ie
driver.get "http://www.google.co.jp/"
# driver.quit

実行

ruby seleniumtest.rb

補足(ってゆーか、ハマったとこ)

実行環境にもよりますが、会社だと社外に接続するためにはProxyの設定が必要な場合があります。
今回の環境もProxyが必要な環境でした。
そして、Proxyの環境変数にやられました (T-T)

環境変数で HTTPS_PROXYHTTP_PROXY を設定する必要がある
しかし、HTTP_PROXYが設定されていると、 ローカルホストで動作しているWebDriverへProxy経由でアクセスしようとしてエラー になってしまいます。
こちらを参考に解決しました。
Webブラウザの自動操作 (Selenium with Rubyの実例集)
 「http_proxyという環境変数が定義されている場合」を参照


以上、とりあえず、環境構築まででした。
~スクリプト作成~に続きます。

14
8
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
14
8