SEROKU は2021年2月12日を以てサービス終了しました。 これまでのご利用ありがとうございました HAKARERU につきまして引き続きサービスを継続しています Tweets by SerokuFreelance
capybaraはWebアプリケーションのテスト用のライブラリとして有名ですが、テスト目的でなく、単にスクレイピング用のツールとしても使えます。この記事ではcapybara+selenium+chromeヘッドレスを使用してWebページをスクレイピングするサンプルを紹介します。 動作環境 Mac OS High Sierra 10.13 ruby 2.5 capybaraのセットアップ まずはcapybaraのセットアップからです。selenium-webdriver経由でヘッドレスchromeを操れるように設定します。最初に必要なライブラリをhomebrewでインストールしておきます。 📄Gemfile $ brew install chromedriver 次に必要なgemをインストールするため、Gemfileを作ります。 source "https://rubygems.org"
Speee エンジニア組織推進室の服部 (yhatt) です。 みなさん E2E テストされていますでしょうか。弊社の Ruby on Rails プロダクトにおいては、RSpec、Capybara、 Poltergeist を組み合わせ、 feature spec で E2E テストを行う構成が一般的でした。 そんな中、Chrome 59 に ヘッドレスモード (--headless) が搭載 されたことで、テストや CI 環境において、最新の Chrome 環境による E2E テストを実施できるようになりました。それに合わせて、PhantomJS のコアメンテナーがメンテナーを降りる ことを発表し、PhantomJS のアップデートや、継続的サポートは期待できない状況となっています。 ヘッドレス Chrome ことはじめ | Web | Google Developers [A
はじめに Debianにインストールする方法とほぼ同じ ラズパイはスペックが低いのでインストールにすごい数時間かかる場合もあるので気長にやること 前提条件 本体: Raspberry Pi 1 Model B+ メモリーカード: 8GB OS: Raspbian最新版インストール済み rbenvのインストール rbenvのインストールして設定をbashの設定ファイルに書き込む, zshなど使う場合はそれぞれに合わせること > sudo apt-get install rbenv > echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> .bashrc > echo 'eval "$(rbenv init -)"' >> .bashrc
Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req
目的 以下のようなことがやりたかったので、その実現方法のメモです。 cronで実行されるrakeタスクの実行ログを、そのバッチ専用のログファイルに出力 手動でバッチ実行したときのために、標準出力にも同じ内容を出力 予期せぬ例外が発生したときのエラー内容もログファイルに記録 1. バッチ専用のログファイルに出力 単純にRails.loggerを使うと、Controllerなどが出力するアプリケーションログもバッチのログもすべて同じファイルに出力されてしまいます(log/production.logなど)。 それらを区別してバッチの実行ログを確認しやすいようにするため、個別のログファイルに出力します。 ファイル名の指定 以下でlog/batch.logに出力されます。 logger = ActiveSupport::Logger.new(Rails.root.join("log/batch.l
「RubyのString(文字列)の使い方を知りたい」 「文字列の分割、検索、変換、置換、抽出、削除などを行いたい」 文字列の定義 RubyのStringクラスは文字列を表すオブジェクトです。 Rubyで文字列を定置する方法は簡単です。 基本的には変数を定義してイコール(=)で指定した文字列を代入すればOKです。 文字列の指定はダブルクオーテーション(“”)で文字列を囲って定義する必要があります。 変数 = ”文字列” 実際に文字列の定義方法を見てみましょう str1 = "samurai" str2 = "engineer" p str1 p str2 このプログラムを実行すると、以下のように出力されます。 samurai engineer 次項からはそんなRubyの文字列について、さまざまな文字列操作のメソッドを紹介します! 比較 ==(同じ文字列かどうか調べる) 文字列と文字列を比較
RubyからADO経由でMicrosoft Accessのデータベース(mdb,accdbファイル)を操作します。実行環境は、以下です。 accdbのコンポーネントがインストールされてない場合は、Microsoft Access データベース エンジン 2010 再頒布可能コンポーネントより 「AccessDatabaseEngine.exe」をダウンロードしインストールします。 下記例は、変数imdb_accdbが0の場合はmdbとして、1の場合はaccdbとして動作します。プログラムと同じフォルダ内にデータベース ファイルが存在しない場合は作成されます。 Rubyによるmdb,accdbファイル使用例(ADO Windows用) # -*- coding: Windows-31j -*- # mdb,accdb 例 require 'win32ole' imdb_accdb = 0 #
RubyにはGemと呼ばれるサードパーティのライブラリが豊富に存在します。 Gemは大変便利なもので、こういう機能ほしいなと思った際に The Ruby Toolbox や RubyGems.org や Google で検索すると大抵誰かがその機能を持ったGemを作っていたりします。 gemを利用するのも、RubyGems.orgに登録されているものならば と入力することで利用可能となります。 Gemはだれでも簡単に開発でき、審査無しですぐに公開できるため、日々大量のGemたちがRubyGems.orgに登録されています。反面、長年保守されていないGemや品質の低いGemも大量にRubyGems.orgに登録されているのが現状です。 同じ機能を持ったGemも大量に登録されていたりして、どのライブラリを利用してよいのか迷う事も多々あります。 今回は弊社プロジェクトで実際に利用している、便利な
A PDF generation tools for Ruby, with design tool for editing templates. Thinreports Thinreports is a PDF generation tool that provides Thinreports Basic Editor and Thinreports Section Editor, a design tool for editing templates, and Thinreports Generator, a Ruby library for generating PDFs. Getting Started Thinreports allows you to create PDF layouts using the Thinreports Editor, and then load th
Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :
rbenvはRubyのバージョンを管理してくれるので便利で、且つ一度設定すると、コマンドを打つ必要がなかったります。 おかげで、何か新しいことをやるたびに(サーバーを新しく構築したり、新しいRubyのバージョンを試したかったり)コマンドを調べなおしたりしてしまうので、まとめてみました。 環境 OS CentOS 6.5 root権限で行ってください OS上の全ユーザがrbenvを使えるようになることを前提としています。 gitを使えるようにする # yum install git rbenvをインストールするパスを設定する /etc/profile.d/rbenv.shを以下の内容で作成する。
はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第4回です。 今回はCapybaraを使ったフィーチャスペックについて説明します。 ただし、今までの記事とは異なり、フィーチャスペックのイロハよりも「Capybaraの使い方」に重点を置きます。 なぜなら、僕個人の経験からいって、フィーチャスペックで困るのは「このブラウザの操作って、どうやってコードで表現するの??」というケースが大半だからです。 それ以外は第1回~第3回の内容をそのまま応用できるので、特に「フィーチャスペックだから困る」ということはないと思います。 今回は説明する主な項目は以下の通りです。 フィーチャスペックの基本 ページの移動や画面のクリック、フォームの操作など 画面やフォームの検証 画面の操作や検証の応用テクニック その他
はじめに: 遠回りせずに「近道」を探す RubyやRailsを始めたばかりの人は、もっと短く書く方法や便利な標準ライブラリの存在を知らずに遠回りした書き方をしてしまいがちです。 そこで、RubyやRails初心者の人によく見かける「遠回り(または車輪の再発明)」と、それを回避する「近道」をいろいろ集めてみました。 2013.11.06 追記 この投稿を書くに至った経緯などを自分のブログに書きました。 こちらも合わせてどうぞ! 昨日Qiitaに投稿した記事は普段のコードレビューの副産物 - give IT a try Ruby編 以下はRubyの標準機能を使ったイディオムやメソッドです。 Railsプロジェクトでもそれ以外でも使えます。(Ruby 1.9以上を想定) 後置ifで行数を減らす
id:joker1007 さんに触発されました。 Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。 1年間で10個以上アプリやgemを作っている中でよく使うgemをまとめてみます Railsアプリ(rails new した直後に必ず入れる) annotate https://github.com/ctran/annotate_models modelのソースの先頭にテーブルのスキーマ情報を付加してくれるgem。いちいちschema.rbを見に行く必要がなくなるので超ベンリ こんな感じ # == Schema Information # # Table name: plugins # # id :integer not null, primary key # name :string # title :string # version :string #
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く