2011年12月9日金曜日

Gmail から OpenPNE に携帯メール投稿する方法

Gmail のWebメーラーの設定に携帯メールアドレスを追加してあげると、Gmail からOpenPNE に携帯メール投稿ができるようになります。

■必要なもの、こと


  • Gmail アカウント
  • 携帯メールアドレス(このアドレスはOpenPNE側に登録してある必要がある)
  • OpenPNE側のメール配信設定(postfixなど)


■やりかた

前提として、OpenPNEのメール配信設定(postfixなど)が出来てるものとします。

  1. ブラウザを開いてGmailにログインする
  2. Gmailのメール設定ページにアクセスする
  3. メール設定の「アカウント」にある「名前」の項目に携帯メールアドレスを追加する
  4. 携帯アドレスを入力し次へと進む。(途中、いろいろ設定を聞かれるが、すべてデフォルトのままでOK)
  5. 登録できたら、Gmailのメール作成をクリックしメール作成画面を開く
  6. Fromを登録した携帯アドレスのものにする
  7. OpenPNEのメール投稿用のアドレスを調べて送信先に入力する
  8. 件名、本文を入力し送信する(画像を添付すれば画像付きの投稿になる)

OpenPNE側をみると投稿できているとおもいます。

■投稿出来ていない場合の考えられるポイント


  • まだメール投稿を処理中 → ちょっと待てば表示されるはず。Reloadしてみて!
  • メール配信設定が出来ていない
  • 使用している携帯アドレスがOpenPNEにアカウント登録されていない


■まとめ


  • SeleniumIDEなどと組み合わせればメール投稿も自動で確認できそうですね
  • OpenPNE 3.6.x でしか確認してないけど2系もきっと同じでできるはず
  • Fromを偽装出来ればどんなメーラーでもできそう(でも、Gmailだといろいろお手軽だよね!)

2011年11月16日水曜日

git の エイリアスをいまさらながら追加

.gitconfig にエイリアスをいまさらながら追加した。

 
[alias]
        pager = !$HOME/bin/git-pager
        info = !$HOME/bin/git-info
        l = log
        ad = add
        br = "branch -a"
        ci = commit
        cl = clone
        co = checkout
        di = diff
        pl = pull
        st = status              

とりあえず、こんな感じ。

2011年11月12日土曜日

Firefox8にしたらSeleniumRCが動かなくなっちゃったときのメモ

Firefox 3.6 から 7 にしたら、SeleniumRC(selenium-server 1.0.3)が動かなくなってしまいググったら、
↓のエントリを発見し、無事解決できました。
[Selenium][Firefox][PHPUnit] Selenium RCで新しいバージョンのFirefoxを動かす


が、しかし

Firefox 8 にしたらどうも↑の戦法では解決できず・・・・。


かるーく、ググッてみても解決策が見つからなかったので、とりあえず昼寝。(オイ


起きてふと

「selenium server 2 入れたらできるんじゃね?」

と思いついたのでやってみたところ、うまくいきました。


http://seleniumhq.org/download/ の



↑からダウンロードして

$ java -jar selenium-server-standalone-2.12.0.jar
で起動して、試しにテストを動かしてみたら問題なく動きましたとさ。
でも、Firefox8ではatacheFileコマンドやtypeコマンド利用してファイルのアップロードが色々試してみたけど出来ず><

やっぱ、Firefox7 or 3.6 に戻そうかな・・・・。

そういえば、iPhone4S買ったよ

iPhone5がでるでるというネット情報に見事に流され、4Sがでます!と発表されたときは正直凹みました。(遠い目


でも、4Sにして良かった(^O^)
予約からゲットまで10日くらいかかったけど今では満足です。
(3GSからの機種変更だから余計にかもw)

ちなみに、iPhone 4S ホワイトの64GBにしました。

☆良かった点
・サクサク動くー!
・画面が綺麗!
・カメラがハード的にもソフト的にもパワーアップ!(HDR撮影とかスゲー)
・iPod(ミュージック機能)の音質が良くなった(気がする)
・Siri (日本語対応が楽しみ)
・リマインダーが地味に便利
・電波の入りもちょっと良くなった(気がする)


2011年11月1日火曜日

Macのhomebrewでapcを入れてみた・・・・が

2011/10/31のエントリで書く予告しちゃったので、書きます。
 前回のエントリを雛形に手抜きエントリです。。。ふぁ~(=o=;) というわけで、

OpenPNE3の動作テストで必要だったので、MacBookAir(Mac OS X 10.6.8 Snow Leopard)に apc を入れることに。
自分のMacにはhomebrewが入ってるので、もしかしたらbrew installできるかも?とおもって調べたらあった!
$ brew search apc
apc
というわけで、

$ brew install apc

で、インストール、そして問題なく完了! ↓をphp.iniに追記して、apacheを再起動!
[apc]
    extension="/usr/local/Cellar/apc/3.1.9/apc.so"
    apc.enabled=1
    apc.shm_segments=1
    apc.shm_size=64M
    apc.ttl=7200
    apc.user_ttl=7200
    apc.num_files_hint=1024
    apc.mmap_file_mask=/tmp/apc.XXXXXX
    apc.enable_cli=1
セットアップ出来たかどうか、
<?php
phpinfo();
?>
みたいなファイル作って、ブラウザからアクセスすると・・・・・・



あれ??(;・∀・)

php動いてない?(;´Д`)


どうも brew install でいれた apc 3.1.9 はバグがあるっぽい?
$ brew uninstall apc

を実行してアンインストール完了。(php.iniに追記したものを消すのも忘れずに)


気を取りなおして pecl のサイトからパッケージダウンロードしてインストールすることに。。。
$ wget http://pecl.php.net/get/APC-3.1.7.tgz
$ tar -zxvf APC-3.1.7.tgz
で、パッケージ落として展開。
$ cd APC-3.1.7
で展開したディレクトリに移動して
PHP 拡張モジュールのビルド環境を準備するために、 phpize コマンドを実行。
$ phpize
んでもって、↓のコマンドでコンパイルおよびインストールをする。
$ ./configure
$ sudo make
$ sudo make install
あとは php.ini に↓を追記して、apache再起動すればおk。
[apc]                                                                                                                      
  extension_dir="/usr/lib/php/extensions/no-debug-non-zts-20090626"
  extension="apc.so"
  apc.enabled=1
  apc.shm_segments=1
  apc.shm_size=64M
  apc.ttl=7200
  apc.user_ttl=7200
  apc.num_files_hint=1024
  apc.enable_cli=1
できたー\(^o^)/

2011年10月31日月曜日

Macのhomebrewでmemcachedを入れてみた

OpenPNE3の動作テストで必要だったので、MacBookAir(Mac OS X 10.6.8 Snow Leopard)にmemcachedを入れることに。

自分のMacにはhomebrewが入ってるので、もしかしたらbrew installできるかも?とおもって調べたらあった!

$ brew search memcached
libmemcached    memcached       memcached-php   memcachedb

というわけで、

$ brew install memcached
で、インストール、そして問題なく完了!

インストール出来たかどうか、phpinfo()を見てみると・・・・・




あれ?いない?(;・∀・)




どうも brew install だけではphpの拡張が入らないっぽい?

気を取りなおして
$ pecl install memcache
を実行して無事インストール完了。

後は /etc/php.ini に

extension=memcache.so

を追記してあげれば設定完了。
(自分は988行目あたりに追記した)




次回のエントリでは「homebrew で apc 入れてみた」を執筆予定です(^^)

2011年2月27日日曜日

SeleniumRCでよく使うコマンド10選 〜基本編〜

最近よくSeleniumRCのテストケース(php版)を書いています。
よく使うコマンドをここいらでまとめておこうかと。
基本すぎてSleniumエキスパートの方には面白くないとおもいますw

■ open(おーぷん)

まずは基本中の基本のオープンコマンド。
絶対URLや相対URLを指定してページを開くコマンドです。
$this->open("http://example.com/hoge/huga/1");
とか
$this->open("/hoge/huga/1");
のように使います。

相対URLを指定した場合は、setBrowserUrl()で指定したURLに結合して実行されます。

■ click(くりっく)

Linkやsubmitボタンをクリックするコマンドです。
name属性やvalue属性、XPathなどをを指定して実行することが出来ます。

$this->click("link=前のページに戻る");
とか
$this->click("participate");
とか
$this->click("//input[@value='ログイン']");
とか
OpenPNE3のPC版ログインページのログインボタンを指定してクリックの場合
$this->click("//html/body/div/div/div[2]/div/div[2]/div/div/form/table/tbody/tr[4]/td/input");
のように実行します。

openコマンドやclickコマンドのあとにwaitForPageToLoad(うぇいとふぉーぺーじとぅろーど)コマンドを入れてあげないと、
ページのロードが終わる前に次のコードを実行してしまうことになり、テストケースが途中で失敗します。
割とよく忘れるので注意が必要です。

■ type(たいぷ)

テキストエリアを指定してテキストを入力するコマンドです。

$this->type("keyword", "うどん");
のように、テキストエリアのname属性と入力値を引数にとって実行します。

■ select(せれくと)

セレクトボックスのラベルを指定して選択するコマンドです。

$this->select("language_culture", "label=日本語 (日本)");
のように、セレクトボックスのidとラベルを引数にとって実行します。

ラベルの引数を空にすれば、セレクトボックスの空を選択するテストも出来ます。

■ isElementPresent(いずえれめんとぷれぜんと)

エレメントが存在するか確認するコマンドです。
$this->isElementPresent("//*[@id=\"page_member_home\"]");
のように、body idなどを指定し実行します。

■ isTextPresent(いずてきすとぷれぜんと)

テキスト(文字列)が存在するか確認するコマンドです。
$this->isTextPresent("うどん");
のように、文字列などを指定し実行します。

■ assertTrue(あさーととぅるー)

引数を判定し正を返すコマンドです。
isElementPresentやisTextPresentなどと組み合わせて使用します。

$this->assertTrue($this->isElementPresent("//*[@id=\"page_member_home\"]"));
とか
$this->assertTrue($this->isTextPresent("うどん"));
のように使います

■ getText(げっとてきすと)

LinkタイトルやsubmitボタンのタイトルやXPathを指定し、その指定した箇所にある文字列を取得します。

$this->getText("link=削除する"));
とか
$this->getText("//input[@value='削除する']"));
とか
$this->getText("//div[@id='Center']/div[2]/div/div[1]/h3"));
のように、使用します。

■ getLocation(げっとろけーしょん)

現在開いているページの絶対URLを取得します。


■ assertEquals(あさーといこーる)

二つの値をを比較し、等しくないときにエラーメッセージを返します。

Googleでhello worldと検索し、検索結果ページのタイトルを比較したい場合
$this->assertEquals("hello world - Google 検索", $this->getTitle());
のようなコードになります。

現在開いているURLが正しいか比較したい場合は
$this->assertEquals("http://hogehoge.com/", $this->grtLocation());
のようなコードになります。

まとめ

超基本のopenコマンドからまとめてみました。SleniumIDEでちまちまテストケースを作っていくのでも良いのですが、コマンド覚えてしまえば
手動で作っていくほうがきっと早いでしょう。
今回紹介した以外にも素敵なコマンドが沢山あるので深めていきたいと思います。
これからもSeleniumRCをガンガン使っていこうとおもっているので、おすすめ便利コマンドがあったら教えてくださいね!


参考
http://www.phpunit.de/manual/3.3/ja/api.html