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/vite_assets.rb,
lib/e2e/drivers/playwright.rb,
sig/e2e.rbs
Defined Under Namespace
Modules: Assertions, DSL, Drivers, Minitest, Rails, ViteAssets
Classes: Config, Driver, Element, Error, Server, Session
Constant Summary
collapse
- VERSION =
"0.7.2"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
30
31
32
|
# File 'lib/e2e.rb', line 30
def config
@config ||= Config.new
end
|
26
27
28
|
# File 'lib/e2e.rb', line 26
def configure
yield(config)
end
|
.enable_shared_connection! ⇒ Object
.reset_session! ⇒ Object
21
22
23
24
|
# File 'lib/e2e.rb', line 21
def reset_session!
@session&.quit
@session = nil
end
|
.server ⇒ Object
34
35
36
37
38
39
40
|
# File 'lib/e2e.rb', line 34
def server
@server ||= if config.app
srv = Server.new(config.app)
srv.start
srv
end
end
|
.session ⇒ Object
17
18
19
|
# File 'lib/e2e.rb', line 17
def session
@session ||= Session.new
end
|
.stop_server! ⇒ Object
42
43
44
45
|
# File 'lib/e2e.rb', line 42
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
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/e2e.rb', line 49
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
|