タグ

RSpecとcapybaraに関するclavierのブックマーク (12)

  • 非表示要素はCapybaraのfindで検索対象になるのか - Qiita

    display: none で非表示にした要素は、Capybaraのfindやallの検索対象になるのでしょうか? 結論からいうと、「デフォルトでは非表示要素は検索対象にならない」です。 リファレンスを見ると下記の記述があります。 Module: Capybara::Node::Finders visible (Boolean) — Only find elements that are visible on the page. Setting this to false finds invisible andvisible elements. つまり、visibleオプションを付けることでfindの動作を変えられるということです。要約すると以下のようになります。 visibleオプションはどちらがデフォルト? ただ、この記述ではどちらの状態がデフォルトなのかわかりません。 そこでソースを

    非表示要素はCapybaraのfindで検索対象になるのか - Qiita
  • Capybaraでハマらないために気をつけるべき4つのこと

    自分がCapybaraで一番ハマったのは、画面の初期化や、Ajaxやアニメーションなどの遅延を待たずに、どんどんclickなどを行おうとして意図しない結果になってしまうこと。 ブラウザから自分で試してみてもうまく行くので、自動テストをうまく行かせるためだけのデバッグ作業となり、作業のための作業、これは無駄以外のなんでもない。腹立たしい。 だから、情報共有。 findで要素が準備OKになるまで待たせる 家の でも書かれているが、Capybaraにはこういう非同期JavaScriptの問題への対処として、findや、have_content実行時にまだ要素が見つからない場合は、設定した時間(初期値2秒)待ってからリトライをしてくれる。 この機能を使って、clickする、have_xxx で検証するなどの前に、findでちゃんと存在するまでcapybaraに待たせる事が重要。 基的に非表示要

    Capybaraでハマらないために気をつけるべき4つのこと
  • Everyday Rails RSpecによるRailsテスト入門でRSpec3に再入門![書評] - 酒と泪とRubyとRailsと

    Everyday Rails RSpecによるRailsテスト入門でRSpec3に再入門![書評] Jan 6th, 2015 Tweet 最近、RspecやCapybaraでRailsのテストを書くたびに、ちょっとした書き方がわからずググったり、冗長なテストを書くことに結構悩んでいました。ということで、思い切ってRspec再入門として、『Everyday Rails - RSpecによるRailsテスト入門』を読みました!Rails/Rubyはどんどんバージョンアップするので、紙媒体の書籍だと情報が古くなってしまっている場合があります。この書籍は著者や訳者さんが、しっかりとアップデートを続けてくれているので、最新の入門チュートリアルとしてRspecの実践的な使い方を習得できる書籍です。 またこのを読むにあたってRSpecのドキュメントやWebサイトを読みなおしたので、合わせてRSpec

    Everyday Rails RSpecによるRailsテスト入門でRSpec3に再入門![書評] - 酒と泪とRubyとRailsと
  • 使えるRSpec入門・その1~その4を書き終えました + 執筆裏話とか - give IT a try

    はじめに 昨年末からQiitaに執筆していた初心者向けのRSpec入門記事、「使えるRSpec入門」の全4回をすべて書き終えました。 各記事のリンクは以下の通りです。 使えるRSpec入門・その1「RSpecの基的な構文や便利な機能を理解する」 使えるRSpec入門・その2「使用頻度の高いマッチャを使いこなす」 使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 「使えるRSpec入門」って何? 「使えるRSpec入門」は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」をテーマにしたシリーズ記事で、略して「使えるRSpec入門」と名付けました。 僕がRSpecでRubyRailsのテストを書いてきた経験から、「これはよく使うから重要」「

    使えるRSpec入門・その1~その4を書き終えました + 執筆裏話とか - give IT a try
  • 使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第4回です。 今回はCapybaraを使ったフィーチャスペックについて説明します。 ただし、今までの記事とは異なり、フィーチャスペックのイロハよりも「Capybaraの使い方」に重点を置きます。 なぜなら、僕個人の経験からいって、フィーチャスペックで困るのは「このブラウザの操作って、どうやってコードで表現するの??」というケースが大半だからです。 それ以外は第1回~第3回の内容をそのまま応用できるので、特に「フィーチャスペックだから困る」ということはないと思います。 今回は説明する主な項目は以下の通りです。 フィーチャスペックの基 ページの移動や画面のクリック、フォームの操作など 画面やフォームの検証 画面の操作や検証の応用テクニック その他

    使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita
  • Rails + Devise + OmniAuth で Facebook/Twitter の OAuth 認証を RSpec + Capybara でインテグレーションテスト(RequestSpec)

    EasyRamble は、技術ネタや子育て、英語学習、アウトドアなどについて綴るブログです。Ruby on RailsSwift などで、Webサービス/アプリを作っています。

    Rails + Devise + OmniAuth で Facebook/Twitter の OAuth 認証を RSpec + Capybara でインテグレーションテスト(RequestSpec)
  • 私がRSpecを書く場合のやり方について | 自転車で通勤しましょ♪ブログ

    今日は木曜日だったので、ハンバーグの会(Okayama.rb)に参加してきました。 今日は@mako_wisにテストの書き方について相談を受けたので、粒度とかについて説明しましたが、私は説明し始めると早口になってしまうので詰め込みすぎたかもしれないと思ったのでちょっとまとめておこうと思いました。ちなみに、書き方といってもRSpecの始め方とかではないです。その点はあしからず。 Railsプロジェクトのいいところは、テストがとてもしやすいところだと思います。 私は今の会社に入るまで、テストは書きたいけれど、どう書けばいいのかわからなかったのと、頑張って書いてみたものの、成果が周りに評価されなかったのでこのままでいいのだろうか?と思い悩んでいました。しかし、既にテストがあるプロジェクトに入って書き方を学べた事と、同僚とThe RSpec Book読書会を社内で開いて勉強したおかげで、結構綺麗に

  • Everyday Rails - RSpecによるRailsテスト入門

    みなさんはこんなふうにRailsアプリケーションを作ったことはありませんか?たとえば、ブラウザをポチポチとクリックするだけでテストを終わらせて「たぶん大丈夫」と思い込んだり、「とにかく全部うまくいきますように」とただ祈るだけだったり……。 心配しないでください。それは誰もが通る道です。アプリケーションのテストやテスト駆動開発はRails開発における重要なトピックですが、巷の参考書を見ると適当な説明で済ませているものも多かったりします。書「Everyday Rails - RSpecによるRailsテスト入門」では、どのようにして私がそうしたテクニックを身につけたのか、そして、どのようにしてコードの信頼性を上げ、ブラウザ上で延々とテストしなくて済むようにしたきたのかをみなさんに説明します。 対応バージョンについて2024年1月のアップデートで、書のコンテンツをRails 7.1とRSpe

    Everyday Rails - RSpecによるRailsテスト入門
  • Poltergeist + Rspec + Capybara導入のメモ - Qiita

    Capybara.javascript_driver = :poltergeist Capybara.register_driver :poltergeist do |app| Capybara::Poltergeist::Driver.new(app, :js_errors => false, :timeout => 60) end とすればよいとわかった。各オプションについて以下に説明する。 :js_errors :js_errors => falseにしたのはCapybara::Poltergeist::JavascriptError: というエラーを防ぐため。JSのエラーはよくあることなのだが、エラーが出るたびにCapybaraを止めるのは時間の無駄。ということで、JSのエラーは無視することにした。 :timeout Timeoutはデフォルトでは30秒。しかし、ログインのような時

    Poltergeist + Rspec + Capybara導入のメモ - Qiita
  • RSpec/Capybara入門 - Ruby on Rails with OIAX

    Ruby on Railsプログラマーのための「RSpec/Capybara入門」を連載します。Railsを学習中の初心者がテスト駆動開発(TDD)あるいはビヘイビア駆動開発(BDD)を実践するための基礎的な知識や考え方を説明していきます。 メインテーマはRSpecとCapybaraですが、factory_girl、Database Cleaner、Zeusなどの関連するGemパッケージも途中で紹介していく予定です。また、CSSセレクタやXPathについても簡単に解説することになるでしょう。 いちおうRubyRailsの基礎知識を話の前提としますが、初心者を念頭に置いて丁寧な説明を心がけます。 できるかぎり具体的にコーディングと操作手順を示すつもりです。実際に手を動かしながら読み進めると、より理解が深まるでしょう。 記事一覧 イントロダクション (2013/08/14) RSpec/Ca

    RSpec/Capybara入門 - Ruby on Rails with OIAX
  • Rspec/Capybara/Turnipの入門記事を全力でまとめてみた - 酒と泪とRubyとRailsと

    Rspec/Capybara/Turnipの入門記事を全力でまとめてみた Aug 30th, 2013 Tweet さっき、『 The Rspec Book』を読み終えました。厚めのですが、RspecやCucumber、Webrat、Seleniumなどを活用するためのノウハウ満載で大満足でした! ということで、こので読んだ内容を忘れないようにするためと、その過程でRspec/Capybaraなどのネット資料をあつめたので、まとめるためにこの記事を書きます。もし、間違いを発見した場合や他にもいいリソースがあれば、是非メッセージを願いします! テスト駆動開発(TDD)と振る舞い駆動開発(BDD) テスト駆動開発(TDD)とは、コードを書く際に最初にテストを書き、次にテストが通る最低限のコードを書き、その後にリファクタリングしていく開発手法です。一方で振る舞い駆動開発(BDD)はTDDの発

  • Rails4 + Capybara + PhantomJS (poltergeist) なテスト環境 - (゚∀゚)o彡 sasata299's blog

    2013年08月05日14:53 Ruby JavaScript Rails4 + Capybara + PhantomJS (poltergeist) なテスト環境 Rails4 でのエンドツーエンドなテスト環境を作ってみたのでメモです。 統合テストといえば Capybara さんなわけですが、デフォルトだと JavaScript を実行する際にドライバとして Selenium が使われてしまいます。 Selenium さん良い人なんですが、、、ブラウザが起動するので重いし、そもそも毎回ブラウザが起動する必要は無いのでヘッドレス(ブラウザの起動無しに JavaScript が実行できる)ドライバにしちゃいましょう。サヨナラ。 ヘッドレスドライバはいろいろあるんですが、最近は PhantomJS というライブラリが良いみたいなのでこれを使ってみます。Capybara から PhantomJ

  • 1