lapis_lazuli 3.0.1 → 3.0.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 +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +3 -0
- data/lapis_lazuli.gemspec +16 -16
- data/lib/lapis_lazuli.rb +0 -2
- data/lib/lapis_lazuli/ast.rb +2 -141
- data/lib/lapis_lazuli/browser.rb +49 -159
- data/lib/lapis_lazuli/browser/screenshots.rb +3 -4
- data/lib/lapis_lazuli/version.rb +1 -1
- data/lib/lapis_lazuli/world/logging.rb +34 -33
- data/test/Gemfile +1 -1
- data/test/features/bindings.feature +6 -6
- data/test/features/browser.feature +10 -10
- data/test/features/button.feature +4 -3
- data/test/features/step_definitions/interaction_steps.rb +13 -24
- data/test/features/step_definitions/multifind_steps.rb +3 -3
- data/test/features/step_definitions/validation_steps.rb +2 -2
- data/test/server/start.rb +1 -1
- metadata +29 -44
- data/lib/lapis_lazuli/browser/remote.rb +0 -140
- data/lib/lapis_lazuli/world/annotate.rb +0 -47
- data/test/features/annotation.feature +0 -23
@@ -6,6 +6,9 @@
|
|
6
6
|
# All rights reserved.
|
7
7
|
#
|
8
8
|
|
9
|
+
require 'cucumber/core/test/case'
|
10
|
+
require 'cucumber/core/test/step'
|
11
|
+
|
9
12
|
module LapisLazuli
|
10
13
|
module BrowserModule
|
11
14
|
|
@@ -82,10 +85,6 @@ module LapisLazuli
|
|
82
85
|
end
|
83
86
|
world.log.debug "Screenshot saved: #{fileloc}"
|
84
87
|
|
85
|
-
# Try to store the screenshot name
|
86
|
-
if world.respond_to? :annotate
|
87
|
-
world.annotate :screenshot => fileloc
|
88
|
-
end
|
89
88
|
rescue RuntimeError => e
|
90
89
|
world.log.debug "Failed to save screenshot to '#{fileloc}'. Error message #{e.message}"
|
91
90
|
end
|
data/lib/lapis_lazuli/version.rb
CHANGED
@@ -13,41 +13,42 @@ require "lapis_lazuli/runtime"
|
|
13
13
|
require "lapis_lazuli/world/config"
|
14
14
|
|
15
15
|
module LapisLazuli
|
16
|
-
module WorldModule
|
17
|
-
##
|
18
|
-
# Module for easy logging
|
19
|
-
#
|
20
|
-
# Manages the following:
|
21
|
-
# @log - TeeLogger instances
|
22
|
-
module Logging
|
23
|
-
include LapisLazuli::WorldModule::Config
|
24
|
-
|
16
|
+
module WorldModule
|
25
17
|
##
|
26
|
-
#
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
Dir.mkdir dir
|
33
|
-
rescue SystemCallError => ex
|
34
|
-
# Swallow this error; it occurs (amongst other situations) when the
|
35
|
-
# directory exists. Checking for an existing directory beforehand is
|
36
|
-
# not concurrency safe.
|
37
|
-
end
|
18
|
+
# Module for easy logging
|
19
|
+
#
|
20
|
+
# Manages the following:
|
21
|
+
# @log - TeeLogger instances
|
22
|
+
module Logging
|
23
|
+
include LapisLazuli::WorldModule::Config
|
38
24
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
if
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
25
|
+
##
|
26
|
+
# Log "singleton"
|
27
|
+
def log(msg = nil)
|
28
|
+
super(msg) if msg
|
29
|
+
return Runtime.instance.set_if(self, :logger) do
|
30
|
+
# Make log directory
|
31
|
+
dir = env_or_config('log_dir')
|
32
|
+
begin
|
33
|
+
Dir.mkdir dir
|
34
|
+
rescue SystemCallError => ex
|
35
|
+
# Swallow this error; it occurs (amongst other situations) when the
|
36
|
+
# directory exists. Checking for an existing directory beforehand is
|
37
|
+
# not concurrency safe.
|
38
|
+
end
|
47
39
|
|
48
|
-
|
40
|
+
# Start the logger with the config filename
|
41
|
+
log_file = "#{dir}#{File::SEPARATOR}#{File.basename(Config.config_files[0], ".*")}.log"
|
42
|
+
# Or a filename from the environment
|
43
|
+
if has_env_or_config?("log_file")
|
44
|
+
log_file = env_or_config("log_file")
|
45
|
+
end
|
46
|
+
l = TeeLogger::TeeLogger.new(log_file)
|
47
|
+
l.level = env_or_config("log_level")
|
48
|
+
|
49
|
+
l
|
50
|
+
end
|
49
51
|
end
|
50
|
-
end
|
51
|
-
end # module
|
52
|
-
end # module WorldModule
|
52
|
+
end # module Logging
|
53
|
+
end # module WorldModule
|
53
54
|
end # module LapisLazuli
|
data/test/Gemfile
CHANGED
@@ -7,14 +7,14 @@ And test if I can parse bindings when starting the browsers
|
|
7
7
|
@bindings_01
|
8
8
|
Scenario: bindings_01 - Custom user-agent firefox
|
9
9
|
Given I use browser bindings "1"
|
10
|
-
And I navigate to URL "
|
10
|
+
And I navigate to URL "https://www.whatsmyua.info/"
|
11
11
|
Then within 2 seconds I should see "CUSTOM-USER-AGENT"
|
12
12
|
And I close the browser
|
13
13
|
|
14
14
|
@bindings_02
|
15
15
|
Scenario: bindings_02 - Custom user-agent chrome
|
16
16
|
Given I use browser bindings "2"
|
17
|
-
And I navigate to URL "
|
17
|
+
And I navigate to URL "https://www.whatsmyua.info/"
|
18
18
|
Then within 2 seconds I should see "CUSTOM-CHROME-USER-AGENT"
|
19
19
|
And I close the browser
|
20
20
|
|
@@ -22,22 +22,22 @@ And test if I can parse bindings when starting the browsers
|
|
22
22
|
@bindings_03 @maximize_issue
|
23
23
|
Scenario: bindings_03 - Custom user-agent chrome
|
24
24
|
Given I use browser bindings "3"
|
25
|
-
And I navigate to URL "
|
25
|
+
And I navigate to URL "https://www.whatsmyua.info/"
|
26
26
|
Then the browser window size should be "full screen"
|
27
27
|
And I close the browser
|
28
28
|
|
29
29
|
@bindings_04
|
30
30
|
Scenario: bindings_04 - Using a pre-defined device (iphone5)
|
31
31
|
Given I restart the browser to device setting "iphone5"
|
32
|
-
When I navigate to URL "
|
33
|
-
Then within 2 seconds I should see "
|
32
|
+
When I navigate to URL "https://www.whatsmyua.info/"
|
33
|
+
Then within 2 seconds I should see "AppleWebKit"
|
34
34
|
And the browser window size should be "640x1136"
|
35
35
|
And I close the browser
|
36
36
|
|
37
37
|
@bindings_05
|
38
38
|
Scenario: bindings_05 - Using a pre-defined device (desktop1080)
|
39
39
|
Given I restart the browser to device setting "desktop1080"
|
40
|
-
When I navigate to URL "
|
40
|
+
When I navigate to URL "https://www.whatsmyua.info/"
|
41
41
|
Then within 2 seconds I should see "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3" disappear
|
42
42
|
And the browser window size should be "1920x1080"
|
43
43
|
And I close the browser
|
@@ -1,10 +1,10 @@
|
|
1
|
-
|
2
|
-
Feature: Browsers
|
3
|
-
When I want to test the Lapis Lazuli library
|
4
|
-
And test if I can start a browser with options
|
5
|
-
|
6
|
-
|
7
|
-
Scenario: browser_01 - Firefox with proxy
|
8
|
-
When I create a firefox browser named "test" with proxy to "localhost:8008"
|
9
|
-
Then the firefox browser named "test" has a profile
|
10
|
-
Then I close the browser named "test"
|
1
|
+
#@browser @p @ignore_on_remote
|
2
|
+
#Feature: Browsers
|
3
|
+
#When I want to test the Lapis Lazuli library
|
4
|
+
#And test if I can start a browser with options
|
5
|
+
#
|
6
|
+
#@browser_01
|
7
|
+
#Scenario: browser_01 - Firefox with proxy
|
8
|
+
# When I create a firefox browser named "test" with proxy to "localhost:8008"
|
9
|
+
# Then the firefox browser named "test" has a profile
|
10
|
+
# Then I close the browser named "test"
|
@@ -1,8 +1,8 @@
|
|
1
1
|
@button @p
|
2
2
|
Feature: Buttons
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
When I want to test the Lapis Lazuli library
|
4
|
+
I want to run a webserver with some test files
|
5
|
+
And execute the each library function that handles buttons.
|
6
6
|
|
7
7
|
@button_01
|
8
8
|
Scenario: button_01 - Find First
|
@@ -36,3 +36,4 @@ Feature: Buttons
|
|
36
36
|
Given I navigate to the button test page
|
37
37
|
And I click the last button
|
38
38
|
Then within 1 seconds I should see "last clicked"
|
39
|
+
|
@@ -45,7 +45,6 @@ Given(/I click (the|a) (first|last|random|[0-9]+[a-z]+) (.*)$/) do |arg1, index,
|
|
45
45
|
type_element.click
|
46
46
|
end
|
47
47
|
|
48
|
-
|
49
48
|
Given(/^I create a firefox browser named "(.*?)"(?: with proxy to "(.*?)")?$/) do |name, proxy_url|
|
50
49
|
b = nil
|
51
50
|
if proxy_url
|
@@ -81,14 +80,14 @@ end
|
|
81
80
|
When(/^I wait for (class )?"(.*?)" and name it "(.*?)"$/) do |type, id, name|
|
82
81
|
type = 'id' if type.nil? || type.empty?
|
83
82
|
type.strip!
|
84
|
-
element = browser.wait(:element => {type.to_sym => id})
|
83
|
+
element = browser.wait(:element => { type.to_sym => id })
|
85
84
|
scenario.storage.set(name, element)
|
86
85
|
end
|
87
86
|
|
88
87
|
When(/^no error should be thrown when waiting for "(.*?)"$/) do |id|
|
89
88
|
begin
|
90
89
|
elm = browser.wait(
|
91
|
-
:element => {:id => id},
|
90
|
+
:element => { :id => id },
|
92
91
|
:timeout => 3,
|
93
92
|
:throw => false
|
94
93
|
)
|
@@ -162,7 +161,6 @@ Then(/^I should be able to click the first button by click type (.*?)$/) do |typ
|
|
162
161
|
)
|
163
162
|
end
|
164
163
|
|
165
|
-
|
166
164
|
Then(/^I should be able to click the first button by force click$/) do
|
167
165
|
elem = browser.button(:id => 'first')
|
168
166
|
browser.force_click(elem)
|
@@ -174,7 +172,7 @@ Then(/^I should be able to click the first button by force click$/) do
|
|
174
172
|
end
|
175
173
|
|
176
174
|
Given(/^I set environment variable "(.*?)" to "(.*?)"$/) do |var, val|
|
177
|
-
ENV[var]=val
|
175
|
+
ENV[var] = val
|
178
176
|
end
|
179
177
|
|
180
178
|
Given(/^I annotate a step with (.*?)$/) do |data|
|
@@ -193,25 +191,16 @@ end
|
|
193
191
|
Given(/^I use browser bindings "(.*?)"$/) do |bindings|
|
194
192
|
require 'selenium-webdriver'
|
195
193
|
case bindings
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
"args" => [
|
207
|
-
'--start-maximized'
|
208
|
-
]
|
209
|
-
}
|
210
|
-
)
|
211
|
-
browser.restart :chrome, desired_capabilities: caps
|
212
|
-
browser.window.maximize
|
213
|
-
else
|
214
|
-
error "Requested binding setup does not exist. Requested #{bindings}"
|
194
|
+
when '1'
|
195
|
+
profile = Selenium::WebDriver::Firefox::Profile.new
|
196
|
+
profile['general.useragent.override'] = "CUSTOM-USER-AGENT"
|
197
|
+
browser.restart :firefox, options: { profile: profile }
|
198
|
+
when '2'
|
199
|
+
browser.restart :chrome, options: { args: ['--user-agent=CUSTOM-CHROME-USER-AGENT'] }
|
200
|
+
when '3'
|
201
|
+
browser.restart :chrome, options: { args: ['--start-maximized'] }
|
202
|
+
else
|
203
|
+
error "Requested binding setup does not exist. Requested #{bindings}"
|
215
204
|
end
|
216
205
|
end
|
217
206
|
|
@@ -21,7 +21,7 @@ Given(/^the user expects an error in a multi_find lookup$/) do
|
|
21
21
|
)
|
22
22
|
err = "Expected an error looking for elements with no results."
|
23
23
|
rescue RuntimeError => e
|
24
|
-
|
24
|
+
log "Caught expected error: #{e.message}"
|
25
25
|
end
|
26
26
|
error err unless err.empty?
|
27
27
|
end
|
@@ -86,7 +86,7 @@ Given(/^the user expects an error in a multi_find_all lookup$/) do
|
|
86
86
|
)
|
87
87
|
err = "Expected an error looking for elements with no results."
|
88
88
|
rescue RuntimeError => e
|
89
|
-
|
89
|
+
log "Caught expected error: #{e.message}"
|
90
90
|
end
|
91
91
|
error err unless err.empty?
|
92
92
|
end
|
@@ -116,7 +116,7 @@ Given(/^the user expects an error in a multi_find_all lookup matching all elemen
|
|
116
116
|
)
|
117
117
|
err = "Expected an error matching all elements with results."
|
118
118
|
rescue RuntimeError => e
|
119
|
-
|
119
|
+
log "Caught expected error: #{e.message}"
|
120
120
|
end
|
121
121
|
error err unless err.empty?
|
122
122
|
end
|
@@ -234,12 +234,12 @@ end
|
|
234
234
|
Then(/^the firefox browser named "(.*?)" has a profile$/) do |name|
|
235
235
|
if scenario.storage.has? name
|
236
236
|
b = scenario.storage.get name
|
237
|
-
if b.
|
237
|
+
if b.name == "remote"
|
238
238
|
if b.driver.capabilities.firefox_profile.nil?
|
239
239
|
raise "Remote Firefox Profile is not set"
|
240
240
|
end
|
241
241
|
else
|
242
|
-
if !b.
|
242
|
+
if !b.options.has_key? "profile" and !b.optional_data.has_key? :profile
|
243
243
|
raise "No profile found in the optional data"
|
244
244
|
end
|
245
245
|
end
|
data/test/server/start.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lapis_lazuli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Onno Steenbergen
|
@@ -17,154 +17,154 @@ dependencies:
|
|
17
17
|
name: bundler
|
18
18
|
requirement: !ruby/object:Gem::Requirement
|
19
19
|
requirements:
|
20
|
-
- - "
|
20
|
+
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '2.0'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '2.0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: rake
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- - "
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: '12.3'
|
37
37
|
type: :development
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
|
-
- - "
|
41
|
+
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '12.3'
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: simplecov
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
|
-
- - "
|
48
|
+
- - ">="
|
49
49
|
- !ruby/object:Gem::Version
|
50
50
|
version: '0.17'
|
51
51
|
type: :development
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- - "
|
55
|
+
- - ">="
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: '0.17'
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: faraday_middleware
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
|
-
- - "
|
62
|
+
- - ">="
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: '0.13'
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- - "
|
69
|
+
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: '0.13'
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: faraday_json
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
|
-
- - "
|
76
|
+
- - ">="
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: '0.1'
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- - "
|
83
|
+
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: '0.1'
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
87
|
name: multi_xml
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
89
89
|
requirements:
|
90
|
-
- - "
|
90
|
+
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
92
|
version: '0.6'
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
|
-
- - "
|
97
|
+
- - ">="
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '0.6'
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
101
|
name: teelogger
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
|
-
- - "
|
104
|
+
- - ">="
|
105
105
|
- !ruby/object:Gem::Version
|
106
106
|
version: '0.5'
|
107
107
|
type: :runtime
|
108
108
|
prerelease: false
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
110
110
|
requirements:
|
111
|
-
- - "
|
111
|
+
- - ">="
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: '0.5'
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: minitest
|
116
116
|
requirement: !ruby/object:Gem::Requirement
|
117
117
|
requirements:
|
118
|
-
- - "
|
118
|
+
- - ">="
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: '5.11'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
123
|
version_requirements: !ruby/object:Gem::Requirement
|
124
124
|
requirements:
|
125
|
-
- - "
|
125
|
+
- - ">="
|
126
126
|
- !ruby/object:Gem::Version
|
127
127
|
version: '5.11'
|
128
128
|
- !ruby/object:Gem::Dependency
|
129
129
|
name: thor
|
130
130
|
requirement: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
|
-
- - "
|
132
|
+
- - ">="
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0.20'
|
135
135
|
type: :runtime
|
136
136
|
prerelease: false
|
137
137
|
version_requirements: !ruby/object:Gem::Requirement
|
138
138
|
requirements:
|
139
|
-
- - "
|
139
|
+
- - ">="
|
140
140
|
- !ruby/object:Gem::Version
|
141
141
|
version: '0.20'
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
143
|
name: facets
|
144
144
|
requirement: !ruby/object:Gem::Requirement
|
145
145
|
requirements:
|
146
|
-
- - "
|
146
|
+
- - ">="
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: '3.1'
|
149
149
|
type: :runtime
|
150
150
|
prerelease: false
|
151
151
|
version_requirements: !ruby/object:Gem::Requirement
|
152
152
|
requirements:
|
153
|
-
- - "
|
153
|
+
- - ">="
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '3.1'
|
156
156
|
- !ruby/object:Gem::Dependency
|
157
157
|
name: deep_merge
|
158
158
|
requirement: !ruby/object:Gem::Requirement
|
159
159
|
requirements:
|
160
|
-
- - "
|
160
|
+
- - ">="
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: '1.2'
|
163
163
|
type: :runtime
|
164
164
|
prerelease: false
|
165
165
|
version_requirements: !ruby/object:Gem::Requirement
|
166
166
|
requirements:
|
167
|
-
- - "
|
167
|
+
- - ">="
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: '1.2'
|
170
170
|
- !ruby/object:Gem::Dependency
|
@@ -174,9 +174,6 @@ dependencies:
|
|
174
174
|
- - ">="
|
175
175
|
- !ruby/object:Gem::Version
|
176
176
|
version: '2.0'
|
177
|
-
- - "<"
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: '4'
|
180
177
|
type: :runtime
|
181
178
|
prerelease: false
|
182
179
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -184,35 +181,32 @@ dependencies:
|
|
184
181
|
- - ">="
|
185
182
|
- !ruby/object:Gem::Version
|
186
183
|
version: '2.0'
|
187
|
-
- - "<"
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: '4'
|
190
184
|
- !ruby/object:Gem::Dependency
|
191
185
|
name: watir
|
192
186
|
requirement: !ruby/object:Gem::Requirement
|
193
187
|
requirements:
|
194
|
-
- - "
|
188
|
+
- - ">="
|
195
189
|
- !ruby/object:Gem::Version
|
196
190
|
version: '6'
|
197
191
|
type: :runtime
|
198
192
|
prerelease: false
|
199
193
|
version_requirements: !ruby/object:Gem::Requirement
|
200
194
|
requirements:
|
201
|
-
- - "
|
195
|
+
- - ">="
|
202
196
|
- !ruby/object:Gem::Version
|
203
197
|
version: '6'
|
204
198
|
- !ruby/object:Gem::Dependency
|
205
199
|
name: ffi
|
206
200
|
requirement: !ruby/object:Gem::Requirement
|
207
201
|
requirements:
|
208
|
-
- - "
|
202
|
+
- - ">="
|
209
203
|
- !ruby/object:Gem::Version
|
210
204
|
version: '1.11'
|
211
205
|
type: :runtime
|
212
206
|
prerelease: false
|
213
207
|
version_requirements: !ruby/object:Gem::Requirement
|
214
208
|
requirements:
|
215
|
-
- - "
|
209
|
+
- - ">="
|
216
210
|
- !ruby/object:Gem::Version
|
217
211
|
version: '1.11'
|
218
212
|
- !ruby/object:Gem::Dependency
|
@@ -220,9 +214,6 @@ dependencies:
|
|
220
214
|
requirement: !ruby/object:Gem::Requirement
|
221
215
|
requirements:
|
222
216
|
- - ">="
|
223
|
-
- !ruby/object:Gem::Version
|
224
|
-
version: '2.0'
|
225
|
-
- - "<"
|
226
217
|
- !ruby/object:Gem::Version
|
227
218
|
version: '4.0'
|
228
219
|
type: :runtime
|
@@ -230,9 +221,6 @@ dependencies:
|
|
230
221
|
version_requirements: !ruby/object:Gem::Requirement
|
231
222
|
requirements:
|
232
223
|
- - ">="
|
233
|
-
- !ruby/object:Gem::Version
|
234
|
-
version: '2.0'
|
235
|
-
- - "<"
|
236
224
|
- !ruby/object:Gem::Version
|
237
225
|
version: '4.0'
|
238
226
|
description: "\n LapisLazuli provides cucumber helper functions and scaffolding
|
@@ -248,6 +236,7 @@ extensions: []
|
|
248
236
|
extra_rdoc_files: []
|
249
237
|
files:
|
250
238
|
- ".gitignore"
|
239
|
+
- CHANGELOG.md
|
251
240
|
- Gemfile
|
252
241
|
- LICENSE
|
253
242
|
- README.md
|
@@ -263,7 +252,6 @@ files:
|
|
263
252
|
- lib/lapis_lazuli/browser/error.rb
|
264
253
|
- lib/lapis_lazuli/browser/find.rb
|
265
254
|
- lib/lapis_lazuli/browser/interaction.rb
|
266
|
-
- lib/lapis_lazuli/browser/remote.rb
|
267
255
|
- lib/lapis_lazuli/browser/screenshots.rb
|
268
256
|
- lib/lapis_lazuli/browser/wait.rb
|
269
257
|
- lib/lapis_lazuli/cli.rb
|
@@ -297,7 +285,6 @@ files:
|
|
297
285
|
- lib/lapis_lazuli/storage.rb
|
298
286
|
- lib/lapis_lazuli/version.rb
|
299
287
|
- lib/lapis_lazuli/versions.rb
|
300
|
-
- lib/lapis_lazuli/world/annotate.rb
|
301
288
|
- lib/lapis_lazuli/world/api.rb
|
302
289
|
- lib/lapis_lazuli/world/browser.rb
|
303
290
|
- lib/lapis_lazuli/world/config.rb
|
@@ -312,7 +299,6 @@ files:
|
|
312
299
|
- test/config/config.yml
|
313
300
|
- test/config/cucumber.yml
|
314
301
|
- test/config/devices.yml
|
315
|
-
- test/features/annotation.feature
|
316
302
|
- test/features/bindings.feature
|
317
303
|
- test/features/browser.feature
|
318
304
|
- test/features/button.feature
|
@@ -352,7 +338,7 @@ require_paths:
|
|
352
338
|
- lib
|
353
339
|
required_ruby_version: !ruby/object:Gem::Requirement
|
354
340
|
requirements:
|
355
|
-
- - "
|
341
|
+
- - ">="
|
356
342
|
- !ruby/object:Gem::Version
|
357
343
|
version: '2'
|
358
344
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
@@ -373,7 +359,6 @@ test_files:
|
|
373
359
|
- test/config/config.yml
|
374
360
|
- test/config/cucumber.yml
|
375
361
|
- test/config/devices.yml
|
376
|
-
- test/features/annotation.feature
|
377
362
|
- test/features/bindings.feature
|
378
363
|
- test/features/browser.feature
|
379
364
|
- test/features/button.feature
|