selenium 使い方メモ☆

フリーの自動テストツール:seleniumの情報や小ネタをメモ。

使い始める前に知っておくべきこと

http://seleniumhq.org/本丸。全てはここにある。

日本語。

ちなみにselenium core のダウンロードはここへ。

2009/6/10 <>selenium Core 1.0.1 リリース!

まずはFirefox + seleniumIDE 使用がお勧め。操作を記録してくれる。

Usage/command の日本語訳が存在する

フォーラムはこちら→http://forums.openqa.org/forum.jspa?forumID=3



小ネタのメモ

2010/5/27 Selenium IDE 1.0.7 Update!!

SeleniumRCのPHP用はなぜないの?→PEARで出た。

Firefoxのプロファイルを作成して多重起動できるようにするとIDEも多重起動OK。

GREEでテストにSeleniumを導入しているそうだ。

笠谷真也氏は幼少の頃ロンドンにいたらしく、それでフォーラムで英語バリバリなのね。

バージョンナンバーがβ扱いなのは、coreがまだβだから控えておられるとか。


IDE 0.8は日本語環境だと勝手に日本語に

IDE 0.8から拡張できるようになった

Firefox拡張のXPath Checkerを入れておくとxpathが分かる。

オート起動するには、パラメータにauto=trueを付ける。

dom=document.images[]@complete は取れないようだ。srcとかHTMLで指定してるものじゃないと駄目か。

シナリオは3カラムのテーブルで表現されるが、4カラム以上データを作るとどうなるか?→coreでは無視、IDEでは不具合が起きる。

外部サイトをテストするには→このへん参照。完全には出来ない。

本番と開発環境で微妙に文言が変わるトコなどは、正規表現オブジェクトとか使う。regexp:~

pythonでシナリオを書くプログラムがある→make_selenium.py

Ajaxモノをテストするには、waitForConditionエクステとか使う。→waitForアサーションはVer 0.7.0でサポートされた。

かなり色々詳しいサイトがある→Agile Testing

seleniumのバージョンよりIDEのバージョンが上になっているが相関関係はなく、IDEは常に最新のcoreをベースにしているそうだ。

IDEの右クリックメニューにinsert New commentてのがあってコメントすなわちHTMLの<!---->が記入できる。
commandのセレクト欄からの入力だが自由記入も出来る。
ただしselenium core0.7.0でコメントがサポートされ<td colspan="3">になっているので、今後変更されるだろう。

seleniumIDE本家ページの情報はShinya Kasatani氏がバリバリ書いておられる。作者か。作者だな。

IDEでの記録フォーマットは自由に作れる!日本語にすればイコールテストケースに?(妄想)

ユーザーズMLselenium-users ML



番長的seleniumの位置づけ

seleniumが登場して、いろんな人がWEBアプリにテスト革命!とか言ってますが、
自動操作テストツール自体はe-testerとかWinrunnerとかが以前から存在してるわけで、
そっちのほうが機能的にもテストセンターに組み込まれて展開していく点でもずっと優れています。テストツールメーカーの営業さんが言うように「フリーのものは検出できる要素が少ない」のでまだまだ軽い用途にしか使えないかなと。
ただ、無料ですぐ使えるオープンソースだっちゅうのがいいですね。
その気になれば勝手に拡張できるし。てか足りない機能は拡張してちょ。というノリ。
逆にいえば、「軽い使い方ならseleniumでいいや!」と思えるこの分野初めてのアプリではありますよ。
テストエンジニアなら触っとけって感じです。



selenium coreで<input type="file">にタイプする方法(Firefox)

ファイルのアップロードフォームの操作はseleniumIDEなら問題ないけど、selenium coreだと素では出来ない。
説明の分かりやすいサイトがなかったのでメモ。


Firefoxのアドレス欄に”about:config”を入力してコンフィグ画面を開く

“signed.applets.codebase_principal_support”プロパティを “true”にする。

Firefoxを立ち上げ直す。


”selenum\core\scripts\selenium-api.js”を編集

Selenium.prototype.doType に修正を加える

254行目付近(ver 0.7.0)の

		// TODO fail if it can't be typed into.
    var element = this.page().findElement(locator);
    this.page().replaceText(element, value);

このあたりに

    try{ netscape.security.PrivilegeManager.enablePrivilege("UniversalFileRead");
      } catch (e) {
    }

を足す。

		// TODO fail if it can't be typed into.
    try{ netscape.security.PrivilegeManager.enablePrivilege("UniversalFileRead");
      } catch (e) {
    }
    var element = this.page().findElement(locator);
    this.page().replaceText(element, value);

こんな感じ。

以上、ローカルファイルにアクセスできるようになります。

seleniumのリロードもお忘れなく。



selenium coreで<input type="file">にタイプする方法(IE)

今のところ存在しません!でFA!

htaにしてもダメ。きっついなー。

いつか解決されるかもしれないので、情報をチェックしましょう。



30秒チュートリアル:古い部分を読み替えつつ適当に日本語訳

30 second tutorial←ただし、内容が古い。ver0.70になってディレクトリ構成すら変わったし。。

これは、初めてSeleniumをダウンロードしてまだ使い方を知らない人への
駆け足のチュートリアルです。
このチュートリアルはネットに繋がっているウィンドウズ環境向けです。

ほとんどの人々が最初にやってみようと思うことは、
googleで検索を行い、結果をチェックするテストを書くことでしょうね。

あなたが C:\selenium にSeleniumをダウンロードしてインストールしたと仮定しましょう。

1) C:\selenium\code\javascript\TestRunner.hta を開きます。
(ドロップダウンメニューからそれをダブルクリックするか、
右クリックして「開く」を選択することによってファイルを開くことができます。)
※現在(ver0.7)ではC:\selenium\index.htmlのメニュー画面から
各種サンプルテストケースを選択することが出来るようになっています。

「All」というボタンを押して、テストが稼働するのを見てください。 
サンプルテストの実行に成功して、エラーは報告されないはずです。
※現在(ver0.7)ではgoogleのテストではなく、独自(selenium\tests\)のテストケースが出ます。
※ブラウザの設定によってポップアップなどでエラーは出るかもしれません。グリーンが成功、ピンクが失敗です。

ここから、どう進みましょうか:
------------------------------------------------------------
変更を加えるには、サンプルのテストファイルを編集してください。
例えば、googleからebayにテスト対象を変えることも出来ます。
--> C:\selenium\code\javascript\tests\GoogleTestSearch.html
※今はデモで使っていませんが、selenium-core-0.7.0\testsにファイルはあります。

もしあなたが幾つかのテストを書いて、テストスイートとしてそれらのすべてを実行したいなら、
テストスイートファイルを編集してください:
--> C:\selenium\code\javascript\tests\GoogleTestSuite.html

あなたが、TestRunner.htaに違うテストスイートを読み込ませたいなら
--> TestRunner.htaの33行目を編集してください: 
SRC="./tests/GoogleTestSuite.html"
※現在(ver0.7)ではテストスイートファイル名をフォームに入力するようになってます


私は、ファイルを編集するのにMozilla Composerを使用するのを好みます、
それがHTMLファイルで、Composerが良いHTMLエディタなので。
といっても単なるHTMLファイルですから、あなたの好きなテキストエディタで編集してください。

テストがHTMLで書かれていることをイマイチだと思うなら、
あなた自身の都合のよい言語で書くことも出来る仕組みがSeleniumにはあります。

私たちは、この新しい仕組みを「ドリブン」と呼んでいます。
Seleniumであなたのお気に入りの言語(Java、.Net、Ruby、Python、Squeak, etc.)を使い、
どんなウェブブラウザも動かすことができます。
※現在ドリブンモードは分離されて、Selenium Remote Control プロジェクトになっています。

私たちはオリジナルのHTMLスタイルでテストを記述することを、
「Framework for Integrated Tests (FIT)」から"FIT-style"と呼んでいます。
それはWard Cunningham氏によって名づけられました。
http://fit.c2.com

------------------------------------------------------------
テストを記述するのに参考になるリンクをご紹介しましょう。

1) Seleniumリファレンス  - あなたがテストでどんなコマンドと検証を使用することができるか書いてあります。
http://selenium.thoughtworks.com/seleniumReference.html

2) DOMインスペクタ - ウェブページを調査するための非常に役に立つツール。
http://www.mozilla.org/projects/inspector/
http://books.mozdev.org/html/mozilla-app-b-sect-3.html

SeleniumでDOMインスペクタを使用する方法については、
このチュートリアルでは扱いません… それには30秒以上かかってしまいますので。 :- )




イマドキの日本語30秒チュートリアル

本家↑が30秒で読めねえ!と言われたのと、内容が古くなりすぎてるので勝手に作ってみるテスト

これは初めてSeleniumを使う人へのお手軽チュートリアルです。
ちなみにウィンドウズ環境向けです。

インストール(ver 0.7.0)
http://www.openqa.org/selenium-core/download.action から最新をダウンロード。解凍します。
selenium-core-0.7.0以下をテスト対象のdocument_rootへコピーします。で、完了。
(テスト対象が決まってなくて試したいだけなら、場所はどこでもいいのでコピーしなくて結構。)

とりあえず動かしてみる
selenium-core-0.7.0\index.htmlを開いて、
メニュー画面から一番最初のSelenium TestRunnerをクリックしてください。
Seleniumの画面が現れて、左上の画面で各種サンプルテストケースを選択することが出来るようになっています。

とりあえず、デフォルトの../tests/TestSuite.htmlでGOボタンを押しましょう。
そうするとテストシナリオが読み込まれるので、
「All」というボタンを押して、テストが稼働するのを見てください。 

テストシナリオはselenium-core-0.7.0\tests以下にあり、テーブルで記述されています。
ただのHTMLファイルですから、お気軽に編集してください。

どんなコマンドとチェックを使えるのかは、リファレンスを参照してください。
http://release.openqa.org/selenium-core/nightly/reference.html

以上、selenium coreの説明でした。
実はseleniumには3種類のプロジェクトがあります。
テストシナリオを自分で記述するなら、seleniumIDEを使ってみるのがお勧めです。IDEへ




GalTonkatsu 2006 Allright reserved.