Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives
社内勉強会で Capybara の話をしたので,発表資料と実際に試行錯誤しながらプロトタイプを実装したときに学んだ細かなポイントなどをまとめておこうと思う. 発表タイトルを “PHP Application E2E with Capybara” にした通り,一般的なユースケースである Rails Application + Capybara ではなく,PHP Application + Capybara の実現可能性を見極めるのを目的として調べた.Capybara 自体は Rails のライブラリではないため,問題なく PHP Application にも適用できるはずなんだけど,PHP 関連で一部ハマったところがあって,発表後にメンバーにアドバイスを頂いて解決の糸口が見つかりそうな気もする. とは言え,PHP Application + RSpec + Capybara + Polter
友人であり、同志でもあり、そして人生の先輩でもある三輪さんがブログでこのように書いていました。 日課のジョギングができない日の微妙な感情、これが❝心が晴れない❞ってことだな。[デブサイコロジー] | The Book of Three Rings(三輪書) このことは非常によくわかります。 私も『頭』『身体』『心』、この三要素のバランスを意識してこれからも色々と継続していきたいと思います。 私は常々、自分に言い聞かせるように「リアルの天気が悪くても、コ・コ・ロが晴れならいいんじゃない」というのを合言葉にしてきました。 私は、激しい暴風雨や滑って歩けないくらいの大雪などでもない限り、天気が悪いことの理由ではウォーキングの習慣を休んだりはしません。 そのためにハードルを極力低く保ってきました。 私もウォーキングと言いつつも、半分以上をジョギング出来るようになってきました。 とは言っても、習慣の
If you’re a Ruby or Rails developer looking for some advice on how to get better at integration testing: congratulations! You’ve reached the highest level of difficulty in all of the areas of the stack you must conquer to become a great Ruby developer. Integration testing is hard, but it doesn’t have to be. This the subtle of this truth lies in the fact that you must be skilled in both the backend
Here at PlataformaTec we like to use Capybara for acceptance tests. Recently we have discovered the custom selectors feature in Capybara and we would like to share with you how that feature helped us to improve our tests. Sometimes we need to implement features that involves showing some ordered items to the user, like a ranking feature. The HTML for a feature like that could be: <ol id="overall-r
BELOW is an action-adventure roguelike, which presents a vast underworld of ever-shifting labyrinths where deadly monstrosities, cunning traps, and a shadowy presence lurk in every passage. BELOW presents players with a mysterious world, and invites them to explore, survive, and discover an ever-shifting underworld, with a minimum of guidance or interference. Craft remedies and tools to help you s
◆ 目的 モダンでリッチな動的WEBインターフェースをコマンド経由で自動操作する。 (WEBに限らず、GUI画面全般を画像認識技術を使いオートメーション化したい場合はこちら) ◆ 対象 試験対象のWEBをIBMのBluemix管理コンソールとした。 https://console.ng.bluemix.net/ 個人的に利用することが多く、また定期的に課金情報を把握する必要性があるため、そのチェックを自動化したいと思ったことが動機である。 リッチなインターフェースであるため、このサイトで処理を自動化できれば大抵のサイトでも手順を応用できるだろう。 (乗り越えるべき技術的ポイント) 1. IDとパスワードを使ってログイン 2. 個人設定を表示させるアイコンをクリック 既存画面の前面へポップアップ画面が表示される その管理画面で数か所の項目を選択 3. 課金情報画面へ遷移し、閉じられているサー
# 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
We all know testing is important. We have our unit tests and integration tests to make sure everything is working as expected. At OmbuLabs opens a new window , we use Capybara opens a new window for our integration tests so that we can interact with the app as a real user would. This is the process we used to replace the capybara-webkit gem in a legacy project with a more modern approach that uses
📄customers_spec.rb fill_in 'Name', with: '山田 太郎' 第1引数に指定できるのは、ラベル文字列かDOMのidだけです。通常の単票フォームでは困ることはないのですが、複数モデルを一括入力をするようなフォームの場合はその限りではありません。なぜなら、ラベル文字列はユニークにできないし、idもcustomer_19887632_nameのようにオブジェクトのidが間に入ってしまうからです。 そんなときは、findメソッドであいまい検索をすればよいです。 📄capybara-spec #完全に等しい find("img[src='https://www.example.com/image']") #含む find("img[src*='https://www.example.com/image']") #前方一致 find("img[src^='htt
RspecとCapybaraを使ってE2Eテストの土台を作ってみる 上記の記事では、スペックの実行結果のみが表示されて詳細な動作ログが出力されていません。 全てのスペックが毎回問題なく成功すれば良いのですが、環境やタイミングなどの要因によって失敗することもあります。 そうすると、「いつ、どのような操作をした時にスペックが失敗したのか」を調べてコードを修正する必要が出てきます。 ここでは、その問題の原因追求の手助けとなる詳細な動作ログを出力出来るようにしたいと思います。 Capybaraのエラーメッセージはそのままでも分かりやすいのですが、複雑なフォームが対象だったり、CI環境でリモート上のマシンでスペックを実行する場合などは動作ログが見えた方が良いですね。 Yahoo! JAPAN タイトルが`Yahoo! JAPAN`であること 検索フォームのパーツの要素が存在すること ニューストピック
概要 capybara-webkitをインストールしようとすると、qmakeコマンドがないといエラーが出てインストールできない。調べてみたことろ、CentOS7での解決方法がなかったので、CentOS6.4での対象方法を参考に、CentOS7でqmakeコマンドをインストールしてみた。 エラー内容 $ bundle install --path vendor/bundle Installing capybara-webkit 1.11.1 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /home/vagrant/RSpec/vendor/bundle/ruby/2.3.0/gems/capybara-webkit-1.1
Capybara, Poltergeist and CSV Downloads Posted by Julius de Bruijn written on 29-11-2012 16:20 It’s not so obvious how to test a scenario, where user clicks an export link and gets a CSV file download. Especially if the user is able to filter the generated CSV content before downloading. Capybara’s Poltergeist engine is a wrapper for headless browser called PhantomJS. A basic Capybara spec to test
タイトルの通りです。 RSpecとCapybaraの環境でダイアログの操作を行いたい場合は、 「page.driver.browser.switch_to.alert.accept を使う」という説明をよく見かけます。 ですが、Capybaraには、 :accept_alert :accept_confirm :dismiss_confirm :accept_prompt :dismiss_prompt というダイアログ操作用のメソッドが用意されています。 なので、こちらを使うようにした方がよいです。 Class: Capybara::Session — Documentation for jnicklas/capybara (master) 上記メソッドを使うことのメリット 上記メソッドを使うと、ただ文字数減るだけでなく、他にもメリットが出てきます。 今後 Chrome Headless
At Salsify we write lots of Capybara integration tests of our single-page app. These tests are a key part of the infrastructure that allow us to move fast and refactor without break anything. Unfortunately as we added more and more tests we started experiencing sporadic hangs and database deadlocks while tearing down tests. After some investigation we figured out the problem was our JavaScript cli
ちょうど 2 年ほど前にCapybara の README を訳しました。しかし 2 年の間に Capybara も 1.x 系から 2.1 になり、訳の内容が古くなっています。現在の仕様とは矛盾する部分も出ており、今読んだ人は混乱してしまうかもしれません。 ということで最新の内容を反映したものをgithubに置きました。どうぞご利用ください。 お願い github に置いたということは、pull request が使えるということです。もし間違えや、原文の更新を見つけたらどしどし pull request を送ってくれると助かります。常に README の変更を監視して訳に反映させるのはちょっと無理なので…。みなさんの手助けが必要なのです><よろしくおねがいします!
まず、Qt と xvfb を入れます。 sudo aptitude install libqt4-dev xvfb Gemfile に、headless gem を追加します。 group :test do ... gem 'capybara' gem 'database_cleaner' gem 'launchy' gem 'capybara-webkit' gem 'headless' ... end spec/spec_helper.rb に、headless の設定を追加します。 DatabaseCleaner.strategy = :truncation Capybara.javascript_driver = :webkit # headless の設定 if Headless::CliUtil.application_exists?('Xvfb') headless = He
rspec spec/requests/delivery_notes_spec.rb spec/requests/organizations_spec.rb spec/requests/people_spec.rb spec/requests/projects_spec.rb spec/requests/schedules_spec.rb spec/requests/work_breakdown_structures_spec.rb Run filtered including {:focus=>true} DeliveryNotes GET /projects/12345/work_breakdown_structures/12345/destroy >> Visit >> 1 >> 36 >> http://127.0.0.1:62396/users/sign_in << ok <<
Ruby on Rails Tutorialのエッセンスを自分なりに整理してみる10 [Rails4.0] フォームの基本とStrongParametersを理解する http://qiita.com/kidachi_/items/7c1a9b61dd1853d5a7dc の続き。 Ruby on Rails Tutorial(chapter7) http://railstutorial.jp/chapters/sign-up?version=4.0#code-after_save_tests 概要 ユーザ登録等、よくあるフォーム入力を実装した時、 いちいちブラウザから様々なパターンの値を入力してテストするのは大変。 Capybaraのシミュレート機能を使って解決する。 今回用いるCapybaraのメソッド 以下の2つ。 fill_in change fill_in フォームへの入力をシミ
最近、Ruby on Rail のチュートリアル をやってる。Ruby と Rails 覚えたい。 順調に進んでたけど Rspec でテスト書くところで躓いた。 第3章 ほぼ静的なページの作成 | Rails チュートリアル この章で Capybara DSL を Rspec に読み込ませる箇所がある。 # spec_helper.rb Config.include Capybara::DSL これを書いて実行すると $ bundle exec rspec spec/requests/static_pages_spec.rb /path/to/rails_application/spec/spec_helper.rb:46:in `block in <top (required)>': uninitialized constant Capybara (NameError) というようなエラ
最近マニュアルテストばかりで自動テストに関するコードが1行も書けていないので勉強がてらに記事を書いてみました。 この記事のゴールはGemfileの初期化から始まって簡単なフィーチャースペックを動かすところまでとなっています。Capybaraを使用したE2Eテストの記事はRailsの開発とセットになっていることが多いですが、ここではRailsとの依存関係はありません。 開発・実行環境 macOS High Sierra 10.13.3 Visual Studio Code 1.21.1 ruby 2.5.0 RubyGems 2.7.6 bundler 1.16.1 Google Chrome 65.0.3325.162(Official Build) (64 ビット) chromedriver 2.36 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision
業務でのスクリーンショットといえば、エクセルとあわせて語られるようなつらい話がセットになっている印象があります。 マニュアル撮影するのは本当につらそう……でも自動テストで自動で撮るスクリーンショットは最高です。 わたしは大好きです。 そのスクリーンショットを、テストついでのなんとなくみたいなノリで簡単に撮れるようにしておくといろいろ便利でしたので、どのようにやっているか書きます。 CapybaraとPoltergeistを使用、PhantomJSのバージョンは2.0の環境下で書きました。 ところで、スクリーンショットが役に立った局面 前職では、責任をとるための上司と、名ばかりディレクター、そしてわたしという編成で仕事をすることがわりとありました。 必然的にアプリケーションの細かいところも全部わたしが直接やりとりしていましたが、基本的に先方も別のお仕事をなさっているので、はっきり言って開発中
RubyでCapybara(Selenium) + Minitest + Headless ChromeでE2EテストしてみるWed, 26 Jul 2017 11:22:12 GMTテスト Ruby Chrome Selenium Capybara Minitest タイトルの組み合わせでE2Eテストをやったのでやり方を書いてみます。 環境 Ubuntu Server 16.04 Ruby 2.4.1 minitest 5.10.3 minitest-capybara 0.8.2 capybara 2.14.4 selenium-webdriver 3.4.4 Chrome 59.0.3071.115 chromedriver 2.31.488763 MinitestはRubyの標準テストフレームワークです。 CapybaraはSeleniumのラッパー的なものです。たぶん。 Chrom
RailsでTurnip + RSpec + Capybara + Seleniumを使ってエンドツーエンドテストを書いていこうと始めてみたので方法をメモしてみます。 今回はエンドツーエンドテストをして失敗したところや詳しくテストしていきたいところに関してユニットテストを書いていく感じにしようと思ってます。 Turnipでシナリオを作成して、RSpec,Capybaraで実際にブラウザを操作しながらテストしてく感じだと思います。その際Capybaraでスクリーンショット撮ったりしながら進めます。 設定 まずは今回使用したgemたちです。 group :development, :test do gem 'rspec-rails', '~> 3.1.0' gem 'factory_girl_rails', '~> 4.4.1' gem 'capybara', '~> 2.4.3' gem '
Capybara ======== Webrat alternative which aims to support all browser simulators. API === Navigating ---------- visit articles_path Clicking links and buttons -------------------------- click 'Link Text' click_button click_link Interacting with forms ---------------------- attach_file fill_in 'First Name', :with => 'John' check 'A checkbox' uncheck 'A checkbox' choose 'A radio button' select 'Pet
テストを書く(単純編) 前回からの続きです。 ようやく本題です。まずは、index画面を表示させるテストを書くことにします。 require 'spec_helper' describe "Tasks" do describe "GET /tasks" do it "displays tasks" do Task.create!(:name => "foobar") visit tasks_path page.should have_content("foobar") end end end テストを実行しましょう。 tsubame.local{miyohide}% rake spec:requests /Users/miyohide/.rvm/rubies/ruby-1.9.2-p290/bin/ruby -S rspec ./spec/requests/task_spec.rb . F
こんにちは!投資カピバラ(@Capybara_Stock)と申します。 某ハイテク企業勤務の20代エンジニアで、AI/RPA/DX全般が専門です。普段はTwitterで、主に米国株を中心とした資産運用について情報発信させていただいております。 本noteでは「資産運用を始めた方がいいって聞くけど、何からやったらいいかわからない!😓」という初心者の方向けに、その第一歩として超おススメの『つみたてNISA』について、わかりやすく解説していきます! 初心者の皆様の中にはこんな風に思われる方もおられるかもしれません。 「資産運用?詐欺じゃないの?😠」 「暴落が来たら大損する!😱」 「どうせギャンブルでしょ?🤔」 そういった固定観念は一旦捨ててください。 昨今の世の中には資産運用に関する情報が溢れかえっており、中にはワンルームマンション投資やマルチ商法など、詐欺まがいの案件も多く存在します。
Capybara Using Selenium, With RSpec, in the Vagrant (Remotely) Nov 8th, 2012 Let’s assume: you’re using RSpec for your tests, you use Capybara for your integration/acceptance specs, you run your tests in a Vagrant box. Let’s also say everything is working fine (I won’t deal with any issue you may have before this point). Now, you have some features / user stories / whatever that requires some Java
はじめに ブラウザ上で行う面倒な作業を自動化しているうちにいろんなノウハウが溜まったのでまとめた。もともと Capybara はテストのためのフレームワークで、ブラウザ操作は selenium-webdriver の役割だが、Capybara から扱う方がブラウザ操作もやりやすかったので、ほぼ Capybara を扱う内容になっている。 chromedriver に関する問題 グローバルな chromedriver がある chromedriver-helper gem の残骸は削除する 他にも chromedriver で始まる外部コマンドがあるはず gem も含めて抹殺する $ which chromedriver /usr/local/var/rbenv/shims/chromedriver $ gem uni -ax chromedriver-helper $ rm /usr/lo
bootstrap2 -> 3 simple_form 3.0.0 -> 3.1.0.rc1(Bootstrap3に対応したとのこと) yamm2 -> 3 (megamenu) これにまとまってる感じなので粛々とクラスを付け替える感じ http://matome.naver.jp/odai/2137510540117012201 手強いのは非表示まわりと toggle ですかねえ やったこと gem upgrade bootstrap/responsive を削除 span* を col-xs-* に変更 i.icom-xxx を span.glyphicon-xxx に変更。中でごにょってると探すの大変なとこもありそう ※ i は Bootstrap3 でも使えます... row-fluid, container-fluid から -fluid を削除 text-error を tex
Due to constraints from a continuous integration service that I am using, I found myself converting from capybara-webkit to poltergeist for my headless javascriptable feature testing needs. To capybara's credit, the driver change is as simple as Capybara.javascript_driver = :poltergeist Unfortunately I discovered that after this simple substitution some of my features involving asynchronous reques
A little over 9 months ago, Wealthfront converted 100% of our end-to-end tests from Selenium (via Capybara) to Puppeteer. The process involved converting hundreds of tests that provide coverage for just about all of Wealthfront’s product offerings on the website. This blog post will cover why we migrated away from Selenium, the process we used to convert the tests, and the result of the completed
I have released version 1.1.1.0 of Xliff Previewer. http://translator-banks.blogspot.jp/2014/08/xliff-previewer.html This version has undergone several improvements. The biggest one is that Xliff Previewer now supports vanilla xliff files (*.xlf/*.xliff). Xliff files are generated by many different CAT tools and may come with slightly different structures of <trans-unit> elements. Xliff Previewer
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く