読者です 読者をやめる 読者になる 読者になる

Seleniumでウィンドウ名が動的に変わるポップアップウィンドウでエラー

同僚から聞いた話なのですが、以下のような状況下でエラーが発生するとのこと。

  • ウィンドウ名にセッションIDを指定。
  • セッションIDを取得し、ポップアップウィンドウを捕まえることはできる。
  • その後の操作で、Selenium IDEのログに以下のようなエラーが出る。

WindowObject.document has no properties , fileName

詳しい情報は分かっていないのですが、原因調査をする必要あり。


追記
変数の格納方法の問題だったようで、無事解決できたようです。

Selenium では、JavaScriptを利用して変数を操作することが可能なんですね。

  • JavaScriptの評価結果を変数に格納する
<tr>
    <td>storeEval</td>
    <td>this.browserbot.getCurrentWindow().document.xxx</td>
    <td>myVal</td>
</tr>
  • 変数への代入
<tr>
    <td>store</td>
    <td>javascript{storedVars['myVal'].toUpperCase()}<td>
    <td>myId</td>
</tr>

myIdという変数に値が格納されるので、あとは、${myId}と指定することで、変数を利用することができます。