Module: E2E
- Defined in:
- lib/e2e.rb,
lib/e2e/dsl.rb,
lib/e2e/rails.rb,
lib/e2e/driver.rb,
lib/e2e/server.rb,
lib/e2e/element.rb,
lib/e2e/session.rb,
lib/e2e/version.rb,
lib/e2e/minitest.rb,
lib/e2e/assertions.rb,
lib/e2e/drivers/playwright.rb,
sig/e2e.rbs
Defined Under Namespace
Modules: Assertions, DSL, Drivers, Minitest, Rails
Classes: Config, Driver, Element, Error, Server, Session
Constant Summary
collapse
- VERSION =
"0.7.1"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
29
30
31
|
# File 'lib/e2e.rb', line 29
def config
@config ||= Config.new
end
|
25
26
27
|
# File 'lib/e2e.rb', line 25
def configure
yield(config)
end
|
.enable_shared_connection! ⇒ Object
.reset_session! ⇒ Object
20
21
22
23
|
# File 'lib/e2e.rb', line 20
def reset_session!
@session&.quit
@session = nil
end
|
.server ⇒ Object
33
34
35
36
37
38
39
|
# File 'lib/e2e.rb', line 33
def server
@server ||= if config.app
srv = Server.new(config.app)
srv.start
srv
end
end
|
.session ⇒ Object
16
17
18
|
# File 'lib/e2e.rb', line 16
def session
@session ||= Session.new
end
|
.stop_server! ⇒ Object
41
42
43
44
|
# File 'lib/e2e.rb', line 41
def stop_server!
@server&.stop
@server = nil
end
|
.wait_until(timeout: config.wait_timeout, interval: 0.05) ⇒ Object
Retry a block until it returns truthy or timeout is reached
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/e2e.rb', line 48
def self.wait_until(timeout: config.wait_timeout, interval: 0.05)
deadline = Process.clock_gettime(Process::CLOCK_MONOTONIC) + timeout
loop do
result = yield
return result if result
if Process.clock_gettime(Process::CLOCK_MONOTONIC) >= deadline
return false
end
sleep interval
end
end
|