apparition 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/capybara/apparition/browser.rb +102 -56
- data/lib/capybara/apparition/browser/header.rb +2 -2
- data/lib/capybara/apparition/browser/window.rb +29 -29
- data/lib/capybara/apparition/configuration.rb +100 -0
- data/lib/capybara/apparition/dev_tools_protocol/remote_object.rb +19 -7
- data/lib/capybara/apparition/dev_tools_protocol/session.rb +2 -3
- data/lib/capybara/apparition/driver.rb +95 -21
- data/lib/capybara/apparition/driver/chrome_client.rb +3 -3
- data/lib/capybara/apparition/driver/launcher.rb +27 -15
- data/lib/capybara/apparition/driver/response.rb +1 -1
- data/lib/capybara/apparition/errors.rb +3 -3
- data/lib/capybara/apparition/node.rb +44 -3
- data/lib/capybara/apparition/node/drag.rb +65 -0
- data/lib/capybara/apparition/page.rb +55 -37
- data/lib/capybara/apparition/page/frame.rb +3 -0
- data/lib/capybara/apparition/page/frame_manager.rb +1 -1
- data/lib/capybara/apparition/page/keyboard.rb +8 -1
- data/lib/capybara/apparition/utility.rb +1 -1
- data/lib/capybara/apparition/version.rb +1 -1
- metadata +5 -6
- data/lib/capybara/apparition/dev_tools_protocol/target.rb +0 -64
- data/lib/capybara/apparition/dev_tools_protocol/target_manager.rb +0 -48
@@ -1,48 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'capybara/apparition/dev_tools_protocol/target'
|
4
|
-
|
5
|
-
module Capybara::Apparition
|
6
|
-
module DevToolsProtocol
|
7
|
-
class TargetManager
|
8
|
-
def initialize(browser)
|
9
|
-
@browser = browser
|
10
|
-
@targets = {}
|
11
|
-
end
|
12
|
-
|
13
|
-
def get(id)
|
14
|
-
@targets[id]
|
15
|
-
end
|
16
|
-
|
17
|
-
def of_type(type)
|
18
|
-
@targets.select { |_id, target| target.info['type'] == type }
|
19
|
-
end
|
20
|
-
|
21
|
-
def add(id, target)
|
22
|
-
raise ArgumentError, 'Target already exists' if @targets.key?(id)
|
23
|
-
|
24
|
-
@targets[id] = if target.is_a? DevToolsProtocol::Target
|
25
|
-
target
|
26
|
-
else
|
27
|
-
DevToolsProtocol::Target.new(@browser, target)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def delete(id)
|
32
|
-
@targets.delete(id)
|
33
|
-
end
|
34
|
-
|
35
|
-
def pages
|
36
|
-
@targets.values.select { |target| target.info['type'] == 'page' }.map(&:page)
|
37
|
-
end
|
38
|
-
|
39
|
-
def target?(id)
|
40
|
-
@targets.key?(id)
|
41
|
-
end
|
42
|
-
|
43
|
-
def window_handles
|
44
|
-
@targets.values.select { |target| target.info['type'] == 'page' }.map(&:id).compact
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|