includeコマンド・0.7.1&0.8.0
研修で繰返し処理について質問があったので、includeコマンドを改めて試してみる。
SeleniumCoreの0.7.1と0.8.0それぞれに拡張を実施した。
拡張方法
- Selenium開発コミュニティwikiの寄贈コマンドページにincludeコマンドがあるので、そこからzipをDLして解凍
- 解凍してできたフォルダに入っているuser-extensions.js.sampleの内容をSeleniumCoreのuser-extensions.jsにコピー
使用方法
- 読み込まれる側(共通)のファイルを作成する。通常のテストケースと同様。変数(読み込む側で指定できる)を使うことも可能。
- テストケース側でincludeコマンドを使用して読み込む。第二引数(target)にはTestSuiteからのパスで読み込むファイルを指定する。
結果:0.7.1
以前に実施したのと同様。
結果:0.8.0
IEもFirefoxも共にエラーになってしまう。エラー内容は「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)