superbara 0.9.1 → 0.10.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 +4 -4
- data/Gemfile.lock +4 -4
- data/examples/login-and-logout/{common.rb → using-globals/common.rb} +0 -0
- data/examples/login-and-logout/{helpers → using-globals/helpers}/login.rb +0 -0
- data/examples/login-and-logout/{helpers → using-globals/helpers}/logout.rb +0 -0
- data/examples/login-and-logout/{main.rb → using-globals/main.rb} +0 -0
- data/examples/login-and-logout/using-params/helpers/login.rb +19 -0
- data/examples/login-and-logout/using-params/helpers/logout.rb +5 -0
- data/examples/login-and-logout/using-params/main.rb +13 -0
- data/lib/superbara.rb +13 -0
- data/lib/superbara/context.rb +11 -1
- data/lib/superbara/dsl.rb +2 -2
- data/lib/superbara/version.rb +1 -1
- data/tests/run/has_locals.rb +7 -0
- data/tests/run/has_no_locals.rb +7 -0
- data/tests/run/main.rb +2 -0
- metadata +12 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27a8bbaf155457a0bb1dcb511c4e4081b6c8631d4caf71c29dc4a4cb37a7ee60
|
4
|
+
data.tar.gz: 93338098098c6d467b293367234c1f8690c5ecb1517004c83460edfff9c93faa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5ae25605b3be93f76251dae87287e1c7010f22959a5b944f0bbb8c505e70c3e2f9b03b946452fa6d7b96bda296841f3813343ff73e734c9b9ed8e687a18db56
|
7
|
+
data.tar.gz: d8a4b309d2087703461700df621dc197464405aa2530f98e111c0581f6f2d302b5200c82de17454403004aeb13ded29f70df8e44c55d7f24464b9b3b6dc860c1
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
superbara (0.
|
4
|
+
superbara (0.10.0)
|
5
5
|
binding_of_caller (~> 0.8, >= 0.8.0)
|
6
6
|
capybara (~> 3.1, >= 3.1.0)
|
7
7
|
colorize (~> 0.8, >= 0.8.1)
|
@@ -52,7 +52,7 @@ GEM
|
|
52
52
|
pry (~> 0.10)
|
53
53
|
public_suffix (3.0.2)
|
54
54
|
rack (2.0.5)
|
55
|
-
rack-protection (2.0.
|
55
|
+
rack-protection (2.0.2)
|
56
56
|
rack
|
57
57
|
rack-test (1.0.0)
|
58
58
|
rack (>= 1.0, < 3)
|
@@ -74,10 +74,10 @@ GEM
|
|
74
74
|
selenium-webdriver (3.12.0)
|
75
75
|
childprocess (~> 0.5)
|
76
76
|
rubyzip (~> 1.2)
|
77
|
-
sinatra (2.0.
|
77
|
+
sinatra (2.0.2)
|
78
78
|
mustermann (~> 1.0)
|
79
79
|
rack (~> 2.0)
|
80
|
-
rack-protection (= 2.0.
|
80
|
+
rack-protection (= 2.0.2)
|
81
81
|
tilt (~> 2.0)
|
82
82
|
tilt (2.0.8)
|
83
83
|
xpath (3.1.0)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
click_link 'Form Authentication'
|
2
|
+
|
3
|
+
# wait 3 seconds for field 'username' to appear
|
4
|
+
username_field = wait 3 do
|
5
|
+
find_field 'username'
|
6
|
+
end
|
7
|
+
|
8
|
+
# username comes from: run "helpers/login" username: "tomsmith"
|
9
|
+
username_field.type username
|
10
|
+
|
11
|
+
# we assume that because username was found, then password will be found without waiting
|
12
|
+
# also we use parenthesis around to be able to call .type on the returned element
|
13
|
+
find_field('password').type password
|
14
|
+
|
15
|
+
click_button 'Login'
|
16
|
+
|
17
|
+
wait 3 do
|
18
|
+
has_text? 'Welcome to the Secure Area'
|
19
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
visit 'the-internet.herokuapp.com'
|
2
|
+
|
3
|
+
# by default waits 5 seconds
|
4
|
+
wait do
|
5
|
+
has_text? 'Welcome to the-internet'
|
6
|
+
end
|
7
|
+
|
8
|
+
run 'helpers/login', username: 'tomsmith', password: 'SuperSecretPassword!'
|
9
|
+
|
10
|
+
# do nothing for 2 seconds
|
11
|
+
sleep 2
|
12
|
+
|
13
|
+
run 'helpers/logout'
|
data/lib/superbara.rb
CHANGED
@@ -24,6 +24,16 @@ module Superbara
|
|
24
24
|
@@project_path = Dir.pwd
|
25
25
|
@@config = Superbara::Config.new
|
26
26
|
@@errored_runs = []
|
27
|
+
@@main = nil
|
28
|
+
|
29
|
+
def self.main=(main)
|
30
|
+
@@main=main
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.main
|
34
|
+
@@main
|
35
|
+
end
|
36
|
+
|
27
37
|
|
28
38
|
def self.start!
|
29
39
|
@@started_at = Time.now
|
@@ -212,6 +222,8 @@ if (window.document.body) {
|
|
212
222
|
end
|
213
223
|
end
|
214
224
|
|
225
|
+
Superbara.main = self
|
226
|
+
|
215
227
|
require_relative "superbara/version"
|
216
228
|
require_relative "superbara/helpers"
|
217
229
|
require_relative "superbara/chrome"
|
@@ -241,3 +253,4 @@ else
|
|
241
253
|
end
|
242
254
|
|
243
255
|
Capybara.default_max_wait_time = 0.1
|
256
|
+
|
data/lib/superbara/context.rb
CHANGED
@@ -14,12 +14,22 @@ sleep 0.0001
|
|
14
14
|
"""
|
15
15
|
end
|
16
16
|
|
17
|
-
def __superbara_load(path)
|
17
|
+
def __superbara_load(path, params={})
|
18
|
+
params.each_pair do |k,v|
|
19
|
+
Superbara.main.define_singleton_method k.to_sym do
|
20
|
+
v
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
18
24
|
begin
|
19
25
|
load path, true
|
20
26
|
rescue Superbara::Errors::NotDesiredTagError
|
21
27
|
Superbara.output " ..skipped due to tag not found"
|
22
28
|
end
|
29
|
+
|
30
|
+
params.each_pair do |k,v|
|
31
|
+
Superbara.main.instance_eval "undef #{k.to_sym}"
|
32
|
+
end
|
23
33
|
end
|
24
34
|
|
25
35
|
def __superbara_eval(str)
|
data/lib/superbara/dsl.rb
CHANGED
@@ -87,7 +87,7 @@ return Array.from(
|
|
87
87
|
end
|
88
88
|
|
89
89
|
@@once_runs = []
|
90
|
-
def run(what, once: false, &block)
|
90
|
+
def run(what, once: false, **params, &block)
|
91
91
|
if once
|
92
92
|
if @@once_runs.include? what
|
93
93
|
if block
|
@@ -118,7 +118,7 @@ return Array.from(
|
|
118
118
|
end
|
119
119
|
|
120
120
|
begin
|
121
|
-
Superbara.current_context.__superbara_load(better_what)
|
121
|
+
Superbara.current_context.__superbara_load(better_what, params)
|
122
122
|
rescue Exception => ex
|
123
123
|
if ENV["SUPERBARA_ON_ERROR"] == "continue"
|
124
124
|
colored_output = " ERROR: ".colorize(:red)
|
data/lib/superbara/version.rb
CHANGED
data/tests/run/main.rb
ADDED
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.
|
4
|
+
version: 0.10.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-06-
|
11
|
+
date: 2018-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -309,10 +309,13 @@ files:
|
|
309
309
|
- docs/searchindex.js
|
310
310
|
- docs/superbara.html
|
311
311
|
- docs/tomorrow-night.css
|
312
|
-
- examples/login-and-logout/common.rb
|
313
|
-
- examples/login-and-logout/helpers/login.rb
|
314
|
-
- examples/login-and-logout/helpers/logout.rb
|
315
|
-
- examples/login-and-logout/main.rb
|
312
|
+
- examples/login-and-logout/using-globals/common.rb
|
313
|
+
- examples/login-and-logout/using-globals/helpers/login.rb
|
314
|
+
- examples/login-and-logout/using-globals/helpers/logout.rb
|
315
|
+
- examples/login-and-logout/using-globals/main.rb
|
316
|
+
- examples/login-and-logout/using-params/helpers/login.rb
|
317
|
+
- examples/login-and-logout/using-params/helpers/logout.rb
|
318
|
+
- examples/login-and-logout/using-params/main.rb
|
316
319
|
- examples/sites/pharos.sh/main.rb
|
317
320
|
- examples/sites/vr.fi/helsinki-tampere/main.rb
|
318
321
|
- examples/tags/block.rb
|
@@ -351,6 +354,9 @@ files:
|
|
351
354
|
- tests/features/type.rb
|
352
355
|
- tests/features/wait.rb
|
353
356
|
- tests/minimal/main.rb
|
357
|
+
- tests/run/has_locals.rb
|
358
|
+
- tests/run/has_no_locals.rb
|
359
|
+
- tests/run/main.rb
|
354
360
|
- vendor/chromedriver/linux64/.gitkeep
|
355
361
|
- vendor/chromedriver/linux64/chromedriver
|
356
362
|
- vendor/chromedriver/mac64/.gitkeep
|