chromedriver-helper 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5e0b6307e13449f5b515f02cdb6699ff8fa54abd
4
- data.tar.gz: 84d2cc85ae13474a5ba44c2a671778bdba5886f4
2
+ SHA256:
3
+ metadata.gz: 7006614d853693d7368fffc8028a7e031dd115fbae6b9bfe8260833ebedabef6
4
+ data.tar.gz: 4a59a6db455c21be5173477b8c572fef1a8e15dc7aba244e3106511c962187da
5
5
  SHA512:
6
- metadata.gz: c8893b243733b783d6d93a0bf0fb6054bd15a39e31b3c6a806dcf5e7736ae7d740ec38802484acb5aabf114e9e4b87e8ae1e15521f7ecc31b961f060b1deb8b9
7
- data.tar.gz: 05d5298edb11df1a7c0a545c503da8ff4609d3c22847b895f6b3955507427b535790aa58382bd1ffebd772d686a0a97e51d8b68f952dd730f675efb7b7ce132d
6
+ metadata.gz: ffa8c929bb6f90afd68a87a4b61a12db96e2bf561d532f657b36d24ad525c8ec7c9a50fd82a0f1275ccef2d5d90554b457e2e0ed5e6adb8e11a2a7d5814d9612
7
+ data.tar.gz: 3c26b89de8cd0159337ac3311abe1729b204c57a62b7a6030d2bfa338ca9dfbd778dd30320259a38e561fd415a127580b7d7a6df5c696400412ce84daead40a3
@@ -1,12 +1,23 @@
1
1
  chromedriver-helper changelog
2
2
  ==========
3
3
 
4
+ 2.0.0 - 2019-09-15
5
+ ----------
6
+
7
+ **Backwards-incompatible change:**
8
+
9
+ The shadow executable `chromedriver` has been renamed to `chromedriver-helper` to work around issues with projects _not_ using the gem on a system on which the gem is installed. See [#57](https://github.com/flavorjones/chromedriver-helper/issues/57) for details.
10
+
11
+ Many thanks to Miklós Fazekas (@mfazekas) for both reporting the issue and submitting the fix.
12
+
13
+
14
+
4
15
  1.2.0 - 2018-02-03
5
16
  ----------
6
17
 
7
18
  Dependencies:
8
19
 
9
- * Bump dependencies on `nokogiri` and `archive-zip. (Thanks, @odlp and @ksylvest!)
20
+ * Bump dependencies on `nokogiri` and `archive-zip`. (Thanks, @odlp and @ksylvest!)
10
21
 
11
22
 
12
23
  Bug fixes:
data/README.md CHANGED
@@ -1,24 +1,17 @@
1
- # chromedriver-helper
1
+ # [chromedriver-helper](http://github.com/flavorjones/chromedriver-helper)
2
2
 
3
- [![Build status](https://api.travis-ci.org/flavorjones/chromedriver-helper.svg)](https://travis-ci.org/flavorjones/chromedriver-helper)
3
+ [![Concourse CI](https://ci.nokogiri.org/api/v1/teams/nokogiri-core/pipelines/chromedriver-helper/jobs/ruby-2.5/badge)](https://ci.nokogiri.org/teams/nokogiri-core/pipelines/chromedriver-helper)
4
4
 
5
- Easy installation and use of [chromedriver](https://sites.google.com/a/chromium.org/chromedriver/), the Chromium project's
6
- selenium webdriver adapter.
7
-
8
- * [http://github.com/flavorjones/chromedriver-helper](http://github.com/flavorjones/chromedriver-helper)
5
+ Easy installation and use of [`chromedriver`](https://sites.google.com/a/chromium.org/chromedriver/), the Chromium project's Selenium webdriver adapter.
9
6
 
10
7
 
11
8
  # Description
12
9
 
13
- `chromedriver-helper` installs an executable, `chromedriver`, in your
14
- gem path.
10
+ `chromedriver-helper` installs an executable, `chromedriver-helper`, in your gem path, and configures Selenium to invoke it as the web driver.
15
11
 
16
- This script will, if necessary, download the appropriate binary for
17
- your platform and install it into `~/.chromedriver-helper`, then exec
18
- it. Easy peasy!
12
+ This script will, if necessary, download the appropriate binary for your platform and install it into `~/.chromedriver-helper`, then exec it. Easy peasy!
19
13
 
20
- chromedriver is fast. By my unscientific benchmark, it's around 20%
21
- faster than webdriver + Firefox 8. You should use it!
14
+ Individual projects can even select which version of `chromedriver` they want to run.
22
15
 
23
16
 
24
17
  # Usage
@@ -35,41 +28,69 @@ then, in your specs:
35
28
  end
36
29
 
37
30
 
31
+ # Updating to latest `chromedriver`
32
+
33
+ You can always update to the latest version of `chromedriver`:
34
+
35
+ chromedriver-update
36
+
37
+
38
+ ## Having problems updating?
39
+
40
+ If for whatever reason you're having problems getting `chromedriver-helper` to update to the latest `chromedriver`, try this:
41
+
42
+ 1. Delete the directory `$HOME/.chromedriver-helper`
43
+ 2. Run `chromedriver-update`
44
+
45
+
38
46
  # Specifying a version
39
47
 
40
- If you want to run a specific version of chromedriver, you can set the version like so:
48
+ If you want to run a specific version of `chromedriver` in your project, you can set the version in you testing setup like so:
41
49
 
42
50
  Chromedriver.set_version "2.24"
43
51
 
44
- Or, from the command line, you can run
52
+ Or, from the command line, you can choose a system-wide default:
45
53
 
46
54
  chromedriver-update 2.24
47
55
 
48
56
 
49
- # Updating to latest Chromedriver
57
+ # Support
50
58
 
51
- If you'd like to force-upgrade to the latest version of chromedriver:
59
+ The code lives at [http://github.com/flavorjones/chromedriver-helper](http://github.com/flavorjones/chromedriver-helper). Open a Github Issue, or send a pull request! Thanks! You're the best.
52
60
 
53
- 1. delete the directory `$HOME/.chromedriver-helper`
54
- 2. run `chromedriver-update`
55
61
 
56
- This might be necessary on platforms on which Chrome auto-updates,
57
- which has been known to introduce incompatibilities with older
58
- versions of chromedriver (see
59
- [Issue #3](https://github.com/flavorjones/chromedriver-helper/issues/3)
60
- for an example).
62
+ # Known Issues
61
63
 
64
+ ## `chromedriver-helper` affects other projects on my system
62
65
 
63
- # Support
66
+ v1.2.0 and earlier installed an executable named `chromedriver`, which may cause confusion for apps on your system that are _not_ using `chromedriver-helper`. v2.0.0 and later do not cause this problem.
67
+
68
+ The common symptom is an error message that looks like this:
64
69
 
65
- The code lives at
66
- [http://github.com/flavorjones/chromedriver-helper](http://github.com/flavorjones/chromedriver-helper).
67
- Open a Github Issue, or send a pull request! Thanks! You're the best.
70
+ ```
71
+ Selenium::WebDriver::Error::WebDriverError: unable to connect to chromedriver 127.0.0.1:9515
72
+ ```
73
+
74
+ First, confirm that we're talking about the same thing by running:
75
+
76
+ ``` sh
77
+ bundle exec ruby -e "system('chromedriver -v')"
78
+ ```
79
+
80
+ and making sure you see something like:
81
+
82
+ ```
83
+ .../rubygems_integration.rb:462:in `block in replace_bin_path': can't find executable chromedriver for gem chromedriver-helper (Gem::Exception)
84
+ ```
85
+
86
+ If you see this message, then **uninstall all versions of `chromedriver-helper` prior to v2.0.0**; and make sure your other projects have updated to v2.0.0 or later.
87
+
88
+ (You can read more about this issue at https://github.com/flavorjones/chromedriver-helper/issues/57.)
68
89
 
69
90
 
70
91
  ## CentOS 6 and 7
71
92
 
72
- Apparently recent versions of `chromedriver` won't run on CentOS 6 and 7, due to the [problems explained here](https://chrome.richardlloyd.org.uk/). The error messages look something like:
93
+ Some versions of `chromedriver` won't run on CentOS 6 and 7 due to the [problems explained here](https://chrome.richardlloyd.org.uk/). The error messages look something like:
73
94
 
74
95
  ```
75
96
  chromedriver: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/vagrant/.chromedriver-helper/linux64/chromedriver)
@@ -81,10 +102,9 @@ chromedriver: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (req
81
102
  You can get `chromedriver` to work on these systems by running the `install_chrome.sh` script on the page linked to above, and then making sure your `chromedriver` process has `LD_LIBRARY_PATH` set so that `/opt/google/chrome/lib` is present, e.g.
82
103
 
83
104
  ```
84
- $ LD_LIBRARY_PATH=/opt/google/chrome/lib chromedriver
105
+ $ LD_LIBRARY_PATH=/opt/google/chrome/lib chromedriver-helper
85
106
  Starting ChromeDriver 2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f) on port 9515
86
107
  Only local connections are allowed.
87
-
88
108
  ```
89
109
 
90
110
  # License
@@ -94,9 +114,6 @@ MIT licensed, see LICENSE.txt for full details.
94
114
 
95
115
  # Credit
96
116
 
97
- The idea for this gem comes from @brianhempel's project
98
- `chromedriver-gem` which, despite the name, is not currently published
99
- on http://rubygems.org/.
117
+ The idea for this gem comes from @brianhempel's project `chromedriver-gem` which, despite the name, is not currently published on http://rubygems.org/.
100
118
 
101
- Some improvements on the idea were taken from the installation process
102
- for standalone Phusion Passenger.
119
+ Some improvements on the idea were taken from the installation process for standalone Phusion Passenger.
@@ -1,3 +1,41 @@
1
+ anchors:
2
+ notify_failure_to_pr: &notify_failure_to_pr
3
+ put: chromedriver-helper-pr
4
+ params: {path: chromedriver-helper-pr, status: failure}
5
+
6
+ groups:
7
+ - name: master
8
+ jobs:
9
+ % RUBIES[:mri].last(2).each do |ruby_version|
10
+ - ruby-<%= ruby_version %>
11
+ % end
12
+ % RUBIES[:jruby].last(2).each do |ruby_version|
13
+ - jruby-<%= ruby_version %>
14
+ % end
15
+
16
+ - name: PRs
17
+ jobs:
18
+ - pr-pending
19
+ % RUBIES[:mri].last(1).each do |ruby_version|
20
+ - ruby-<%= ruby_version %>-pr
21
+ % end
22
+ % RUBIES[:jruby].last(1).each do |ruby_version|
23
+ - jruby-<%= ruby_version %>-pr
24
+ % end
25
+ - pr-success
26
+
27
+ - name: allow-failure
28
+ jobs:
29
+ % RUBIES[:windows].last(2).each do |ruby_version|
30
+ - win-ruby-<%= ruby_version %>-devkit
31
+ % end
32
+
33
+ resource_types:
34
+ - name: pull-request
35
+ type: docker-image
36
+ source:
37
+ repository: jtarchie/pr
38
+
1
39
  resources:
2
40
  - name: ci
3
41
  type: git
@@ -13,6 +51,15 @@ resources:
13
51
  branch: master
14
52
  ignore_paths:
15
53
  - concourse/**
54
+
55
+ - name: chromedriver-helper-pr
56
+ type: pull-request
57
+ source:
58
+ repo: flavorjones/chromedriver-helper
59
+ access_token: {{github-repo-status-access-token}}
60
+ ignore_paths:
61
+ - concourse/**
62
+
16
63
  jobs:
17
64
  % RUBIES[:mri].last(2).each do |ruby_version|
18
65
  - name: ruby-<%= ruby_version %>
@@ -53,3 +100,108 @@ jobs:
53
100
  path: powershell
54
101
  args: ["-File", "ci/concourse/tasks/rake-test/run.ps1"]
55
102
  % end
103
+
104
+ % RUBIES[:jruby].last(2).each do |ruby_version|
105
+ - name: jruby-<%= ruby_version %>
106
+ public: true
107
+ plan:
108
+ - get: ci
109
+ - get: chromedriver-helper
110
+ trigger: true
111
+ - task: rake-test
112
+ config:
113
+ platform: linux
114
+ image_resource:
115
+ type: docker-image
116
+ source: {repository: jruby, tag: "<%= ruby_version %>-jdk"}
117
+ inputs:
118
+ - name: ci
119
+ - name: chromedriver-helper
120
+ params:
121
+ JAVA_OPTS: "-Dfile.encoding=UTF8" # https://github.com/docker-library/openjdk/issues/32
122
+ run:
123
+ path: ci/concourse/tasks/rake-test/run.sh
124
+ % end
125
+
126
+ #
127
+ # PRs
128
+ #
129
+ - name: pr-pending
130
+ public: true
131
+ plan:
132
+ - get: ci
133
+ - get: chromedriver-helper-pr
134
+ trigger: true
135
+ version: every
136
+ - put: chromedriver-helper-pr
137
+ params: {path: chromedriver-helper-pr, status: pending}
138
+
139
+ % RUBIES[:mri].last(1).each do |ruby_version|
140
+ - name: ruby-<%= ruby_version %>-pr
141
+ public: true
142
+ max_in_flight: 1
143
+ plan:
144
+ - get: ci
145
+ - get: chromedriver-helper-pr
146
+ trigger: true
147
+ version: every
148
+ passed: [pr-pending]
149
+ - task: rake-test
150
+ config:
151
+ platform: linux
152
+ image_resource:
153
+ type: docker-image
154
+ source: {repository: ruby, tag: "<%= ruby_version %>"}
155
+ inputs:
156
+ - name: ci
157
+ - name: chromedriver-helper-pr
158
+ path: chromedriver-helper
159
+ run:
160
+ path: ci/concourse/tasks/rake-test/run.sh
161
+ on_failure: *notify_failure_to_pr
162
+ % end
163
+
164
+ % RUBIES[:jruby].last(1).each do |ruby_version|
165
+ - name: jruby-<%= ruby_version %>-pr
166
+ public: true
167
+ max_in_flight: 1
168
+ plan:
169
+ - get: ci
170
+ - get: chromedriver-helper-pr
171
+ trigger: true
172
+ version: every
173
+ passed: [pr-pending]
174
+ - task: rake-test
175
+ attempts: 3
176
+ config:
177
+ platform: linux
178
+ image_resource:
179
+ type: docker-image
180
+ source: {repository: jruby, tag: "<%= ruby_version %>-jdk"}
181
+ inputs:
182
+ - name: ci
183
+ - name: chromedriver-helper-pr
184
+ path: chromedriver-helper
185
+ params:
186
+ JAVA_OPTS: "-Dfile.encoding=UTF8" # https://github.com/docker-library/openjdk/issues/32
187
+ run:
188
+ path: ci/concourse/tasks/rake-test/run.sh
189
+ on_failure: *notify_failure_to_pr
190
+ % end
191
+
192
+ - name: pr-success
193
+ public: true
194
+ disable_manual_trigger: true
195
+ plan:
196
+ - get: chromedriver-helper-pr
197
+ trigger: true
198
+ version: every
199
+ passed:
200
+ % RUBIES[:mri].last(1).each do |ruby_version|
201
+ - ruby-<%= ruby_version %>-pr
202
+ % end
203
+ % RUBIES[:jruby].last(1).each do |ruby_version|
204
+ - jruby-<%= ruby_version %>-pr
205
+ % end
206
+ - put: chromedriver-helper-pr
207
+ params: {path: chromedriver-helper-pr, status: success}
@@ -0,0 +1 @@
1
+ Selenium::WebDriver::Chrome.driver_path=Gem.bin_path("chromedriver-helper","chromedriver-helper")
@@ -1,5 +1,5 @@
1
1
  module Chromedriver
2
2
  class Helper
3
- VERSION = "1.2.0"
3
+ VERSION = "2.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chromedriver-helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Dalessio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-04 00:00:00.000000000 Z
11
+ date: 2018-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -85,7 +85,7 @@ description: Easy installation and use of chromedriver, the Chromium project's s
85
85
  email:
86
86
  - mike.dalessio@gmail.com
87
87
  executables:
88
- - chromedriver
88
+ - chromedriver-helper
89
89
  - chromedriver-update
90
90
  extensions: []
91
91
  extra_rdoc_files: []
@@ -98,12 +98,13 @@ files:
98
98
  - LICENSE.txt
99
99
  - README.md
100
100
  - Rakefile
101
- - bin/chromedriver
101
+ - bin/chromedriver-helper
102
102
  - bin/chromedriver-update
103
103
  - chromedriver-helper.gemspec
104
104
  - concourse/chromedriver-helper.yml
105
105
  - concourse/tasks/rake-test/run.ps1
106
106
  - concourse/tasks/rake-test/run.sh
107
+ - lib/chromedriver-helper.rb
107
108
  - lib/chromedriver/helper.rb
108
109
  - lib/chromedriver/helper/google_code_parser.rb
109
110
  - lib/chromedriver/helper/version.rb
@@ -132,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
133
  version: '0'
133
134
  requirements: []
134
135
  rubyforge_project:
135
- rubygems_version: 2.6.12
136
+ rubygems_version: 2.7.7
136
137
  signing_key:
137
138
  specification_version: 4
138
139
  summary: Easy installation and use of chromedriver.