というか、この辺の用語がいつも混乱してとても困っていたのでいったん整理。今回のターゲットは何やら最近 JavaScript を含む Web アプリのテストでよく名前を聞く capybara-webkit からスタート。 間違ってたら突っ込んでください! 間違ってなかったら褒めてください! 名前capybara-webkitCapybara の driver. Capybara のテストを WebKit を通じて実行できる。WebKit と言えばみんな大好き、Google Chrome や Safari のエンジンですね。capybaraテスティングフレームワークに対して Web アプリのテストを書きやすくする語彙を提供してくれる( DSL や Driver で実装されている )。driver は default で rack_test で、JavaScript を含む場合は Seleniu
Cucumberのfeatureを日本語で記述したいので、web_steps.rbを日本語化するweb_ja_steps.rbを作成しました。翻訳はid:moroさんのmoro-misoを参考にしました。 # coding: UTF-8 Given /^"([^\"]*)"ページを表示している$/ do |page_name| Given /^I am on #{page_name}$/ end When /^"([^\"]*)"ページを表示する$/ do |page_name| When /^(?:|I )go to #{page_name}$/ end When /^(?:"([^\"]*)"の)?"([^\"]*)"ボタンをクリックする$/ do |selector ,button| When /^(?:|I )press "#{button}"(?: within "#{selec
capybara使うと簡単にキャプチャできる。もともとjsのheadless testの為のツールなのでjsも実行されるし良い。 Macの場合 brew install qt gem install capybara capybara-webkit #!/usr/bin/env ruby require 'rubygems' require 'capybara-webkit' driver = Capybara::Driver::Webkit.new 'web_capture' driver.visit 'http://shokai.org/blog/' driver.render 'out.png' MacにGUIでログインしていなくてもキャプチャできる。モニタほぼ使ってないサーバー状態のMacで使いたかったのでありがたい。 webkit2png(http://d.hatena.ne.j
さて、このRailsアプリケーションがJavaScript/Ajaxを利用していて、「span#touchmeをクリックしたら、p#messageの中に動的に「Hello!」というテキストが現れる」という仕様であった場合は、どうテストすればよいでしょうか。単にa#touchmeをspan#touchmeに変えるだけではだめです。CapybaraはJavaScriptを理解しないので、テストは失敗します。 ここで登場するのがcapybara-webkitというドライバです。WebKitはオープンソースのHTMLレンダリングエンジンで、Google ChromeやSafariがこれを使っています。このドライバを使えばJavaScriptのテストが可能になります。 capybara-webkitをインストールするには、例によってGemfileに gem "capybara-webkit" と書い
take a glance at capybara 2.0 2012-07-18 @okitan
# encoding: utf-8 class ApplicationController < ActionController::Base before_filter :authenticate helper_method :current_user def authenticate # 認証 end def current_user # ユーザーの取得 end end セッションからレコードを呼び出すと思いますが、 capybaraでセッションをうまく扱えなかったので(知っている方投稿してほしいです)スタブで回避しました。 # ~ it "ユーザーが取得できなければリダイレクトされるべき" do visit "/foo/bar" current_path.should == "/" end describe "ユーザーが取得できるとき" do before (:each) do @us
Railsエンジニアになってから1年半くらいが経ち、社内のRailsのプロジェクトを全部で5つくらい触って、今やってるAbilie*1でようやく人並みにテストを書いてる気がしてきたので、現時点でやってるテストの方法をまとめておく。 テストのルール的なの rspecでは必ずモデルのテストは書くようにしてる。ヘルパーも大体書いてるけど、コントローラやルーティングのテストはあまり書いてない。 というのも、コントローラーのコードを極力短くしてモデルを太らせているのでコントローラのテストはあんまり意味が無い気がしていて、その代わりにCapybaraでテストを書いておけば十分なんじゃないかなと思ってきたから。Capybaraは書いてるので、そういう意味では書いてるとも言える。 社内の管理者だけが使える管理画面も作ってるけど、そっちはテストあんまり書いてない。ここは動かなくなっても一般ユーザーには影響が
# step.1 # 約50行目の # This file is copied to spec/ when you run 'rails generate rspec:install' # より下のコード(sporkをインストールする前のspec_helper.rbのコード)をすべて Spork.prefork do # --ここ-- end # に貼り付ける。 # step.2 # Spork.prefork do 内先頭付近に、factory_girlとcapybaraの設定追加。 # これでrails g の時にいろいろ勝手に作ってくれる require 'rspec/rails' require 'rspec/autorun' require 'factory_girl_rails' # add require 'capybara/rspec' # add # step.3 # S
Capybara 2.0 Upgrade Guide - Funding Gates の意訳です。 capybara の 2.0.0 beta がリリースされたらしく、上記エントリでは重要な変更点とアップグレードの仕方について解説してくれています。 good news と bad news 2.0.0 にアップグレードしたら、現在のテストが一部通らなくなるかもしれなません 一度 2.0.0 でテストが通るようになったら、そのまま 1.1.2 に戻すことも出来ます。まだ 2.0.0 が肌に合わないようならまだ切り戻すことができます。 互換性 capybara-webkit や poltergeist はまだ Capybara 2.0 に対応していません。ひとまず selenium ドライバを使いましょう。 How to Upgrade 2.0.0 beta は約一ヶ月前にリリースされました。
このウェブサイトは販売用です! twiwt.org は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、twiwt.orgが全てとなります。あなたがお探しの内容が見つかることを願っています!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く