Seleniumとは
Webアプリケーション用のテストツール。
テストケースはhtmlで記述され、<table>タグ内の<tr>タグ1つが、テストの1手順を示すので見た目にも分かりやすい。
と、本ブログのSeleniumの導入に関するリンク集01という記事に書いています。
FirefoxにはSelenium IDEというとても便利なアドオンがあるので、本エントリはそれを使う前提で書きます。
このエントリの目次
1.テストを書くのが面倒くさいと思いました2.作成したユーザー拡張スクリプト
3.使い方
4.最後に
テストを書くのが面倒くさいと思いました
XMLやHTMLの検証などで、getElementByIdとかgetElementsByTagName を書くとき、コードが長くなるのが面倒くさかったのです。なので簡単なユーザー拡張スクリプトを書いてテストコードを書く量を減らします。
ちなみに、Selenium のユーザー拡張スクリプト集の中に、XMLの値を検証するスクリプトがあるのですが、どうやら要素と要素名を一緒くたにして検証する仕様のようで、しっくりきませんでした。
作成したユーザー拡張スクリプト
GitHubにあげました。4つの関数を作成しました。
・__getElementsByTagName : getElementsByTagName のラッパ関数(テストコードの文字数を減らす用)
・__getElementById : getElementById のラッパ関数(テストコードの文字数を減らす用)
・__getXmlValue : XMLやHTMLの要素の値を取得する関数
・__getXmlAttribute : XMLやHTMLの要素の属性値を取得する関数
3.使い方
まず、ユーザー拡張スクリプトの使い方から。先ほどのGitHubのコードをコピペして、user-extensions.jsというファイル名でどこかに保存します。
で、Selenium IDEにて
「オプション」→「設定」→「Selenium Core 拡張スクリプト(user-extensions.js) のパス」
で、ファイルのパスを指定します。
Selenium IDE を再起動したら、指定したユーザー拡張スクリプトが使用できます。
次に、各関数の使い方です。
Selenium IDE での記述で説明します。
※(「コマンド」と「値」は省略します。コマンドは全てgetEvalを使用し、値は何も指定しません。)
・__getElementsByTagName
対象 : __getElementsByTagName('要素名')
HTMLCollectionが取得できます。
・__getElementById
対象 : __getElementById('要素のid')
HTMLElementが取得できます。
・__getXmlValue (名前がいけてないですが、HTMLでも使えます orz)
対象 : __getXmlValue(何らかのHTMLElement)
要素の値が取得できます。
・__getXmlAttribute (名前がいけてないですが、HTMLでも使えますorz)
対象 : __getXmlAttribute('属性名', 何らかのHTMLElement)
要素の属性値が取得できます。
以上です。
0 件のコメント:
コメントを投稿