2011年9月26日月曜日

Selenium IDEを使ってみる(その2 コマンド)

Selenium IDE についての続編です。
前回はざっくりと使い方を説明しました。今回はコマンドです。

コマンド =  操作
です。


Selenium IDEでは, このコマンド(操作)を順々に行うことでテストを行います。
コマンド1つ1つはJavaScript の命令となっており, Max 2つの引数をとります。
これが, 対象と値です。

対象というのは,コマンドを実行するターゲットのことを指します(英語版ではTarget)。
値というのは, 入力する値や選択する値などです。

※しかしながらコマンドによっては, ただの第一引数, 第二引数だったりします。

今回紹介するコマンド
コマンド名概要
openWebページをオープンする
type入力欄などに値を入れる
click対象をクリックする
verify系値を検証する(Failしてもテスト続行)
assert系値を検証する(Failすると, テストも終了)
selectリストの中から選択する
checkチェックボックスにチェックを入れる
uncheckチェックボックスのチェックをはずす

コマンドをひとつひとつ見る前に, まずリファレンスを見てみましょう。

コマンドのボックス欄にopenと打ってみましょう。すると, 下のタグの中のリファレンスがオープンします。
すると, open コマンドの説明がでてきます。

open( url )      となっており, この場合  対象がurl になります。

他に,select と打つと, 同様に
select ( selecLocator, optionLocator )  となっており,  selectLocatorが対象, optionLocator が値の部分になります。

使い方のわからないコマンドは, このようにリファレンスを活用しましょう。(ただしどのコマンドが存在するかが探せないのでコマンドに何があるのかがわからないとどうしようもないのが残念)

※ちなみに筆者は,日本語のFirefoxを使っているはずですが,リファレンスは英語になっています。
(他は日本語なのに, ところどころ訳されていないみたいです)

open
open(url) 

url に指定されたWebページを開きます。  (文字列)
Base URLが設定されている場合, 相対パスもいけます。

例)  google を開く
コマンド  open   対象  http://www.google.co.jp

例)  Base URL に http://localhost/ を指定していて, index2.html にとぶ
コマンド  open   対象  /index2.html

type
type( locator, value )

locator に指定された対象に,value を入れる

例)  入力ボックス<input type="text"> 要素のid が mayuyu に,  みんなの目線をいただきまゆゆ
を入力する
コマンド  type   対象  id=mayuyu   値  みんなの目線をいただきまゆゆ

例) 入力ボックス <input type="text"> name属性が yukirinに, 夢中にさせちゃうぞを入力する
コマンド  type   対象  name=yukirin 値  夢中にさせちゃうぞ

click
click ( locator )

locator に指定された対象をクリックする。  ボタン<input type="button" /> <input type="submit" />をはじめリンク <a> や <img> などクリックできるものが対象になります。

例)  リンク <a href="http://google.com>Go Google</a> をクリック

コマンド   click  対象   link=http://google.com  

例)    <input type="button"  id="abc"/> をクリック

コマンド  click  対象   id=abc

verify
verify 系のコマンドは, 要素に含まれる値や, Webページに表示する値などを取得して検証を行います。 JUnit では, asset系関数と同じ意味です。
ちなみに100種類以上あります。

主なverify コマンド
verifyTextPresent(対象)
対象であるテキストがページ内に存在するか検証する

verifyText(対象, パターン)
対象である要素のテキストが値(パターン)と一致するか検証する

-   verifyTitle(対象)
対象であるパターンがタイトルに一致するかを検証する

- verifyElementPresent(対象)
対象である要素がページ内に存在するか検証する

- verifyVisible(対象)
対象である要素が 見えるか(もしくは,  visible="true"  visible 属性がtrue か falseでないか )

- verifyAlert ( 対象 )
直前に出現した alert ダイアログに, 対象であるパターンが一致するか?

- verifyAttribute(対象, パターン)
対象である属性が  パターンに一致するか検証する


もうひとつ verifyTable というのが使うかもしれませんが, table 内のテキスト検証ですが, 個人的は
対象を xpath などで拾ってその値をverifyTextなどで検証する方法がよいのかなと思っています。

assert
assert系コマンドは, verify と同じです。ただし assert系のコマンドはこのコマンドでテストケースが
失敗した場合, このテストケースは続いてテストがあるのにもかかわらず, テストを停止します。

コマンドは verifyXXX の部分のverify をassertに変えたものです。

・select ( 対象, オプションの選択方式)
select はリストなどの複数ある項目の中から選ぶときに利用します。
そう,<select><option> のセットのやつです。

対象は, idや name属性などで選択,  オプションの選択は, label(表示されているもの) や, オプションのvalue 属性などで選択します。

<select id="AKB">
  <option value="1">あっちゃん</option>
  <option  value="2">ゆうこ</option>
  <option   value="3">ゆきりん</option>
</select>

ex) 上記のやつを labelで選択
コマンド  select 対象  id=AKB   値  label=あっちゃん


ex) 上記のやつを  value で選択
コマンド   select 対象  id=AKB   値   value=2

※ 個人的には,  value をお勧めします。というのは, labelは言語によって変わる可能性が
あるからです。 英語版で Acchanだと 当然 label=あっちゃんではテストはFail します。
その点value は違う可能性が低いので。

check / uncheck
対象にチェックを入れる


ここまで書きましたが, やはりリファレンスが圧倒的に詳しいです。コマンドをざらっと確認して, 実際のテストでは, コマンドリファレンスを見ながらテストを入力しましょう。

次回は,クリックしたり, 入力したり, 検証したりするために必要な
対象(ターゲット),  英語では, Target とか Locator といった, コマンドを行使する 要素
をどのように選択するのかです。














0 件のコメント:

コメントを投稿