長谷川
1
Selenium2(WebDriver) IDEとSelenium VBAを使っ
てIEの操作を自動化する。
【参考URL】
Seleniumの公式HP
http://www.seleniumhq.org/docs/index.jsp
Seleniumのダウンロードページ
http://docs.seleniumhq.org/download/
2
1. Selenium IDEの使い方(Firefox版)
2. IEの操作自動化(Selenium VBA)
3. GUI自動化
Selenium IDEだけでもIEの操作自動化はできるが、Selenium IDEにバグ
があってIEの画面キャプチャが撮れない場合がある。
そのためVBA、Java、C#等にエクスポートして自動化する。
一番編集等が楽なVBAでやる。
①Selenium IDEで操作を記録、シナリオを作成
↓VBAにエクスポート
②Selenium VBA(Excel)で編集/実行
3
4
 Selenium IDEのダウンロードURL
◦ http://release.seleniumhq.org/selenium-
ide/2.9.0/selenium-ide-2.9.0.xpi
 Selenium IDEはFirefoxアドオンとして動作する。
 ブラウザ動作を記録し、Seleniumのシナリオを作成できる。
5
Firefoxのメニューバー
から実行する。
 作成したシナリオはJava、VBAなどにもエクスポートで
きる。
6
操作記録
開始/停止
テストケース
コマンド編集画面。
追加などもできる。
コマンドリファレンス。
 ① 開始ボタンをクリック
 ②Firefox上で「aaaa」をGoogle検索
 ③右のシナリオができる
 ④capコマンドを追加
 ⑤実行ボタンを押す
 ⑥画面キャプチャが保存される。
7
8
 Selenium VBA
◦ SeleniumをVBAで使うための拡張。Selenium実行に必
要なソフト一式が入っている。
◦ https://code.google.com/p/selenium-vba/
◦ http://dl.bintray.com/florentbr/generic/SeleniumWrapperS
etup-1.0.23.0.exe
9
 Selenium IDEで操作を記録。
 [オプション]→[フォーマット]→[VBA/WebDriver]を選
択。
 ソース画面にVBAのシナリオが表示されるのでコピー。
10
 ExcelでAlt+F11を押してVBA編集画面を表示。
 [ツール]→[参照設定]→SeleniumWrapper~に
チェック、OK
 標準モジュールを追加して①で作成したVBAをコピー。
 キャプチャコマンド等は適宜VBAに書き換える。
 VBAを実行する。
11
同じ手順でGUIを自動化する。
12
 GUIをオブジェクトIDで指定するのでブラウザ、実行
環境、言語、解像度等が変わってもシナリオを流用で
きる。
13
 ブラウザアクセス
 ログイン
 ログアウト
14
 フレームのあるページでElement Not Found
15
Public Sub untitled()
Dim driver As New SeleniumWrapper.WebDriver
driver.start “ie", "https://www.google.co.jp/"
driver.selectFrame (0)
driver.findElementById("ext-gen111").Click
End Sub
Frame番号を変え
て試行錯誤した。
 IEを操作できない
「unable to get browser」がVBA実行時に表示。
[Winキー]+E →regedit
HKEY_LOCAL_MACHINESOFTWAREWow6432Node
MicrosoftInternet
ExplorerMainFeatureControlFEATURE_BFCACHE
に
DWORD、名前:iexplore.exe、値:0 を追加。
【レジストリファイル】
http://heliumhq.com/docs/internet_explorer
16
17
Back/forward/refresh
goBack/goBackAndWait
1ページ戻る/進む。更新する。
戻るボタンを擬似する。
captureEntirePageScreenshot(fi
lename[,kwargs])
画面キャプチャ。Filenameでファイル名指定。
Check()/Click()/uncheck()
~AndWait()
Link/button/radio buttonをcheck/clickする。
~AndWaitは新しい画面に移動するまで待つ。
Close() 画面を閉じる。
Get(url[,timeout]) urlにアクセスする。
isChecked、is~系 ON/OFF状態を取得する。
Pause(times)、sleep(times)、
wait(times)
引数m秒待つ。
sendKey(string)、type、tyepkey 文字入力。
Stop() このテストケースを終了する。
setWindowsize(w,h)、
windowmaximize
ウィンドウサイズの変更。最大化。
(現在フォーカスされているウィンドウに適用されるみたい)
18

Selenium2(web driver) ide編