playwright-ruby-client 0.3.0 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -5
  3. data/docs/api_coverage.md +14 -25
  4. data/lib/playwright/channel.rb +19 -9
  5. data/lib/playwright/channel_owners/artifact.rb +30 -0
  6. data/lib/playwright/channel_owners/browser.rb +21 -0
  7. data/lib/playwright/channel_owners/browser_context.rb +5 -0
  8. data/lib/playwright/channel_owners/browser_type.rb +28 -0
  9. data/lib/playwright/channel_owners/element_handle.rb +1 -1
  10. data/lib/playwright/channel_owners/frame.rb +25 -2
  11. data/lib/playwright/channel_owners/js_handle.rb +2 -2
  12. data/lib/playwright/channel_owners/page.rb +78 -15
  13. data/lib/playwright/channel_owners/playwright.rb +22 -29
  14. data/lib/playwright/channel_owners/stream.rb +15 -0
  15. data/lib/playwright/connection.rb +11 -32
  16. data/lib/playwright/download.rb +27 -0
  17. data/lib/playwright/errors.rb +6 -0
  18. data/lib/playwright/events.rb +2 -5
  19. data/lib/playwright/keyboard_impl.rb +1 -1
  20. data/lib/playwright/mouse_impl.rb +41 -0
  21. data/lib/playwright/route_handler_entry.rb +1 -9
  22. data/lib/playwright/transport.rb +27 -6
  23. data/lib/playwright/url_matcher.rb +1 -1
  24. data/lib/playwright/utils.rb +8 -0
  25. data/lib/playwright/version.rb +1 -1
  26. data/lib/playwright/video.rb +51 -0
  27. data/lib/playwright/wait_helper.rb +2 -2
  28. data/lib/playwright.rb +47 -9
  29. data/lib/playwright_api/accessibility.rb +39 -1
  30. data/lib/playwright_api/android.rb +10 -10
  31. data/lib/playwright_api/android_device.rb +10 -9
  32. data/lib/playwright_api/browser.rb +83 -8
  33. data/lib/playwright_api/browser_context.rb +163 -15
  34. data/lib/playwright_api/browser_type.rb +35 -4
  35. data/lib/playwright_api/console_message.rb +6 -6
  36. data/lib/playwright_api/dialog.rb +28 -8
  37. data/lib/playwright_api/element_handle.rb +111 -37
  38. data/lib/playwright_api/file_chooser.rb +5 -0
  39. data/lib/playwright_api/frame.rb +228 -37
  40. data/lib/playwright_api/js_handle.rb +26 -3
  41. data/lib/playwright_api/keyboard.rb +48 -1
  42. data/lib/playwright_api/mouse.rb +26 -5
  43. data/lib/playwright_api/page.rb +456 -48
  44. data/lib/playwright_api/playwright.rb +26 -9
  45. data/lib/playwright_api/request.rb +34 -6
  46. data/lib/playwright_api/response.rb +8 -8
  47. data/lib/playwright_api/route.rb +30 -6
  48. data/lib/playwright_api/selectors.rb +32 -6
  49. data/lib/playwright_api/touchscreen.rb +1 -1
  50. data/lib/playwright_api/worker.rb +25 -1
  51. data/playwright.gemspec +4 -2
  52. metadata +37 -14
  53. data/lib/playwright/channel_owners/chromium_browser.rb +0 -8
  54. data/lib/playwright/channel_owners/chromium_browser_context.rb +0 -8
  55. data/lib/playwright/channel_owners/download.rb +0 -27
  56. data/lib/playwright/channel_owners/firefox_browser.rb +0 -8
  57. data/lib/playwright/channel_owners/webkit_browser.rb +0 -8
  58. data/lib/playwright_api/binding_call.rb +0 -32
  59. data/lib/playwright_api/chromium_browser_context.rb +0 -59
  60. data/lib/playwright_api/download.rb +0 -95
  61. data/lib/playwright_api/video.rb +0 -24
@@ -15,6 +15,23 @@ module Playwright
15
15
  # })();
16
16
  # ```
17
17
  #
18
+ # ```java
19
+ # import com.microsoft.playwright.*;
20
+ #
21
+ # public class Example {
22
+ # public static void main(String[] args) {
23
+ # try (Playwright playwright = Playwright.create()) {
24
+ # BrowserType chromium = playwright.chromium();
25
+ # Browser browser = chromium.launch();
26
+ # Page page = browser.newPage();
27
+ # page.navigate("http://example.com");
28
+ # // other actions...
29
+ # browser.close();
30
+ # }
31
+ # }
32
+ # }
33
+ # ```
34
+ #
18
35
  # ```python async
19
36
  # import asyncio
20
37
  # from playwright.async_api import async_playwright
@@ -49,7 +66,7 @@ module Playwright
49
66
  # ```
50
67
  class Playwright < PlaywrightApi
51
68
 
52
- # This object can be used to launch or connect to Chromium, returning instances of `ChromiumBrowser`.
69
+ # This object can be used to launch or connect to Chromium, returning instances of `Browser`.
53
70
  def chromium # property
54
71
  wrap_impl(@impl.chromium)
55
72
  end
@@ -113,7 +130,7 @@ module Playwright
113
130
  wrap_impl(@impl.devices)
114
131
  end
115
132
 
116
- # This object can be used to launch or connect to Firefox, returning instances of `FirefoxBrowser`.
133
+ # This object can be used to launch or connect to Firefox, returning instances of `Browser`.
117
134
  def firefox # property
118
135
  wrap_impl(@impl.firefox)
119
136
  end
@@ -124,7 +141,7 @@ module Playwright
124
141
  wrap_impl(@impl.selectors)
125
142
  end
126
143
 
127
- # This object can be used to launch or connect to WebKit, returning instances of `WebKitBrowser`.
144
+ # This object can be used to launch or connect to WebKit, returning instances of `Browser`.
128
145
  def webkit # property
129
146
  wrap_impl(@impl.webkit)
130
147
  end
@@ -159,12 +176,6 @@ module Playwright
159
176
  wrap_impl(@impl.electron)
160
177
  end
161
178
 
162
- # -- inherited from EventEmitter --
163
- # @nodoc
164
- def off(event, callback)
165
- event_emitter_proxy.off(event, callback)
166
- end
167
-
168
179
  # -- inherited from EventEmitter --
169
180
  # @nodoc
170
181
  def once(event, callback)
@@ -177,6 +188,12 @@ module Playwright
177
188
  event_emitter_proxy.on(event, callback)
178
189
  end
179
190
 
191
+ # -- inherited from EventEmitter --
192
+ # @nodoc
193
+ def off(event, callback)
194
+ event_emitter_proxy.off(event, callback)
195
+ end
196
+
180
197
  private def event_emitter_proxy
181
198
  @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
182
199
  end
@@ -25,6 +25,12 @@ module Playwright
25
25
  # });
26
26
  # ```
27
27
  #
28
+ # ```java
29
+ # page.onRequestFailed(request -> {
30
+ # System.out.println(request.url() + " " + request.failure());
31
+ # });
32
+ # ```
33
+ #
28
34
  # ```py
29
35
  # page.on("requestfailed", lambda request: print(request.url + " " + request.failure))
30
36
  # ```
@@ -84,6 +90,11 @@ module Playwright
84
90
  # console.log(response.request().redirectedFrom().url()); // 'http://example.com'
85
91
  # ```
86
92
  #
93
+ # ```java
94
+ # Response response = page.navigate("http://example.com");
95
+ # System.out.println(response.request().redirectedFrom().url()); // "http://example.com"
96
+ # ```
97
+ #
87
98
  # ```python async
88
99
  # response = await page.goto("http://example.com")
89
100
  # print(response.request.redirected_from.url) # "http://example.com"
@@ -102,6 +113,11 @@ module Playwright
102
113
  # console.log(response.request().redirectedFrom()); // null
103
114
  # ```
104
115
  #
116
+ # ```java
117
+ # Response response = page.navigate("https://google.com");
118
+ # System.out.println(response.request().redirectedFrom()); // null
119
+ # ```
120
+ #
105
121
  # ```python async
106
122
  # response = await page.goto("https://google.com")
107
123
  # print(response.request.redirected_from) # None
@@ -124,6 +140,10 @@ module Playwright
124
140
  # console.log(request.redirectedFrom().redirectedTo() === request); // true
125
141
  # ```
126
142
  #
143
+ # ```java
144
+ # System.out.println(request.redirectedFrom().redirectedTo() == request); // true
145
+ # ```
146
+ #
127
147
  # ```py
128
148
  # assert request.redirected_from.redirected_to == request
129
149
  # ```
@@ -156,6 +176,14 @@ module Playwright
156
176
  # console.log(request.timing());
157
177
  # ```
158
178
  #
179
+ # ```java
180
+ # page.onRequestFinished(request -> {
181
+ # Timing timing = request.timing();
182
+ # System.out.println(timing.responseEnd - timing.startTime);
183
+ # });
184
+ # page.navigate("http://example.com");
185
+ # ```
186
+ #
159
187
  # ```python async
160
188
  # async with page.expect_event("requestfinished") as request_info:
161
189
  # await page.goto("http://example.com")
@@ -178,12 +206,6 @@ module Playwright
178
206
  wrap_impl(@impl.url)
179
207
  end
180
208
 
181
- # -- inherited from EventEmitter --
182
- # @nodoc
183
- def off(event, callback)
184
- event_emitter_proxy.off(event, callback)
185
- end
186
-
187
209
  # -- inherited from EventEmitter --
188
210
  # @nodoc
189
211
  def once(event, callback)
@@ -196,6 +218,12 @@ module Playwright
196
218
  event_emitter_proxy.on(event, callback)
197
219
  end
198
220
 
221
+ # -- inherited from EventEmitter --
222
+ # @nodoc
223
+ def off(event, callback)
224
+ event_emitter_proxy.off(event, callback)
225
+ end
226
+
199
227
  private def event_emitter_proxy
200
228
  @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
201
229
  end
@@ -59,20 +59,14 @@ module Playwright
59
59
  wrap_impl(@impl.url)
60
60
  end
61
61
 
62
- # @nodoc
63
- def ok?
64
- wrap_impl(@impl.ok?)
65
- end
66
-
67
62
  # @nodoc
68
63
  def after_initialize
69
64
  wrap_impl(@impl.after_initialize)
70
65
  end
71
66
 
72
- # -- inherited from EventEmitter --
73
67
  # @nodoc
74
- def off(event, callback)
75
- event_emitter_proxy.off(event, callback)
68
+ def ok?
69
+ wrap_impl(@impl.ok?)
76
70
  end
77
71
 
78
72
  # -- inherited from EventEmitter --
@@ -87,6 +81,12 @@ module Playwright
87
81
  event_emitter_proxy.on(event, callback)
88
82
  end
89
83
 
84
+ # -- inherited from EventEmitter --
85
+ # @nodoc
86
+ def off(event, callback)
87
+ event_emitter_proxy.off(event, callback)
88
+ end
89
+
90
90
  private def event_emitter_proxy
91
91
  @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
92
92
  end
@@ -23,6 +23,16 @@ module Playwright
23
23
  # });
24
24
  # ```
25
25
  #
26
+ # ```java
27
+ # page.route("**/*", route -> {
28
+ # // Override headers
29
+ # Map<String, String> headers = new HashMap<>(route.request().headers());
30
+ # headers.put("foo", "bar"); // set "foo" header
31
+ # headers.remove("origin"); // remove "origin" header
32
+ # route.resume(new Route.ResumeOptions().setHeaders(headers));
33
+ # });
34
+ # ```
35
+ #
26
36
  # ```python async
27
37
  # async def handle(route, request):
28
38
  # # override headers
@@ -67,6 +77,15 @@ module Playwright
67
77
  # });
68
78
  # ```
69
79
  #
80
+ # ```java
81
+ # page.route("**/*", route -> {
82
+ # route.fulfill(new Route.FulfillOptions()
83
+ # .setStatus(404)
84
+ # .setContentType("text/plain")
85
+ # .setBody("Not Found!"));
86
+ # });
87
+ # ```
88
+ #
70
89
  # ```python async
71
90
  # await page.route("**/*", lambda route: route.fulfill(
72
91
  # status=404,
@@ -88,6 +107,11 @@ module Playwright
88
107
  # await page.route('**/xhr_endpoint', route => route.fulfill({ path: 'mock_data.json' }));
89
108
  # ```
90
109
  #
110
+ # ```java
111
+ # page.route("**/xhr_endpoint", route -> route.fulfill(
112
+ # new Route.FulfillOptions().setPath(Paths.get("mock_data.json")));
113
+ # ```
114
+ #
91
115
  # ```python async
92
116
  # await page.route("**/xhr_endpoint", lambda route: route.fulfill(path="mock_data.json"))
93
117
  # ```
@@ -109,12 +133,6 @@ module Playwright
109
133
  wrap_impl(@impl.request)
110
134
  end
111
135
 
112
- # -- inherited from EventEmitter --
113
- # @nodoc
114
- def off(event, callback)
115
- event_emitter_proxy.off(event, callback)
116
- end
117
-
118
136
  # -- inherited from EventEmitter --
119
137
  # @nodoc
120
138
  def once(event, callback)
@@ -127,6 +145,12 @@ module Playwright
127
145
  event_emitter_proxy.on(event, callback)
128
146
  end
129
147
 
148
+ # -- inherited from EventEmitter --
149
+ # @nodoc
150
+ def off(event, callback)
151
+ event_emitter_proxy.off(event, callback)
152
+ end
153
+
130
154
  private def event_emitter_proxy
131
155
  @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
132
156
  end
@@ -41,6 +41,32 @@ module Playwright
41
41
  # })();
42
42
  # ```
43
43
  #
44
+ # ```java
45
+ # // Script that evaluates to a selector engine instance.
46
+ # String createTagNameEngine = "{\n" +
47
+ # " // Returns the first element matching given selector in the root's subtree.\n" +
48
+ # " query(root, selector) {\n" +
49
+ # " return root.querySelector(selector);\n" +
50
+ # " },\n" +
51
+ # " // Returns all elements matching given selector in the root's subtree.\n" +
52
+ # " queryAll(root, selector) {\n" +
53
+ # " return Array.from(root.querySelectorAll(selector));\n" +
54
+ # " }\n" +
55
+ # "}";
56
+ # // Register the engine. Selectors will be prefixed with "tag=".
57
+ # playwright.selectors().register("tag", createTagNameEngine);
58
+ # Browser browser = playwright.firefox().launch();
59
+ # Page page = browser.newPage();
60
+ # page.setContent("<div><button>Click me</button></div>");
61
+ # // Use the selector prefixed with its name.
62
+ # ElementHandle button = page.querySelector("tag=button");
63
+ # // Combine it with other selector engines.
64
+ # page.click("tag=div >> text=\"Click me\"");
65
+ # // Can use it in any methods supporting selectors.
66
+ # int buttonCount = (int) page.evalOnSelectorAll("tag=button", "buttons => buttons.length");
67
+ # browser.close();
68
+ # ```
69
+ #
44
70
  # ```python async
45
71
  # # FIXME: add snippet
46
72
  # ```
@@ -52,12 +78,6 @@ module Playwright
52
78
  wrap_impl(@impl.register(unwrap_impl(name), contentScript: unwrap_impl(contentScript), path: unwrap_impl(path), script: unwrap_impl(script)))
53
79
  end
54
80
 
55
- # -- inherited from EventEmitter --
56
- # @nodoc
57
- def off(event, callback)
58
- event_emitter_proxy.off(event, callback)
59
- end
60
-
61
81
  # -- inherited from EventEmitter --
62
82
  # @nodoc
63
83
  def once(event, callback)
@@ -70,6 +90,12 @@ module Playwright
70
90
  event_emitter_proxy.on(event, callback)
71
91
  end
72
92
 
93
+ # -- inherited from EventEmitter --
94
+ # @nodoc
95
+ def off(event, callback)
96
+ event_emitter_proxy.off(event, callback)
97
+ end
98
+
73
99
  private def event_emitter_proxy
74
100
  @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
75
101
  end
@@ -1,6 +1,6 @@
1
1
  module Playwright
2
2
  # The Touchscreen class operates in main-frame CSS pixels relative to the top-left corner of the viewport. Methods on the
3
- # touchscreen can only be used in browser contexts that have been intialized with `hasTouch` set to true.
3
+ # touchscreen can only be used in browser contexts that have been initialized with `hasTouch` set to true.
4
4
  class Touchscreen < PlaywrightApi
5
5
 
6
6
  # Dispatches a `touchstart` and `touchend` event with a single touch at the position (`x`,`y`).
@@ -15,6 +15,16 @@ module Playwright
15
15
  # console.log(' ' + worker.url());
16
16
  # ```
17
17
  #
18
+ # ```java
19
+ # page.onWorker(worker -> {
20
+ # System.out.println("Worker created: " + worker.url());
21
+ # worker.onClose(worker1 -> System.out.println("Worker destroyed: " + worker1.url()));
22
+ # });
23
+ # System.out.println("Current workers:");
24
+ # for (Worker worker : page.workers())
25
+ # System.out.println(" " + worker.url());
26
+ # ```
27
+ #
18
28
  # ```py
19
29
  # def handle_worker(worker):
20
30
  # print("worker created: " + worker.url)
@@ -26,6 +36,20 @@ module Playwright
26
36
  # for worker in page.workers:
27
37
  # print(" " + worker.url)
28
38
  # ```
39
+ #
40
+ # ```csharp
41
+ # Page.Worker += (_, worker) =>
42
+ # {
43
+ # Console.WriteLine($"Worker created: {worker.Url}");
44
+ # worker.Close += (_, _) => Console.WriteLine($"Worker closed {worker.Url}");
45
+ # };
46
+ #
47
+ # Console.WriteLine("Current Workers:");
48
+ # foreach(var pageWorker in Page.Workers)
49
+ # {
50
+ # Console.WriteLine($"\tWorker: {pageWorker.Url}");
51
+ # }
52
+ # ```
29
53
  class Worker < PlaywrightApi
30
54
 
31
55
  # Returns the return value of `expression`.
@@ -34,7 +58,7 @@ module Playwright
34
58
  # wait for the promise to resolve and return its value.
35
59
  #
36
60
  # If the function passed to the [`method: Worker.evaluate`] returns a non-[Serializable] value, then
37
- # [`method: Worker.evaluate`] returns `undefined`. Playwright also supports transferring some additional values that are
61
+ # [`method: Worker.evaluate`] returns `undefined`. Playwright also supports transferring some additional values that are
38
62
  # not serializable by `JSON`: `-0`, `NaN`, `Infinity`, `-Infinity`.
39
63
  def evaluate(expression, arg: nil)
40
64
  raise NotImplementedError.new('evaluate is not implemented yet.')
data/playwright.gemspec CHANGED
@@ -17,20 +17,22 @@ Gem::Specification.new do |spec|
17
17
 
18
18
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
19
  `git ls-files -z`.split("\x0").reject do |f|
20
- f.match(%r{^(test|spec|features)/}) || f.include?(".git") || f.start_with?("development/")
20
+ f.match(%r{^(test|spec|features)/}) || f.include?(".git") || f.include?(".circleci") || f.start_with?("development/")
21
21
  end
22
22
  end + `find lib/playwright_api -name *.rb -type f`.split("\n")
23
23
  spec.bindir = 'exe'
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ['lib']
26
26
 
27
- spec.add_dependency 'concurrent-ruby'
27
+ spec.add_dependency 'concurrent-ruby', '>= 1.1.6'
28
28
  spec.add_dependency 'mime-types', '>= 3.0'
29
29
  spec.add_development_dependency 'bundler', '~> 2.2.3'
30
+ spec.add_development_dependency 'chunky_png'
30
31
  spec.add_development_dependency 'dry-inflector'
31
32
  spec.add_development_dependency 'pry-byebug'
32
33
  spec.add_development_dependency 'rake', '~> 13.0.3'
33
34
  spec.add_development_dependency 'rspec', '~> 3.10.0 '
35
+ spec.add_development_dependency 'rspec_junit_formatter' # for CircleCI.
34
36
  spec.add_development_dependency 'rubocop', '~> 1.7.0'
35
37
  spec.add_development_dependency 'rubocop-rspec'
36
38
  spec.add_development_dependency 'sinatra'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playwright-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-06 00:00:00.000000000 Z
11
+ date: 2021-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.1.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 1.1.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mime-types
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.2.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: chunky_png
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: dry-inflector
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +122,20 @@ dependencies:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
124
  version: 3.10.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec_junit_formatter
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: rubocop
113
141
  requirement: !ruby/object:Gem::Requirement
@@ -187,18 +215,15 @@ files:
187
215
  - lib/playwright/channel_owner.rb
188
216
  - lib/playwright/channel_owners/android.rb
189
217
  - lib/playwright/channel_owners/android_device.rb
218
+ - lib/playwright/channel_owners/artifact.rb
190
219
  - lib/playwright/channel_owners/binding_call.rb
191
220
  - lib/playwright/channel_owners/browser.rb
192
221
  - lib/playwright/channel_owners/browser_context.rb
193
222
  - lib/playwright/channel_owners/browser_type.rb
194
- - lib/playwright/channel_owners/chromium_browser.rb
195
- - lib/playwright/channel_owners/chromium_browser_context.rb
196
223
  - lib/playwright/channel_owners/console_message.rb
197
224
  - lib/playwright/channel_owners/dialog.rb
198
- - lib/playwright/channel_owners/download.rb
199
225
  - lib/playwright/channel_owners/electron.rb
200
226
  - lib/playwright/channel_owners/element_handle.rb
201
- - lib/playwright/channel_owners/firefox_browser.rb
202
227
  - lib/playwright/channel_owners/frame.rb
203
228
  - lib/playwright/channel_owners/js_handle.rb
204
229
  - lib/playwright/channel_owners/page.rb
@@ -207,8 +232,9 @@ files:
207
232
  - lib/playwright/channel_owners/response.rb
208
233
  - lib/playwright/channel_owners/route.rb
209
234
  - lib/playwright/channel_owners/selectors.rb
210
- - lib/playwright/channel_owners/webkit_browser.rb
235
+ - lib/playwright/channel_owners/stream.rb
211
236
  - lib/playwright/connection.rb
237
+ - lib/playwright/download.rb
212
238
  - lib/playwright/errors.rb
213
239
  - lib/playwright/event_emitter.rb
214
240
  - lib/playwright/event_emitter_proxy.rb
@@ -232,6 +258,7 @@ files:
232
258
  - lib/playwright/url_matcher.rb
233
259
  - lib/playwright/utils.rb
234
260
  - lib/playwright/version.rb
261
+ - lib/playwright/video.rb
235
262
  - lib/playwright/wait_helper.rb
236
263
  - lib/playwright_api/accessibility.rb
237
264
  - lib/playwright_api/android.rb
@@ -239,15 +266,12 @@ files:
239
266
  - lib/playwright_api/android_input.rb
240
267
  - lib/playwright_api/android_socket.rb
241
268
  - lib/playwright_api/android_web_view.rb
242
- - lib/playwright_api/binding_call.rb
243
269
  - lib/playwright_api/browser.rb
244
270
  - lib/playwright_api/browser_context.rb
245
271
  - lib/playwright_api/browser_type.rb
246
272
  - lib/playwright_api/cdp_session.rb
247
- - lib/playwright_api/chromium_browser_context.rb
248
273
  - lib/playwright_api/console_message.rb
249
274
  - lib/playwright_api/dialog.rb
250
- - lib/playwright_api/download.rb
251
275
  - lib/playwright_api/element_handle.rb
252
276
  - lib/playwright_api/file_chooser.rb
253
277
  - lib/playwright_api/frame.rb
@@ -261,7 +285,6 @@ files:
261
285
  - lib/playwright_api/route.rb
262
286
  - lib/playwright_api/selectors.rb
263
287
  - lib/playwright_api/touchscreen.rb
264
- - lib/playwright_api/video.rb
265
288
  - lib/playwright_api/web_socket.rb
266
289
  - lib/playwright_api/worker.rb
267
290
  - playwright.gemspec
@@ -284,7 +307,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
284
307
  - !ruby/object:Gem::Version
285
308
  version: '0'
286
309
  requirements: []
287
- rubygems_version: 3.2.3
310
+ rubygems_version: 3.2.15
288
311
  signing_key:
289
312
  specification_version: 4
290
313
  summary: The Ruby binding of playwright driver
@@ -1,8 +0,0 @@
1
- require_relative './browser'
2
-
3
- module Playwright
4
- module ChannelOwners
5
- class ChromiumBrowser < Browser
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- require_relative './browser_context'
2
-
3
- module Playwright
4
- module ChannelOwners
5
- class ChromiumBrowserContext < BrowserContext
6
- end
7
- end
8
- end
@@ -1,27 +0,0 @@
1
- module Playwright
2
- define_channel_owner :Download do
3
- def url
4
- @initializer['url']
5
- end
6
-
7
- def suggested_filename
8
- @initializer['suggestedFilename']
9
- end
10
-
11
- def delete
12
- @channel.send_message_to_server('delete')
13
- end
14
-
15
- def failure
16
- @channel.send_message_to_server('failure')
17
- end
18
-
19
- def path
20
- @channel.send_message_to_server('path')
21
- end
22
-
23
- def save_as(path)
24
- @channel.send_message_to_server('saveAs', path: path)
25
- end
26
- end
27
- end
@@ -1,8 +0,0 @@
1
- require_relative './browser'
2
-
3
- module Playwright
4
- module ChannelOwners
5
- class FirefoxBrowser < Browser
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- require_relative './browser'
2
-
3
- module Playwright
4
- module ChannelOwners
5
- class WebKitBrowser < Browser
6
- end
7
- end
8
- end
@@ -1,32 +0,0 @@
1
- module Playwright
2
- # @nodoc
3
- class BindingCall < PlaywrightApi
4
-
5
- # @nodoc
6
- def name
7
- wrap_impl(@impl.name)
8
- end
9
-
10
- # -- inherited from EventEmitter --
11
- # @nodoc
12
- def off(event, callback)
13
- event_emitter_proxy.off(event, callback)
14
- end
15
-
16
- # -- inherited from EventEmitter --
17
- # @nodoc
18
- def once(event, callback)
19
- event_emitter_proxy.once(event, callback)
20
- end
21
-
22
- # -- inherited from EventEmitter --
23
- # @nodoc
24
- def on(event, callback)
25
- event_emitter_proxy.on(event, callback)
26
- end
27
-
28
- private def event_emitter_proxy
29
- @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
30
- end
31
- end
32
- end