Pages

2016年5月29日日曜日

Chrome で Selenium を利用する

FireFox の拡張機能で提供されてる Selenium を Chrome でも使いたい。。

けどまだ Chrome ウェブストア の 拡張機能(https://chrome.google.com/webstore/category/extensions) で提供してくれない。。



しばらく待ってたけど、まだ提供されないので、もう 検索したら良く出てくる WebDriver 入れてFireFoxの拡張機能から実行するってやつ入れちゃいました。。


簡単に手順まとめ

  1. ダウンロード
  2. 設置
  3. サーバー起動
  4. FireFox起動
  5. テストケース実行

手順


ダウンロード

Selenium - Downloads

http://www.seleniumhq.org/download/


必要なファイル
  • Selenium Standalone Server (version 2.53.0)
  • The Internet Explorer Driver Server (version 2.53.1)
  • Third Party Drivers, Bindings, and Plugins > Google Chrome Driver > 2.21 > chromedriver_win32.zip (version 2.21)
※ ()内は自分が入れた時のバージョンです。

設置

設置はファイルをどこかに置くだけの簡単な作業

今回は D:\app\selenium\server というフォルダーを作成して、そこの以下を保存。


  • selenium-server-standalone-2.53.0.jar
  • IEDriverServer.exe
  • chromedriver.exe

サーバー起動

コマンドプロンプトを立ち上げて、以下を実行するとサーバーアプリが起動する。


  D: \
  cd \app\selenium\server \
  java -jar selenium-server-standalone-2.53.0.jar -Dwebdriver.ie.driver=.\IEDriverServer.exe
これでサーバーは起動する。


FireFox起動

FireFox を起動して Selenium を立ち上げる。

※ Selenium 立ち上げたらFireFoxのブラウザ側は閉じてもOK。


テストケース実行

後は、いつも通りテストケースを実行すると、Chromeのウィンドウが新規作成されて、実行されていく。

何か問題があれば、Seleniumのログとコマンドプロンプトを確認する。



2016年5月25日水曜日

CakePHP3 文字数チェックで改行コードがWindowsの時は2文字扱いになる

簡単に予想するからに

環境別改行コード

Windows CR+LF
Macintosh CR
Linux LF

って感じで Windows だけ2バイトになってるからだろう。。
って事で Validation.php を確認すると

public static function maxLength($check, $max)
{
    return mb_strlen($check) <= $max;
}
やっぱり。。 って事で AppController.php(デフォルトでは無い?) の initialize() に
array_walk_recursive($this->request->data, function(&$item, $key){
    // 改行コードをLFに統一
    $item = preg_replace("/\r\n|\r|\n/", "\n", $item);
});
を追加して今回は対応。

Followers