webdriver 0.6.2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e9c4a06007481d1667becde5369597e20b84a3d4f874d0b92e5aa657305d6f45
4
- data.tar.gz: fa62d098cee0accec06e416c5e1065246295e931296ec425c55ec127f5b01fe3
3
+ metadata.gz: ae35035ea60b2dde14a44927d1b808aafe264f0875c61dbd7fff3eac0a9774ee
4
+ data.tar.gz: 46e3d6220ba809b4dc65f86c06c3b0fe42a7d43beedd1517a6aaeccb9f51749e
5
5
  SHA512:
6
- metadata.gz: 8b275d384f8cc79768e83ecc1f96912b3f31963e4539cfc45d9d3eba6f28bf2d13dfc500475418f2036c2cd5cd2b23df08e53c207e52e01ab1f5a110c64870e2
7
- data.tar.gz: bf39fbc07df553f8d309195b74645fc7a289023a4cac341d8f8a18a6495008b193e6b06a4aa73a0a4e6f2e0d9af243d7a2cd9fbf134a82d0d18e2f66508acc7c
6
+ metadata.gz: 03722631a70029443759a20e8ee974052c6a1c5a985e72e030f41348ce5cd804b50220dbc0ef2f5e7ef64202fe0ab2190db99ea74245872088215cbf12821d1b
7
+ data.tar.gz: 3509414223270d097563fe78348155729d1c942dd7600b2908eaa5487ec1b61b758cd49786d60c567ead13f8fa918d52082dd2a08d7bb5202da3e859d8f3806e
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- webdriver (0.6.2)
4
+ webdriver (0.9.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -1,39 +1,11 @@
1
- # Webdriver
1
+ # webdriver
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/webdriver`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ A Ruby https://www.w3.org/TR/webdriver/ driver
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ ## Notes for implementators
6
6
 
7
- ## Installation
8
-
9
- Add this line to your application's Gemfile:
10
-
11
- ```ruby
12
- gem 'webdriver'
13
- ```
14
-
15
- And then execute:
16
-
17
- $ bundle
18
-
19
- Or install it yourself as:
20
-
21
- $ gem install webdriver
22
-
23
- ## Usage
24
-
25
- TODO: Write usage instructions here
26
-
27
- ## Development
28
-
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
-
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
-
33
- ## Contributing
34
-
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/webdriver.
36
-
37
- ## License
38
-
39
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
7
+ - `element.value!` is slow when compared to JavaScript `el.value = ...`
8
+ - element visibility helper `element.displayed?`
9
+ hitrate.
10
+ - Remember to use JavaScript multiline strings \` \` in `session.async_exec`
11
+ - looks like delaying 0.5s between element find and click improves
@@ -11,6 +11,8 @@ module Webdriver
11
11
  end
12
12
 
13
13
  require_relative "webdriver/version"
14
+ require_relative "webdriver/errors"
15
+
14
16
  require_relative "webdriver/connection"
15
17
  require_relative "webdriver/prefix_connection"
16
18
 
@@ -47,8 +47,11 @@ module Webdriver
47
47
  else # everything else works like this
48
48
  value
49
49
  end
50
+ when 10
51
+ raise Webdriver::StaleElementReferenceError
52
+ when 11
53
+ raise Webdriver::ElementNotInteractableError
50
54
  when 1..nil
51
- # 10: stale element reference: element is not attached to the page document
52
55
  error_message = value.dig("message")
53
56
  raise "#{status}: #{error_message}"
54
57
  else
@@ -9,10 +9,19 @@ module Webdriver
9
9
  @connection = Webdriver::PrefixConnection.new "element/#{@id}", connection
10
10
  end
11
11
 
12
+ def ==(other)
13
+ return false unless other.is_a? Webdriver::Element
14
+ @id == other.id
15
+ end
16
+
12
17
  def screenshot
13
18
  @connection.get "screenshot"
14
19
  end
15
20
 
21
+ def displayed?
22
+ @connection.get "displayed"
23
+ end
24
+
16
25
  # checkbox
17
26
  def selected?
18
27
  @connection.get "selected"
@@ -26,6 +35,7 @@ module Webdriver
26
35
  def clear!
27
36
  @connection.post "clear"
28
37
  click!
38
+ self
29
39
  end
30
40
 
31
41
  def value! value
@@ -0,0 +1,6 @@
1
+ module Webdriver
2
+ # 10
3
+ class StaleElementReferenceError < StandardError; end
4
+ # 11
5
+ class ElementNotInteractableError < StandardError; end
6
+ end
@@ -9,7 +9,7 @@ module Webdriver
9
9
 
10
10
  def delete!
11
11
  @connection.delete
12
- session
12
+ self
13
13
  end
14
14
 
15
15
  def windows
@@ -1,3 +1,3 @@
1
1
  module Webdriver
2
- VERSION = "0.6.2"
2
+ VERSION = "0.9.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matti Paksula
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-22 00:00:00.000000000 Z
11
+ date: 2020-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -157,6 +157,7 @@ files:
157
157
  - lib/webdriver/connection.rb
158
158
  - lib/webdriver/cookie.rb
159
159
  - lib/webdriver/element.rb
160
+ - lib/webdriver/errors.rb
160
161
  - lib/webdriver/prefix_connection.rb
161
162
  - lib/webdriver/session.rb
162
163
  - lib/webdriver/version.rb
@@ -166,7 +167,7 @@ homepage: https://www.github.com/matti/webdriver
166
167
  licenses:
167
168
  - MIT
168
169
  metadata: {}
169
- post_install_message:
170
+ post_install_message:
170
171
  rdoc_options: []
171
172
  require_paths:
172
173
  - lib
@@ -182,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
183
  version: '0'
183
184
  requirements: []
184
185
  rubygems_version: 3.0.6
185
- signing_key:
186
+ signing_key:
186
187
  specification_version: 4
187
188
  summary: webdriver
188
189
  test_files: []