superbara 0.6.1 → 0.7.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: 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