lapis_lazuli 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -6,5 +6,5 @@
6
6
  # All rights reserved.
7
7
  #
8
8
  module LapisLazuli
9
- VERSION = "3.0.1"
9
+ VERSION = "3.0.2"
10
10
  end
@@ -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
- # Log "singleton"
27
- def log
28
- return Runtime.instance.set_if(self, :logger) do
29
- # Make log directory
30
- dir = env_or_config('log_dir')
31
- begin
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
- # Start the logger with the config filename
40
- log_file = "#{dir}#{File::SEPARATOR}#{File.basename(Config.config_files[0], ".*")}.log"
41
- # Or a filename from the environment
42
- if has_env_or_config?("log_file")
43
- log_file = env_or_config("log_file")
44
- end
45
- l = TeeLogger::TeeLogger.new(log_file)
46
- l.level = env_or_config("log_level")
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
- l
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 Logging
52
- end # module WorldModule
52
+ end # module Logging
53
+ end # module WorldModule
53
54
  end # module LapisLazuli
data/test/Gemfile CHANGED
@@ -5,7 +5,7 @@ gem "lapis_lazuli", path: './../'
5
5
 
6
6
 
7
7
  # Project specific gems
8
- gem 'watir-scroll'
8
+ gem 'cucumber', '~> 6'
9
9
  gem 'xml-simple'
10
10
  gem 'mechanize'
11
11
  gem 'simplecov'
@@ -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 "http://whatsmyua.com/"
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 "http://whatsmyua.com/"
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 "http://whatsmyua.com/"
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 "http://whatsmyua.com"
33
- Then within 2 seconds I should see "CPU iPhone OS 5_0 like Mac OS X"
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 "http://whatsmyua.com"
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
- @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
+ #@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
- 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.
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
- when '1'
197
- profile = Selenium::WebDriver::Firefox::Profile.new
198
- profile['general.useragent.override'] = "CUSTOM-USER-AGENT"
199
- browser.restart :firefox, profile: profile
200
- when '2'
201
- switches = %w[--user-agent=CUSTOM-CHROME-USER-AGENT]
202
- browser.restart :chrome, :switches => switches
203
- when '3'
204
- caps = Selenium::WebDriver::Remote::Capabilities.chrome(
205
- "chromeOptions" => {
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
- puts "Caught expected error: #{e.message}"
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
- puts "Caught expected error: #{e.message}"
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
- puts "Caught expected error: #{e.message}"
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.browser_name == "remote"
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.optional_data.has_key? "profile" and !b.optional_data.has_key? :profile
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
@@ -12,6 +12,6 @@ thread = Thread.new { server.start }
12
12
 
13
13
  # If this file was executed manually, let's wait for input
14
14
  if __FILE__ == $0
15
- puts "Press enter to shut down the server."
15
+ log "Press enter to shut down the server."
16
16
  gets
17
17
  end
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.1
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