Class: Capybara::Experience
- Inherits:
-
Object
- Object
- Capybara::Experience
show all
- Includes:
- DSL, MinitestContext, RSpecContext
- Defined in:
- lib/capybara/experience.rb,
lib/capybara/experience/pool.rb,
lib/capybara/experience/rails.rb,
lib/capybara/experience/rspec.rb,
lib/capybara/experience/version.rb,
lib/capybara/experience/minitest.rb
Defined Under Namespace
Modules: BehaviorDSL, DSL, MinitestBehaviorDSL, MinitestContext, MinitestHooks, RSpecContext, ScreenshotOverride, UnifySessionPool
Classes: Error, Pool
Constant Summary
collapse
- VERSION =
"0.4.0"
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#expect
Constructor Details
#initialize(test_context = nil, driver_name: nil) ⇒ Experience
Returns a new instance of Experience.
15
16
17
18
|
# File 'lib/capybara/experience.rb', line 15
def initialize(test_context = nil, driver_name: nil)
@test_context = test_context
@driver_name = driver_name
end
|
Instance Attribute Details
#test_context ⇒ Object
Returns the value of attribute test_context.
20
21
22
|
# File 'lib/capybara/experience.rb', line 20
def test_context
@test_context
end
|
Class Method Details
.inherited(subclass) ⇒ Object
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/capybara/experience.rb', line 52
def self.inherited(subclass)
super
return unless subclass.name
method_name = subclass.name.split("::").last
subclass_ref = subclass
DSL.define_method(method_name) do |**kwargs|
subclass_ref.new(self, **kwargs)
end
end
|
.wait_for_pending_requests ⇒ Object
43
44
45
46
47
|
# File 'lib/capybara/experience.rb', line 43
def self.wait_for_pending_requests
Experience::Pool.taken.each do |session|
session.server.try(:wait_for_pending_requests)
end
end
|
Instance Method Details
#driver ⇒ Object
30
31
32
|
# File 'lib/capybara/experience.rb', line 30
def driver
page.driver
end
|
#driver_name ⇒ Object
26
27
28
|
# File 'lib/capybara/experience.rb', line 26
def driver_name
@driver_name ||= Capybara.current_driver
end
|
#page ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/capybara/experience.rb', line 34
def page
@page ||= Experience::Pool.instance.take(driver: driver_name)
Experience::Pool.instance.last_session = @page
Capybara::Screenshot.final_session_name = @page.object_id if defined?(Capybara::Screenshot)
@page
end
|
#reload_page ⇒ Object
22
23
24
|
# File 'lib/capybara/experience.rb', line 22
def reload_page
visit current_url
end
|
#t(*arg) ⇒ Object
10
11
12
|
# File 'lib/capybara/experience.rb', line 10
def t(*arg)
I18n.t(*args)
end
|