includeコマンド・0.7.1&0.8.0

研修で繰返し処理について質問があったので、includeコマンドを改めて試してみる。
SeleniumCoreの0.7.1と0.8.0それぞれに拡張を実施した。

拡張方法

  1. Selenium開発コミュニティwikiの寄贈コマンドページにincludeコマンドがあるので、そこからzipをDLして解凍
  2. 解凍してできたフォルダに入っているuser-extensions.js.sampleの内容をSeleniumCoreのuser-extensions.jsにコピー

使用方法

以前のエントリも参考にしてください。

  1. 読み込まれる側(共通)のファイルを作成する。通常のテストケースと同様。変数(読み込む側で指定できる)を使うことも可能。
  2. テストケース側でincludeコマンドを使用して読み込む。第二引数(target)にはTestSuiteからのパスで読み込むファイルを指定する。

結果:0.7.1

以前に実施したのと同様。

  • IE:読み込むことができず。エラーにはならないけど、ずーっと無反応。
  • Firefox:読み込みOK。テストケースを実行して、includeコマンドが実行されるとファイルを読み込んでテストケースを書き直す、って感じ。
    • しかし日本語が化けるのも以前と同様。
    • →両方のテストケースのcharsetをUTF-8にしたところ、ちゃんと日本語で展開されて、検証もOK!!

結果:0.8.0

IEFirefoxも共にエラーになってしまう。エラー内容は「testDocument not avalaible.」。user-extensions.jsでフレームオブジェクト(?)を取得するところで例外発生している模様。0.8.0では「user-extensionsがいくつか動かない可能性ある」とリリースノートに書かれていたけど、まさにこれが該当するパターンのよう。

Selenium.prototype.doInclude = 
    function(locator, text)
    {
        var testDocument 
        try
        {
            testDocument = getIframeDocument(getTestFrame()) ←ココ
        }
        catch(e)
        {
            throw new Error("testDocument not avalaible.")
        }
 ・・・

フレーム対応など考えると、基本的には0.8.0路線の方がいいと思うので、これはちょっと対応待ちかな。。(自分で直して、、とやってる時間がnothing)