Skip to content
This repository was archived by the owner on Dec 21, 2022. It is now read-only.

[WIP] Chrome #5

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions intransient_capybara.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,9 @@ Gem::Specification.new do |spec|
spec.test_files = spec.files.grep(%r{^(test|s|features)/})

spec.add_dependency 'capybara', '~> 2.10'
spec.add_dependency 'poltergeist', '~> 1.11'
spec.add_dependency 'phantomjs', '~> 2.1'
spec.add_dependency 'atomic', '~> 1.1'
spec.add_dependency 'selenium-webdriver'
spec.add_dependency 'minitest', '~> 5.8'
spec.add_dependency 'concurrent-ruby'

spec.add_development_dependency "bundler", "~> 1.10"
spec.add_development_dependency "rake", "~> 10.0"
Expand Down
2 changes: 1 addition & 1 deletion lib/intransient_capybara/intransient_capybara_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def report_traffic
end

def resize_window_by(size)
page.driver.resize size[0], size[1]
page.driver.browser.manage.window.resize_to size[0], size[1]
end

end
18 changes: 6 additions & 12 deletions lib/intransient_capybara/intransient_capybara_test.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
require "capybara/rails"
require "capybara/poltergeist"
require 'atomic'
require 'concurrent/atomics'

class IntransientCapybaraTest < ActionDispatch::IntegrationTest
extend Minitest::OptionalRetry
Expand All @@ -12,12 +11,8 @@ class IntransientCapybaraTest < ActionDispatch::IntegrationTest
cattr_writer :default_window_size
cattr_writer :cache_warmup_path

@@warm_asset_cache = Atomic.new(false)
@@warming_asset_cache = Atomic.new(false)

Capybara.default_max_wait_time = 10
Capybara.current_driver = :poltergeist
Capybara.javascript_driver = :poltergeist
@@warm_asset_cache = Concurrent::AtomicReference.new(false)
@@warming_asset_cache = Concurrent::AtomicReference.new(false)

def setup
super
Expand All @@ -28,9 +23,10 @@ def setup
puts 'I am in capybara setup method'
end

page.driver.browser.url_blacklist = self.class.blacklisted_urls
# page.driver.browser.url_blacklist = self.class.blacklisted_urls
WebMock.disable_net_connect!(allow: self.class.blacklisted_urls)

resize_window_by default_window_size
# resize_window_by default_window_size

warm_asset_cache

Expand All @@ -50,9 +46,7 @@ def teardown
teardown_wait_for_requests_complete!

report_traffic
page.driver.clear_network_traffic

page.driver.clear_cookies
Capybara.reset_sessions!

super
Expand Down
4 changes: 2 additions & 2 deletions lib/intransient_capybara/minitest_retry.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Adapted from https://github.com/appfolio/minitest-optional_retry/blob/master/lib/minitest/optional_retry.rb
require 'minitest'
require 'atomic'
require 'concurrent/atomics'

module Minitest
module OptionalRetry

GLOBAL_RETRY_LIMIT = 25
@@global_retry_count = Atomic.new(0)
@@global_retry_count = Concurrent::AtomicReference.new(0)

def run_one_method(klass, method_name, reporter)
first_result = nil
Expand Down
6 changes: 3 additions & 3 deletions lib/intransient_capybara/rack_request_blocker.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
require 'atomic'
require 'concurrent/atomics'

# Rack middleware that keeps track of the number of active requests and can block new requests.
class RackRequestBlocker

@@num_active_requests = Atomic.new(0)
@@block_requests = Atomic.new(false)
@@num_active_requests = Concurrent::AtomicReference.new(0)
@@block_requests = Concurrent::AtomicReference.new(false)

# Returns the number of requests the server is currently processing.
def self.num_active_requests
Expand Down
2 changes: 1 addition & 1 deletion lib/intransient_capybara/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module IntransientCapybara
VERSION = "1.0.3"
VERSION = "1.0.9.pre"
end