standout-capybara 2.0.2 → 2.1.2

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
2
  SHA256:
3
- metadata.gz: fd29c834ac84e1656630e98396e9b4dc4520c6e0d6b6b302c24e821ac6e5f963
4
- data.tar.gz: 4a2887a64eaa5e9f37c63b9f5f501ee32ae6422931caa92a438017b22e13bba8
3
+ metadata.gz: d2dd6fa4216d87f0ec1e70a7c785e8dafa58949a2b968349e1cde5d7c0e04a3b
4
+ data.tar.gz: 6b23b05e1c5f486c9a4babe53ec6d57f79d29b2cdcae166b51b9ef4c8a82cfa0
5
5
  SHA512:
6
- metadata.gz: 0ec735dc0183b13376839feabb8c1b955858aaca9fbc3684f982262a9903c2049837b07b567f9207789e2220e14356e4887b3ceacf7c96eca4b1b8f4f99e1cc9
7
- data.tar.gz: 94397166899fed78b71f61fdcd362fe55522187cf8eaab1484d96fcdfd67623f78363bc940735c2a4e9e4690fdcf4b8112ba6be6e2739560c9495ade6c826248
6
+ metadata.gz: 83cfcef73a0ec078e4e5f6e2592f9ef6eb282e89a192b78d1cece31b7850393d792a613af563970c706c40ad842552091a6750c15f874711ca00b610de939a01
7
+ data.tar.gz: d0d6201bf7bc41f08f3e59499f2a907a5962738e6b2bb3ce7360a29d4712956de96a2f4fca35f2496545dcfd6f4897bfa4008c3cf44b6b692fae12fd42df461c
@@ -1,31 +1,32 @@
1
- name: Ruby Gem
1
+ name: Gem push
2
2
  on:
3
3
  release:
4
4
  types: [published]
5
5
  jobs:
6
- build:
7
- name: Build + Publish
6
+ github:
7
+ name: Build + Publish to GitHub
8
8
  runs-on: ubuntu-latest
9
-
10
9
  steps:
11
10
  - uses: actions/checkout@v2
12
11
  - name: Set up Ruby 2.6
13
12
  uses: actions/setup-ruby@v1
14
13
  with:
15
14
  version: 2.6.x
15
+ - name: Publish to GitHub
16
+ uses: jstastny/publish-gem-to-github@master
17
+ with:
18
+ token: ${{ secrets.GITHUB_TOKEN }}
19
+ owner: standout
16
20
 
17
- - name: Publish to GPR
18
- run: |
19
- mkdir -p $HOME/.gem
20
- touch $HOME/.gem/credentials
21
- chmod 0600 $HOME/.gem/credentials
22
- printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
23
- gem build *.gemspec
24
- gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
25
- env:
26
- GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
27
- OWNER: standout
28
-
21
+ rubygems:
22
+ name: Build + Publish to Rubygems
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - uses: actions/checkout@v2
26
+ - name: Set up Ruby 2.6
27
+ uses: actions/setup-ruby@v1
28
+ with:
29
+ version: 2.6.x
29
30
  - name: Publish to RubyGems
30
31
  run: |
31
32
  mkdir -p $HOME/.gem
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- standout-capybara (1.1.1)
4
+ standout-capybara (2.1.0)
5
5
  capybara
6
6
  capybara-screenshot
7
7
  selenium-webdriver
@@ -20,36 +20,36 @@ GEM
20
20
  rack-test (>= 0.6.3)
21
21
  regexp_parser (~> 1.5)
22
22
  xpath (~> 3.2)
23
- capybara-screenshot (1.0.24)
23
+ capybara-screenshot (1.0.25)
24
24
  capybara (>= 1.0, < 4)
25
25
  launchy
26
26
  childprocess (3.0.0)
27
- diff-lcs (1.3)
27
+ diff-lcs (1.4.4)
28
28
  launchy (2.5.0)
29
29
  addressable (~> 2.7)
30
30
  mini_mime (1.0.2)
31
31
  mini_portile2 (2.4.0)
32
32
  nokogiri (1.10.10)
33
33
  mini_portile2 (~> 2.4.0)
34
- public_suffix (4.0.5)
34
+ public_suffix (4.0.6)
35
35
  rack (2.2.3)
36
36
  rack-test (1.1.0)
37
37
  rack (>= 1.0, < 3)
38
38
  rake (13.0.1)
39
- regexp_parser (1.7.1)
40
- rspec (3.8.0)
41
- rspec-core (~> 3.8.0)
42
- rspec-expectations (~> 3.8.0)
43
- rspec-mocks (~> 3.8.0)
44
- rspec-core (3.8.0)
45
- rspec-support (~> 3.8.0)
46
- rspec-expectations (3.8.2)
39
+ regexp_parser (1.8.2)
40
+ rspec (3.10.0)
41
+ rspec-core (~> 3.10.0)
42
+ rspec-expectations (~> 3.10.0)
43
+ rspec-mocks (~> 3.10.0)
44
+ rspec-core (3.10.0)
45
+ rspec-support (~> 3.10.0)
46
+ rspec-expectations (3.10.0)
47
47
  diff-lcs (>= 1.2.0, < 2.0)
48
- rspec-support (~> 3.8.0)
49
- rspec-mocks (3.8.0)
48
+ rspec-support (~> 3.10.0)
49
+ rspec-mocks (3.10.0)
50
50
  diff-lcs (>= 1.2.0, < 2.0)
51
- rspec-support (~> 3.8.0)
52
- rspec-support (3.8.0)
51
+ rspec-support (~> 3.10.0)
52
+ rspec-support (3.10.0)
53
53
  rubyzip (2.3.0)
54
54
  selenium-webdriver (3.142.7)
55
55
  childprocess (>= 0.5, < 4.0)
@@ -70,4 +70,4 @@ DEPENDENCIES
70
70
  standout-capybara!
71
71
 
72
72
  BUNDLED WITH
73
- 1.17.3
73
+ 2.1.4
data/README.md CHANGED
@@ -81,7 +81,9 @@ CAPYBARA=[driver name] test-command
81
81
  |:-----------------|:------------|
82
82
  | chrome | Regular chrome driver that will use a visual browser window. |
83
83
  | headless_chrome | Headless chrome driver. The default driver. |
84
- | nanobox_chrome | Default driver when inside Nanobox. |
84
+ | nanobox_chrome | Default driver when inside Nanobox. |
85
+ | remote_chrome | Default driver when `ENV['HUB_URL']` is defined. |
86
+
85
87
  ## Development
86
88
 
87
89
  After checking out the repo, run `bin/setup` to install dependencies. Then, run
@@ -9,23 +9,23 @@ require 'standout/capybara/drivers/base'
9
9
  require 'standout/capybara/drivers/chrome'
10
10
  require 'standout/capybara/drivers/nanobox_chrome'
11
11
  require 'standout/capybara/drivers/headless_chrome'
12
+ require 'standout/capybara/drivers/remote_chrome'
12
13
 
13
14
  module Standout
14
15
  module Capybara
15
- def self.setup_driver
16
- driver_name = ENV['CAPYBARA']
17
- is_using_nanobox = `whoami`.chomp == 'gonano'
18
- fallback_driver = is_using_nanobox ? :nanobox_chrome : :headless_chrome
19
- driver_name ||= fallback_driver
20
- driver_name = driver_name.to_sym
16
+ class Error < StandardError; end
21
17
 
22
- case driver_name
18
+ def self.setup_driver
19
+ case (ENV['CAPYBARA'] || fallback_driver).to_sym
23
20
  when :chrome
24
21
  Standout::Capybara::Drivers::Chrome.register
25
22
  Standout::Capybara::Drivers::Chrome.use!
26
23
  when :nanobox_chrome
27
24
  Standout::Capybara::Drivers::NanoboxChrome.register
28
25
  Standout::Capybara::Drivers::NanoboxChrome.use!
26
+ when :remote_chrome
27
+ Standout::Capybara::Drivers::RemoteChrome.register
28
+ Standout::Capybara::Drivers::RemoteChrome.use!
29
29
  else
30
30
  Standout::Capybara::Drivers::HeadlessChrome.register
31
31
  Standout::Capybara::Drivers::HeadlessChrome.use!
@@ -38,6 +38,19 @@ module Standout
38
38
  end
39
39
  end
40
40
 
41
- class Error < StandardError; end
41
+ def self.fallback_driver
42
+ return :nanobox_chrome if nanobox?
43
+ return :remote_chrome if hub_url?
44
+
45
+ :headless_chrome
46
+ end
47
+
48
+ def self.nanobox?
49
+ `whoami`.chomp == 'gonano'
50
+ end
51
+
52
+ def self.hub_url?
53
+ !ENV['HUB_URL'].nil?
54
+ end
42
55
  end
43
56
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Standout
4
+ module Capybara
5
+ module Drivers
6
+ class RemoteChrome < Standout::Capybara::Drivers::Base
7
+ self.driver_name = :remote_chrome
8
+
9
+ def self.register
10
+ ::Capybara.register_driver driver_name do |driver|
11
+ chrome_capabilities = ::Selenium::WebDriver::Remote::Capabilities
12
+ .chrome('goog:chromeOptions' => {
13
+ args: %w[no-sandbox headless disable-gpu window-size=1400,1400] })
14
+
15
+ ::Capybara::Selenium::Driver.new(driver,
16
+ browser: :remote,
17
+ url: ENV['HUB_URL'],
18
+ desired_capabilities: chrome_capabilities)
19
+ end
20
+ super
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Standout
4
4
  module Capybara
5
- VERSION = '2.0.2'
5
+ VERSION = '2.1.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standout-capybara
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Standout AB
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-14 00:00:00.000000000 Z
11
+ date: 2020-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -118,6 +118,7 @@ files:
118
118
  - lib/standout/capybara/drivers/chrome.rb
119
119
  - lib/standout/capybara/drivers/headless_chrome.rb
120
120
  - lib/standout/capybara/drivers/nanobox_chrome.rb
121
+ - lib/standout/capybara/drivers/remote_chrome.rb
121
122
  - lib/standout/capybara/setup.rb
122
123
  - lib/standout/capybara/version.rb
123
124
  - standout-capybara.gemspec
@@ -140,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
141
  - !ruby/object:Gem::Version
141
142
  version: '0'
142
143
  requirements: []
143
- rubygems_version: 3.0.3
144
+ rubygems_version: 3.1.4
144
145
  signing_key:
145
146
  specification_version: 4
146
147
  summary: Sane defaults for capybara