つれづれなるままに。

webテストの自動化について備忘録のつもりで書いています

seleniumIDEでローカルストレージに値を保存

今度は FireFox4.0.1の環境でseleniumIDEからローカルストレージに値を保存させられるか試してみました。


スクリプトは以下の感じ。

<tr>
  <td>getEval</td>
  <td>
    var win = selenium.page().getCurrentWindow();
    storedVars.lsg ={
	set : function(key, obj){
		win.localStorage.setItem(key, JSON.stringify(obj));
	},

	get : function(key){
		return JSON.parse(win.localStorage.getItem(key));
	}
    };
  </td>
  <td></td>
</tr>
<tr>
  <td>getEval</td>
  <td>
    storedVars.lsg.set("price","19800");
  </td>
  <td></td>
</tr>
<tr>
  <td>getEval</td>
  <td>
    alert(storedVars.lsg.get("price"));
  </td>
  <td></td>
</tr>

環境が 4.0.xだと window配下のlocalstorege を指定する際の
XPCNativeWrapperがらみが変わったのか指定が不要になっています。

で、このまま動かすと、ちゃんとあたいは表示され、
またこちらはブラウザーを落としても値はちゃんと表示されました。

微妙にいろいろありますね。


追記

タグ入力が許されているので タグの前後は 全角にしています

seleniumIDEからローカルストレージに値を保存させられるか試してみました。


スクリプトは以下の感じ。

<tr>
  <td>getEval</td>
  <td>
    var win = selenium.page().getCurrentWindow();
    win = win.wrappedJSObject;
    storedVars.lsg ={
	set : function(key, obj){
		win.localStorage.setItem(key, JSON.stringify(obj));
	},

	get : function(key){
		return JSON.parse(win.localStorage.getItem(key));
	}
    };
  </td>
  <td></td>
</tr>
<tr>
  <td>getEval</td>
  <td>
    storedVars.lsg.set("price","19800");
  </td>
  <td></td>
</tr>
<tr>
  <td>getEval</td>
  <td>
    alert(storedVars.lsg.get("price"));
  </td>
  <td></td>
</tr>

環境が 3.6.xなので window配下のlocalstorege を指定する際
XPCNativeWrapperがらみで直接指定になっているだけです。

で、このまま動かすと、ちゃんとあたいは表示されたのですが、
ブラウザーを一度落としてしまうと、値は表示されませんでした。。。。
実装の側の問題なのか自分の環境のが原因なのか????

追記

タグ入力が許されているので タグの前後は 全角にしています