Skip to content

Instantly share code, notes, and snippets.

@vivahiraj
Created August 5, 2016 14:03
Show Gist options
  • Save vivahiraj/568e4f07445e0c9078c8c59bdd9f355a to your computer and use it in GitHub Desktop.
Save vivahiraj/568e4f07445e0c9078c8c59bdd9f355a to your computer and use it in GitHub Desktop.
汎用capybara+selenium用ファイル
--color
--require spec_helper
development:
adapter: sqlserver
dataserver: sample-srv
database: test-db
username: test
password: test_passwd
# coding: utf-8
FactoryGirl.define do
factory :item do
code "TEST-ITEM123"
name "テスト商品123"
amount 1000
end
end
gem "selenium-webdriver"
gem "capybara"
gem "rspec"
gem "rack"
gem "database_cleaner"
gem "factory_girl"
gem "activerecord"
gem "activerecord-sqlserver-adapter"
gem "activesupport"
gem "tiny_tds"
# coding: utf-8
class Item < ActiveRecord::Base
self.table_name = "shohin_mst"
end
# coding: utf-8
describe "rubyでできてないサイトのテスト", type: :feature, js: true do
before do
Capybara.app_host = 'http://test.hogehoge.co.jp/'
create(:item)
visit '/item_list.aspx'
end
it "商品情報が表示される" do
expect(page).to have_content("テスト商品123")
end
it "商品の値段が表示される" do
expect(page).to have_content("¥1,000(税別)")
end
end
# coding: utf-8
require 'rubygems'
require 'capybara/rspec'
require 'selenium-webdriver'
require 'active_record'
require 'active_support/core_ext'
require 'yaml'
require 'database_cleaner'
require 'factory_girl'
# DBへの接続
dbf = File.dirname(__FILE__) + "/../config/database.yml"
dbconfig = YAML::load(File.open(dbf))
ActiveRecord::Base.establish_connection(dbconfig['development'])
# ajaxの通信などで待ちが発生する場合の最大待ち時間
Capybara.default_max_wait_time = 30
# Capybaraにselenium(ie)を使うように設定
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app, :browser => :ie)
end
Capybara.default_driver = :selenium
# データベースに初期値などを設定するためのActiveRecordモデルをrequireする
Dir[File.dirname(__FILE__) + '/models/*.rb'].each { |file| require file }
RSpec.configure do |config|
config.include Capybara::DSL
#factroy_girlの設定
config.include FactoryGirl::Syntax::Methods
config.before(:all) do
FactoryGirl.reload
end
#database_cleanerの設定
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment