superbot 0.1.18 → 0.1.20

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: 33e9d2c3a28cfb186e514d0aa10f6bb2e2901cf8a51873b78c19ce1fe9210c4e
4
- data.tar.gz: '08f1cf4b3829eafea69178ee9e1b3ebb4dbb9ca9d2c4df88b56ef6236b12fe80'
3
+ metadata.gz: 2b36ccc75da3fdce3be88c9781979a5347e0d94fcdccafcb587ccd354a0343a2
4
+ data.tar.gz: 36b4fb061ae89e4cbcc7dc98cd77103248bb24c255f72b85efe7b010867b75d4
5
5
  SHA512:
6
- metadata.gz: 07f7c8d31ffb7db87d5567021888f487c1419fcacf3494a2a4258a9b0c17a3da07cb2cc47de5ac6f70b12958bd72ffd9575a68448cd70d6ac47cbbccc0eea7ff
7
- data.tar.gz: 0bc386307f10832f2a53d61645eff7fb521e65c614003fe6f99dc3c9e5204a520d2fe2a907c9b58e0b09e2aaa6b7d79865e15338ec223ecb703a49f651f6412a
6
+ metadata.gz: cdee59f93d8f0209f5224682bf6ab687687c56f6cf3e7b28dad8fd589602a7d8d49e00d53c42764776bd2f0d2bab3c4aa86ffe91882ae3f8e9f14f0b3c8d723c
7
+ data.tar.gz: f20ebfe7e934ca618e29794aa5ee6aaa3f2bcfaa3bedd1e2afd1945a2972955bfa7e59fcd755120b25a42b7e3d34a5db91e73d8859b3ab07d5bce37faddeaae5
@@ -1,13 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- superbot (0.1.18)
4
+ superbot (0.1.20)
5
5
  clamp (= 1.2.1)
6
6
  kommando (~> 0.1)
7
7
  launchy (= 2.4.3)
8
+ selenium-webdriver (~> 3.14, >= 3.14.0)
8
9
  sinatra (= 2.0.3)
9
10
  sinatra-silent (= 0.0.1)
10
- superbot-cloud (~> 0.1.13)
11
+ superbot-cloud (~> 0.1.14)
11
12
  zaru (= 0.2.0)
12
13
 
13
14
  GEM
@@ -16,6 +17,8 @@ GEM
16
17
  addressable (2.5.2)
17
18
  public_suffix (>= 2.0.2, < 4.0)
18
19
  ast (2.4.0)
20
+ childprocess (0.9.0)
21
+ ffi (~> 1.0, >= 1.0.11)
19
22
  clamp (1.2.1)
20
23
  coderay (1.1.2)
21
24
  diff-lcs (1.3)
@@ -99,6 +102,10 @@ GEM
99
102
  unicode-display_width (~> 1.0, >= 1.0.1)
100
103
  ruby-progressbar (1.9.0)
101
104
  ruby_dep (1.5.0)
105
+ rubyzip (1.2.2)
106
+ selenium-webdriver (3.141.0)
107
+ childprocess (~> 0.5)
108
+ rubyzip (~> 1.2, >= 1.2.2)
102
109
  shellany (0.0.1)
103
110
  simplecov (0.16.1)
104
111
  docile (~> 1.1)
@@ -111,7 +118,7 @@ GEM
111
118
  rack-protection (= 2.0.3)
112
119
  tilt (~> 2.0)
113
120
  sinatra-silent (0.0.1)
114
- superbot-cloud (0.1.13)
121
+ superbot-cloud (0.1.14)
115
122
  marcel (= 0.3.3)
116
123
  multipart-post (= 2.0.0)
117
124
  thor (0.20.0)
Binary file
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'selenium-webdriver'
4
+
5
+ module Superbot
6
+ module CLI
7
+ class RecordCommand < Clamp::Command
8
+ def execute
9
+ open_superside
10
+
11
+ puts "Press [enter] to exit"
12
+
13
+ $stdin.gets
14
+ end
15
+
16
+ private
17
+
18
+ def open_superside
19
+ profile = Selenium::WebDriver::Chrome::Profile.new
20
+ options = Selenium::WebDriver::Chrome::Options.new
21
+ options.add_argument("app=about:blank")
22
+ options.add_argument("no-sandbox")
23
+ options.add_argument("force-dev-mode-highlighting")
24
+ profile.add_extension(File.join(File.dirname(__dir__), '../..', 'bin', 'superside.crx'))
25
+
26
+ @superside = Selenium::WebDriver.for :chrome, options: options, profile: profile
27
+ end
28
+ end
29
+ end
30
+ end
@@ -4,6 +4,7 @@ require_relative "new_command"
4
4
  require_relative "run_command"
5
5
  require_relative "teleport_command"
6
6
  require_relative "version_command"
7
+ require_relative "record_command"
7
8
 
8
9
  module Superbot
9
10
  module CLI
@@ -17,6 +18,7 @@ module Superbot
17
18
 
18
19
  subcommand ["version"], "Show version information", VersionCommand
19
20
  subcommand ["teleport"], "Open a teleport for superbots", TeleportCommand
21
+ subcommand ["record"], "Open browser with selenium ide pre-loaded", RecordCommand if ENV['SUPERBOT_FEAT_RECORD'] == 'true'
20
22
  if ENV['SUPERBOT_FEAT_PROJECT'] == 'true'
21
23
  subcommand ["new"], "Create a new project", NewCommand
22
24
  subcommand ["run"], "Run a project", RunCommand
@@ -23,13 +23,28 @@ module Superbot
23
23
 
24
24
  puts "", "🤖 Teleport is open ☁️ "
25
25
  puts "", "Configure your webdriver to http://localhost:4567/wd/hub"
26
- puts "", "Press [enter] to close teleport"
26
+ puts "", "Press [control+c] to close teleport"
27
27
 
28
- $stdin.gets
28
+ handle_keyboard_interrupt
29
29
  ensure
30
30
  close_teleport
31
31
  end
32
32
 
33
+ def handle_keyboard_interrupt
34
+ @interrupted = false
35
+
36
+ trap "SIGINT" do
37
+ puts
38
+ puts "Command killed by keyboard interrupt"
39
+ @interrupted = true
40
+ exit 130
41
+ end
42
+
43
+ loop do
44
+ break if @interrupted
45
+ end
46
+ end
47
+
33
48
  def close_teleport
34
49
  @chromedriver&.kill
35
50
  @web&.quit!
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Superbot
4
- VERSION = "0.1.18"
4
+ VERSION = "0.1.20"
5
5
  end
@@ -38,7 +38,8 @@ Gem::Specification.new do |spec|
38
38
  spec.add_runtime_dependency "launchy", "2.4.3"
39
39
  spec.add_runtime_dependency "sinatra-silent", "0.0.1"
40
40
  spec.add_runtime_dependency "kommando", "~> 0.1"
41
- spec.add_runtime_dependency "superbot-cloud", "~> 0.1.13"
41
+ spec.add_runtime_dependency "superbot-cloud", "~> 0.1.14"
42
+ spec.add_runtime_dependency "selenium-webdriver", "~> 3.14", ">= 3.14.0"
42
43
 
43
44
  spec.add_development_dependency "bundler", "~> 1.16"
44
45
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: superbot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.1.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Superbots
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-20 00:00:00.000000000 Z
11
+ date: 2018-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
@@ -100,14 +100,34 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.1.13
103
+ version: 0.1.14
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.1.13
110
+ version: 0.1.14
111
+ - !ruby/object:Gem::Dependency
112
+ name: selenium-webdriver
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.14'
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: 3.14.0
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '3.14'
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 3.14.0
111
131
  - !ruby/object:Gem::Dependency
112
132
  name: bundler
113
133
  requirement: !ruby/object:Gem::Requirement
@@ -273,12 +293,14 @@ files:
273
293
  - bin/e2e
274
294
  - bin/release
275
295
  - bin/setup
296
+ - bin/superside.crx
276
297
  - exe/superbot
277
298
  - lib/superbot.rb
278
299
  - lib/superbot/capybara/convert.rb
279
300
  - lib/superbot/capybara/runner.rb
280
301
  - lib/superbot/cli.rb
281
302
  - lib/superbot/cli/new_command.rb
303
+ - lib/superbot/cli/record_command.rb
282
304
  - lib/superbot/cli/root_command.rb
283
305
  - lib/superbot/cli/run_command.rb
284
306
  - lib/superbot/cli/teleport_command.rb