アメリカンラグシー MARFA/702-MFA-M004
チャックは、持ち手は大きくて掴みやすい。サイドからサイドまでついてるので大きく開き、取りたいものが取りやすい。
SYUNSOKU 瞬足 男の子 キッズ 仮面ライダー鎧武/ガイム
「どのクツがいい?」って聞きながらまわっていると、息子の大好きな仮面ライダー鎧武のクツを発見!一発で気に入ったようでした。
また、息子にしつこく聞いて使用感などレビューレポートにおこしてみます!
仮面ライダー鎧武 (ガイム) DX金&銀のリンゴロックシード 仮面ライダーマルス&冠セット
息子と「いい子にお母さんのお手伝いとかできたらこれを買おう」と約束してたので注文しました。まだ未到着ですが楽しみです。
今上映中の映画も近日観に行きます。
ダイエット
僕の体重はピーKg ちなみに身長は 170cm ピッタリ
俗にいう、太り過ぎなのでダイエットを計画することにしました。
やっぱり夏に太りすぎてるのは残念でして、来年の夏を目標にしていきます。
とりあえず ↓ ポチったので頑張っていこうと思います。
売り上げランキング: 1,956
LaQ フリースタイル 100 グリーン
cucumber で capybara-webkit を使って javascript が動くテスト
前提
$ yum list installed | grep xorg-x11-server-Xvfb xorg-x11-server-Xvfb.i686 $ yum list installed | grep qtwebkit-devel qtwebkit-devel.i686 2.1.1-1.el6 @epel $ rails -v Rails 3.2.8
とりあえずrailsプロジェクト作成
$ rails new hoge -T ....省略 $ cd hoge/
Gemfile 修正
Gemfile
source 'https://rubygems.org' gem 'rails', '3.2.8' gem 'sqlite3' group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails'
上記に変更後、再び bundle install
$ bundle install ....省略
WelcomeController#index の作成
$ bundle exec rails g controller welcome index
create app/controllers/welcome_controller.rb
route get "welcome/index"
invoke erb
create app/views/welcome
create app/views/welcome/index.html.erb
invoke helper
create app/helpers/welcome_helper.rb
invoke assets
invoke coffee
create app/assets/javascripts/welcome.js.coffee
invoke scss
create app/assets/stylesheets/welcome.css.scssルートへのアクセスを WelcomeController#index に振る
Hoge::Application.routes.draw do root :to => 'welcome#index' end
ルーティングの確認
$ bundle exec rake routes root / welcome#index
index.html は削除しておく
$ rm public/index.html
サーバ起動
$ bundle exec rails s => Booting WEBrick => Rails 3.2.8 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2012-09-29 00:44:41] INFO WEBrick 1.3.1 [2012-09-29 00:44:41] INFO ruby 1.9.3 (2012-04-20) [i686-linux] [2012-09-29 00:44:41] INFO WEBrick::HTTPServer#start: pid=26071 port=3000
ブラウザで確認
javascript で p タグの文言を変更するようにする
app/assets/javascripts/welcome.js.coffee
$ ->
$('p').text('Hello capybara world!')変更後、ブラウザで確認(再ロード)
Gemfile 修正
cucumber-rails と database_cleaner を加える
後者は、gem 間に依存関係はないけど cucumber の既定設定だと必要になる。
Gemfile
source 'https://rubygems.org' gem 'rails', '3.2.8' gem 'sqlite3' group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' group :test do gem 'cucumber-rails', require: false gem 'database_cleaner' end
上記に変更後、再び bundle install
$ bundle install ....省略
cucumber の初期化
$ bundle exec rails g cucumber:install
create config/cucumber.yml
create script/cucumber
chmod script/cucumber
create features/step_definitions
create features/support
create features/support/env.rb
exist lib/tasks
create lib/tasks/cucumber.rake
gsub config/database.yml
gsub config/database.yml
force config/database.yml試しに実行してみる
$ bundle exec rake db:migrate $ bundle exec rake cucumber /usr/local/bin/ruby -S bundle exec cucumber --profile default Using the default profile... 0 scenarios 0 steps 0m0.000s
cucumber テストを書く
features/step_definitions/steps.rb
Given 'I am on root' do visit '/' end Then 'I should see cool message' do page.find('p', text: 'Hello capybara world!') end
features/nice.feature
Feature: Nice feature
Scenario: Nice message displayed by ajax when page loaded.
Given I am on root
Then I should see cool message実行してみる
$ bundle exec rake cucumber
/usr/local/bin/ruby -S bundle exec cucumber --profile default
Using the default profile...
Feature: Nice feature
Scenario: Nice message displayed by ajax when page loaded. # features/nice.feature:2
Given I am on root # features/step_definitions/steps.rb:2
Then I should see cool message # features/step_definitions/steps.rb:6
Unable to find css "p" (Capybara::ElementNotFound)
(eval):2:in `find'
./features/step_definitions/steps.rb:7:in `/^I\ should\ see\ cool\ message$/'
features/nice.feature:4:in `Then I should see cool message'
Failing Scenarios:
cucumber features/nice.feature:2 # Scenario: Nice message displayed by ajax when page loaded.
1 scenario (1 failed)
2 steps (1 failed, 1 passed)
0m0.905s
rake aborted!
Command failed with status (1): [/home/sakaguchi/.rvm/rubies/ruby-1.9.3-p19...]
Tasks: TOP => cucumber => cucumber:ok
(See full trace by running task with --trace)
- 失敗した。
- html 描画時点では、'Hello capybara world!' とは表示されておらず、 javascript によって書き換えられるから。
- Capybara のデフォルト javascript ドライバである rack_test は、 javascript を実行しない。javascript ドライバを webkit に変更して javascript が動作するようにしなければ、上記テストは成功しない。
capybara-webkit を使う
Gemfile 再度修正、 capybara-webkit と headless を導入する。
source 'https://rubygems.org' gem 'rails', '3.2.8' gem 'sqlite3' group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' group :test do gem 'cucumber-rails', require: false gem 'database_cleaner' gem 'capybara-webkit' gem 'headless' end
インストール実施、 qmake へのフルパスを QMAKE 環境変数に設定する必要がある
$ QMAKE=/usr/lib/qt4/bin/qmake bundle install ....省略 Installing capybara-webkit (0.12.1) with native extensions ....省略 Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
Capybara で javascript ドライバを webkit に差し替える旨を設定する
features/support/env.rb の末尾に以下を加える
# use capybara-webkit driver. Capybara.default_driver = :webkit Capybara.javascript_driver = :webkit Headless.new(display: 99).tap do |h| h.start at_exit { h.destroy } end
テスト実行
$ bundle exec rake cucumber
/usr/local/bin/ruby -S bundle exec cucumber --profile default
Using the default profile...
Feature: Nice feature
Scenario: Nice message displayed by ajax when page loaded. # features/nice.feature:2
loaded the Generic plugin
can't make "generic.orientation" because no QAccelerometer sensors exist
Given I am on root # features/step_definitions/steps.rb:2
Then I should see cool message # features/step_definitions/steps.rb:6
1 scenario (1 passed)
2 steps (2 passed)
0m1.973s成功した。(∩´∀`)∩ワーイ
0.10.0 以降の gem capybara-webkit がインストールで失敗する件
インストール失敗
$ gem install capybara-webkit --no-ri --no-rdoc --version "0.11.0"
Fetching: capybara-webkit-0.11.0.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing capybara-webkit:
ERROR: Failed to build gem native extension.
/home/sakaguchi/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
sh: qmake: コマンドが見つかりません
Gem files will remain installed in /home/sakaguchi/.rvm/gems/ruby-1.9.3-p0@ucs/gems/capybara-webkit-0.11.0 for inspection.
Results logged to /home/sakaguchi/.rvm/gems/ruby-1.9.3-p0@ucs/gems/capybara-webkit-0.11.0/./gem_make.outqmake がないとな ?
qmake探す
$ yum whatprovides *bin/qmake Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: ftp.nara.wide.ad.jp * epel: ftp.riken.jp * extras: ftp.nara.wide.ad.jp * updates: ftp.nara.wide.ad.jp base/filelists_db | 4.9 MB 00:01 epel/filelists_db | 5.1 MB 00:03 extras/filelists_db | 2.7 kB 00:00 updates/filelists_db | 2.3 MB 00:00 qt3-devel-3.3.8b-30.el6.i686 : Development files for the Qt 3 GUI toolkit Repo : base Matched from: Filename : /usr/lib/qt-3.3/bin/qmake 1:qt-devel-4.6.2-20.el6.i686 : Development files for the Qt toolkit Repo : base Matched from: Filename : /usr/lib/qt4/bin/qmake 1:qt-devel-4.6.2-20.el6.i686 : Development files for the Qt toolkit Repo : installed Matched from: Filename : /usr/lib/qt4/bin/qmake
事前に qt-devel は入れたはずだが・・・
qmake のパスは /usr/lib/qt4/bin/qmake ですかそうですか。
ソースコード見てみる
gem capybara-webkit の lib/capybara_webkit_builder.rb より
def qmake_bin ENV['QMAKE'] || 'qmake' end
環境変数 QMAKE 見てるみたい、与えてみるかー。
インストールのリトライ ⇒ 成功
$ QMAKE=/usr/lib/qt4/bin/qmake gem install capybara-webkit --no-ri --no-rdoc Building native extensions. This could take a while... Fetching: childprocess-0.3.2.gem (100%) Fetching: libwebsocket-0.1.3.gem (100%) Successfully installed capybara-webkit-0.12.0 Successfully installed childprocess-0.3.2 Successfully installed libwebsocket-0.1.3 3 gems installed
OK
bundler でも環境変数与えれば桶
$ QMAKE=/usr/lib/qt4/bin/qmake bundle install






