capybaraについて勉強した

capybaraはユーザが行うブラウザ操作をプログラムしてテストを行うためのインターフェースです。実際にブラウザからボタンを押して遷移できるか とか〜 タイトルがちゃんと表示されているか とか〜 目視することなくコードを書いて確認ができます。とっても便利!
capybaraはドライバを変更して使うことができます。

f:id:EnnuimaZ:20130106175251p:plain

調べてみたけど壮大過ぎて把握できない!
以下簡単なまとめです。


drivers

RackTest Driver

Class: Capybara::RackTest::Driver

  • JavaScriptを使う必要がない時はこれがうごく
  • capybaraデフォルト!

selenium

  • JavaScriptを使う必要があるときのデフォルト
  • ブラウザを起動するもの

capybara-webkit

"A Capybara driver for headless WebKit so you can test Javascript web apps"

"A capybara driver that uses WebKit via QtWebKit."

poltergeist

"You need at least PhantomJS 1.7.0. There are no other external dependencies (you don't need Qt, or a running X server, etc.)"


engines

Selenium

"Selenium automates browsers."

  • selenium はブラウザを自動操作するもの!
    • selenium-webdriver っていうのがあって、これでブラウザを起動することができる。この中のドライバを変更すると立ち上げるブラウザを変更できて、capybaraからもこの機能を使うことができる。(いくつかのCI環境を用意して、こっちはIE こっちはSafari ってテストができて便利だね!)

QtWebKit

  • QtWebKit
    • QtとWebKitをあわせたもの? QtがどうやってWebKitとつながるんだろう。UIの部分?

Qt

"Qt is a full development framework with tools designed to streamline the creation of applications and user interfaces for desktop, embedded and mobile platforms."

  • [qt.digia.com/Product/:title=Product - Qt]
WebKit

"WebKit is an open source web browser engine."

PhantomJS

"Full web stack
No browser required"

  • PhantomJS
  • ブラウザを使わずにすべてのweb機能を!(かっこいい)
  • webkit をラップしたコマンドラインアプリケーション


以上!

画像以上のことはわかっていない感じありますねえ。