Upload
f-hasegawa
View
616
Download
1
Embed Size (px)
Citation preview
Selenium2(WebDriver) IDEと Selenium VBAを使って IEの操作を自動化する。【参考 URL】Seleniumの公式 HPhttp://www.seleniumhq.org/docs/index.jspSeleniumのダウンロードページ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
Selenium IDEのダウンロード URL◦ http://release.seleniumhq.org/selenium-ide/2.9.0/
selenium-ide-2.9.0.xpi Selenium IDEは Firefoxアドオンとして動作する。 ブラウザ動作を記録し、 Seleniumのシナリオを作成できる。
5
Selenium IDE
Firefoxのメニューバーから実行する。
① 開始ボタンをクリック ②Firefox上で「 aaaa」を Google検索③右のシナリオができる ④capコマンドを追加⑤実行ボタンを押す
⑥画面キャプチャが保存される。
7
Google検索+キャプチャ
Selenium VBA◦ Seleniumを VBAで使うための拡張。 Selenium実行に必要なソフト一式が入っている。◦ https://code.google.com/p/selenium-vba/◦ http://dl.bintray.com/florentbr/generic/
SeleniumWrapperSetup-1.0.23.0.exe
9
必要なもの
Selenium IDEで操作を記録。 [オプション ]→[フォーマット ]→[VBA/
WebDriver]を選択。ソース画面に VBAのシナリオが表示されるのでコピー。
10
①Selenium IDEでシナリオ作成
Excelで Alt+F11を押して VBA編集画面を表示。 [ツール ]→[参照設定 ]→SeleniumWrapper~にチェック、 OK標準モジュールを追加して①で作成した VBAをコピー。キャプチャコマンド等は適宜 VBAに書き換える。 VBAを実行する。
11
②Selenium VBAで編集
フレームのあるページで 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 →regeditHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHEにDWORD、名前: iexplore.exe、値: 0 を追加。【レジストリファイル】http://heliumhq.com/docs/internet_explorer
16
苦労したところ②
Back/forward/refreshgoBack/goBackAndWait
1ページ戻る /進む。更新する。戻るボタンを擬似する。
captureEntirePageScreenshot(filename[,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
使いそうなメソッド