superbara 0.6.1 → 0.7.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
2
  SHA256:
3
- metadata.gz: c4c7cf32d51ce0c2c66258047284219f49491d76079da88620acf889f196bd52
4
- data.tar.gz: cb9df42fdf1f26c93c43687ca6e8e3902d87e8b7c93318668849b13d97a306fb
3
+ metadata.gz: 49f34c9f04a1e0178758c7558c141a8642df3dfe4c235de547cd5630a8008ae7
4
+ data.tar.gz: 8fcc6ebedd95d64417472426c7c83e00c47d6a4f525984f675066e3198f8a758
5
5
  SHA512:
6
- metadata.gz: c604fd3dc52ec8f90f79542257dba2c7012cb0892ced1d51a26a4190d6b6d466c00627e656bbe8f35fbfae7f06cf5fc4ff2ca62ab42c63993baa519bd8978a1f
7
- data.tar.gz: 2f0047c50e6a54ebd477d964a19fddfc5d6c60e28bd78e3cd3f3cc7675faa8ff30e7945552a805881e300aa4af9cb6a26a7d809b2e51b07c30f56b0de82892fd
6
+ metadata.gz: 6a539b6844c99e3b558d9476d16c87277cb086fc44e2d91508e16023ef720324fed8fba5639d0e87d42b64e1fba90905786b7a2efc3094d55c1a5c3a3234363b
7
+ data.tar.gz: 76e4cfc3a2f7ac805971afbaa406cc1292b1ba0cd7e5164d29d62e404f9663c41bfcebff085e10747fc511ffaccdc0689fa62c65dfd01bb4df30efb4567f1ac8
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  *.gem
2
2
  .rspec_status
3
+ vendor/chromedriver/*
data/Gemfile.lock CHANGED
@@ -1,10 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- superbara (0.6.1)
4
+ superbara (0.7.0)
5
5
  binding_of_caller (~> 0.8, >= 0.8.0)
6
6
  capybara (~> 3.1, >= 3.1.0)
7
- chromedriver-helper (~> 1.2.0, >= 1.2.0)
8
7
  colorize (~> 0.8, >= 0.8.1)
9
8
  faker (~> 1.8, >= 1.8.7)
10
9
  pry-byebug (~> 3.6, >= 3.6.0)
@@ -16,8 +15,6 @@ GEM
16
15
  specs:
17
16
  addressable (2.5.2)
18
17
  public_suffix (>= 2.0.2, < 4.0)
19
- archive-zip (0.11.0)
20
- io-like (~> 0.3.0)
21
18
  binding_of_caller (0.8.0)
22
19
  debug_inspector (>= 0.0.1)
23
20
  byebug (10.0.2)
@@ -30,9 +27,6 @@ GEM
30
27
  xpath (~> 3.0)
31
28
  childprocess (0.9.0)
32
29
  ffi (~> 1.0, >= 1.0.11)
33
- chromedriver-helper (1.2.0)
34
- archive-zip (~> 0.10)
35
- nokogiri (~> 1.8)
36
30
  coderay (1.1.2)
37
31
  colorize (0.8.1)
38
32
  concurrent-ruby (1.0.5)
@@ -43,7 +37,6 @@ GEM
43
37
  ffi (1.9.23)
44
38
  i18n (1.0.1)
45
39
  concurrent-ruby (~> 1.0)
46
- io-like (0.3.0)
47
40
  kommando (0.1.2)
48
41
  method_source (0.9.0)
49
42
  mini_mime (1.0.0)
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Web app test scripting that does not hurt.
4
4
 
5
+ ![Demo of Superbara](demo.gif)
6
+
5
7
  - Stands on the shoulders of [Capybara](https://github.com/teamcapybara/capybara/)
6
8
  - All batteries included: just start scripting, nothing extra required
7
9
  - A powerful command line interface with interactive debugger
data/bin/release CHANGED
@@ -1,9 +1,25 @@
1
1
  #!/usr/bin/env sh
2
2
  set -e
3
3
  version=$(exe/superbara version)
4
+ chromedriver_version=2.38
5
+
6
+ gem uninstall -a superbara
7
+
8
+ cd vendor/chromedriver
9
+ for chromedriver_platform in mac64 win32 linux64; do
10
+ cd $chromedriver_platform
11
+ curl -O https://chromedriver.storage.googleapis.com/${chromedriver_version}/chromedriver_${chromedriver_platform}.zip
12
+ unzip -o chromedriver_${chromedriver_platform}.zip
13
+ rm chromedriver_${chromedriver_platform}.zip
14
+ cd ..
15
+ done
16
+ cd ../..
4
17
 
5
18
  rake
6
19
 
7
20
  gem build superbara.gemspec
8
21
  KUNG_ENV=build VERSION=$version kung build
22
+
9
23
  rake release
24
+
25
+ rubyc -c --gem=superbara --gem-version=${version} superbara
data/demo.gif ADDED
Binary file
@@ -9,6 +9,9 @@ module Superbara; module Chrome
9
9
  end
10
10
 
11
11
  def self.register_drivers
12
+ chromedriver_path = File.join(Superbara.path, "vendor", "chromedriver", Superbara.platform, "chromedriver")
13
+ chromedriver_path = "#{chromedriver_path}.exe" if Superbara.platform == "win32"
14
+
12
15
  options = ::Selenium::WebDriver::Chrome::Options.new
13
16
  options.add_argument 'window-size=1680,1024'
14
17
  options.add_argument 'disable-infobars'
@@ -22,6 +25,7 @@ module Superbara; module Chrome
22
25
 
23
26
  Capybara.register_driver :chrome do
24
27
  Capybara::Selenium::Driver.new(nil,
28
+ driver_path: chromedriver_path,
25
29
  browser: :chrome,
26
30
  http_client: client,
27
31
  options: options,
@@ -44,6 +48,7 @@ module Superbara; module Chrome
44
48
  options.add_argument 'disable-gpu'
45
49
 
46
50
  Capybara::Selenium::Driver.new(nil,
51
+ driver_path: chromedriver_path,
47
52
  browser: :chrome,
48
53
  http_client: client,
49
54
  desired_capabilities: capabilities,
@@ -1,3 +1,3 @@
1
1
  module Superbara
2
- VERSION = "0.6.1"
2
+ VERSION = "0.7.0"
3
3
  end
data/lib/superbara.rb CHANGED
@@ -101,6 +101,31 @@ module Superbara
101
101
  File.basename(@@project_path)
102
102
  end
103
103
 
104
+ def self.path
105
+ File.join(File.dirname(__FILE__), "..")
106
+ end
107
+
108
+ def self.platform
109
+ require 'rbconfig'
110
+ cfg = RbConfig::CONFIG
111
+ host_cpu = cfg["host_cpu"]
112
+ host_os = cfg["host_os"]
113
+
114
+ platform = case host_os
115
+ when /linux/ then
116
+ if host_cpu =~ /x86_64|amd64/
117
+ "linux64"
118
+ else
119
+ raise "32bit not supported"
120
+ end
121
+ when /darwin/ then "mac64"
122
+ when /mswin/ then "win32"
123
+ when /mingw/ then "win32"
124
+ else
125
+ raise "Unsupported host OS '#{host_os}'"
126
+ end
127
+ end
128
+
104
129
  def self.toast(text, duration: 1, delay: 0)
105
130
  return unless Superbara.visual?
106
131
 
@@ -177,9 +202,6 @@ end
177
202
 
178
203
  Superbara::Chrome.register_drivers
179
204
 
180
- require "chromedriver/helper"
181
- Chromedriver.set_version "2.37"
182
-
183
205
  Capybara.default_driver = if ENV["CHROME_URL"]
184
206
  :chrome_remote
185
207
  else
data/superbara.gemspec CHANGED
@@ -17,6 +17,8 @@ Gem::Specification.new do |spec|
17
17
  spec.files = `if [ -d '.git' ]; then git ls-files -z; fi`.split("\x0").reject do |f|
18
18
  f.match(%r{^(test|spec|features)/})
19
19
  end
20
+ spec.files += Dir['vendor/**/*']
21
+
20
22
  spec.bindir = "exe"
21
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
24
  spec.require_paths = ["lib"]
@@ -26,7 +28,6 @@ Gem::Specification.new do |spec|
26
28
  spec.add_dependency 'binding_of_caller', '~> 0.8', '>=0.8.0'
27
29
  spec.add_dependency 'capybara', '~> 3.1', '>= 3.1.0'
28
30
  spec.add_dependency 'selenium-webdriver', '~> 3.12', '>= 3.12.0'
29
- spec.add_dependency 'chromedriver-helper', '~> 1.2.0', '>= 1.2.0'
30
31
  spec.add_dependency 'faker', '~> 1.8', '>= 1.8.7'
31
32
  spec.add_dependency 'sinatra', '~> 2.0', '>= 2.0.1'
32
33
  spec.add_development_dependency 'bundler', '~> 1.15', '>= 1.15.0'
File without changes
File without changes
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: superbara
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matti Paksula
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-20 00:00:00.000000000 Z
11
+ date: 2018-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -110,26 +110,6 @@ dependencies:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: 3.12.0
113
- - !ruby/object:Gem::Dependency
114
- name: chromedriver-helper
115
- requirement: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - "~>"
118
- - !ruby/object:Gem::Version
119
- version: 1.2.0
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: 1.2.0
123
- type: :runtime
124
- prerelease: false
125
- version_requirements: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: 1.2.0
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: 1.2.0
133
113
  - !ruby/object:Gem::Dependency
134
114
  name: faker
135
115
  requirement: !ruby/object:Gem::Requirement
@@ -273,6 +253,7 @@ files:
273
253
  - bin/console
274
254
  - bin/release
275
255
  - bin/tests
256
+ - demo.gif
276
257
  - docker-compose.build.yml
277
258
  - docker-compose.test.yml
278
259
  - docker-compose.yml
@@ -302,6 +283,12 @@ files:
302
283
  - tests/features/type.rb
303
284
  - tests/features/wait.rb
304
285
  - tests/minimal/main.rb
286
+ - vendor/chromedriver/linux64/.gitkeep
287
+ - vendor/chromedriver/linux64/chromedriver
288
+ - vendor/chromedriver/mac64/.gitkeep
289
+ - vendor/chromedriver/mac64/chromedriver
290
+ - vendor/chromedriver/win32/.gitkeep
291
+ - vendor/chromedriver/win32/chromedriver.exe
305
292
  - web/public/1.html
306
293
  - web/public/2.html
307
294
  - web/public/3.html