はじめに
- 今はSeleniumWebdriverを使っているが、昔Selenium IDEを使っていて今日使おうとしたらコマンドをド忘れしていたのでメモメモ
コマンドについて
- コマンドはstoreXXX、verityXXX、assertXXXというように3種類用意されている
- storeXXXは値を変数に格納したいときに使う
- verifyXXX、assertXXXは検証ときに使う
- verifyXXXはテストが失敗してもそれ以降のテストが実行可能だが、assertXXXは失敗した時点でテストは中断される
よく使うコマンド(要素検証系)
- 以下は、Qiitaページ内で使った例
コマンド | 対象(例) | 値(例) | 説明 |
---|---|---|---|
open | http://qiita.com/ | 指定なし | 対象で指定したURLにアクセス |
verifyTitle | ホーム - Qiita [キータ] | 指定なし | タイトルを検証 |
verifyText | css=#main h2 | プログラミング知識を共有しよう。 | テキストを検証 |
verifyAttribute | css=#home-user_info img@alt | oh_rusty_nail | 要素の属性を検証 |
verifyCssCount | css=#main h2 | 1 | 要素数を検証 |
pause | 1000 | 指定なし | 指定した時間(ミリ秒)待機 |
type | css=#q | oh_rusty_nail | テキストボックスに値を入力 |
clickAndWait | css=#search-button | 指定なし | クリックしてページがロードされるまで待機 |
よく使うコマンド(変数に値を格納/呼び出し)
- javascript式を使用しない場合
コマンド | 対象(例) | 値(例) | 説明 |
---|---|---|---|
store | Qiita | qiita | 変数"qiita"に文字列"Qiita"を格納 |
storeTitle | pagetitle | 指定なし | 変数"pagetitle"に文字列"ホーム - Qiita [キータ]"を格納 |
echo | ${pagetitle} | 指定なし | 格納した値を表示(変数に格納されている値は${}で呼び出せる) |
- javascript式を使用した場合
コマンド | 対象(例) | 値(例) | 説明 |
---|---|---|---|
store | javascript{storedVars.pagetitle = 'ホーム - Qiita [キータ]'} | 指定なし | storeコマンドと同意 |
getEval | storedVars.pagetitle='ホーム - Qiita [キータ]'; | 指定なし | storeコマンドと同意 |
verifyEval | storedVars.pagetitle == this.page().getDocument().title; | true | javascipt式の評価も可能 |
- getEvalは対象のところにjavascript式を書くことができる
- storedVars.変数名で定義、呼び出しが可能
最後に
- コマンドはたくさんあり、使い方もリファレンスを読めば丁寧に書いてあるので詳しくはそちらを
- ループ処理にも対応しています(結構お世話になりました)
- この記事が参考になりました → http://iflaglabs.jp/original10.html
~ただの宣伝~
- 全国のSeleniumer必読
- Selenium, SauceLabs, Travis, Jenkinsに関するノウハウ書いているのでよかったら参考にしてみてください