Selenium 0.8.3 には windowMaximize ってコマンド有ったよ。

昨日、試験中のウィンドウを最大化するために windowFullScreen を作ったんだけど、同じ事が windowMaximize ってコマンドで出来ることが分かりました。


実は、日本語のリファレンスがネットに有るんですが、それは 0.7.0 なんです。
http://wiki.openqa.org/display/SEL/Selenium+0.7+Reference+%28Japanese%29


で、利用している Selenium Core は 0.8.3 なんですね。
0.7.0 から 0.8.3 の間に色々とたくさんコマンド増えていたのに気付かなかったのです。
それだけです、勉強にはなったけど昨日のは無駄だった・・・w

<tr>
  <td>windowMaximize</td>
  <td></td>
  <td></td>
</tr>

で、OKです。
試験中のウィンドウを最大化(厳密には最大化じゃなくて、ウィンドウのサイズを変更してるんですけどね)出来ます。
昨日のは直しておきます・・・

Selenium で途中のスクリーンショットを自動保存

Selenium 始めました。w


まあ、お仕事でWebの案件やってるんですけどやっぱりテストが煩雑で繰り返しで面倒なんですよね〜
手動だと時間もかかるし、ミスも有るし、ヌケも有るしね。


で、自動化してみるために Selenium 使ってみました。
どこまで使えるのか検証するためにも実際のプロジェクトの案件に適応して。


まだまだテストパターン考えながら実験中なんだけど問題が。


実際の単体試験では試験の証拠(エビデンスとか言うけど、日本人の俺はなじめない業界用語w)を残さないといけなくて試験途中のハードコピーが必要なんだよね〜
Selenium の試験の結果を検証の証拠として認めてもらうには(お客さんや1次受けの)なかなか難しいと思うので、検証結果の資料は現行通りで行いたい。
でも、Selenium では自動でやっちゃうのでスクリーンショット(ハードコピー)撮れないのよね〜


どうするか?
試験は Selenium で行って、別に手動でスクリーンショットを撮るか?
ばかばかしいw


で、見つけたのが
Seleniumでキャプチャを取得する拡張コマンド:captureScreenshot - 現場のためのソフトウェア開発プロセス - たかのり日記
です。

テストケースに

<tr>
  <td>captureScreenshot</td>
  <td></td>
  <td></td>
</tr>

ってするだけで、スクリーンショットがファイルに自動で保存されます。


でも、ちょっと問題が・・・
試験中のブラウザのウィンドウのスクリーンショット *だけ* が欲しいんだけど、画面全体のスクリーンショットしか撮れません。
Alt + PrintScreen が希望なのに、 PrintScreen なのです。


試験は、Slenium RC 使って、Selenium Server 叩いて試験して、-multiWindow 使っているので、試験実行中のブラウザは画面の半分くらいで・・・スクリーンショット撮れても後で加工が必要だし、サイズ小さいから表示したいエリアが収まっていない可能性が・・・


で、どうしたか?
試験開始直後に、試験中のブラウザのウィンドウを最大表示にするようにしました。


Selenium Code 0.8.3 には最大化するコマンドが実装されていたので以下は不要と分かりました。
詳しくは Selenium 0.8.3 には windowMaximize ってコマンド有ったよ。 - メモとか技術ネタとか、そんな日記 をご覧ください。


■方法

1,user-extensions.js にウィンドウ最大化のコマンドを定義

Selenium.prototype.doWindowFullScreen = function(){
  var window = this.page().getCurrentWindow();

  window.moveTo(0,0);
  window.resizeTo(window.screen.availWidth,window.screen.availHeight);
};

2,最大化を行いたいタイミング(通常はテストスイート開始直後?)で、コマンド実行

<tr>
  <td>windowFullScreen</td>
  <td></td>
  <td></td>
</tr>

です。


これで、任意のタイミングで Selenium で試験中のブラウザのスクリーンショットが最大表示で保存して検証資料で使うことが出来るようになりました♪


以下、参考資料
Seleniumでキャプチャを取得する拡張コマンド:captureScreenshot - 現場のためのソフトウェア開発プロセス - たかのり日記
SeleniumでJavaScriptを使う方法いろいろ(変数・関数などの利用) | colori
http://colo-ri.jp/develop/2008/02/selenium_rc_seleniumserverjar.html

BookmarkTagSetter ver.0.6

SBM(ソーシャルブックマーク)のブックマーク時に、タグを自動でセットする グリモン ver.0.6 です。
タグは、ページのタイトルを形態素解析して名詞をセットしてます。

対応しているサービスは

  1. livedoor クリップ
  2. POOKMARK Airlinea
  3. del.icio.us
  4. はてなブックマーク
  5. Buzzurl(バザール)
  6. FC2ブックマーク
  7. Yahoo! ブックマーク
  8. ニフティクリップ


です。


0.5 -> 0.6 では
対応サービスに「ニフティクリップ」追加
です。



です。

インストールは BookmarkTagSetter ←をクリックしてください。
既にインストールされている場合も、上書きされます。


意見・要望・不具合はコメントまで



面倒だった、タグフィールドが可変だったから・・・
ソーシャルニュースの登録も対応サービスに含めちゃっても良いかな〜?

WinとMacで1セットのキーボードでいけちゃう、Synergy すげぇ

G4 Mac がウチに来て、WindowsMacを最近は同時に使うんですが、キーボードとマウスが2セットはマジ邪魔です。
どっちがどっちか間違えちゃうしね。
で、見つけたのが Synergy と言うソフト。


ハード的な物は一切無し、ネットワークに繋がっていれば、Win , Mac , Linux でソフトウェア的に、マウスとキーボードをマシン切り替えて使えます。


わかりやすいページは以下のページ等よろしいかと・・・


少し詳しい設定とかはこちら


1台をサーバーとして、各種の設定(マシンの位置関係など)を行い、他のマシンはクライアントとして動作させてサーバーにつなげればOKです。


導入とか設定は上記のページに任せて、詰まりそうな所や使用感など。



Windows をサーバーとしたときに、マシンの位置関係の設定を行うダイアログです。
g4.local (mac)
sofmap (win)
と言う2台が有ります。
ハードコピーの設定だと、


sofmap は g4.local の 左
g4.local は sofmap の 右


って設定です。
sofmap ってマシンの画面右側にマウスをぶつけると、g4.local ってマシンの画面の左側から出てきます。



Windows にサーバーのソフトを動作する場合、
ログオン時に起動 or サービスとして起動
を簡単に設定、解除ができます。



Mac の方は、クライアントソフトの起動シェルを作成して、そのシェルをログイン時に起動させるようにしています。
ログイン時に起動するアプリを設定するのは


[システム環境設定] -> [アカウント] -> アカウント別の[起動項目]


に設定します。


サーバー側、クライアント側のマシンが休止したり、スリープしたりしますけど
稼働したら自動で接続を回復するので何も気にせずそのまま使えます。

めちゃ便利、オススメよ。

BookmarkTagSetter ver.0.5

SBM(ソーシャルブックマーク)のブックマーク時に、タグを自動でセットする グリモン ver.0.5 です。
タグは、ページのタイトルを形態素解析して名詞をセットしてます。

対応しているサービスは

  1. livedoor クリップ
  2. POOKMARK Airlinea
  3. del.icio.us
  4. はてなブックマーク
  5. Buzzurl(バザール)
  6. FC2ブックマーク
  7. Yahoo! ブックマーク


です。


0.3 -> 0.4 では
livedoor Clip の対象アドレスを修正
既にタグがセットされているときはセットしない様に


0.4 -> 0.5 では
1桁の数値と-(ハイフン)だけのタグはタグとして無効に(セットしない)
livedoor clipのクリップ編集でも動作するようにした


です。

インストールは BookmarkTagSetter ←をクリックしてください。
既にインストールされている場合も、上書きされます。(今知りました。w)


意見・要望・不具合はコメントまで

流儀を知って

OSXは落ちないので基本は終了せずに使わないときはスリープ運用らしい。
なので、電源ボタンも後ろ側に有ったりするらしい
なので、スリープ運用始めました。


あのスリープランプは子供の興味を引いちゃいますけどね・・・w