IEでテストしたいので、SeleniumRCを中心に調べてみる。

SeleniumIDE

Firefox専用。

SeleniumRC

RCはリモートコントロール。
Firefox以外のブラウザもサポートするので、IEもいけるはず。⇒いけた!
開発言語からの使用と、コマンドラインからの使用と、2つの使い方がある。(こまんどラインは下のほうで少し紹介)

開発言語(Java)からの使用

とりあえず、説明は Eclipse を前提で。
Javaのプロジェクトを作成して、libフォルダを作成する。
以下のファイルをlibフォルダにコピーして、ビルドパスに追加する。

  • selenium-server.jar
  • selenium-java-client-driver.jar

Seleniumのホームページには、SeleneseTestCase を継承して単体試験コードを書くサンプルがあったのだけど、Exceptionがthrowされてしまった。どうやら、別(コマンドライン)で Selenium Server の起動が必要らしい。
そこで、普通に TestCase を継承して、setUp メソッドの中で、以下を実行することでコマンドラインからの起動を行わなくても Selenium Server を起動することができる。

// SeleniumServerを起動する。
seleniumServer = new SeleniumServer();
seleniumServer.start();

seleniumServer インスタンスは保持しておいて、tearDown メソッドで stop する必要がある。

seleniumServer.stop();

これはいいね!
後は、setUp メソッドの中で DefaultSelenium のインスタンスを生成して、start すればよい。

// seleniumインスタンス起動
selenium = new DefaultSelenium("localhost", seleniumServer.getPort(), "*iexplore", "http://richtext.jp");
selenium.start();

ちなみに、ポートの設定は、サンプルコードなどで 4444 を使うことが多いみたいです。
selenium も、tearDown メソッドの中で stop しよう。seleniumServer よりも前で。

TestCase を継承してテストケースを作成する場合、verifyTrue などのメソッドがないため、SeleneseTestCase のインスタンスを持たせて、そのインスタンス経由で verifyTrue メソッドを呼び出すといった工夫が必要になる。

// verifyTrueなど非実装のメソッドを使うために生成
seleniumTC = new SeleneseTestCase();

いろいろと Google さんに聞いてみると、TestBase というクラスを TestCase を継承して作成して、共通的な処理を実装して、実際のテストケースは TestBase を継承して作成する、といった使い方が多くある。
ThinkIT の以下の記事が元になっているようだ。
http://thinkit.co.jp/cert/article/0705/2/6/2.htm

IEで画面キャプチャ

snapsIE を試す

どうやらIEは普通にはキャプチャできないようだ。
@ITに、「IEでキャプチャを使用する場合、「*iexploreproxy」を使用しなければならない。」とあった。また、「snapsIE」というツールを使用する必要があるとのこと。
まず、snapsIE を入手する。
http://snapsie.sourceforge.net/ を参照。

  • 上記ページにあるリンクから「Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)」をダウンロードしてインストール。
    エラーになった。。。
    error.PNG
    とりあえず、進める。
    「Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)」は、インストールできた!
  • snapsie-0.2.tar.gz をダウンロードして解凍する。
  • 解凍した中にある snapsie.dll を C:\WINDOWS にコピーする。
  • 以下を実行。
    regsvr32 Snapsie.dll
  • うまく動かない。どうも proxy に指定するURLをターゲットのベースURLに間違えて発行している模様(未確認)。少し調べたところ、どうやら 1.0.3 では、iexploreproxy が動作しないらしい。。。orz
  • Selenium 1.0.2 をダウンロードして、再度チャレンジ。
    別のPCで試したところ、上記のエラーは表示されなかった。
    そして、キャプチャーできました!!
  • エラーのでたPCに1.0.2を入れて実行!
    起動しない。。orz

録画バーを使用してみる

SeleniumRC 1.0.3 で *iexploreproxy がうまく動作しなかったので、回避策。録画バーを使ってみる。
参考は⇒ http://selenium2.cocolog-nifty.com/blog/cat32979571/index.html
録画バー http://members3.jcom.home.ne.jp/dodome-juu/capturebar/index.html
録画バーのメニューが表示されない。。。
試行錯誤の末、諦めました。orz

SeleniumRC (コマンドライン)

あまり使わなさそうなので下にもってきた。

コマンドラインから

デーモン起動

java -jar selenium-server.jar

インタラクティブモード起動

起動

java -jar selenium-server.jar -interactive

コマンド入力できるので、以下を入力してみる。

cmd=getNewBrowserSession&1=*iexplore&2=http://www.google.com

IEは起動したけど、googleのページは開かなかった。。。
多分、インタラクティブモードは使わないな。w

ヘルプ

 java -jar selenium-server.jar -help

リンク


添付ファイル: fileerror.PNG 1204件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-02-14 (火) 00:58:38 (2105d)