Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
selenium chrome.md MacでSeleniumをつかってChromeを起動するまで 必要なもの Mac OS X Google Chrome Homebrew Node.js selenium-server-standalone chromedriver selenium-server-standalone と chromedriver をインストール $ brew update $ brew install selenium-server-standalone $ brew install chromedriver サーバ起動 $ /usr/local/bin/selenium-server -Dwebdriver.chrome.bin="/Applications/Google Chrome.app" -Dwebdriver.chrome.driver=/usr/loc
自分がCapybaraで一番ハマったのは、画面の初期化や、Ajaxやアニメーションなどの遅延を待たずに、どんどんclickなどを行おうとして意図しない結果になってしまうこと。 ブラウザから自分で試してみてもうまく行くので、自動テストをうまく行かせるためだけのデバッグ作業となり、作業のための作業、これは無駄以外のなんでもない。腹立たしい。 だから、情報共有。 findで要素が準備OKになるまで待たせる 本家の でも書かれているが、Capybaraにはこういう非同期JavaScriptの問題への対処として、findや、have_content実行時にまだ要素が見つからない場合は、設定した時間(初期値2秒)待ってからリトライをしてくれる。 この機能を使って、clickする、have_xxx で検証するなどの前に、findでちゃんと存在するまでcapybaraに待たせる事が重要。 基本的に非表示要
DISCLAIMER: Alpha status, YMMV! I am lazy as hell, and wanted to be able to install PhantomJS via Rubygems/Bundler when using poltergeist. It keeps installations of phantomjs in $HOME/.phantomjs/VERSION/PLATFORM. When you call Phantomjs.path, it will return the path to the phantomjs executable in there. If that is not present, it will first fetch and install the prebuilt packages suitable for the
WikiNoteに閲覧履歴機能つけたりした - 9mのパソコン日記 WikiNoteというWebサービスに、閲覧したことのあるページ一覧を表示するという機能があります。このサービスにはユーザー登録がないので、Rails でいうところの session.id に閲覧履歴を紐付けるということをやるのですが、ブラウザを再起動するごとに session がリセットされてしまっては使いものになりません。というわけで、session を永続化したという話。 Rails で session を永続化する方法 config/initializers/session_store.rb を編集して、config.session_store に遠い未来の expire_after を渡します。この session_store.rb は Rails 5 の例だけど、initializers に置いてある事と ex
Testing Rake tasks is one of the most painful things I do as a Ruby developer. Even after extracting all the code out into a separate class (which helps a lot), I still want to make sure I test that the right classes got called correctly with the right arguments. I wanted the subject to be the task, where I could call invoke, check its prerequisites, etc. describe "cron:hourly" do its(:prerequisit
はじめに タイトル通り、RSpecにてRakeのテストを書く方法についてです。RSpecからRakeを呼び出す方法は、普通のModelやControllerのメソッドを呼び出すのとは異なっていたので、備忘録として残しておきます。 対象となるRakeとRSpec 1.Rake テスト対象となるRakeは以下の通りです。2つのtaskがあり、片方は引数なし、もう片方は引数を受け取ります。それぞれのtaskでは、別メソッドを呼び出しているだけの簡単な処理です。 /lib/tasks/start.rake namespace :start do task :exec_no_args :environment do SampleController.exec_no_args end task :exec_with_args, :arg_hoge task :exec_with_args => :en
(訳注: 2016/3/2、頂いたフィードバックをもとに記事を修正いたしました。) Ruby on Railsは最近、急激に注目を集めていますが、その原因はほとんど、この言語が斬新なテクノロジーとしてもてはやされたことと、タイミングにあります。技術的な優位性は時間の経過とともに失われますから、タイミングがよかっただけでは、一過性のブームに終わり、このムーブメントの隆盛は長続きしません。従って、「Railsがいかにして、適切な技術としての位置を維持し続けるるだけでなく、影響力とコミュニティを拡大し続けてきたのか」をより多くの人に説明していく必要があります。そして、その維持・拡大を可能にした/していく要因は、物議を醸すことさえあるRailsの基本原則にあると考えています。 この基本原則はここ10年ほどの間に進化を続けてきましたが、最も強固な柱となっているルールはやはり、公開当初から制定されてい
はじめまして、開発部で技術基盤を担当しているid:Yasaichiです。 乃木坂46の橋本奈々未さんを推しすぎて、デスクに雑誌の切り抜きを飾っています。 本エントリでは、先日行った技術改善の取り組みについて紹介したいと思います。 はじめに PIXTAは、「本体」と呼ばれるモノリシックなRailsアプリケーションと、そこから切りだされた複数のマイクロサービスで構成されています。 現在、これらの中で、Rails 5のリリースによって完全にサポートが切れる4.1系(とそれ以下)で動作しているアプリケーションのバージョンアップを計画しています。 This means 4.1.x and below will essentially be unsupported! Rails 5.0.0.beta1: Action Cable, API mode, Rails command | Riding Ra
Rails4だとCSRF対策が非常に優秀です。 デフォルトで「ApplicationController」には「protect_from_forgery with: :exception」の記述があります。 CSRFの仕組みについては以下の記述が参考になります。 ★RailsのCSRF対策の仕組みについて http://shindolog.hatenablog.com/entry/2014/09/01/013840 また、「protect_from_forgery」については以下の記述が参考になります。 ★Rails 4.0だとCSRFトークンでエラーになる http://qiita.com/naoty_k/items/b40b13735fd7f06f8cb7 そしてこちらですが、安易な「a」タグや外部のサイトからの接続の際に「Can't verify CSRF token authent
Railsはprotect_from_forgeryって書くだけでCSRF対策が有効になってマジ便利なわけだけど、セッションで認証するんじゃなくてiOSから呼ぶAPIとかでトークン使って認証する場合はCSRFの対策いらないので無効にしたい。 その場合は protect_from_forgery with: :null_session ってすればいいらしい。これはCSRF Tokenが一致しなかった場合に例外を投げるんじゃなくてセッションを空にするという動作になる。 ちなみにprotect_from_forgeryのデフォルトは:null_sessionなので protect_from_forgery でもよさそう(Rails 4.0.0現在) ただし最初は以下のようになってるので明示的に変更する必要はある。 class ApplicationController < ActionContr
はじめに 40minくらいでSauce Labsを使ったSelenium無料で体感できます!! トライアル(無料)会員なら2時間/月の自動テストが無料で使える 並列実行は2つまで SauceLabsを使ってすごいなと思ったのは、設定ファイルにドバっと回したいブラウザ書くだけで様々なブラウザを使ってテストしてくれちゃうんです 機材の調達や環境構築は不要!! しかもテスト動画で録画してくれてるので、失敗時の現場検証もラクチン 今回はサンプルなRailsアプリを用意してRspecでテストを動かしますが、wikipediaで検索するだけなのでアプリの中身は何も書きません 事前準備【5min】 Sauce Labsのアカウントを登録 メールが受信できるメールアドレスを取得しておくこと EC2にsmall以上のインスタンスを立てておく 実験環境の構築&必要なものをインストール【25min】 EC2 A
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く